import { describe, it, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import { Switch } from '../switch'; describe('Switch', () => { it('renders switch', () => { render(); expect(screen.getByTestId('switch')).toBeInTheDocument(); }); it('applies custom className', () => { render(); expect(screen.getByTestId('switch')).toHaveClass('custom-switch'); }); it('renders as button role', () => { render(); const switchEl = screen.getByTestId('switch'); expect(switchEl).toHaveAttribute('role', 'switch'); }); it('has unchecked state by default', () => { render(); const switchEl = screen.getByTestId('switch'); expect(switchEl).toHaveAttribute('aria-checked', 'false'); }); it('can be checked', () => { render(); const switchEl = screen.getByTestId('switch'); expect(switchEl).toHaveAttribute('aria-checked', 'true'); }); it('is disabled when disabled prop is true', () => { render(); const switchEl = screen.getByTestId('switch'); expect(switchEl).toBeDisabled(); }); it('has default styling', () => { render(); const switchEl = screen.getByTestId('switch'); expect(switchEl).toHaveClass('peer', 'inline-flex'); }); });