import React from 'react'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { PanelSimpleSection } from './'; describe('PanelSimpleSection component', () => { describe('given default props', () => { it('should render a panel simple section with a title and content', () => { render(
Content
, ); expect(screen.getByText('Title')).toBeVisible(); expect(screen.getByText('Content')).toBeVisible(); }); }); describe('given collapsible props', () => { it('should show a title and the content only when opened', async () => { const onExtended = vi.fn(); const onCollapsed = vi.fn(); render(
Content
, ); expect(screen.getByText('Title')).toBeVisible(); expect(screen.getByText('Content')).not.toBeVisible(); await userEvent.click(screen.getByText('Title')); expect(screen.getByText('Content')).toBeVisible(); expect(onExtended).toHaveBeenCalled(); await userEvent.click(screen.getByText('Title')); expect(onCollapsed).toHaveBeenCalled(); }); }); });