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
23 changes: 13 additions & 10 deletions src/controls/html-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,22 @@ export class HTMLElement implements IHTMLElement {
/**
*
* Schedules a command to click on this element
* @return {*} {Promise<void>}
* @memberof HTMLElement
*/
async click(): Promise<void> {
return await this.callIfMethodExists('click');
}
/**
*
* Schedules a command to click on this element and return a new page object
* @template TPage
* @param {new () => TPage} [page]
* @return {*} {Promise<any>}
* @param {new () => TPage} page
* @return {*} {Promise<TPage>}
* @memberof HTMLElement
*/
click(): Promise<void>;
click<TPage>(page: new () => TPage): Promise<TPage>;
async click<TPage>(page?: new () => TPage): Promise<any> {
if (page) {
return await this.callIfMethodExists('click', [page]);
} else {
return await this.callIfMethodExists('click');
}
async clickRedirectsTo<TPage>(page: new () => TPage): Promise<TPage> {
return await this.callIfMethodExists('clickRedirectsTo', [page]);
}
/**
*
Expand Down
2 changes: 1 addition & 1 deletion src/flask/pages/onboarding/experimental-area.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class ExperimentalArea extends PageObject {
* @memberof ExperimentalArea
*/
async iAccept(): Promise<Welcome> {
return await this.iAcceptButton.click<Welcome>(Welcome);
return await this.iAcceptButton.clickRedirectsTo<Welcome>(Welcome);
}
}
3 changes: 1 addition & 2 deletions src/interface/controls/html-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { IConfirmation } from '../wallet/confirmation';

export interface IHTMLElement {
click(): Promise<void>;
click<TPage>(page: new () => TPage): Promise<TPage>;
click<TPage>(page?: new () => TPage): Promise<any>;
clickRedirectsTo<TPage>(page: new () => TPage): Promise<TPage>;
clickAndSwitchToWindow<TPage extends IConfirmation | IPageObject>(page: new () => TPage): Promise<TPage>;
clickAndWait(duration: number): Promise<void>;
getAttribute(attribute: string): Promise<string | null>;
Expand Down
2 changes: 1 addition & 1 deletion src/metamask/pages/onboarding/confirm-recovery-phrase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,6 @@ export class ConfirmRecoveryPhrase extends PageObject {
*/
async confirm(): Promise<Metametrics> {
await this.confirmButton.click();
return await this.modalButton.click<Metametrics>(Metametrics);
return await this.modalButton.clickRedirectsTo<Metametrics>(Metametrics);
}
}
4 changes: 2 additions & 2 deletions src/metamask/pages/onboarding/create-password.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export class CreatePassword extends PageObject {
* @memberof CreatePassword
*/
async importWallet(): Promise<Metametrics> {
return await this.submitButton.click<Metametrics>(Metametrics);
return await this.submitButton.clickRedirectsTo<Metametrics>(Metametrics);
}
/**
*
Expand All @@ -74,6 +74,6 @@ export class CreatePassword extends PageObject {
* @memberof CreatePassword
*/
async createWallet(): Promise<ReviewRecoveryPhrase> {
return await this.submitButton.click<ReviewRecoveryPhrase>(ReviewRecoveryPhrase);
return await this.submitButton.clickRedirectsTo<ReviewRecoveryPhrase>(ReviewRecoveryPhrase);
}
}
2 changes: 1 addition & 1 deletion src/metamask/pages/onboarding/import-with-recory-phrase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ export class ImportWithRecoveryPhrase extends PageObject {
* @memberof ImportWithRecoveryPhrase
*/
async confirmSecretRecoveryPhrase(): Promise<CreatePassword> {
return await this.confirmButton.click<CreatePassword>(CreatePassword);
return await this.confirmButton.clickRedirectsTo<CreatePassword>(CreatePassword);
}
}
2 changes: 1 addition & 1 deletion src/metamask/pages/onboarding/metametrics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class Metametrics extends PageObject {
* @memberof Metametrics
*/
async continue(): Promise<Completion> {
return await this.iAgreeButton.click<Completion>(Completion);
return await this.iAgreeButton.clickRedirectsTo<Completion>(Completion);
}
}
2 changes: 1 addition & 1 deletion src/metamask/pages/onboarding/review-recovery-phrase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ export class ReviewRecoveryPhrase extends PageObject {
* @memberof ReviewRecoveryPhrase
*/
async next(): Promise<ConfirmRecoveryPhrase> {
return await this.nextButton.click<ConfirmRecoveryPhrase>(ConfirmRecoveryPhrase);
return await this.nextButton.clickRedirectsTo<ConfirmRecoveryPhrase>(ConfirmRecoveryPhrase);
}
}
4 changes: 2 additions & 2 deletions src/metamask/pages/onboarding/welcome.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export class Welcome extends PageObject {
*/
async createANewWallet(): Promise<CreatePassword> {
await this.createANewWalletButton.click();
return await this.createWithSRPButton.click<CreatePassword>(CreatePassword);
return await this.createWithSRPButton.clickRedirectsTo<CreatePassword>(CreatePassword);
}
/**
*
Expand All @@ -47,6 +47,6 @@ export class Welcome extends PageObject {
*/
async iHaveAnExistingWallet(): Promise<ImportWithRecoveryPhrase> {
await this.importAnExistingWalletButton.click();
return await this.importWithSRPButton.click<ImportWithRecoveryPhrase>(ImportWithRecoveryPhrase);
return await this.importWithSRPButton.clickRedirectsTo<ImportWithRecoveryPhrase>(ImportWithRecoveryPhrase);
}
}
10 changes: 6 additions & 4 deletions src/playwright/html-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,13 @@ export class PlaywrightHTMLElement implements IHTMLElement {
return locator;
}

async click<TPage>(page?: new () => TPage): Promise<any> {
async click(): Promise<void> {
await this.webElement.click({ timeout: this.timeout });
if (page) {
return await DappDriver.getPage<TPage>(page);
}
}

async clickRedirectsTo<TPage>(page: new () => TPage): Promise<TPage> {
await this.webElement.click({ timeout: this.timeout });
return await DappDriver.getPage<TPage>(page);
}

async clickAndWait(duration: number): Promise<void> {
Expand Down
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/create-password.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ export class CreatePassword extends PageObject {
* @memberof CreatePassword
*/
async setPassword(): Promise<Ready> {
return await this.setPasswordButton.click<Ready>(Ready);
return await this.setPasswordButton.clickRedirectsTo<Ready>(Ready);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/import-or-connect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class ImportOrConnect extends PageObject {
* @memberof ImportOrConnect
*/
async importWithASecretRecoveryPhraseOrPrivateKey(): Promise<Import> {
return await this.importWithASRPOrPKButton.click<Import>(Import);
return await this.importWithASRPOrPKButton.clickRedirectsTo<Import>(Import);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/import-seed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ export class ImportSeed extends PageObject {
* @memberof ImportSeed
*/
async importWalletGroup(): Promise<ImportSelect> {
return await this.importWalletsButton.click<ImportSelect>(ImportSelect);
return await this.importWalletsButton.clickRedirectsTo<ImportSelect>(ImportSelect);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/import-select.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class ImportSelect extends PageObject {
* @memberof ImportSelect
*/
async importWalletGroup(): Promise<CreatePassword> {
return await this.addWalletsButton.click<CreatePassword>(CreatePassword);
return await this.addWalletsButton.clickRedirectsTo<CreatePassword>(CreatePassword);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/import.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class Import extends PageObject {
* @memberof Import
*/
async importFromASecretRecoveryPhrase(): Promise<ImportSeed> {
return await this.importFromASRPButton.click<ImportSeed>(ImportSeed);
return await this.importFromASRPButton.clickRedirectsTo<ImportSeed>(ImportSeed);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/reveal-seed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ export class RevealSeed extends PageObject {
* @memberof RevealSeed
*/
async iveSavedTheseWords(): Promise<SeedVerify> {
return await this.iveSavedTheseWordsButton.click<SeedVerify>(SeedVerify);
return await this.iveSavedTheseWordsButton.clickRedirectsTo<SeedVerify>(SeedVerify);
}
}
2 changes: 1 addition & 1 deletion src/rainbow/pages/onboarding/seed-backup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class SeedBackup extends PageObject {
* @memberof SeedBackup
*/
async revealYourRecoveryPhrase(): Promise<RevealSeed> {
return await this.revealYourRecoveryPhraseButton.click<RevealSeed>(RevealSeed);
return await this.revealYourRecoveryPhraseButton.clickRedirectsTo<RevealSeed>(RevealSeed);
}
}
4 changes: 2 additions & 2 deletions src/rainbow/pages/onboarding/welcome.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class Welcome extends PageObject {
* @memberof Welcome
*/
async createANewWallet(): Promise<SeedBackup> {
return await this.createANewWalletButton.click<SeedBackup>(SeedBackup);
return await this.createANewWalletButton.clickRedirectsTo<SeedBackup>(SeedBackup);
}
/**
*
Expand All @@ -39,6 +39,6 @@ export class Welcome extends PageObject {
* @memberof Welcome
*/
async importOrConnectAWallet(): Promise<ImportOrConnect> {
return await this.importOrConnectAWalletButton.click<ImportOrConnect>(ImportOrConnect);
return await this.importOrConnectAWalletButton.clickRedirectsTo<ImportOrConnect>(ImportOrConnect);
}
}
10 changes: 6 additions & 4 deletions src/webdriver/html-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class WebDriverHTMLElement implements IHTMLElement {
await this.webElement.click();
}

async click<TPage>(page?: new () => TPage): Promise<any> {
async click(): Promise<void> {
try {
await this.hardClick();
} catch (err) {
Expand All @@ -51,9 +51,11 @@ export class WebDriverHTMLElement implements IHTMLElement {
await this.hardClick();
}
}
if (page) {
return await DappDriver.getPage<TPage>(page);
}
}

async clickRedirectsTo<TPage>(page: new () => TPage): Promise<TPage> {
await this.click();
return await DappDriver.getPage<TPage>(page);
}

async clickAndWait(duration: number): Promise<void> {
Expand Down
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/backup-recovery-phrase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ export class BackUpRecoveryPhrase extends PageObject {
* @memberof BackUpRecoveryPhrase
*/
async verify(): Promise<Verify> {
return await this.verifyBackUpButton.click<Verify>(Verify);
return await this.verifyBackUpButton.clickRedirectsTo<Verify>(Verify);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/backup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ export class BackUp extends PageObject {
* @memberof BackUp
*/
async backUpNow(): Promise<BackUpRecoveryPhrase> {
return await this.backUpNowButton.click<BackUpRecoveryPhrase>(BackUpRecoveryPhrase);
return await this.backUpNowButton.clickRedirectsTo<BackUpRecoveryPhrase>(BackUpRecoveryPhrase);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/confirm-password.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ export class ConfirmPassword extends PageObject {
* @memberof ConfirmPassword
*/
async setPassword<TPage>(page: new () => TPage): Promise<TPage> {
return await this.setPasswordButton.click<TPage>(page);
return await this.setPasswordButton.clickRedirectsTo<TPage>(page);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class Create extends PageObject {
* @memberof Create
*/
async create(): Promise<BackUp> {
return await this.createButton.click<BackUp>(BackUp);
return await this.createButton.clickRedirectsTo<BackUp>(BackUp);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/import-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ export class ImportWallet extends PageObject {
* @memberof ImportWallet
*/
async importRecoveryPhrase(): Promise<RecoveryPhrase> {
return await this.importRecoveryPhraseButton.click<RecoveryPhrase>(RecoveryPhrase);
return await this.importRecoveryPhraseButton.clickRedirectsTo<RecoveryPhrase>(RecoveryPhrase);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/password.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ export class Password extends PageObject {
* @memberof Password
*/
async confirmPassword(): Promise<ConfirmPassword> {
return await this.confirmButton.click<ConfirmPassword>(ConfirmPassword);
return await this.confirmButton.clickRedirectsTo<ConfirmPassword>(ConfirmPassword);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/recovery-phrase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ export class RecoveryPhrase extends PageObject {
* @memberof RecoveryPhrase
*/
async confirmSecretRecoveryPhrase(): Promise<SelectWallets> {
return await this.importWalletButton.click<SelectWallets>(SelectWallets);
return await this.importWalletButton.clickRedirectsTo<SelectWallets>(SelectWallets);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/select-wallets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ export class SelectWallets extends PageObject {
* @memberof SelectWallets
*/
async continue(): Promise<Password> {
return await this.continueButton.click<Password>(Password);
return await this.continueButton.clickRedirectsTo<Password>(Password);
}
}
2 changes: 1 addition & 1 deletion src/zerion/pages/onboarding/verify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ export class Verify extends PageObject {
* @memberof Verify
*/
async verify(): Promise<Success> {
return await this.verifyButton.click<Success>(Success);
return await this.verifyButton.clickRedirectsTo<Success>(Success);
}
}
4 changes: 2 additions & 2 deletions src/zerion/pages/onboarding/welcome.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class Welcome extends PageObject {
* @memberof Welcome
*/
async createNewWallet(): Promise<Password> {
return await this.createNewWalletButton.click<Password>(Password);
return await this.createNewWalletButton.clickRedirectsTo<Password>(Password);
}
/**
*
Expand All @@ -39,6 +39,6 @@ export class Welcome extends PageObject {
* @memberof Welcome
*/
async importExistingWallet(): Promise<ImportWallet> {
return await this.importExistingWalletButton.click<ImportWallet>(ImportWallet);
return await this.importExistingWalletButton.clickRedirectsTo<ImportWallet>(ImportWallet);
}
}
Loading