import '@testing-library/jest-dom'; import { render, screen } from '@testing-library/react'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import type { Token } from '../types'; import { TokenImage } from './TokenImage'; const tokenWithImage: Token = { name: 'Ethereum', address: '0x123', symbol: 'ETH', decimals: 18, image: 'https://wallet-api-production.s3.amazonaws.com/uploads/tokens/eth_288.png', chainId: 8453, }; const tokenWithNoImage: Token = { name: 'Ethereum', address: '0x123', symbol: 'ETH', decimals: 18, image: null, chainId: 8453, }; describe('TokenImage Component', () => { beforeEach(() => { vi.clearAllMocks(); }); it('should render token with image', async () => { render(); const imgElement = screen.getByTestId('ockTokenImage_Image'); const noImgElement = screen.queryByTestId('ockTokenImage_NoImage'); expect(imgElement).toBeInTheDocument(); expect(noImgElement).toBeNull(); }); it('should render token with no image', async () => { render(); const imgElement = screen.queryByTestId('ockTokenImage_Image'); const noImgElement = screen.getByTestId('ockTokenImage_NoImage'); expect(imgElement).toBeNull(); expect(noImgElement).toBeInTheDocument(); }); it('should render with size prop', async () => { render(); const imgElement = screen.queryByTestId('ockTokenImage_Image'); const noImgElement = screen.getByTestId('ockTokenImage_NoImage'); expect(imgElement).toBeNull(); expect(noImgElement).toBeInTheDocument(); }); });