From de9da7487a29ef57908cde69d37fdd241202ef13 Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Fri, 8 Sep 2023 16:03:37 -0700 Subject: [PATCH] test: simplify withdraw test --- apps/trading/client-pages/deposit/deposit.tsx | 4 +- .../client-pages/transfer/transfer.spec.tsx | 9 +-- .../client-pages/withdraw/withdraw.spec.tsx | 64 ++++--------------- 3 files changed, 18 insertions(+), 59 deletions(-) diff --git a/apps/trading/client-pages/deposit/deposit.tsx b/apps/trading/client-pages/deposit/deposit.tsx index 390d7f6ff..97c0b0a55 100644 --- a/apps/trading/client-pages/deposit/deposit.tsx +++ b/apps/trading/client-pages/deposit/deposit.tsx @@ -4,9 +4,9 @@ import { t } from '@vegaprotocol/i18n'; export const Deposit = () => { return ( -
+
-

+

{t('Deposit')}

diff --git a/apps/trading/client-pages/transfer/transfer.spec.tsx b/apps/trading/client-pages/transfer/transfer.spec.tsx index f4fe892a5..937deb097 100644 --- a/apps/trading/client-pages/transfer/transfer.spec.tsx +++ b/apps/trading/client-pages/transfer/transfer.spec.tsx @@ -1,5 +1,4 @@ import { render, screen } from '@testing-library/react'; -import { MockedProvider } from '@apollo/react-testing'; import { MemoryRouter } from 'react-router-dom'; import { Transfer } from './transfer'; @@ -15,11 +14,9 @@ jest.mock('../../components/welcome-dialog/get-started.ts', () => ({ const renderJsx = (route = '/transfer') => { render( - - - - - + + + ); }; diff --git a/apps/trading/client-pages/withdraw/withdraw.spec.tsx b/apps/trading/client-pages/withdraw/withdraw.spec.tsx index f19e434d1..ec9abd060 100644 --- a/apps/trading/client-pages/withdraw/withdraw.spec.tsx +++ b/apps/trading/client-pages/withdraw/withdraw.spec.tsx @@ -1,46 +1,26 @@ -import { act, render, screen, waitFor } from '@testing-library/react'; -import { MockedProvider } from '@apollo/react-testing'; -import type { VegaWalletContextShape } from '@vegaprotocol/wallet'; -import { VegaWalletContext } from '@vegaprotocol/wallet'; -import { useWithdrawStore } from '@vegaprotocol/withdraws'; +import { render, screen } from '@testing-library/react'; import { MemoryRouter } from 'react-router-dom'; -import type { Asset } from '@vegaprotocol/assets'; import { Withdraw } from './withdraw'; -const mockWalletContext = {} as unknown as VegaWalletContextShape; - jest.mock('../../components/withdraw-container', () => ({ - WithdrawContainer: jest.fn(({ assetId }: { assetId?: string }) => ( + WithdrawContainer: ({ assetId }: { assetId?: string }) => (
{assetId}
- )), + ), })); -let mockSearchParamsResult: string | undefined = undefined; -const mockSearchParams = { - get: jest.fn(() => mockSearchParamsResult), -}; -const mockSetSearchParams = jest.fn(); -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useSearchParams: jest.fn(() => [mockSearchParams, mockSetSearchParams]), +jest.mock('../../components/welcome-dialog/get-started.ts', () => ({ + GetStarted: () =>
GetStarted
, })); -const renderJsx = () => { +const renderJsx = (route = '/withdraw') => { render( - - - - - - - + + + ); }; describe('Withdraw page', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); it('should be properly rendered', async () => { renderJsx(); expect( @@ -50,30 +30,12 @@ describe('Withdraw page', () => { }); it('assetId should be passed down', async () => { - mockSearchParamsResult = 'assetId'; - renderJsx(); + const assetId = 'foo'; + const route = '/withdraw?assetId=' + assetId; + renderJsx(route); expect( screen.getByRole('heading', { level: 1, name: 'Withdraw' }) ).toBeInTheDocument(); - expect(screen.getByTestId('assetId')).toHaveTextContent('assetId'); - }); - - it('if store returns different asset, search param should be cleared', async () => { - useWithdrawStore.setState({ asset: { id: 'assetId' } as unknown as Asset }); - mockSearchParamsResult = 'assetId'; - renderJsx(); - expect( - screen.getByRole('heading', { level: 1, name: 'Withdraw' }) - ).toBeInTheDocument(); - expect(screen.getByTestId('assetId')).toHaveTextContent('assetId'); - expect(mockSetSearchParams).not.toHaveBeenCalled(); - act(() => { - useWithdrawStore.setState({ - asset: { id: 'different-assetId' } as unknown as Asset, - }); - }); - await waitFor(() => { - expect(mockSetSearchParams).toHaveBeenCalledWith({}); - }); + expect(screen.getByTestId('assetId')).toHaveTextContent(assetId); }); });