|
1 | | -/* eslint-disable max-params */ |
2 | 1 | import { actions } from '../helpers/actions' |
3 | 2 | import settings from '../locators/settings.loc' |
4 | 3 | import { selectors } from '../helpers/selectors' |
@@ -54,10 +53,18 @@ class Settings { |
54 | 53 | return selectors.getById(settings.nameContactBtn) |
55 | 54 | } |
56 | 55 |
|
| 56 | + get nameThisNetworkBtn() { |
| 57 | + return selectors.getByText(settings.nameThisNetworkBtn) |
| 58 | + } |
| 59 | + |
57 | 60 | get networkRpcUrl() { |
58 | 61 | return selectors.getById(settings.networkRpcUrl) |
59 | 62 | } |
60 | 63 |
|
| 64 | + get saveNetworkBtn() { |
| 65 | + return selectors.getById(settings.saveNetworkBtn) |
| 66 | + } |
| 67 | + |
61 | 68 | get chainId() { |
62 | 69 | return selectors.getById(settings.chainId) |
63 | 70 | } |
@@ -174,6 +181,10 @@ class Settings { |
174 | 181 | return selectors.getByText(settings.emptyContacts) |
175 | 182 | } |
176 | 183 |
|
| 184 | + get customAvatar() { |
| 185 | + return selectors.getById(settings.customAvatar) |
| 186 | + } |
| 187 | + |
177 | 188 | networkList(name: string) { |
178 | 189 | return selectors.getById(`network_list__${name}`) |
179 | 190 | } |
@@ -207,7 +218,7 @@ class Settings { |
207 | 218 | contactName: string |
208 | 219 | ) { |
209 | 220 | // add contact name |
210 | | - await this.addContactOrNetworkName(contactName) |
| 221 | + await this.addContactName(contactName) |
211 | 222 | // add contact addresses |
212 | 223 | for (const [network, address] of Object.entries(networkAndAddress)) { |
213 | 224 | await actions.click(selectors.getById(`contact_delete_btn__${network}`)) |
@@ -244,7 +255,7 @@ class Settings { |
244 | 255 | contactName: string |
245 | 256 | ) { |
246 | 257 | // add contact name |
247 | | - await this.addContactOrNetworkName(contactName) |
| 258 | + await this.addContactName(contactName) |
248 | 259 | // add contact addresses |
249 | 260 | for (const [network, address] of Object.entries(networkAndAddress)) { |
250 | 261 | await this.setAddress(network, address, contactName) |
@@ -370,36 +381,58 @@ class Settings { |
370 | 381 | } |
371 | 382 | } |
372 | 383 |
|
373 | | - async addContactOrNetworkName(name: string) { |
| 384 | + async addContactName(name: string) { |
374 | 385 | await actions.tap(this.nameContactBtn) |
375 | 386 | await actions.type(common.dialogInput, name) |
376 | 387 | await actions.tapEnterOnKeyboard() |
377 | 388 | await common.tapSaveAlert() |
378 | 389 | } |
379 | 390 |
|
| 391 | + async addNetworkName(name: string) { |
| 392 | + await actions.tap(this.nameThisNetworkBtn) |
| 393 | + await actions.type(common.dialogInput, name) |
| 394 | + await actions.tapEnterOnKeyboard() |
| 395 | + await common.tapSaveAlert() |
| 396 | + } |
| 397 | + |
380 | 398 | async setNetworkData(type: string, value: string) { |
381 | 399 | await actions.tap(selectors.getByText(`Add ${type}`)) |
| 400 | + await actions.dragAndDrop(this.nameThisNetworkBtn, [0, -500]) |
382 | 401 | await actions.type( |
383 | 402 | selectors.getById(`advanced_input__${type.toLowerCase()}`), |
384 | 403 | value |
385 | 404 | ) |
386 | | - await actions.dismissKeyboard() |
| 405 | + try { |
| 406 | + await actions.tapEnterOnKeyboard() |
| 407 | + } catch (e) { |
| 408 | + await actions.dismissKeyboard(`advanced_input__${type.toLowerCase()}`) |
| 409 | + } |
387 | 410 | } |
388 | 411 |
|
389 | | - async addNetwork( |
390 | | - networkName: string, |
391 | | - rpcUrl: string, |
392 | | - chainId: string, |
393 | | - nativeTokenSymbol: string, |
394 | | - nativeTokenName: string |
395 | | - ) { |
| 412 | + async addNetwork(network: Network) { |
| 413 | + const { name, data } = network |
396 | 414 | await this.tapAddNetworkBtn() |
397 | | - await this.addContactOrNetworkName(networkName) |
398 | | - await this.setNetworkData('Network RPC URL', rpcUrl) |
399 | | - await this.setNetworkData('Chain ID', chainId) |
400 | | - await this.setNetworkData('token symbol', nativeTokenSymbol) |
401 | | - await this.setNetworkData('token name', nativeTokenName) |
402 | | - await common.tapSave() |
| 415 | + await this.setNetworkData('Network RPC URL', data?.rpcUrl ?? '') |
| 416 | + await this.setNetworkData('Chain ID', data?.chainId ?? '') |
| 417 | + await this.setNetworkData('token symbol', data?.tokenSymbol ?? '') |
| 418 | + await this.setNetworkData('token name', data?.tokenName ?? '') |
| 419 | + await this.addNetworkName(name) |
| 420 | + await this.tapSaveNetworkBtn() |
| 421 | + } |
| 422 | + |
| 423 | + async tapSaveNetworkBtn() { |
| 424 | + await actions.tap(this.saveNetworkBtn) |
| 425 | + } |
| 426 | + |
| 427 | + async editNetwork(networkName: string) { |
| 428 | + await this.addNetworkName(networkName) |
| 429 | + await this.tapSaveNetworkBtn() |
| 430 | + } |
| 431 | + |
| 432 | + async removeNetwork(networkName: string) { |
| 433 | + await this.tapNetworkByName(networkName) |
| 434 | + await common.tapDelete() |
| 435 | + await common.tapDeleteAlert() |
403 | 436 | } |
404 | 437 |
|
405 | 438 | async verifySettingsRow(row: string, rightVal: string | undefined) { |
@@ -454,9 +487,11 @@ class Settings { |
454 | 487 | await actions.isVisible(this.networkRpcUrl) |
455 | 488 | await actions.isVisible(this.networkDetails(network.data?.rpcUrl ?? '')) |
456 | 489 | } |
457 | | - await actions.isVisible( |
458 | | - this.networkDetails(network.data?.explorerUrl ?? '') |
459 | | - ) |
| 490 | + |
| 491 | + if (network.data?.explorerUrl) { |
| 492 | + await actions.isVisible(this.networkDetails(network.data?.explorerUrl)) |
| 493 | + } |
| 494 | + |
460 | 495 | await actions.isVisible(this.networkDetails(network.data?.chainId ?? '')) |
461 | 496 | await actions.isVisible( |
462 | 497 | this.networkDetails(network.data?.tokenSymbol ?? '') |
|
0 commit comments