diff --git a/tests/govtool-frontend/playwright/lib/pages/outcomesPage.ts b/tests/govtool-frontend/playwright/lib/pages/outcomesPage.ts index 333b0d1b2..48f333ef6 100644 --- a/tests/govtool-frontend/playwright/lib/pages/outcomesPage.ts +++ b/tests/govtool-frontend/playwright/lib/pages/outcomesPage.ts @@ -11,10 +11,15 @@ export default class OutComesPage { readonly filterBtn = this.page.getByTestId("filters-button"); readonly sortBtn = this.page.getByTestId("sort-button"); readonly showMoreBtn = this.page.getByTestId("show-more-button"); + readonly metadataErrorLearnMoreBtn = this.page.getByTestId( + "metadata-error-learn-more" + ); //inputs readonly searchInput = this.page.getByTestId("search-input"); + readonly title = this.page.getByTestId("single-action-title"); + constructor(private readonly page: Page) {} async goto(params: { filter?: string; sort?: string } = {}): Promise { diff --git a/tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.spec.ts b/tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.spec.ts index 999a38f2a..9447e2906 100644 --- a/tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.spec.ts +++ b/tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.spec.ts @@ -324,9 +324,15 @@ test.describe("Invalid Live voting Metadata", () => { await governanceActionPage.goto(); await governanceActionPage.viewFirstProposal(); - await expect(page.getByRole("heading", { name: type })).toBeVisible({ - timeout: 60_000, - }); + const governanceActionTitle = await page + .getByTestId("governance-action-details-card-header") + .textContent(); + + await expect( + page.getByTestId("governance-action-details-card-header"), + governanceActionTitle.toLowerCase() !== type.toLowerCase() && + `The URL "${url}" and hash "${hash}" do not match the expected properties for type "${type}".` + ).toHaveText(type, { timeout: 60_000, ignoreCase: true }); await expect(page.getByText("Learn more")).toBeVisible(); await expect(page.getByTestId("external-modal-button")).toBeVisible(); }); diff --git a/tests/govtool-frontend/playwright/tests/9-outcomes/outcomes.spec.ts b/tests/govtool-frontend/playwright/tests/9-outcomes/outcomes.spec.ts index 2a5b79b74..9af13f8f5 100644 --- a/tests/govtool-frontend/playwright/tests/9-outcomes/outcomes.spec.ts +++ b/tests/govtool-frontend/playwright/tests/9-outcomes/outcomes.spec.ts @@ -152,7 +152,9 @@ test.describe("Outcome details dependent test", () => { const title = await outcomeCard .locator('[data-testid$="-card-title"]') .textContent(); - expect(title.toLowerCase()).toContain(governanceActionTitle.toLowerCase()); + expect(title.toLowerCase()).toContain( + governanceActionTitle.toLowerCase() + ); } }, { name: "search by title" } @@ -433,11 +435,17 @@ test.describe("Invalid Outcome Metadata", () => { const outcomePage = new OutComesPage(page); await outcomePage.goto(); await outcomePage.viewFirstOutcomes(); - - await expect(page.getByRole("heading", { name: type })).toBeVisible({ + const outcomeTitle = await outcomePage.title.textContent(); + + await expect( + outcomePage.title, + outcomeTitle.toLowerCase() !== type.toLowerCase() && + `The URL "${url}" and hash "${hash}" do not match the expected properties for type "${type}".` + ).toHaveText(type, { + ignoreCase: true, timeout: 60_000, }); - await expect(page.getByText("Learn more")).toBeVisible(); + await expect(outcomePage.metadataErrorLearnMoreBtn).toBeVisible(); }); }); });