Skip to content

Commit

Permalink
feat: add experimental settings
Browse files Browse the repository at this point in the history
Signed-off-by: Jakub Mucha <[email protected]>
  • Loading branch information
drptbl committed Oct 18, 2022
1 parent 2fee5e6 commit 8ad2335
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 42 deletions.
49 changes: 40 additions & 9 deletions commands/metamask.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ const {
const {
settingsPageElements,
advancedPageElements,
experimentalSettingsPageElements,
resetAccountModalElements,
addNetworkPageElements,
} = require('../pages/metamask/settings-page');
Expand Down Expand Up @@ -511,62 +512,80 @@ module.exports = {
await switchToCypressIfNotActive();
return true;
},
activateAdvancedGasControl: async (skipSetup = false) => {
activateAdvancedGasControl: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.advancedGasControlToggleOn,
advancedPageElements.advancedGasControlToggleOff,
skipSetup,
);
return;
},
activateEnhancedTokenDetection: async (skipSetup = false) => {
activateEnhancedTokenDetection: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.enhancedTokenDetectionToggleOn,
advancedPageElements.enhancedTokenDetectionToggleOff,
skipSetup,
);
return;
},
activateShowHexData: async (skipSetup = false) => {
activateShowHexData: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.showHexDataToggleOn,
advancedPageElements.showHexDataToggleOff,
skipSetup,
);
return;
},
activateTestnetConversion: async (skipSetup = false) => {
activateTestnetConversion: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.showTestnetConversionOn,
advancedPageElements.showTestnetConversionOff,
skipSetup,
);
return;
},
activateShowTestnetNetworks: async (skipSetup = false) => {
activateShowTestnetNetworks: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.showTestnetNetworksOn,
advancedPageElements.showTestnetNetworksOff,
skipSetup,
);
return;
},
activateCustomNonce: async (skipSetup = false) => {
activateCustomNonce: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.customNonceToggleOn,
advancedPageElements.customNonceToggleOff,
skipSetup,
);
return;
},
activateDismissBackupReminder: async (skipSetup = false) => {
activateDismissBackupReminder: async skipSetup => {
await activateAdvancedSetting(
advancedPageElements.dismissBackupReminderOn,
advancedPageElements.dismissBackupReminderOff,
skipSetup,
);
return;
},
activateEnhancedGasFeeUI: async skipSetup => {
await activateAdvancedSetting(
experimentalSettingsPageElements.enhancedGasFeeUIToggleOn,
experimentalSettingsPageElements.enhancedGasFeeUIToggleOff,
skipSetup,
true,
);
return;
},
activateShowCustomNetworkList: async skipSetup => {
await activateAdvancedSetting(
experimentalSettingsPageElements.showCustomNetworkListToggleOn,
experimentalSettingsPageElements.showCustomNetworkListToggleOff,
skipSetup,
true,
);
return;
},
resetAccount: async () => {
await switchToMetamaskIfNotActive();
await module.exports.goToAdvancedSettings();
Expand Down Expand Up @@ -907,10 +926,19 @@ async function switchToCypressIfNotActive() {
return switchBackToCypressWindow;
}

async function activateAdvancedSetting(toggleOn, toggleOff, skipSetup) {
async function activateAdvancedSetting(
toggleOn,
toggleOff,
skipSetup,
experimental,
) {
if (!skipSetup) {
await switchToMetamaskIfNotActive();
await module.exports.goToAdvancedSettings();
if (experimental) {
await module.exports.goToExperimentalSettings();
} else {
await module.exports.goToAdvancedSettings();
}
}
if ((await playwright.metamaskWindow().$(toggleOn)) === null) {
await playwright.waitAndClick(toggleOff);
Expand Down Expand Up @@ -940,6 +968,9 @@ async function setupSettings(enableAdvancedSettings) {
await module.exports.activateEnhancedTokenDetection(true);
await module.exports.activateTestnetConversion(true);
}
await module.exports.goToExperimentalSettings();
await module.exports.activateEnhancedGasFeeUI(true);
await module.exports.activateShowCustomNetworkList(true);
await playwright.waitAndClick(
settingsPageElements.closeButton,
await playwright.metamaskWindow(),
Expand Down
38 changes: 24 additions & 14 deletions plugins/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,32 +123,42 @@ module.exports = (on, config) => {
const networkChanged = await metamask.changeNetwork(network);
return networkChanged;
},
activateAdvancedGasControlInMetamask: async () => {
const activated = await metamask.activateAdvancedGasControl();
activateAdvancedGasControlInMetamask: async skipSetup => {
const activated = await metamask.activateAdvancedGasControl(skipSetup);
return activated;
},
activateEnhancedTokenDetectionInMetamask: async () => {
const activated = await metamask.activateEnhancedTokenDetection();
activateEnhancedTokenDetectionInMetamask: async skipSetup => {
const activated = await metamask.activateEnhancedTokenDetection(
skipSetup,
);
return activated;
},
activateShowHexDataInMetamask: async skipSetup => {
const activated = await metamask.activateShowHexData(skipSetup);
return activated;
},
activateTestnetConversionInMetamask: async skipSetup => {
const activated = await metamask.activateTestnetConversion(skipSetup);
return activated;
},
activateShowHexDataInMetamask: async () => {
const activated = await metamask.activateShowHexData();
activateShowTestnetNetworksInMetamask: async skipSetup => {
const activated = await metamask.activateShowTestnetNetworks(skipSetup);
return activated;
},
activateTestnetConversionInMetamask: async () => {
const activated = await metamask.activateTestnetConversion();
activateCustomNonceInMetamask: async skipSetup => {
const activated = await metamask.activateCustomNonce(skipSetup);
return activated;
},
activateShowTestnetNetworksInMetamask: async () => {
const activated = await metamask.activateShowTestnetNetworks();
activateDismissBackupReminderInMetamask: async skipSetup => {
const activated = await metamask.activateDismissBackupReminder(skipSetup);
return activated;
},
activateCustomNonceInMetamask: async () => {
const activated = await metamask.activateCustomNonce();
activateEnhancedGasFeeUIInMetamask: async skipSetup => {
const activated = await metamask.activateEnhancedGasFeeUI(skipSetup);
return activated;
},
activateDismissBackupReminderInMetamask: async () => {
const activated = await metamask.activateDismissBackupReminder();
activateShowCustomNetworkListInMetamask: async skipSetup => {
const activated = await metamask.activateShowCustomNetworkList(skipSetup);
return activated;
},
resetMetamaskAccount: async () => {
Expand Down
67 changes: 48 additions & 19 deletions support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,33 +63,62 @@ Cypress.Commands.add('getMetamaskWalletAddress', () => {
});
});

Cypress.Commands.add('activateAdvancedGasControlInMetamask', () => {
return cy.task('activateAdvancedGasControlInMetamask');
});
Cypress.Commands.add(
'activateAdvancedGasControlInMetamask',
(skipSetup = false) => {
return cy.task('activateAdvancedGasControlInMetamask', skipSetup);
},
);

Cypress.Commands.add('activateEnhancedTokenDetectionInMetamask', () => {
return cy.task('activateEnhancedTokenDetectionInMetamask');
});
Cypress.Commands.add(
'activateEnhancedTokenDetectionInMetamask',
(skipSetup = false) => {
return cy.task('activateEnhancedTokenDetectionInMetamask', skipSetup);
},
);

Cypress.Commands.add('activateShowHexDataInMetamask', () => {
return cy.task('activateShowHexDataInMetamask');
Cypress.Commands.add('activateShowHexDataInMetamask', (skipSetup = false) => {
return cy.task('activateShowHexDataInMetamask', skipSetup);
});

Cypress.Commands.add('activateTestnetConversionInMetamask', () => {
return cy.task('activateTestnetConversionInMetamask');
});
Cypress.Commands.add(
'activateTestnetConversionInMetamask',
(skipSetup = false) => {
return cy.task('activateTestnetConversionInMetamask', skipSetup);
},
);

Cypress.Commands.add('activateShowTestnetNetworksInMetamask', () => {
return cy.task('activateShowTestnetNetworksInMetamask');
});
Cypress.Commands.add(
'activateShowTestnetNetworksInMetamask',
(skipSetup = false) => {
return cy.task('activateShowTestnetNetworksInMetamask', skipSetup);
},
);

Cypress.Commands.add('activateCustomNonceInMetamask', () => {
return cy.task('activateCustomNonceInMetamask');
Cypress.Commands.add('activateCustomNonceInMetamask', (skipSetup = false) => {
return cy.task('activateCustomNonceInMetamask', skipSetup);
});

Cypress.Commands.add('activateDismissBackupReminderInMetamask', () => {
return cy.task('activateDismissBackupReminderInMetamask');
});
Cypress.Commands.add(
'activateDismissBackupReminderInMetamask',
(skipSetup = false) => {
return cy.task('activateDismissBackupReminderInMetamask', skipSetup);
},
);

Cypress.Commands.add(
'activateEnhancedGasFeeUIInMetamask',
(skipSetup = false) => {
return cy.task('activateEnhancedGasFeeUIInMetamask', skipSetup);
},
);

Cypress.Commands.add(
'activateShowCustomNetworkListInMetamask',
(skipSetup = false) => {
return cy.task('activateShowCustomNetworkListInMetamask', skipSetup);
},
);

Cypress.Commands.add('resetMetamaskAccount', () => {
return cy.task('resetMetamaskAccount');
Expand Down
14 changes: 14 additions & 0 deletions support/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,20 @@ declare namespace Cypress {
activateDismissBackupReminderInMetamask(
skipSetup?: boolean,
): Chainable<Subject>;
/**
* Activate enhanced gas fee UI in metamask settings
* @example
* cy.activateEnhancedGasFeeUIInMetamask()
*/
activateEnhancedGasFeeUIInMetamask(skipSetup?: boolean): Chainable<Subject>;
/**
* Activate showing of custom network list in metamask settings
* @example
* cy.activateShowCustomNetworkListInMetamask()
*/
activateShowCustomNetworkListInMetamask(
skipSetup?: boolean,
): Chainable<Subject>;
/**
* Reset metamask account state in settings
* @example
Expand Down

0 comments on commit 8ad2335

Please sign in to comment.