import { render, screen } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; import { SwapSettingsSlippageTitle } from './SwapSettingsSlippageTitle'; vi.mock('../styles/theme', () => ({ cn: (...args: string[]) => args.join(' '), color: { foreground: 'text-ock-foreground' }, })); describe('SwapSettingsSlippageTitle', () => { it('renders children correctly', () => { render( Slippage Tolerance, ); expect(screen.getByText('Slippage Tolerance')).toBeInTheDocument(); }); it('applies default classes', () => { render(Test); const heading = screen.getByText('Test'); expect(heading.className).toContain( 'font-ock font-semibold text-ock-foreground mb-2 text-base', ); }); it('merges custom className with default classes', () => { render( Test , ); const heading = screen.getByText('Test'); expect(heading.className).toContain('custom-class'); expect(heading.className).toContain( 'font-ock font-semibold text-ock-foreground mb-2 text-base custom-class', ); }); it('renders without valid children', () => { const { container } = render( test, ); const heading = container.querySelector('h3'); expect(heading).toBeInTheDocument(); expect(heading?.textContent).toBe('test'); }); it('renders with complex children', () => { render( Complex Children , ); expect(screen.getByText('Complex')).toBeInTheDocument(); expect(screen.getByText('Children')).toBeInTheDocument(); }); it('renders as an h3 element', () => { render(Test); const heading = screen.getByText('Test'); expect(heading.tagName).toBe('H3'); }); });