// File: frontend/components/common/__tests__/status-badge.test.tsx // Change Log: // - 2026-06-13: Initial creation - test coverage for StatusBadge component import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen } from '@testing-library/react'; import { StatusBadge } from '../status-badge'; describe('StatusBadge Component', () => { beforeEach(() => { vi.clearAllMocks(); }); it('ควรเรนเดอร์ Draft สำหรับสถานะ DRAFT ได้อย่างถูกต้อง', () => { render(); const badge = screen.getByText('Draft'); expect(badge).toBeInTheDocument(); expect(badge).toHaveClass('bg-secondary'); }); it('ควรเรนเดอร์ Pending สำหรับสถานะ PENDING ได้อย่างถูกต้อง', () => { render(); const badge = screen.getByText('Pending'); expect(badge).toBeInTheDocument(); expect(badge).toHaveClass('bg-yellow-500'); }); it('ควรเรนเดอร์ Approved สำหรับสถานะ APPROVED ได้อย่างถูกต้อง', () => { render(); const badge = screen.getByText('Approved'); expect(badge).toBeInTheDocument(); expect(badge).toHaveClass('bg-green-500'); }); it('ควรเรนเดอร์ Rejected สำหรับสถานะ REJECTED ได้อย่างถูกต้อง', () => { render(); const badge = screen.getByText('Rejected'); expect(badge).toBeInTheDocument(); expect(badge).toHaveClass('bg-destructive'); }); it('ควรเรนเดอร์ข้อความตามสถานะเดิมและใช้ default styling เมื่อไม่พบรูปแบบสถานะที่ระบุ', () => { render(); const badge = screen.getByText('UNKNOWN_STATUS'); expect(badge).toBeInTheDocument(); }); });