// @vitest-environment jsdom
import { cleanup, fireEvent, render, screen } from '@testing-library/react';
import { afterEach, describe, expect, it, vi } from 'vitest';
import { en } from '../i18n/en';
import { ErrorView } from './ErrorView';
import { ProcessingView } from './ProcessingView';
afterEach( cleanup );
describe( 'ErrorView', () => {
it( 'shows recovery guidance and forwards retry and close', () => {
const retry = vi.fn();
const close = vi.fn();
render( );
expect( screen.getByText( 'Network failed' ) ).toBeTruthy();
expect( screen.getAllByRole( 'listitem' ) ).toHaveLength( 3 );
fireEvent.click( screen.getByRole( 'button', { name: en.error.tryAgain } ) );
fireEvent.click( screen.getByRole( 'button', { name: en.error.close } ) );
expect( retry ).toHaveBeenCalledOnce();
expect( close ).toHaveBeenCalledOnce();
} );
} );
describe( 'ProcessingView', () => {
it( 'does not render an empty garment preview', () => {
render( );
expect( screen.queryByRole( 'img' ) ).toBeNull();
} );
} );