From b67c6e90565056f66c525ceb6de62afe3b1f6507 Mon Sep 17 00:00:00 2001 From: Andrew Snaith Date: Tue, 12 Dec 2023 09:02:15 -0800 Subject: [PATCH] Basic tests for wallet connect expected state (#464) Co-authored-by: Thibaut Sardan <33178835+Tbaut@users.noreply.github.com> --- .../ui/cypress/tests/wallet-connect.cy.ts | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 packages/ui/cypress/tests/wallet-connect.cy.ts diff --git a/packages/ui/cypress/tests/wallet-connect.cy.ts b/packages/ui/cypress/tests/wallet-connect.cy.ts new file mode 100644 index 00000000..816ba29e --- /dev/null +++ b/packages/ui/cypress/tests/wallet-connect.cy.ts @@ -0,0 +1,52 @@ +import { settingsPageUrl } from '../fixtures/landingData' +import { settingsPage } from '../support/page-objects/settingsPage' +import { topMenuItems } from '../support/page-objects/topMenuItems' +import { testAccounts } from '../fixtures/testAccounts' + +describe('Wallet Connect', () => { + it('can see expected wc state when a wallet is not connected', () => { + cy.visit(settingsPageUrl) + topMenuItems.connectButton().should('be.visible') + settingsPage.wallectConnectAccordion().should('be.visible').click() + // ensure elements are disabled when not connected + settingsPage + .walletConnectAlert() + .should('be.visible') + .should( + 'contain.text', + 'Please first select a Pure or Multisig that you are part of, to be able to use it with WalletConnect' + ) + settingsPage.walletConnectKeyInput().should('be.disabled') + settingsPage.connectDappButton().should('be.disabled') + }) + + it('can see expected wc state when wallet is connected', () => { + cy.setupAndVisit({ + url: settingsPageUrl, + extensionConnectionAllowed: true, + injectExtensionWithAccounts: [testAccounts['Multisig Member Account 1']] + }) + settingsPage.wallectConnectAccordion().should('be.visible').click() + // ensure elements are enabled when connected + settingsPage.walletConnectAlert().should('not.exist') + settingsPage.walletConnectKeyInput().should('be.enabled') + // ensure dapp button is disabled until input is typed in + settingsPage.connectDappButton().should('be.disabled') + // type in input field + settingsPage.walletConnectKeyInput().type('test') + settingsPage.connectDappButton().should('be.enabled') + }) + + it('can see the wallet connect accordion is collapsed by default', () => { + cy.visit(settingsPageUrl) + topMenuItems.connectButton().should('be.visible') + topMenuItems.settingsButton().click() + // ensure wallet connect accordion is closed by default + settingsPage + .wallectConnectAccordion() + .should('be.visible') + .should('have.attr', 'aria-expanded', 'false') + .click() + .should('have.attr', 'aria-expanded', 'true') + }) +})