import { describe, it, expect, vi } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; import { TabsRoot, TabsList, TabsTrigger, TabsContent } from '../Tabs'; import React from 'react'; describe('Tabs Component', () => { it('debería renderizar las pestañas y mostrar solo el contenido de la pestaña activa', () => { render( Pestaña 1 Pestaña 2 Contenido 1 Contenido 2 ); expect(screen.getByText('Contenido 1')).toBeDefined(); expect(screen.queryByText('Contenido 2')).toBeNull(); const trigger2 = screen.getByText('Pestaña 2'); fireEvent.click(trigger2); expect(screen.queryByText('Contenido 1')).toBeNull(); expect(screen.getByText('Contenido 2')).toBeDefined(); }); it('debería soportar valor controlado', () => { const handleValueChange = vi.fn(); render( Pestaña 1 Pestaña 2 Contenido 1 Contenido 2 ); expect(screen.getByText('Contenido 2')).toBeDefined(); expect(screen.queryByText('Contenido 1')).toBeNull(); const trigger1 = screen.getByText('Pestaña 1'); fireEvent.click(trigger1); expect(handleValueChange).toHaveBeenCalledWith('tab1'); }); });