From 99e618d18250355ed6ffab336f7cc3a3de976ebe Mon Sep 17 00:00:00 2001 From: Alissa Crane Date: Tue, 13 Aug 2024 21:24:29 -0700 Subject: [PATCH] add test coverage --- .../components/TransactionToastIcon.test.tsx | 18 +++++++++++++++--- .../components/TransactionToastIcon.tsx | 5 +++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/transaction/components/TransactionToastIcon.test.tsx b/src/transaction/components/TransactionToastIcon.test.tsx index 0a7b5008fd5..d8de66c2537 100644 --- a/src/transaction/components/TransactionToastIcon.test.tsx +++ b/src/transaction/components/TransactionToastIcon.test.tsx @@ -8,7 +8,7 @@ vi.mock('../components/TransactionProvider', () => ({ })); describe('TransactionToastIcon', () => { - it('renders transaction toast icon when receipt exists', () => { + it('renders success icon when receipt exists', () => { (useTransactionContext as vi.Mock).mockReturnValue({ receipt: '123', }); @@ -18,7 +18,7 @@ describe('TransactionToastIcon', () => { const iconElement = screen.getByTestId('ockSuccessSvg'); expect(iconElement).toBeInTheDocument(); }); - it('renders transaction toast icon when receipt exists', () => { + it('renders error icon when error exists', () => { (useTransactionContext as vi.Mock).mockReturnValue({ errorMessage: 'error', }); @@ -28,7 +28,7 @@ describe('TransactionToastIcon', () => { const iconElement = screen.getByTestId('ockErrorSvg'); expect(iconElement).toBeInTheDocument(); }); - it('renders transaction toast icon when txn is in progress', () => { + it('renders loading icon when txn is in progress', () => { (useTransactionContext as vi.Mock).mockReturnValue({ isLoading: true, }); @@ -38,4 +38,16 @@ describe('TransactionToastIcon', () => { const iconElement = screen.getByTestId('ockSpinner'); expect(iconElement).toBeInTheDocument(); }); + it('renders null when if no status exists', () => { + (useTransactionContext as vi.Mock).mockReturnValue({ + isLoading: false, + }); + + const { container } = render( + , + ); + + // Assert that nothing is rendered (container should be empty) + expect(container.firstChild).toBeNull(); + }); }); diff --git a/src/transaction/components/TransactionToastIcon.tsx b/src/transaction/components/TransactionToastIcon.tsx index 5df12630958..82459e3b815 100644 --- a/src/transaction/components/TransactionToastIcon.tsx +++ b/src/transaction/components/TransactionToastIcon.tsx @@ -23,5 +23,10 @@ export function TransactionToastIcon({ className }: TransactionToastIconReact) { } return null; }, [isInProgress, errorMessage, receipt]); + + if (!icon) { + return null; + } + return
{icon}
; }