Files
2026-05-31 14:33:58 -04:00

55 lines
1.7 KiB
JavaScript

const { test, expect } = require('@playwright/test');
const { Website } = require('../helpers/website');
test.describe('Search Features', () => {
let website;
test.beforeEach(({ page }) => {
website = new Website(page);
});
test('DesktopOpenCloseSearchDialog', async () => {
await website.goto();
await website.navigationBar.clickSearchButton();
await website.websiteSearchDialog.closeDialog();
await website.navigationBar.clickHomeLink();
});
test('DesktopSearchForThrone', async () => {
await website.goto();
await website.navigationBar.clickSearchButton();
await website.websiteSearchDialog.search('Throne');
const page = await website.websiteSearchDialog.selectSearchEntity('Throne');
const name = await page.getEntityName();
const health = await page.getEntityHealth();
expect(name).toBe('Throne');
expect(health.trim()).not.toBe('');
});
test('DesktopFilterForThrone', async () => {
const page = website.databasePage;
await page.goto();
await page.filterName('Throne');
const name = await page.getEntityNameByIndex(0);
expect(name).toBe('Throne');
});
test('SeeThroneByDefault', async () => {
const page = website.databasePage;
await page.goto();
const name = await page.getEntityName('army', 'throne');
expect(name).toBe('Throne');
});
test('DirectLinkNotThroneFailure', async () => {
const page = website.databaseSinglePage;
await page.goto('not throne');
const invalidSearch = await page.getInvalidSearch();
const validSearch = await page.getValidSearch();
expect(invalidSearch).toBe('not throne');
expect(validSearch).toBe('Throne');
});
});