Skip to content

Commit

Permalink
Merge pull request #1216 from IntersectMBO/extended/tests
Browse files Browse the repository at this point in the history
Extended Test Coverage for Dashboard and DRep directory
  • Loading branch information
NabinKawan authored Jun 13, 2024
2 parents 5b3ea0b + 86df750 commit 91dad17
Show file tree
Hide file tree
Showing 4 changed files with 171 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ test.beforeEach(async () => {
await setAllureEpic("4. Proposal visibility");
});

test("4A.2. Should access Governance Actions page without connecting wallet", async ({
test("4A_2. Should access Governance Actions page without connecting wallet", async ({
page,
}) => {
await page.goto("/");
Expand All @@ -17,7 +17,7 @@ test("4A.2. Should access Governance Actions page without connecting wallet", as
await expect(page.getByText(/Governance actions/i)).toHaveCount(2);
});

test("4B.2. Should restrict voting for users who are not registered as DReps (without wallet connected)", async ({
test("4B_2. Should restrict voting for users who are not registered as DReps (without wallet connected)", async ({
page,
}) => {
const govActionsPage = new GovernanceActionsPage(page);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import environments from "@constants/environments";
import { dRep01Wallet } from "@constants/staticWallets";
import { test } from "@fixtures/walletExtension";
import { setAllureEpic } from "@helpers/allure";
import { expect } from "@playwright/test";

test.beforeEach(async () => {
await setAllureEpic("6. Miscellaneous");
});

test.use({
storageState: ".auth/dRep01.json",
wallet: dRep01Wallet,
});

test("6H. Should restrict dRep registration for dRep", async ({ page }) => {
await page.goto(`${environments.frontendUrl}/register_drep`);

await page.waitForTimeout(2_000);

await expect(page.getByTestId("name-input")).not.toBeVisible();
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import environments from "@constants/environments";
import { user01Wallet } from "@constants/staticWallets";
import { test } from "@fixtures/walletExtension";
import { setAllureEpic } from "@helpers/allure";
import DRepDirectoryPage from "@pages/dRepDirectoryPage";
import EditDRepPage from "@pages/editDRepPage";
import { expect } from "@playwright/test";

test.beforeEach(async () => {
await setAllureEpic("6. Miscellaneous");
});

test.use({
storageState: ".auth/user01.json",
wallet: user01Wallet,
});

test("6E. Should open Sanchonet docs in a new tab when clicking `Learn More` on dashboards in connected state.", async ({
page,
context,
}) => {
await page.goto("/");

const [delegationLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("delegate-learn-more-button").click(),
]);

await expect(delegationLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/ways-to-use-your-voting-power`
);

const [registerLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("register-learn-more-button").click(),
]);

await expect(registerLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/what-does-it-mean-to-register-as-a-drep`
);

const [directVoterLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("learn-more-button").first().click(), // BUG should be unique test id
]);

await expect(directVoterLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/what-does-it-mean-to-register-as-a-drep`
);

const [GA_LearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("learn-more-governance-actions-button").click(),
]);

await expect(GA_LearnMorepage).toHaveURL("https://sancho.network/actions/");

const [proposed_GA_VoterLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page
.locator("div")
.filter({ hasText: /^ProposeLearn more$/ })
.getByTestId("learn-more-button")
.click(),
]); // BUG should be unique test id

await expect(proposed_GA_VoterLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/what-is-a-governance-action`
);
});

test("6F. should open sanchonet docs in a new tab when clicking `info` button of abstain and signal-no-confidence card", async ({
page,
context,
}) => {
const dRepDirectoryPage = new DRepDirectoryPage(page);
await dRepDirectoryPage.goto();

await dRepDirectoryPage.automaticDelegationOptionsDropdown.click();

const [abstain_Info_Page] = await Promise.all([
context.waitForEvent("page"),
dRepDirectoryPage.abstainInfoButton.click(),
]);

await expect(abstain_Info_Page).toHaveURL(`${environments.docsUrl}`);

const [signal_No_Confidence_Info_Page] = await Promise.all([
context.waitForEvent("page"),
dRepDirectoryPage.signalNoConfidenceInfoButton.click(),
]);

await expect(signal_No_Confidence_Info_Page).toHaveURL(
`${environments.docsUrl}`
);
});

test("6G. Should restrict edit dRep for non dRep", async ({ page }) => {
const editDrepPage = new EditDRepPage(page);
await editDrepPage.goto();

await page.waitForTimeout(2_000);
await expect(editDrepPage.nameInput).not.toBeVisible();
});
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test } from "@fixtures/walletExtension";
import { setAllureEpic } from "@helpers/allure";
import { isMobile, openDrawer } from "@helpers/mobile";
import { expect, test } from "@playwright/test";
import { expect } from "@playwright/test";
import environments from "lib/constants/environments";

test.beforeEach(async () => {
Expand Down Expand Up @@ -44,3 +45,44 @@ test("6C. Navigation within the dApp", async ({ page, context }) => {
await page.getByTestId("dashboard-link").click();
expect(page.url()).toEqual(`${environments.frontendUrl}/`);
});

test("6D. Should open Sanchonet docs in a new tab when clicking `Learn More` on dashboards in disconnected state.", async ({
page,
context,
}) => {
await page.goto("/");

const [delegationLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("delegate-learn-more-button").click(),
]);

await expect(delegationLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/ways-to-use-your-voting-power`
);

const [registerLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("register-learn-more-button").click(),
]);

await expect(registerLearnMorepage).toHaveURL(
`${environments.docsUrl}/faqs/what-does-it-mean-to-register-as-a-drep`
);

const [directVoterLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByTestId("lear-more-about-sole-voter-button").click(),
]);

await expect(directVoterLearnMorepage).toHaveURL(`${environments.docsUrl}`);

const [proposed_GA_VoterLearnMorepage] = await Promise.all([
context.waitForEvent("page"),
page.getByRole("button", { name: "Learn more" }).nth(3).click(), // BUG missing test id
]);

await expect(proposed_GA_VoterLearnMorepage).toHaveURL(
`${environments.docsUrl}`
);
});

0 comments on commit 91dad17

Please sign in to comment.