@lidofinance/wallets-testing-wallets 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/src/metamask/metamask.page.d.ts +14 -16
  2. package/dist/src/metamask/metamask.page.d.ts.map +1 -1
  3. package/dist/src/metamask/metamask.page.js +112 -255
  4. package/dist/src/metamask/metamask.page.js.map +1 -1
  5. package/dist/src/metamask/pages/elements/accountMenu.element.d.ts +13 -0
  6. package/dist/src/metamask/pages/elements/accountMenu.element.d.ts.map +1 -0
  7. package/dist/src/metamask/pages/elements/accountMenu.element.js +31 -0
  8. package/dist/src/metamask/pages/elements/accountMenu.element.js.map +1 -0
  9. package/dist/src/metamask/pages/elements/header.element.d.ts +11 -0
  10. package/dist/src/metamask/pages/elements/header.element.d.ts.map +1 -0
  11. package/dist/src/metamask/pages/elements/header.element.js +20 -0
  12. package/dist/src/metamask/pages/elements/header.element.js.map +1 -0
  13. package/dist/src/metamask/pages/elements/index.d.ts +8 -0
  14. package/dist/src/metamask/pages/elements/index.d.ts.map +1 -0
  15. package/dist/src/metamask/pages/elements/index.js +24 -0
  16. package/dist/src/metamask/pages/elements/index.js.map +1 -0
  17. package/dist/src/metamask/pages/elements/networkList.element.d.ts +13 -0
  18. package/dist/src/metamask/pages/elements/networkList.element.d.ts.map +1 -0
  19. package/dist/src/metamask/pages/elements/networkList.element.js +36 -0
  20. package/dist/src/metamask/pages/elements/networkList.element.js.map +1 -0
  21. package/dist/src/metamask/pages/elements/optionsMenu.element.d.ts +9 -0
  22. package/dist/src/metamask/pages/elements/optionsMenu.element.d.ts.map +1 -0
  23. package/dist/src/metamask/pages/elements/optionsMenu.element.js +13 -0
  24. package/dist/src/metamask/pages/elements/optionsMenu.element.js.map +1 -0
  25. package/dist/src/metamask/pages/elements/popover.element.d.ts +15 -0
  26. package/dist/src/metamask/pages/elements/popover.element.d.ts.map +1 -0
  27. package/dist/src/metamask/pages/elements/popover.element.js +46 -0
  28. package/dist/src/metamask/pages/elements/popover.element.js.map +1 -0
  29. package/dist/src/metamask/pages/home.page.d.ts +22 -0
  30. package/dist/src/metamask/pages/home.page.d.ts.map +1 -0
  31. package/dist/src/metamask/pages/home.page.js +62 -0
  32. package/dist/src/metamask/pages/home.page.js.map +1 -0
  33. package/dist/src/metamask/pages/index.d.ts +4 -0
  34. package/dist/src/metamask/pages/index.d.ts.map +1 -0
  35. package/dist/src/metamask/pages/index.js +20 -0
  36. package/dist/src/metamask/pages/index.js.map +1 -0
  37. package/dist/src/metamask/pages/login.page.d.ts +11 -0
  38. package/dist/src/metamask/pages/login.page.d.ts.map +1 -0
  39. package/dist/src/metamask/pages/login.page.js +23 -0
  40. package/dist/src/metamask/pages/login.page.js.map +1 -0
  41. package/dist/src/metamask/pages/onboarding.page.d.ts +24 -0
  42. package/dist/src/metamask/pages/onboarding.page.d.ts.map +1 -0
  43. package/dist/src/metamask/pages/onboarding.page.js +62 -0
  44. package/dist/src/metamask/pages/onboarding.page.js.map +1 -0
  45. package/dist/src/metamask/pages/settings.page.d.ts +25 -0
  46. package/dist/src/metamask/pages/settings.page.d.ts.map +1 -0
  47. package/dist/src/metamask/pages/settings.page.js +71 -0
  48. package/dist/src/metamask/pages/settings.page.js.map +1 -0
  49. package/dist/src/metamask/pages/walletOperations.page.d.ts +26 -0
  50. package/dist/src/metamask/pages/walletOperations.page.d.ts.map +1 -0
  51. package/dist/src/metamask/pages/walletOperations.page.js +79 -0
  52. package/dist/src/metamask/pages/walletOperations.page.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -1
@@ -1,31 +1,30 @@
1
1
  import { WalletConfig } from '../wallets.constants';
2
2
  import { WalletPage } from '../wallet.page';
3
- import { BrowserContext, Page, Locator } from '@playwright/test';
3
+ import { BrowserContext, Page } from '@playwright/test';
4
+ import { HomePage, LoginPage, SettingsPage } from './pages';
5
+ import { OnboardingPage, WalletOperationPage, Header, NetworkList, OptionsMenu, PopoverElements, AccountMenu } from './pages/elements';
4
6
  export declare class MetamaskPage implements WalletPage {
5
7
  private browserContext;
6
8
  private extensionUrl;
7
9
  config: WalletConfig;
8
10
  page: Page | undefined;
9
- networkDisplay: Locator;
10
- networkDisplayDialog: Locator;
11
- networkDisplayCloseBtn: Locator;
12
- networkItemBtn: Locator;
13
- networkItemText: Locator;
11
+ header: Header;
12
+ homePage: HomePage;
13
+ settingsPage: SettingsPage;
14
+ loginPage: LoginPage;
15
+ walletOperation: WalletOperationPage;
16
+ onboardingPage: OnboardingPage;
17
+ networkList: NetworkList;
18
+ optionsMenu: OptionsMenu;
19
+ popoverElements: PopoverElements;
20
+ accountMenu: AccountMenu;
14
21
  constructor(browserContext: BrowserContext, extensionUrl: string, config: WalletConfig);
15
22
  initLocators(): Promise<void>;
16
23
  navigate(): Promise<void>;
17
- goToActivity(): Promise<void>;
18
24
  setup(): Promise<void>;
19
- unlock(): Promise<void>;
20
- importTokens(token: string): Promise<void>;
21
- isPopoverVisible(): Promise<boolean>;
22
- closePopover(): Promise<void>;
23
- rejectAllTxInQueue(): Promise<void>;
24
- firstTimeSetup(): Promise<void>;
25
25
  changeNetwork(networkName: string): Promise<void>;
26
26
  switchNetwork(networkName?: string): Promise<void>;
27
27
  setupNetwork(standConfig: Record<string, any>): Promise<void>;
28
- getNetworkListText(): Promise<string[]>;
29
28
  addNetwork(networkName: string, networkUrl: string, chainId: number, tokenSymbol: string, blockExplorer?: string): Promise<void>;
30
29
  importKey(key: string): Promise<void>;
31
30
  connectWallet(page: Page): Promise<void>;
@@ -35,10 +34,9 @@ export declare class MetamaskPage implements WalletPage {
35
34
  getTokenBalance(tokenName: string): Promise<number>;
36
35
  confirmTx(page: Page, setAggressiveGas?: boolean): Promise<void>;
37
36
  signTx(page: Page): Promise<void>;
38
- rejectTx(page: Page): Promise<void>;
39
37
  cancelSignTx(page: Page): Promise<void>;
38
+ rejectTx(page: Page): Promise<void>;
40
39
  approveTokenTx(page: Page): Promise<void>;
41
- useDefaultToApprove(page: Page): Promise<void>;
42
40
  assertReceiptAddress(page: Page, expectedAddress: string): Promise<void>;
43
41
  getWalletAddress(): Promise<string>;
44
42
  changeWalletAddress(addressName: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"metamask.page.d.ts","sourceRoot":"","sources":["../../../src/metamask/metamask.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAQ,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEvE,qBAAa,YAAa,YAAW,UAAU;IAS3C,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IACb,MAAM,EAAE,YAAY;IAV7B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;gBAGf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY;IAGvB,YAAY;IAYZ,QAAQ;IAkBR,YAAY;IAIZ,KAAK;IAWL,MAAM;IAYN,YAAY,CAAC,KAAK,EAAE,MAAM;IAU1B,gBAAgB;IAUhB,YAAY;IA4BZ,kBAAkB;IAmBlB,cAAc;IAoCd,aAAa,CAAC,WAAW,EAAE,MAAM;IAgBjC,aAAa,CAAC,WAAW,SAAkB;IAQ3C,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAsB7C,kBAAkB;IASlB,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,SAAK;IAkCd,SAAS,CAAC,GAAG,EAAE,MAAM;IAiBrB,aAAa,CAAC,IAAI,EAAE,IAAI;IAQxB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM;IAQjD,uBAAuB,CAAC,WAAW,EAAE,IAAI;IAKzC,qBAAqB,CAAC,OAAO,SAAI;IAYjC,eAAe,CAAC,SAAS,EAAE,MAAM;IAuBjC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO;IAWhD,MAAM,CAAC,IAAI,EAAE,IAAI;IAMjB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAMnB,YAAY,CAAC,IAAI,EAAE,IAAI;IAMvB,cAAc,CAAC,IAAI,EAAE,IAAI;IASzB,mBAAmB,CAAC,IAAI,EAAE,IAAI;IAS9B,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM;IAgBxD,gBAAgB;IAWhB,mBAAmB,CAAC,WAAW,EAAE,MAAM;CAW9C"}
1
+ {"version":3,"file":"metamask.page.d.ts","sourceRoot":"","sources":["../../../src/metamask/metamask.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAQ,cAAc,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,MAAM,EACN,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,YAAa,YAAW,UAAU;IAc3C,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IACb,MAAM,EAAE,YAAY;IAf7B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,mBAAmB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;gBAGf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY;IAGvB,YAAY;IAkBZ,QAAQ;IAaR,KAAK;IAaL,aAAa,CAAC,WAAW,EAAE,MAAM;IAYjC,aAAa,CAAC,WAAW,SAAkB;IAU3C,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAuB7C,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,SAAK;IAgBd,SAAS,CAAC,GAAG,EAAE,MAAM;IAerB,aAAa,CAAC,IAAI,EAAE,IAAI;IASxB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM;IAQjD,uBAAuB,CAAC,WAAW,EAAE,IAAI;IAMzC,qBAAqB,CAAC,OAAO,SAAI;IASjC,eAAe,CAAC,SAAS,EAAE,MAAM;IAsBjC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO;IAMhD,MAAM,CAAC,IAAI,EAAE,IAAI;IAMjB,YAAY,CAAC,IAAI,EAAE,IAAI;IAMvB,QAAQ,CAAC,IAAI,EAAE,IAAI;IAMnB,cAAc,CAAC,IAAI,EAAE,IAAI;IAMzB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM;IASxD,gBAAgB;IAYhB,mBAAmB,CAAC,WAAW,EAAE,MAAM;CAY9C"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetamaskPage = void 0;
4
4
  const test_1 = require("@playwright/test");
5
5
  const test_2 = require("@playwright/test");
6
+ const pages_1 = require("./pages");
7
+ const elements_1 = require("./pages/elements");
6
8
  class MetamaskPage {
7
9
  constructor(browserContext, extensionUrl, config) {
8
10
  this.browserContext = browserContext;
@@ -10,224 +12,105 @@ class MetamaskPage {
10
12
  this.config = config;
11
13
  }
12
14
  async initLocators() {
13
- this.networkDisplay = this.page.getByTestId('network-display');
14
- this.networkDisplayDialog = this.page.locator('[role = "dialog"]');
15
- this.networkDisplayCloseBtn = this.networkDisplayDialog
16
- .locator('[aria-label="Close"]')
17
- .first();
18
- this.networkItemBtn =
19
- this.networkDisplayDialog.locator('div[role="button"]');
20
- this.networkItemText = this.networkItemBtn.locator('p');
15
+ this.page = await this.browserContext.newPage();
16
+ this.header = new elements_1.Header(this.page);
17
+ this.homePage = new pages_1.HomePage(this.page, this.extensionUrl, this.config);
18
+ this.settingsPage = new pages_1.SettingsPage(this.page, this.extensionUrl, this.config);
19
+ this.loginPage = new pages_1.LoginPage(this.page, this.config);
20
+ this.walletOperation = new elements_1.WalletOperationPage(this.page);
21
+ this.onboardingPage = new elements_1.OnboardingPage(this.page, this.config);
22
+ this.networkList = new elements_1.NetworkList(this.page);
23
+ this.optionsMenu = new elements_1.OptionsMenu(this.page);
24
+ this.popoverElements = new elements_1.PopoverElements(this.page);
25
+ this.accountMenu = new elements_1.AccountMenu(this.page);
21
26
  }
22
27
  async navigate() {
23
- await test_2.test.step('Navigate to metamask', async () => {
24
- this.page = await this.browserContext.newPage();
28
+ await test_2.test.step('Navigate to metamask Home page', async () => {
25
29
  await this.initLocators();
26
- await this.page.goto(this.extensionUrl + this.config.COMMON.EXTENSION_START_PATH, { waitUntil: 'load' });
27
- await this.page
28
- .locator('button[data-testid="app-header-logo"]')
29
- .waitFor({ state: 'visible' });
30
- await this.unlock();
31
- if (await this.networkDisplay.isVisible()) {
32
- await this.closePopover();
30
+ await this.homePage.openWidgetPage();
31
+ await this.header.appHeaderLogo.waitFor({ state: 'visible' });
32
+ await this.loginPage.unlock();
33
+ if (await this.header.networkListButton.isVisible()) {
34
+ await this.popoverElements.closePopover();
35
+ await this.walletOperation.rejectAllTxInQueue(); // reject all tx in queue if exist
33
36
  }
34
37
  });
35
38
  }
36
- async goToActivity() {
37
- await this.page.locator('button:has-text("Activity")').click();
38
- }
39
39
  async setup() {
40
40
  await test_2.test.step('Setup', async () => {
41
41
  // added explicit route to #onboarding due to unexpected first time route from /home.html to /onboarding -> page is close
42
42
  await this.navigate();
43
- if (!this.page)
44
- throw "Page isn't ready";
45
- if (!(await this.networkDisplay.isVisible())) {
46
- await this.firstTimeSetup();
47
- }
48
- });
49
- }
50
- async unlock() {
51
- await test_2.test.step('Unlock', async () => {
52
- if (!this.page)
53
- throw "Page isn't ready";
54
- if ((await this.page.locator('id=password').count()) > 0) {
55
- await this.page.fill('id=password', this.config.PASSWORD);
56
- await this.page.click('text=Unlock');
57
- await this.page.waitForURL('**/home.html#');
58
- await this.closePopover();
59
- }
60
- });
61
- }
62
- async importTokens(token) {
63
- await test_2.test.step('Import token', async () => {
64
- await this.navigate();
65
- if (!this.page)
66
- throw "Page isn't ready";
67
- await this.page.click("text='import tokens'");
68
- await this.page.click('text=Custom token');
69
- await this.page.type('id=custom-address', token);
70
- });
71
- }
72
- async isPopoverVisible() {
73
- try {
74
- const popoverContent = this.page.getByTestId('popover-close');
75
- await popoverContent.waitFor({ state: 'visible', timeout: 1000 });
76
- return true;
77
- }
78
- catch (error) {
79
- return false;
80
- }
81
- }
82
- async closePopover() {
83
- await test_2.test.step('Close popover if it exists', async () => {
84
- if (!this.page)
85
- throw "Page isn't ready";
86
- if (await this.isPopoverVisible()) {
87
- await this.page.getByTestId('popover-close').click();
43
+ if (!(await this.header.networkListButton.isVisible())) {
44
+ await this.onboardingPage.firstTimeSetup();
45
+ await this.popoverElements.closePopover();
46
+ await this.walletOperation.rejectAllTxInQueue(); // reject all tx in queue if exist
47
+ await this.settingsPage.setupNetworkChangingSetting(); // need to make it possible to change the wallet network
88
48
  }
89
- if (await this.page
90
- .locator('button:has-text("Manage in settings")')
91
- .isVisible()) {
92
- await this.page
93
- .locator('button:has-text("Manage in settings")')
94
- .click();
95
- }
96
- if (await this.page.getByText('Not right now').isVisible())
97
- await this.page.click('text=Not right now');
98
- const gotItBtn = this.page.getByText('Got it');
99
- if (await gotItBtn.first().isVisible())
100
- await gotItBtn.first().click();
101
- // reject all tx in queue if exist
102
- await this.rejectAllTxInQueue();
103
- });
104
- }
105
- async rejectAllTxInQueue() {
106
- //Is there is any tx in queue.
107
- try {
108
- const rejectTxBtn = this.page.getByTestId('page-container-footer-cancel');
109
- await rejectTxBtn.waitFor({ state: 'visible', timeout: 1000 });
110
- }
111
- catch (error) {
112
- //No tx in queue
113
- return;
114
- }
115
- const rejectTxsBtn = this.page.locator('div[class="page-container__footer-secondary"]');
116
- if (await rejectTxsBtn.isVisible()) {
117
- await rejectTxsBtn.click();
118
- await this.page.locator('button:has-text("Reject all")').click();
119
- }
120
- else
121
- await this.rejectTx(this.page);
122
- }
123
- async firstTimeSetup() {
124
- await test_2.test.step('First time setup', async () => {
125
- if (!this.page)
126
- throw "Page isn't ready";
127
- const checkbox = this.page.getByTestId('onboarding-terms-checkbox');
128
- while (!(await this.page.locator('.check-box__checked').isVisible())) {
129
- console.log('Checkbox is not checked');
130
- await checkbox.click();
131
- }
132
- await this.page.click('data-testid=onboarding-import-wallet');
133
- await this.page.click('data-testid=metametrics-i-agree');
134
- const inputs = this.page.locator('.import-srp__srp-word >> input[type=password]');
135
- const seedWords = this.config.SECRET_PHRASE.split(' ');
136
- for (let i = 0; i < seedWords.length; i++) {
137
- await inputs.nth(i).fill(seedWords[i]);
138
- }
139
- await this.page.click('data-testid=import-srp-confirm');
140
- await this.page.fill('data-testid=create-password-new', this.config.PASSWORD);
141
- await this.page.fill('data-testid=create-password-confirm', this.config.PASSWORD);
142
- await this.page.click('data-testid=create-password-terms');
143
- await this.page.click('data-testid=create-password-import');
144
- await this.page.getByTestId('onboarding-complete-done').click();
145
- await this.page.getByTestId('pin-extension-next').click();
146
- await this.page.getByTestId('pin-extension-done').click();
147
- await this.page.waitForURL('**/home.html#');
148
- await this.closePopover();
149
49
  });
150
50
  }
151
51
  async changeNetwork(networkName) {
152
52
  await test_2.test.step(`Change Metamask network to ${networkName}`, async () => {
153
- if (!this.page)
154
- throw "Page isn't ready";
155
53
  await this.navigate();
156
- await this.page.click('data-testid=network-display');
157
- await this.page.locator('section').getByText(networkName).click();
158
- //Linea network require additional confirmation
54
+ await this.header.networkListButton.click();
55
+ await this.networkList.clickToNetwork(networkName);
159
56
  if (networkName === 'Linea Mainnet') {
160
- await this.closePopover();
57
+ await this.popoverElements.closePopover(); //Linea network require additional confirmation
161
58
  }
162
59
  await this.page.close();
163
60
  });
164
61
  }
165
62
  async switchNetwork(networkName = 'Linea Mainnet') {
166
- await this.navigate();
167
- await this.page.getByTestId('network-display').click();
168
- await this.page.getByText(networkName).click();
169
- await this.page.getByText('Got it').click();
170
- await this.page.close();
63
+ await test_2.test.step(`Switch network to "${networkName}"`, async () => {
64
+ await this.navigate();
65
+ await this.header.networkListButton.click();
66
+ await this.networkList.clickToNetwork(networkName);
67
+ await this.popoverElements.gotItButton.click();
68
+ await this.page.close();
69
+ });
171
70
  }
172
71
  async setupNetwork(standConfig) {
173
- const networkDisplayText = await this.networkDisplay.textContent();
174
- if (!networkDisplayText.includes(standConfig.chainName)) {
175
- await this.networkDisplay.click();
176
- const networkListText = await this.getNetworkListText();
72
+ await test_2.test.step(`Setup "${standConfig.chainName}" Network`, async () => {
73
+ const currentNetwork = await this.header.getCurrentNetworkName();
74
+ if (currentNetwork.includes(standConfig.chainName)) {
75
+ return;
76
+ }
77
+ await this.header.networkListButton.click();
78
+ const networkListText = await this.networkList.getNetworkListText();
177
79
  if (networkListText.includes(standConfig.chainName)) {
178
- await this.networkItemBtn.getByText(standConfig.chainName).click();
80
+ await this.networkList.clickToNetworkItemButton(standConfig.chainName);
179
81
  }
180
82
  else {
181
- await this.networkDisplayCloseBtn.click();
83
+ await this.networkList.networkDisplayCloseBtn.click();
182
84
  await this.addNetwork(standConfig.chainName, standConfig.rpcUrl, standConfig.chainId, standConfig.tokenSymbol, standConfig.scan);
183
85
  }
184
- }
185
- }
186
- async getNetworkListText() {
187
- const networkList = await this.networkItemText.all();
188
- return Promise.all(networkList.map(async (networkType) => {
189
- return await networkType.textContent();
190
- }));
86
+ });
191
87
  }
192
88
  async addNetwork(networkName, networkUrl, chainId, tokenSymbol, blockExplorer = '') {
193
- await test_2.test.step('Add network', async () => {
194
- await this.page.click('data-testid=account-options-menu-button');
195
- await this.page.click('text=Settings');
196
- await this.page.click("text='Networks'");
197
- await this.page.click('text=Add a network');
198
- await this.page.click("a :has-text('Add a network manually')");
199
- await this.page.fill(".form-field :has-text('Network Name') >> input", networkName);
200
- await this.page.fill(".form-field :has-text('New RPC URL') >> input", networkUrl);
201
- await this.page.fill(".form-field :has-text('Chain ID') >> input", String(chainId));
202
- await this.page.fill('[data-testid="network-form-ticker-input"]', tokenSymbol);
203
- if (blockExplorer != '')
204
- await this.page.fill(".form-field :has-text('Block explorer URL') >> input", blockExplorer);
205
- await this.page.click('text=Save');
206
- await this.page.click('text=Switch to ');
89
+ await test_2.test.step(`Add new network "${networkName}"`, async () => {
90
+ await this.settingsPage.openSettings();
91
+ await this.settingsPage.networksTabButton.click();
92
+ await this.settingsPage.addNetworkManually(networkName, networkUrl, chainId, tokenSymbol, blockExplorer);
93
+ await this.popoverElements.switchToButton.click();
207
94
  });
208
95
  }
209
96
  async importKey(key) {
210
97
  await test_2.test.step('Import key', async () => {
211
- if (!this.page)
212
- throw "Page isn't ready";
213
98
  await this.navigate();
214
99
  // Remove me when MM to be more stable
215
100
  do {
216
101
  await this.page.reload();
217
- await this.closePopover();
218
- } while (!(await this.page.getByTestId('account-menu-icon').isVisible()));
219
- await this.page.click('data-testid=account-menu-icon');
220
- await this.page.click('text=Add account or hardware wallet');
221
- await this.page.click('text=Import account');
222
- await this.page.fill('id=private-key-box', key);
223
- await this.page.click("text='Import'");
102
+ await this.popoverElements.closePopover();
103
+ } while (!(await this.header.accountMenuButton.isVisible()));
104
+ await this.header.accountMenuButton.click();
105
+ await this.accountMenu.addAccountWithKey(key);
224
106
  });
225
107
  }
226
108
  async connectWallet(page) {
227
- await test_2.test.step('Connect wallet', async () => {
228
- await page.click('text=Next');
229
- await page.click('data-testid=page-container-footer-next');
230
- await page.close();
109
+ await test_2.test.step('Connect Metamask wallet', async () => {
110
+ const operationPage = new elements_1.WalletOperationPage(page);
111
+ await operationPage.nextButton.click(); // "Next" button for account select
112
+ await operationPage.nextButton.click(); // "Confirm" button to give permission
113
+ await operationPage.page.close();
231
114
  });
232
115
  }
233
116
  async assertTxAmount(page, expectedAmount) {
@@ -237,115 +120,89 @@ class MetamaskPage {
237
120
  }
238
121
  async confirmAddTokenToWallet(confirmPage) {
239
122
  await test_2.test.step('Confirm add token to wallet', async () => {
240
- await confirmPage.locator('button:has-text("Add token")').click();
123
+ await new elements_1.WalletOperationPage(confirmPage).addTokenButton.click();
241
124
  });
242
125
  }
243
126
  async openLastTxInEthplorer(txIndex = 0) {
244
- if (!this.page)
245
- throw "Page isn't ready";
246
- await this.navigate();
247
- await this.goToActivity();
248
- await this.page.getByTestId('activity-list-item').nth(txIndex).click();
249
- const [, etherscanPage] = await Promise.all([
250
- await this.page.locator('text=View on block explorer').click(),
251
- await this.page.context().waitForEvent('page', { timeout: 120000 }),
252
- ]);
253
- return etherscanPage;
127
+ return await test_2.test.step('Open transaction in Ethplorer', async () => {
128
+ await this.navigate();
129
+ await this.homePage.openActivityTab();
130
+ await this.homePage.openTxInfo(txIndex);
131
+ return this.homePage.openTransactionEthplorerPage();
132
+ });
254
133
  }
255
134
  async getTokenBalance(tokenName) {
256
- await this.navigate();
257
- const tokenTab = await this.page
258
- .getByTestId('account-overview__asset-tab')
259
- .locator('text=Tokens');
260
- await tokenTab.click();
261
- //Cannot find locator by exact text since need to find row by text "stETH"/"ETH" but "stETH" contains "ETH"
262
- const elements = await this.page.$$('data-testid=multichain-token-list-item-value');
263
- let tokenBalance = NaN;
264
- for (const element of elements) {
265
- await element.waitForElementState('visible');
266
- const textContent = await element.textContent();
267
- const letterTextContent = textContent.match(/[a-zA-Z]+/g);
268
- if (letterTextContent.toString().trim() === tokenName) {
269
- tokenBalance = parseFloat(await element.textContent());
270
- break;
135
+ return await test_2.test.step(`Get ${tokenName} token balance`, async () => {
136
+ await this.navigate();
137
+ await this.homePage.openTokensTab();
138
+ //Cannot find locator by exact text since need to find row by text "stETH"/"ETH" but "stETH" contains "ETH"
139
+ const tokensValue = await this.homePage.tokensListItemValues.all();
140
+ let tokenBalance = NaN;
141
+ for (const value of tokensValue) {
142
+ await value.waitFor({ state: 'visible' });
143
+ const tokenNameFromValue = (await value.textContent())
144
+ .match(/[a-zA-Z]+/g)
145
+ .toString()
146
+ .trim();
147
+ if (tokenNameFromValue === tokenName) {
148
+ tokenBalance = parseFloat(await value.textContent());
149
+ break;
150
+ }
271
151
  }
272
- }
273
- return tokenBalance;
152
+ return tokenBalance;
153
+ });
274
154
  }
275
155
  async confirmTx(page, setAggressiveGas) {
276
156
  await test_2.test.step('Confirm TX', async () => {
277
- if (setAggressiveGas) {
278
- await page.click('button[data-testid="edit-gas-fee-icon"]');
279
- await page.mouse.move(1, 1);
280
- await page.click('button[data-testid="edit-gas-fee-item-high"]');
281
- }
282
- await page.getByTestId('page-container-footer-next').click();
157
+ await new elements_1.WalletOperationPage(page).confirmTransaction(setAggressiveGas);
283
158
  });
284
159
  }
285
160
  async signTx(page) {
286
161
  await test_2.test.step('Sign TX', async () => {
287
- await page.getByTestId('confirm-footer-button').click();
288
- });
289
- }
290
- async rejectTx(page) {
291
- await test_2.test.step('Reject TX', async () => {
292
- await page.getByTestId('page-container-footer-cancel').click();
162
+ await new elements_1.WalletOperationPage(page).signTransaction();
293
163
  });
294
164
  }
295
165
  async cancelSignTx(page) {
296
- await test_2.test.step('Cancel sign TX', async () => {
297
- await page.getByTestId('confirm-footer-cancel-button').click();
166
+ await test_2.test.step('Cancel Sign TX', async () => {
167
+ await new elements_1.WalletOperationPage(page).cancelSignTransaction();
298
168
  });
299
169
  }
300
- async approveTokenTx(page) {
301
- await test_2.test.step('Approve token tx', async () => {
302
- await this.useDefaultToApprove(page);
303
- await page.click('text=Next');
304
- await page.waitForTimeout(2000);
305
- await page.click('text=Approve');
170
+ async rejectTx(page) {
171
+ await test_2.test.step('Reject TX', async () => {
172
+ await new elements_1.WalletOperationPage(page).rejectTransaction();
306
173
  });
307
174
  }
308
- async useDefaultToApprove(page) {
309
- await test_2.test.step('Click "Use default" button in case if it exist', async () => {
310
- if (!page)
311
- throw "Page isn't ready";
312
- const useDefaultButton = (await page.locator('text=Use default').count()) > 0;
313
- if (useDefaultButton)
314
- await page.click('text=Use default');
175
+ async approveTokenTx(page) {
176
+ await test_2.test.step('Approve token TX', async () => {
177
+ await new elements_1.WalletOperationPage(page).confirmTransactionOfTokenApproval();
315
178
  });
316
179
  }
317
180
  async assertReceiptAddress(page, expectedAddress) {
318
181
  await test_2.test.step('Assert receiptAddress/Contract', async () => {
319
- const recipient = page.locator('.sender-to-recipient__party--recipient-with-address');
320
- while (!(await recipient.isEnabled())) {
321
- await this.page.waitForTimeout(500);
322
- }
323
- await recipient.click();
324
- const recipientAddress = await page
325
- .locator('input[id="address"]')
326
- .getAttribute('value');
327
- await page.click('button[aria-label="Close"]');
182
+ const recipientAddress = await new elements_1.WalletOperationPage(page).assertReceiptAddress();
328
183
  (0, test_1.expect)(recipientAddress).toBe(expectedAddress);
329
184
  });
330
185
  }
331
186
  async getWalletAddress() {
332
- await this.navigate();
333
- await this.page.getByTestId('account-options-menu-button').click();
334
- await this.page.getByTestId('account-list-menu-details').click();
335
- const address = await this.page
336
- .locator("button[data-testid='address-copy-button-text']")
337
- .textContent();
338
- await this.page.close();
339
- return address;
187
+ return await test_2.test.step('Get current wallet address', async () => {
188
+ await this.navigate();
189
+ await this.header.optionsMenuButton.click();
190
+ await this.optionsMenu.menuAccountDetailsButton.click();
191
+ const address = await this.popoverElements.accountDetailCopyAddressButton.textContent();
192
+ await this.page.close();
193
+ return address;
194
+ });
340
195
  }
341
196
  async changeWalletAddress(addressName) {
342
- await this.navigate();
343
- await this.page.click('data-testid=account-menu-icon');
344
- await this.page.click(`section:has-text("${addressName}")`);
345
- const accountNumber = this.page.locator(`button[data-testid="account-menu-icon"]:has-text("${addressName}")`);
346
- await accountNumber.waitFor({ state: 'visible', timeout: 2000 });
347
- await this.page.waitForTimeout(2000);
348
- await this.page.close();
197
+ await test_2.test.step('Change wallet address', async () => {
198
+ await this.navigate();
199
+ await this.header.accountMenuButton.click();
200
+ await this.accountMenu.clickToAddress(addressName);
201
+ const accountNumber = this.header.accountMenuButton.getByText(addressName);
202
+ await accountNumber.waitFor({ state: 'visible', timeout: 2000 });
203
+ await this.page.waitForTimeout(2000);
204
+ await this.page.close();
205
+ });
349
206
  }
350
207
  }
351
208
  exports.MetamaskPage = MetamaskPage;
@@ -1 +1 @@
1
- {"version":3,"file":"metamask.page.js","sourceRoot":"","sources":["../../../src/metamask/metamask.page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metamask.page.js","sourceRoot":"","sources":["../../../src/metamask/metamask.page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Locator, Page } from '@playwright/test';
2
+ export declare class AccountMenu {
3
+ page: Page;
4
+ accountListModal: Locator;
5
+ addAccountOrHardwareWalletButton: Locator;
6
+ importAccountButton: Locator;
7
+ privateKeyInput: Locator;
8
+ importAccountConfirmButton: Locator;
9
+ constructor(page: Page);
10
+ clickToAddress(addressName: string): Promise<void>;
11
+ addAccountWithKey(key: string): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=accountMenu.element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountMenu.element.d.ts","sourceRoot":"","sources":["../../../../../src/metamask/pages/elements/accountMenu.element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAQ,MAAM,kBAAkB,CAAC;AAEvD,qBAAa,WAAW;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gCAAgC,EAAE,OAAO,CAAC;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,0BAA0B,EAAE,OAAO,CAAC;gBAExB,IAAI,EAAE,IAAI;IAehB,cAAc,CAAC,WAAW,EAAE,MAAM;IAMlC,iBAAiB,CAAC,GAAG,EAAE,MAAM;CAQpC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountMenu = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ class AccountMenu {
6
+ constructor(page) {
7
+ this.page = page;
8
+ this.accountListModal = this.page.locator('section[role=dialog]');
9
+ this.addAccountOrHardwareWalletButton = this.accountListModal.getByTestId('multichain-account-menu-popover-action-button');
10
+ this.importAccountButton = this.page
11
+ .getByRole('button')
12
+ .getByText('Import account');
13
+ this.privateKeyInput = this.page.locator('id=private-key-box');
14
+ this.importAccountConfirmButton = this.page.getByTestId('import-account-confirm-button');
15
+ }
16
+ async clickToAddress(addressName) {
17
+ await test_1.test.step(`Click to "${addressName}" account`, async () => {
18
+ await this.accountListModal.getByText(addressName).click();
19
+ });
20
+ }
21
+ async addAccountWithKey(key) {
22
+ await test_1.test.step('Import key to add account', async () => {
23
+ await this.addAccountOrHardwareWalletButton.click();
24
+ await this.importAccountButton.click();
25
+ await this.privateKeyInput.fill(key);
26
+ await this.importAccountConfirmButton.click();
27
+ });
28
+ }
29
+ }
30
+ exports.AccountMenu = AccountMenu;
31
+ //# sourceMappingURL=accountMenu.element.js.map