UNPKG

@kadconsulting/dry

Version:
44 lines 1.9 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import Toggle from './Toggle'; describe('Toggle', () => { const defaultProps = { title: 'Hello World', text: 'Test Text', size: 'sm', }; it('Renders the Title and Text props', () => { render(_jsx(Toggle, { ...defaultProps })); expect(screen.getByText('Hello World')).toBeInTheDocument(); expect(screen.getByText('Test Text')).toBeInTheDocument(); }); it('Handles click events', () => { render(_jsx(Toggle, { ...defaultProps })); const toggle = screen.getByRole('button'); userEvent.click(toggle); }); it('Supports different sizes', () => { const { rerender } = render(_jsx(Toggle, { ...defaultProps, size: 'md' })); // Add checks for medium size rerender(_jsx(Toggle, { ...defaultProps, size: 'custom', customSize: { width: 50, height: 30 } })); // Add checks for custom size }); it('Is disabled when disabled prop is true', () => { render(_jsx(Toggle, { ...defaultProps, disabled: true })); const toggle = screen.getByRole('button'); expect(toggle).toBeDisabled(); }); it('Shows loading state appropriately', () => { render(_jsx(Toggle, { ...defaultProps, loading: true })); expect(screen.getByText('Loading...')).toBeInTheDocument(); // Add specific checks for loading state }); it('Displays tooltip when provided', () => { render(_jsx(Toggle, { ...defaultProps, tooltip: 'Toggle Tooltip' })); const toggle = screen.getByRole('button'); expect(toggle).toHaveAttribute('title', 'Toggle Tooltip'); }); // Add more tests as needed to cover all functionality }); //# sourceMappingURL=Toggle.test.js.map