Skip to content

Commit

Permalink
Allow hidding accounts (#631)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tbaut authored Jan 30, 2025
1 parent 3ba1dca commit 5419d49
Show file tree
Hide file tree
Showing 21 changed files with 889 additions and 78 deletions.
4 changes: 4 additions & 0 deletions packages/ui/cypress/fixtures/landingData.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
export const baseUrl = 'http://localhost:3333'
export const defaultNetwork = 'paseo'
const WATCH_ACCOUNT_ANCHOR = 'watched-accounts'
const HIDDEN_ACCOUNTS_ANCHOR = 'hidden-accounts'

export const landingPageNetwork = (networkName: string) => `${baseUrl}?network=${networkName}`
export const landingPageUrl = landingPageNetwork(defaultNetwork)
export const getSettingsPageUrl = (network = defaultNetwork) =>
`${baseUrl}/settings?network=${network}`
export const getSettingsPageWatchAccountUrl = (network = defaultNetwork) =>
`${getSettingsPageUrl(network)}#${WATCH_ACCOUNT_ANCHOR}`
export const getSettingsPageHiddenAccountUrl = (network = defaultNetwork) =>
`${getSettingsPageUrl(network)}#${HIDDEN_ACCOUNTS_ANCHOR}`
export const landingPageNetworkAddress = ({
network,
address
Expand Down
24 changes: 24 additions & 0 deletions packages/ui/cypress/fixtures/westendAccounts.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { InjectedAccountWitMnemonic } from './testAccounts'

export const westendMemberAccount = {
// this is the member of a multisig and a multisig with Pure
// use in hidden-accounts
hidden: {
account: {
address: '5CPG8FMciJBBE47YwSQHte23tTz91egixJw514g6BCt5nHPz',
publicKey: '0x0e270b0984354e0f6033dee93293dbeaea366220ca59e584ba7614d8bf393040',
name: 'hidden',
type: 'sr25519',
mnemonic: ''
} as InjectedAccountWitMnemonic,
expectedSingleMultisig: {
westEndAddress: '5CvCLBVHufgqTDUVJL3xY6Pd7TVaYtaTGzvYRfGeaAPJLdDS',
paseoAddress: '1rVUWkMmSxJtkV1Fy6xgFDmy5VEFC8bMVf2axG18FQpX7hE',
pubKey: '0x25bee0c82d1a5ea1ef4f75b4cb517286a78ed51ab934b1636ac4d8b018811b1b'
},
expectedPure: {
address: '5DqS9vsnXotmczKu87xb5KMUARCVF5JUUVveZz9R8UvXKExK',
pubKey: '0x4e596aec4922957174ba3f86860cca88fa4664006b511f11260cc34ca303d0dd'
}
}
}
5 changes: 5 additions & 0 deletions packages/ui/cypress/support/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import '@chainsafe/cypress-polkadot-wallet'

const LOCALSTORAGE_ACCOUNT_NAMES_KEY = 'multix.accountNames'
const LOCALSTORAGE_WATCHED_ACCOUNTS_KEY = 'multix.watchedAccount'
const LOCALSTORAGE_HIDDEN_ACCOUNTS_KEY = 'multix.hiddenAccounts'
const LOCALSTORAGE_EXTENSION_CONNECTION_KEY = '@reactive-dot/wallet/injected/polkadot-js/connected'
const LOCALSTORAGE_ALLOWED_CONNECTION_KEY = 'multix.canConnectToExtension'
export const MULTIX_DAPP_NAME = 'Multix'
Expand All @@ -28,6 +29,7 @@ Cypress.Commands.add('connectAccounts', (accountAddresses: string[]) => {
interface IsetupAndVisit {
url: string
watchedAccounts?: string[]
hiddenAccounts?: Array<{ network: string; pubKey: string }>
accountNames?: Record<string, string>
extensionConnectionAllowed?: boolean
injectExtensionWithAccounts?: InjectedAccountWitMnemonic[]
Expand All @@ -38,6 +40,7 @@ Cypress.Commands.add(
({
url,
watchedAccounts,
hiddenAccounts,
accountNames,
extensionConnectionAllowed,
injectExtensionWithAccounts
Expand All @@ -49,6 +52,8 @@ Cypress.Commands.add(
LOCALSTORAGE_WATCHED_ACCOUNTS_KEY,
JSON.stringify(watchedAccounts)
)
!!hiddenAccounts?.length &&
win.localStorage.setItem(LOCALSTORAGE_HIDDEN_ACCOUNTS_KEY, JSON.stringify(hiddenAccounts))
!!accountNames &&
win.localStorage.setItem(LOCALSTORAGE_ACCOUNT_NAMES_KEY, JSON.stringify(accountNames))

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const hiddenAccountInfoModal = {
body: () => cy.get('[data-cy=modal-hidden-account-info]'),
gotItButton: () => cy.get('[data-cy=button-hidden-account-info-gotit]'),
checkBoxMessage: () => cy.get('[data-cy=checkbox-dont-show-again]')
}
1 change: 1 addition & 0 deletions packages/ui/cypress/support/page-objects/multisigPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export const multisigPage = {
subscanMenuOption: () => cy.get('[data-cy=menu-option-subscan]'),
reviewButton: () => cy.get('[data-cy=button-review-tx]'),
setIdentityMenuOption: () => cy.get('[data-cy=menu-option-set-identity]'),
hideAccountMenuOption: () => cy.get('[data-cy=menu-option-hide-this-account]'),
assetHubBalance: (id: string) => cy.get(`[data-cy=asset-balance-${id}]`),
nativeBalance: () => cy.get('[data-cy=asset-balance-native]'),

Expand Down
13 changes: 10 additions & 3 deletions packages/ui/cypress/support/page-objects/settingsPage.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
export const settingsPage = {
// watch account section
watchedAccountsAccordion: () => cy.get('[data-cy=accordion-title-watched-accounts]'),
watchedAccountsInputsWrapper: () => cy.get('[data-cy=wrapper-watched-accounts-inputs]'),
hiddenAccountsAccordion: () => cy.get('[data-cy=accordion-title-hidden-accounts]'),
hiddenAccountsInputsWrapper: () => cy.get('[data-cy=wrapper-hidden-accounts-inputs]'),
accountAddressInput: () => cy.get('[data-cy=input-account-address]'),
accountNameInput: () => cy.get('[data-cy=input-account-name]'),
addButton: () => cy.get('[data-cy=button-add-account]'),
accountContainer: () => cy.get('[data-cy=container-account-details]', { timeout: 20000 }),
accountDeleteButton: () => cy.get('[data-cy=button-delete-watched-account]'),
watchedAccountsContainer: () => cy.get('[data-cy=container-account-details]', { timeout: 20000 }),
hiddenAccountsContainer: () =>
cy.get('[data-cy=container-hidden-account-details]', { timeout: 20000 }),
watchedAccountDeleteButton: () => cy.get('[data-cy=button-delete-watched-account]'),
hiddenAccountDeleteButton: () => cy.get('[data-cy=button-delete-hidden-account]'),
errorLabel: () => cy.get('[data-cy=label-add-account-error]'),
// wallet connect section
wallectConnectAccordion: () => cy.get('[data-cy=accordion-title-wallet-connect]'),
walletConnectAlert: () => cy.get('[data-cy=alert-wallet-connect-warning]'),
connectDappButton: () => cy.get('[data-cy=button-connect-dapp]'),
walletConnectKeyInput: () => cy.get('[data-cy=input-wallet-connect-key]'),
tooltipInfoIcon: () => cy.get('[data-cy=tooltip-wallet-connect-info]')
tooltipInfoIcon: () => cy.get('[data-cy=tooltip-wallet-connect-info]'),
hiddenAccountWatchedWarning: () => cy.get('[data-cy=alert-removed-watched-account]')
}
Loading

0 comments on commit 5419d49

Please sign in to comment.