From cae93e35c2217e36dbc42242a890d743be4d3d2f Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Thu, 6 Jul 2023 16:53:45 -0700 Subject: [PATCH] test: fix out of sync ethereum address with form --- apps/trading-e2e/src/integration/deposit.cy.ts | 4 +--- .../trading-e2e/src/integration/trading-trades.cy.ts | 8 +++----- libs/deposits/src/lib/deposit-form.tsx | 12 +++++++++--- libs/withdraws/src/lib/withdraw-form.tsx | 8 +++++++- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/apps/trading-e2e/src/integration/deposit.cy.ts b/apps/trading-e2e/src/integration/deposit.cy.ts index 6092fa37d..71e64997d 100644 --- a/apps/trading-e2e/src/integration/deposit.cy.ts +++ b/apps/trading-e2e/src/integration/deposit.cy.ts @@ -20,8 +20,8 @@ describe('deposit form validation', { tags: '@smoke' }, () => { cy.get('main[data-testid="/portfolio"]').should('exist'); cy.getByTestId('Deposits').click(); cy.getByTestId('deposit-button').click(); - cy.wait('@Assets'); connectEthereumWallet('MetaMask'); + cy.wait('@Assets'); } before(() => { @@ -102,8 +102,6 @@ describe('deposit actions', { tags: '@smoke' }, () => { cy.mockSubscription(); cy.setVegaWallet(); cy.visit('/#/markets/market-1'); - cy.wait('@MarketsCandles'); - cy.getByTestId('dialog-close').click(); }); it('Deposit to trade is visble', () => { diff --git a/apps/trading-e2e/src/integration/trading-trades.cy.ts b/apps/trading-e2e/src/integration/trading-trades.cy.ts index 8be9babdc..6f7d7c230 100644 --- a/apps/trading-e2e/src/integration/trading-trades.cy.ts +++ b/apps/trading-e2e/src/integration/trading-trades.cy.ts @@ -10,6 +10,7 @@ describe('trades', { tags: '@smoke' }, () => { cy.mockTradingPage(); cy.mockSubscription(); }); + before(() => { cy.mockTradingPage(); cy.mockSubscription(); @@ -60,11 +61,8 @@ describe('trades', { tags: '@smoke' }, () => { /(\d{1,2})\/(\d{1,2})\/(\d{4}), (\d{1,2}):(\d{1,2}):(\d{1,2})/gm; cy.getByTestId(tradesTable) .get(`.ag-center-cols-container ${colIdCreatedAt}`) - .each(($tradeDateTime, index) => { - if (index != 0) { - //ignore header - cy.wrap($tradeDateTime).invoke('text').should('match', dateTimeRegex); - } + .each(($tradeDateTime) => { + cy.wrap($tradeDateTime).invoke('text').should('match', dateTimeRegex); }); }); diff --git a/libs/deposits/src/lib/deposit-form.tsx b/libs/deposits/src/lib/deposit-form.tsx index 5ad746ab5..8d352426c 100644 --- a/libs/deposits/src/lib/deposit-form.tsx +++ b/libs/deposits/src/lib/deposit-form.tsx @@ -27,7 +27,7 @@ import { useVegaWallet } from '@vegaprotocol/wallet'; import { useWeb3React } from '@web3-react/core'; import BigNumber from 'bignumber.js'; import type { ButtonHTMLAttributes, ChangeEvent, ReactNode } from 'react'; -import { useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { useWatch, Controller, useForm } from 'react-hook-form'; import { DepositLimits } from './deposit-limits'; import { useAssetDetailsDialogStore } from '@vegaprotocol/assets'; @@ -90,17 +90,18 @@ export const DepositForm = ({ const [approveNotificationIntent, setApproveNotificationIntent] = useState(Intent.Warning); const [persistedDeposit] = usePersistentDeposit(selectedAsset?.id); - + console.log('deposit-form', account); const { register, handleSubmit, setValue, clearErrors, + trigger, control, formState: { errors }, } = useForm({ defaultValues: { - from: account, + from: account || '', to: pubKey ? pubKey : undefined, asset: selectedAsset?.id, amount: persistedDeposit?.amount, @@ -137,6 +138,11 @@ export const DepositForm = ({ return _pubKeys ? _pubKeys.map((pk) => pk.publicKey) : []; }, [_pubKeys]); + useEffect(() => { + setValue('from', account || ''); + trigger('from'); + }, [account]); + const approved = balances && balances.allowance.isGreaterThan(0) ? true : false; diff --git a/libs/withdraws/src/lib/withdraw-form.tsx b/libs/withdraws/src/lib/withdraw-form.tsx index 2e132ac81..681f43c73 100644 --- a/libs/withdraws/src/lib/withdraw-form.tsx +++ b/libs/withdraws/src/lib/withdraw-form.tsx @@ -22,7 +22,7 @@ import { } from '@vegaprotocol/ui-toolkit'; import { useWeb3React } from '@web3-react/core'; import BigNumber from 'bignumber.js'; -import type { ButtonHTMLAttributes } from 'react'; +import { useEffect, type ButtonHTMLAttributes } from 'react'; import type { ControllerRenderProps } from 'react-hook-form'; import { formatDistanceToNow } from 'date-fns'; import { useForm, Controller, useWatch } from 'react-hook-form'; @@ -111,6 +111,7 @@ export const WithdrawForm = ({ register, handleSubmit, setValue, + trigger, clearErrors, control, formState: { errors }, @@ -138,6 +139,11 @@ export const WithdrawForm = ({ }); }; + useEffect(() => { + setValue('to', address || ''); + trigger('to'); + }, [address]); + const renderAssetsSelector = ({ field, }: {