From c805883c767fb7798c26bbb5641bf726dd470f6e Mon Sep 17 00:00:00 2001 From: sepehr sanaee Date: Tue, 26 Mar 2024 12:27:58 +0330 Subject: [PATCH] chore: update tests --- .../assetDataListItemStructure.stories.tsx | 7 ++-- .../assetDataListItemStructure.test.tsx | 32 +++++++++---------- .../assetDataListItemStructure.tsx | 2 +- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.stories.tsx b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.stories.tsx index 9959796dd..18d333237 100644 --- a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.stories.tsx +++ b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.stories.tsx @@ -42,11 +42,8 @@ export const Default: Story = { */ export const Fallback: Story = { args: { - logoSrc: 'https://assets.coingecko.com/coins/images/279/standard/ethereum.png?1696501628', - name: 'Ethereum', - amount: 420.69, - symbol: 'ETH', - fiatPrice: 3654.76, + amount: 0, + priceChange: 0, }, render: (props) => ( diff --git a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.test.tsx b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.test.tsx index 8bb925c07..c53512a1d 100644 --- a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.test.tsx +++ b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.test.tsx @@ -24,42 +24,40 @@ describe(' component', () => { expect(screen.getByText(props.symbol)).toBeInTheDocument(); }); - it('handles zero priceChange as neutral', () => { + it('renders amount, fiat price', async () => { const props = { - priceChange: 0, + amount: 420.69, + fiatPrice: 3654.76, }; render(createTestComponent(props)); - expect(screen.getByText('$0.00')).toBeInTheDocument(); // Assuming component shows '0' for zero changedAmount - expect(screen.getByText('0%')).toBeInTheDocument(); // Assuming Tag component renders '0%' for zero changedPercentage + const USDAmount = await screen.findByText(/1.54/); + expect(USDAmount).toHaveTextContent('$1.54M'); + expect(screen.getByText(props.amount)).toBeInTheDocument(); }); - it('handle not passing changedAmount and changedPercentage', async () => { + it('handles zero priceChange as neutral', () => { const props = { - logoSrc: 'https://assets.coingecko.com/coins/images/279/standard/ethereum.png?1696501628', - name: 'Ethereum', - amount: 420.69, - symbol: 'ETH', - fiatPrice: 3654.76, + amount: 0, + priceChange: 0, }; render(createTestComponent(props)); - expect(screen.getByText('0%')).toBeInTheDocument(); - const USDAmount = await screen.findByText(/1.23/); - expect(USDAmount).toHaveTextContent('$1.23M'); + const elements = screen.queryAllByText('$0.00'); + expect(elements.length).toBeGreaterThan(0); // assuming both asset price and changed price amount are 0.00 + expect(screen.getByText('0%')).toBeInTheDocument(); // Assuming Tag component renders '0%' for zero changedPercentage }); - it('handle not passing changedPercentage', async () => { + it('handle not passing priceChange', async () => { const props = { logoSrc: 'https://assets.coingecko.com/coins/images/279/standard/ethereum.png?1696501628', name: 'Ethereum', - amount: -420.69, + amount: 420.69, symbol: 'ETH', fiatPrice: 3654.76, }; render(createTestComponent(props)); - const tagElement = await screen.findByText(/\+ 5%/); - expect(tagElement).toHaveTextContent('+ 5%'); + expect(screen.getByText('0%')).toBeInTheDocument(); }); }); diff --git a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.tsx b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.tsx index 93928df35..51815e779 100644 --- a/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.tsx +++ b/src/modules/components/asset/assetDataListItem/assetDataListItemStructure/assetDataListItemStructure.tsx @@ -31,7 +31,7 @@ export interface IAssetDataListItemStructureProps extends IDataListItemProps { } export const AssetDataListItemStructure: React.FC = (props) => { - const { logoSrc, name, amount, symbol, fiatPrice, priceChange = 0, ...otherProps } = props; + const { logoSrc, name = '-', amount = 0, symbol, fiatPrice = 0, priceChange = 0, ...otherProps } = props; const usdAmountChanged = useMemo(() => { const usdAmount = (amount ? Number(amount) : 0) * (fiatPrice ? Number(fiatPrice) : 0);