Skip to content

Commit 32fcb9d

Browse files
authored
test(cat-voices): update locators for Playwright (#3691)
1 parent bf63185 commit 32fcb9d

34 files changed

+268
-225
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v22.15.0
1+
v24.11.0

catalyst_voices/apps/voices/e2e_tests/package-lock.json

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

catalyst_voices/apps/voices/e2e_tests/package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@
1111
"author": "Catalyst Voices - QA Team",
1212
"license": "ISC",
1313
"devDependencies": {
14-
"@playwright/test": "1.55.0",
14+
"@playwright/test": "1.56.0",
1515
"@tomjs/unzip-crx": "1.1.3",
16-
"@types/node": "24.3.1",
17-
"@types/node-fetch": "2.6.13",
18-
"node-fetch": "3.3.2"
16+
"@types/node": "24.3.1"
1917
},
2018
"dependencies": {
2119
"dotenv": "17.2.2"
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { InputSeedPhrasePanel } from "./step-9-input-seedphrase";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class SeedPhraseSuccessPanel extends OnboardingBasePage {
67
page: Page;
78

8-
constructor(page: Page) {
9-
super(page);
9+
constructor(page: Page, testModel: TestModel) {
10+
super(page, testModel);
1011
this.page = page;
1112
}
1213
async goto() {
13-
await new InputSeedPhrasePanel(this.page).goto();
14-
await new OnboardingBasePage(this.page).nextButtonClick();
14+
await new InputSeedPhrasePanel(this.page, this.testModel).goto();
15+
await new InputSeedPhrasePanel(this.page, this.testModel).resetButtonClick();
16+
await new InputSeedPhrasePanel(this.page, this.testModel).inputSeedPhraseWords();
17+
await new OnboardingBasePage(this.page, this.testModel).nextButtonClick();
1518
}
1619
}
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { SeedPhraseSuccessPanel } from "./step-10-seedphrase-success";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class PasswordInfoPanel extends OnboardingBasePage {
67
page: Page;
78

8-
constructor(page: Page) {
9-
super(page);
9+
constructor(page: Page, testModel: TestModel) {
10+
super(page, testModel);
1011
this.page = page;
1112
}
1213
async goto() {
13-
await new SeedPhraseSuccessPanel(this.page).goto();
14-
await new OnboardingBasePage(this.page).nextButtonClick();
14+
await new SeedPhraseSuccessPanel(this.page, this.testModel).goto();
15+
await new OnboardingBasePage(this.page, this.testModel).nextButtonClick();
1516
}
1617
}
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { PasswordInfoPanel } from "./step-11-password-info";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class InputPasswordPanel extends OnboardingBasePage {
67
page: Page;
78
passwordInput: Locator;
89
passwordConfirmInput: Locator;
910

10-
constructor(page: Page) {
11-
super(page);
11+
constructor(page: Page, testModel: TestModel) {
12+
super(page, testModel);
1213
this.page = page;
13-
this.passwordInput = page.locator(
14-
"input[type='password'][aria-label='Enter password']"
15-
);
16-
this.passwordConfirmInput = page.locator(
17-
"input[type='password'][aria-label='Confirm password']"
18-
);
14+
this.passwordInput = page.getByTestId("PasswordInputField").locator("input");
15+
this.passwordConfirmInput = page.getByTestId("PasswordConfirmInputField").locator("input");
1916
}
2017
async goto() {
21-
await new PasswordInfoPanel(this.page).goto();
22-
await new OnboardingBasePage(this.page).nextButtonClick();
18+
await new PasswordInfoPanel(this.page, this.testModel).goto();
19+
await new OnboardingBasePage(this.page, this.testModel).nextButtonClick();
2320
}
2421
async inputPassword(password: string) {
2522
await this.click(this.passwordInput);
26-
await this.passwordInput.fill(password);
23+
await this.page.waitForTimeout(100);
24+
await this.passwordInput.pressSequentially(password);
2725
}
2826
async confirmPassword(password: string) {
2927
await this.click(this.passwordConfirmInput);
30-
await this.passwordConfirmInput.fill(password);
28+
await this.page.waitForTimeout(100);
29+
await this.passwordConfirmInput.pressSequentially(password);
3130
}
3231
}

catalyst_voices/apps/voices/e2e_tests/page-objects/onboarding/create-flow/step-13-keychain-final.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { InputPasswordPanel } from "./step-12-input-password";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class KeychainFinalPanel extends OnboardingBasePage {
67
page: Page;
78
linkWalletButton: Locator;
89

9-
constructor(page: Page) {
10-
super(page);
10+
constructor(page: Page, testModel: TestModel) {
11+
super(page, testModel);
1112
this.page = page;
1213
this.linkWalletButton = page.getByTestId("LinkWalletAndRolesButton");
1314
}
1415
async goto() {
15-
await new InputPasswordPanel(this.page).goto();
16-
await new InputPasswordPanel(this.page).inputPassword("12341234");
17-
await new InputPasswordPanel(this.page).confirmPassword("12341234");
18-
await new OnboardingBasePage(this.page).nextButtonClick();
16+
await new InputPasswordPanel(this.page, this.testModel).goto();
17+
await new InputPasswordPanel(this.page, this.testModel).inputPassword(this.testModel.accountModel.password);
18+
await new InputPasswordPanel(this.page, this.testModel).confirmPassword(this.testModel.accountModel.password);
19+
await new OnboardingBasePage(this.page, this.testModel).nextButtonClick();
1920
}
2021
async linkWalletButtonClick() {
2122
await this.click(this.linkWalletButton);

catalyst_voices/apps/voices/e2e_tests/page-objects/onboarding/create-flow/step-14-link-wallet-info.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { KeychainFinalPanel } from "./step-13-keychain-final";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class LinkWalletInfoPanel extends OnboardingBasePage {
67
page: Page;
78
chooseCardanoWalletButton: Locator;
89

9-
constructor(page: Page) {
10-
super(page);
10+
constructor(page: Page, testModel: TestModel) {
11+
super(page, testModel);
1112
this.page = page;
1213
this.chooseCardanoWalletButton = page.getByTestId(
1314
"ChooseCardanoWalletButton"
1415
);
1516
}
1617
async goto() {
17-
await new KeychainFinalPanel(this.page).goto();
18-
await new KeychainFinalPanel(this.page).linkWalletButtonClick();
18+
await new KeychainFinalPanel(this.page, this.testModel).goto();
19+
await new KeychainFinalPanel(this.page, this.testModel).linkWalletButtonClick();
1920
}
2021
async chooseCardanoWalletButtonClick() {
2122
await this.click(this.chooseCardanoWalletButton);

catalyst_voices/apps/voices/e2e_tests/page-objects/onboarding/create-flow/step-15-wallet-list.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { LinkWalletInfoPanel } from "./step-14-link-wallet-info";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class WalletListPanel extends OnboardingBasePage {
67
page: Page;
78
walletButton: (name: string) => Locator;
89

9-
constructor(page: Page) {
10-
super(page);
10+
constructor(page: Page, testModel: TestModel) {
11+
super(page, testModel);
1112
this.page = page;
12-
this.walletButton = (name: string) =>
13-
page.getByTestId(`${name.toLowerCase()}-wallet`);
13+
this.walletButton = (name: string) => page.getByTestId(`${name.toLowerCase()}-wallet`);
1414
}
1515
async goto() {
16-
await new LinkWalletInfoPanel(this.page).goto();
17-
await new LinkWalletInfoPanel(this.page).chooseCardanoWalletButtonClick();
16+
await new LinkWalletInfoPanel(this.page, this.testModel).goto();
17+
await new LinkWalletInfoPanel(this.page, this.testModel).chooseCardanoWalletButtonClick();
1818
return this;
1919
}
2020
async clickConnectWallet(name: string): Promise<Page> {

catalyst_voices/apps/voices/e2e_tests/page-objects/onboarding/create-flow/step-16-wallet-connected.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Locator, Page } from "@playwright/test";
22
import { OnboardingBasePage } from "../onboarding-base-page";
33
import { WalletListPanel } from "./step-15-wallet-list";
4+
import { TestModel } from "../../../models/testModel";
45

56
export class WalletConnectedPanel extends OnboardingBasePage {
67
page: Page;
@@ -9,8 +10,8 @@ export class WalletConnectedPanel extends OnboardingBasePage {
910
readonly walletAddressValue: Locator;
1011
readonly walletAddressClipboardIcon: Locator;
1112

12-
constructor(page: Page) {
13-
super(page);
13+
constructor(page: Page, testModel: TestModel) {
14+
super(page, testModel);
1415
this.page = page;
1516
this.walletNameValue = page.getByTestId("NameOfWalletValue");
1617
this.walletBalanceValue = page.getByTestId("WalletBalanceValue");
@@ -21,8 +22,8 @@ export class WalletConnectedPanel extends OnboardingBasePage {
2122
}
2223

2324
async goto() {
24-
await new WalletListPanel(this.page).goto();
25-
await new WalletListPanel(this.page).clickConnectWallet("Lace");
25+
await new WalletListPanel(this.page, this.testModel).goto();
26+
await new WalletListPanel(this.page, this.testModel).clickConnectWallet(this.testModel.walletConfig.name);
2627
}
2728

2829
async getWalletNameValue() {

0 commit comments

Comments
 (0)