import { render, screen } from '@testing-library/react'; import { describe, expect, it } from 'vitest'; import { Flex } from './Flex'; describe('Flex', () => { it('renders layout props as Tailwind classes', () => { render( Content , ); expect(screen.getByText('Content')).toHaveClass( 'flex', 'flex-col', 'flex-wrap', 'items-center', 'justify-between', 'gap-4', 'gap-x-2', 'gap-y-3', ); }); it('supports polymorphism, native props, refs, and class overrides', () => { const ref = { current: null }; render( , ); const element = screen.getByLabelText('navigation'); expect(element.tagName.toLowerCase()).toBe('nav'); expect(element).toHaveAttribute('data-slot', 'flex'); expect(element).toHaveClass('flex-row', 'custom-class'); expect(element).not.toHaveClass('flex-col'); expect(ref.current).toBe(element); }); });