import { fireEvent, render, screen } from '@testing-library/react' import FileImageRender from './file-image-render' describe('FileImageRender', () => { beforeEach(() => { vi.clearAllMocks() }) it('should render an image with the given URL', () => { render() const img = screen.getByRole('img') expect(img).toHaveAttribute('src', 'https://example.com/image.png') }) it('should use default alt text when alt is not provided', () => { render() expect(screen.getByAltText('Preview')).toBeInTheDocument() }) it('should use custom alt text when provided', () => { render() expect(screen.getByAltText('Custom alt')).toBeInTheDocument() }) it('should apply custom className to container', () => { const { container } = render( , ) expect(container.firstChild).toHaveClass('custom-class') }) it('should call onLoad when image loads', () => { const onLoad = vi.fn() render() fireEvent.load(screen.getByRole('img')) expect(onLoad).toHaveBeenCalled() }) it('should call onError when image fails to load', () => { const onError = vi.fn() render() fireEvent.error(screen.getByRole('img')) expect(onError).toHaveBeenCalled() }) it('should add cursor-pointer to image when showDownloadAction is true', () => { render() const img = screen.getByRole('img') expect(img).toHaveClass('cursor-pointer') }) it('should not add cursor-pointer when showDownloadAction is false', () => { render() const img = screen.getByRole('img') expect(img).not.toHaveClass('cursor-pointer') }) })