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);
});
});