import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { PillBadge } from './PillBadge'; import React from 'react'; describe('PillBadge', () => { it('renders the label text with default primary color tokens', () => { render(AI Adoption Platform); const badge = screen.getByText('AI Adoption Platform'); expect(badge).toBeInTheDocument(); expect(badge).toHaveClass('border-primary'); expect(badge).toHaveClass('bg-primary/5'); expect(badge).toHaveClass('text-primary'); }); it('renders an icon when provided', () => { render( }>With icon ); expect(screen.getByTestId('pill-icon')).toBeInTheDocument(); }); it('omits the icon wrapper when no icon is provided', () => { const { container } = render(No icon); expect(container.querySelector('[aria-hidden="true"]')).not.toBeInTheDocument(); }); it('applies color-specific classes for a non-default color', () => { render(Compliant); const badge = screen.getByText('Compliant'); expect(badge).toHaveClass('border-success'); expect(badge).toHaveClass('bg-success/5'); expect(badge).toHaveClass('text-success'); }); it('forwards additional span props and className', () => { render( Custom ); const badge = screen.getByTestId('pill'); expect(badge).toHaveClass('custom-pill'); }); });