import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { StatusChip, type PropertyStatus } from '../status-chip'; const statuses: PropertyStatus[] = ['active', 'pending', 'sold', 'rented', 'rejected', 'draft']; describe('StatusChip', () => { it.each(statuses)('renders label for status "%s"', (status) => { const { container } = render(); expect(container.firstChild).toBeInTheDocument(); }); it('renders Vietnamese label for active', () => { render(); expect(screen.getByText('Đang bán')).toBeInTheDocument(); }); it('renders Vietnamese label for pending', () => { render(); expect(screen.getByText('Chờ duyệt')).toBeInTheDocument(); }); it('renders Vietnamese label for sold', () => { render(); expect(screen.getByText('Đã bán')).toBeInTheDocument(); }); it('renders Vietnamese label for rented', () => { render(); expect(screen.getByText('Đã thuê')).toBeInTheDocument(); }); it('renders Vietnamese label for rejected', () => { render(); expect(screen.getByText('Từ chối')).toBeInTheDocument(); }); it('renders Vietnamese label for draft', () => { render(); expect(screen.getByText('Bản nháp')).toBeInTheDocument(); }); it('renders dot by default', () => { const { container } = render(); // dot is aria-hidden span const dot = container.querySelector('[aria-hidden]'); expect(dot).toBeInTheDocument(); }); it('hides dot when hideDot=true', () => { const { container } = render(); const dot = container.querySelector('[aria-hidden]'); expect(dot).not.toBeInTheDocument(); }); });