import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { EmptyState } from '../empty-state'; describe('EmptyState', () => { it('renders title', () => { render(); expect(screen.getByText('Không có dữ liệu')).toBeInTheDocument(); }); it('renders description when provided', () => { render(); expect(screen.getByText('Hãy thêm dữ liệu mới')).toBeInTheDocument(); }); it('does not render description when not provided', () => { render(); expect(screen.queryByText(/Hãy/)).not.toBeInTheDocument(); }); it('renders icon when provided', () => { render(X} />); expect(screen.getByTestId('icon')).toBeInTheDocument(); }); it('renders action when provided', () => { render(Thêm mới} />); expect(screen.getByRole('button', { name: 'Thêm mới' })).toBeInTheDocument(); }); it('applies custom className', () => { const { container } = render(); expect((container.firstChild as HTMLElement)).toHaveClass('my-class'); }); });