Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions tests/govtool-frontend/playwright/lib/pages/outcomesPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<void> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
Expand Down Expand Up @@ -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();
});
});
});