diff --git a/.github/actions/setup-vegawallet-docker/action.yml b/.github/actions/setup-vegawallet-docker/action.yml index 88274eff3..810688166 100644 --- a/.github/actions/setup-vegawallet-docker/action.yml +++ b/.github/actions/setup-vegawallet-docker/action.yml @@ -20,6 +20,10 @@ runs: shell: bash run: vega wallet import -w capsule_wallet --recovery-phrase-file ./frontend-monorepo/vegacapsule/recovery -p ./passphrase --home ~/.vegacapsule/testnet/wallet + - name: Generate second public key + shell: bash + run: vega wallet key generate -w capsule_wallet -p ./passphrase --home ~/.vegacapsule/testnet/wallet + - name: Import network shell: bash run: vega wallet network import --force --from-file ./frontend-monorepo/vegacapsule/wallet-config.toml --home ~/.vegacapsule/testnet/wallet diff --git a/apps/token-e2e/src/integration/flow/governance-flow.cy.js b/apps/token-e2e/src/integration/flow/governance-flow.cy.js index 9f1c4261a..82c700536 100644 --- a/apps/token-e2e/src/integration/flow/governance-flow.cy.js +++ b/apps/token-e2e/src/integration/flow/governance-flow.cy.js @@ -633,6 +633,7 @@ context( .and('be.visible'); }); + // 0005-ETXN-004 it('Unable to create a proposal - when no tokens are associated', function () { cy.vega_wallet_teardown(); cy.get(vegaWalletAssociatedBalance, txTimeout).contains( diff --git a/apps/token-e2e/src/integration/flow/staking-flow.cy.js b/apps/token-e2e/src/integration/flow/staking-flow.cy.js index 05c5c2c8d..6ee9d3588 100644 --- a/apps/token-e2e/src/integration/flow/staking-flow.cy.js +++ b/apps/token-e2e/src/integration/flow/staking-flow.cy.js @@ -96,6 +96,7 @@ context( cy.navigate_to('validators'); + // 2002-SINC-007 cy.validate_validator_list_total_stake_and_share('0', '2.00', '100%'); }); diff --git a/apps/token-e2e/src/integration/flow/token-association-flow.cy.js b/apps/token-e2e/src/integration/flow/token-association-flow.cy.js index 4cdc1f7a1..506d90aeb 100644 --- a/apps/token-e2e/src/integration/flow/token-association-flow.cy.js +++ b/apps/token-e2e/src/integration/flow/token-association-flow.cy.js @@ -27,6 +27,7 @@ context( function () { before('visit staking tab and connect vega wallet', function () { cy.visit('/'); + // 0005-ETXN-001 cy.vega_wallet_set_specified_approval_amount('1000'); }); @@ -54,8 +55,12 @@ context( //1004-ASSO-014 //1004-ASSO-015 //1004-ASSO-030 + //0005-ETXN-006 + //0005-ETXN-003 + //0005-ETXN-005 cy.staking_page_associate_tokens('2'); + // 0005-ETXN-002 cy.get(ethWalletAssociatedBalances, txTimeout) .contains(vegaWalletPublicKeyShort) .parent(txTimeout) @@ -77,6 +82,7 @@ context( // 1004-ASSO-027 // 1004-ASSO-028 // 1004-ASSO-029 + // 1004-ASSO-031 cy.staking_page_associate_tokens('2'); diff --git a/apps/token-e2e/src/integration/view/wallet-eth.cy.js b/apps/token-e2e/src/integration/view/wallet-eth.cy.js index ea7edd0d3..aeb89cbe6 100644 --- a/apps/token-e2e/src/integration/view/wallet-eth.cy.js +++ b/apps/token-e2e/src/integration/view/wallet-eth.cy.js @@ -83,6 +83,7 @@ context( }); }); + // 0004-EWAL-001 0004-EWAL-002 describe('when Ethereum wallet connected', function () { before('connect to Ethereum wallet', function () { cy.ethereum_wallet_connect(); @@ -96,6 +97,7 @@ context( }); }); + // 0004-EWAL-005 it('should have account number visible', function () { cy.get(walletContainer).within(() => { cy.get(accountNo) @@ -118,6 +120,7 @@ context( }); }); + // 0004-EWAL-007 it('should have Disconnect button visible', function () { cy.get(walletContainer).within(() => { cy.get(disconnect) diff --git a/apps/token-e2e/src/integration/view/wallet-vega.cy.js b/apps/token-e2e/src/integration/view/wallet-vega.cy.js index 59ac74cc0..29b33ae45 100644 --- a/apps/token-e2e/src/integration/view/wallet-vega.cy.js +++ b/apps/token-e2e/src/integration/view/wallet-vega.cy.js @@ -108,14 +108,13 @@ context( }); describe('when rest connector form opened', function () { - // Note using desktop wallet app link temporarily whilst its still on v1, - // tests will need to be updated to handle v2 before('click hosted wallet app button', function () { cy.get(connectorsList).within(() => { cy.getByTestId('connector-hosted').click(); }); }); + // 0002-WCON-002 it('should have wallet field visible', function () { cy.get(restConnectorForm).within(() => { cy.get(restWallet).should('be.visible'); @@ -154,6 +153,7 @@ context( cy.vega_wallet_teardown(); }); + // 0002-WCON-007 it('should have VEGA WALLET header visible', function () { cy.get(walletContainer).within(() => { cy.get(walletHeader) @@ -162,6 +162,7 @@ context( }); }); + // 0002-WCON-008 it( 'should have truncated account number visible', { tags: '@smoke' }, @@ -225,172 +226,183 @@ context( cy.get(manageLink).should('be.visible').and('have.text', 'Manage'); }); }); - }); - describe('when Manage dialog opened', function () { - before('click Manage link', function () { - cy.get(walletContainer).within(() => { - cy.get(manageLink).click(); + describe('when Manage dialog opened', function () { + before('click Manage link', function () { + cy.get(walletContainer).within(() => { + cy.get(manageLink).click(); + }); }); - }); - it('should have SELECT A VEGA KEY dialog title visible', function () { - cy.get(dialog).within(() => { - cy.get(dialogHeader) - .should('be.visible') - .and('have.text', 'SELECT A VEGA KEY'); + // 0002-WCON-025, 0002-WCON-026 + it('should have SELECT A VEGA KEY dialog title visible', function () { + cy.get(dialog).within(() => { + cy.get(dialogHeader) + .should('be.visible') + .and('have.text', 'SELECT A VEGA KEY'); + }); }); - }); - it.skip('should have vega wallet public key and name visible', function () { - cy.get(dialog).within(() => { - cy.get(dialogVegaKey) - .should('be.visible') - .and( - 'have.text', - `${Cypress.env('vegaWalletName')} key 1 ${truncateByChars( - Cypress.env('vegaWalletPublicKey') - )}` + // 0002-WCON-027 + it('should have vega wallet public keys visible', function () { + const truncatedPubKey1 = truncateByChars( + Cypress.env('vegaWalletPublicKey') + ); + const truncatedPubKey2 = truncateByChars( + Cypress.env('vegaWalletPublicKey2') + ); + + cy.get(dialog).within(() => { + cy.getByTestId('selected-key').should( + 'contain.text', + truncatedPubKey1 ); + cy.get(dialogVegaKey) + .should('be.visible') + .and('contain.text', truncatedPubKey1) + .and('contain.text', truncatedPubKey2); + }); + }); + + // 0002-WCON-029 + it('should have copy public key button visible', function () { + cy.get(dialog).within(() => { + cy.get(copyPublicKeyBtn) + .should('be.visible') + .and('contain.text', 'Copy'); + }); + }); + + it('should have close button visible', function () { + cy.get(dialog).within(() => { + cy.get(dialogCloseBtn).should('be.visible'); + }); + }); + + it('should have vega Disconnect all keys button visible', function () { + cy.get(dialog).within(() => { + cy.get(dialogDisconnectBtn) + .should('be.visible') + .and('have.text', 'Disconnect all keys'); + }); + }); + + // 0002-WCON-022 + it('should be able to disconnect all keys', function () { + cy.get(dialog).within(() => { + cy.get(dialogDisconnectBtn).click(); + }); + cy.get(walletContainer).within(() => { + cy.get(connectButton).should('be.visible'); // 0002-WCON-023 + }); }); }); - it('should have copy public key button visible', function () { - cy.get(dialog).within(() => { - cy.get(copyPublicKeyBtn) - .should('be.visible') - .and('contain.text', 'Copy'); + // 2002-SINC-016 + describe.skip('when assets exist in vegawallet', function () { + before('send-faucet assets to connected vega wallet', function () { + cy.vega_wallet_faucet_assets_without_check( + faucetAssets.USDCFake, + '1000000', + vegaWalletPublicKey + ); + cy.vega_wallet_faucet_assets_without_check( + faucetAssets.BTCFake, + '600000', + vegaWalletPublicKey + ); + cy.vega_wallet_faucet_assets_without_check( + faucetAssets.EUROFake, + '800000', + vegaWalletPublicKey + ); + cy.vega_wallet_faucet_assets_without_check( + faucetAssets.DAIFake, + '200000', + vegaWalletPublicKey + ); + cy.connectVegaWallet(); + cy.ethereum_wallet_connect(); }); - }); - it('should have close button visible', function () { - cy.get(dialog).within(() => { - cy.get(dialogCloseBtn).should('be.visible'); + it('should see fUSDC assets - within vega wallet', function () { + let currency = { id: faucetAssets.USDCFake, name: 'USDC (fake)' }; + cy.get(walletContainer).within(() => { + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id, txTimeout) + .should('be.visible'); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .siblings() + .within(() => cy.contains_exactly('10.00').should('be.visible')); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .contains(currency.name); + }); }); - }); - it('should have vega Disconnect all keys button visible', function () { - cy.get(dialog).within(() => { - cy.get(dialogDisconnectBtn) - .should('be.visible') - .and('have.text', 'Disconnect all keys'); + it('should see fBTC assets - within vega wallet', function () { + let currency = { id: faucetAssets.BTCFake, name: 'BTC (fake)' }; + cy.get(walletContainer).within(() => { + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id, txTimeout) + .should('be.visible'); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .siblings() + .within(() => cy.contains_exactly('6.00').should('be.visible')); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .contains(currency.name); + }); }); - }); - it('should be able to disconnect all keys', function () { - cy.get(dialog).within(() => { - cy.get(dialogDisconnectBtn).click(); + it('should see fEURO assets - within vega wallet', function () { + let currency = { id: faucetAssets.EUROFake, name: 'EURO (fake)' }; + cy.get(walletContainer).within(() => { + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id, txTimeout) + .should('be.visible'); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .siblings() + .within(() => cy.contains_exactly('8.00').should('be.visible')); + + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .contains(currency.name); + }); }); - cy.get(walletContainer).within(() => { - cy.get(connectButton).should('be.visible'); - }); - }); - }); - // 2002-SINC-016 - describe.skip('when assets exist in vegawallet', function () { - before('send-faucet assets to connected vega wallet', function () { - cy.vega_wallet_faucet_assets_without_check( - faucetAssets.USDCFake, - '1000000', - vegaWalletPublicKey - ); - cy.vega_wallet_faucet_assets_without_check( - faucetAssets.BTCFake, - '600000', - vegaWalletPublicKey - ); - cy.vega_wallet_faucet_assets_without_check( - faucetAssets.EUROFake, - '800000', - vegaWalletPublicKey - ); - cy.vega_wallet_faucet_assets_without_check( - faucetAssets.DAIFake, - '200000', - vegaWalletPublicKey - ); - cy.connectVegaWallet(); - cy.ethereum_wallet_connect(); - }); + it('should see fDAI assets - within vega wallet', function () { + let currency = { id: faucetAssets.DAIFake, name: 'DAI (fake)' }; + cy.get(walletContainer).within(() => { + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id, txTimeout) + .should('be.visible'); - it('should see fUSDC assets - within vega wallet', function () { - let currency = { id: faucetAssets.USDCFake, name: 'USDC (fake)' }; - cy.get(walletContainer).within(() => { - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id, txTimeout) - .should('be.visible'); + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .siblings() + .within(() => cy.contains_exactly('2.00').should('be.visible')); - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .siblings() - .within(() => cy.contains_exactly('10.00').should('be.visible')); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .contains(currency.name); - }); - }); - - it('should see fBTC assets - within vega wallet', function () { - let currency = { id: faucetAssets.BTCFake, name: 'BTC (fake)' }; - cy.get(walletContainer).within(() => { - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id, txTimeout) - .should('be.visible'); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .siblings() - .within(() => cy.contains_exactly('6.00').should('be.visible')); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .contains(currency.name); - }); - }); - - it('should see fEURO assets - within vega wallet', function () { - let currency = { id: faucetAssets.EUROFake, name: 'EURO (fake)' }; - cy.get(walletContainer).within(() => { - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id, txTimeout) - .should('be.visible'); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .siblings() - .within(() => cy.contains_exactly('8.00').should('be.visible')); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .contains(currency.name); - }); - }); - - it('should see fDAI assets - within vega wallet', function () { - let currency = { id: faucetAssets.DAIFake, name: 'DAI (fake)' }; - cy.get(walletContainer).within(() => { - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id, txTimeout) - .should('be.visible'); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .siblings() - .within(() => cy.contains_exactly('2.00').should('be.visible')); - - cy.get(vegaWalletCurrencyTitle) - .contains(currency.id) - .parent() - .contains(currency.name); + cy.get(vegaWalletCurrencyTitle) + .contains(currency.id) + .parent() + .contains(currency.name); + }); }); }); });