| import React from 'react'; | |
| import { render, screen, fireEvent } from '@testing-library/react'; | |
| import { Button } from './Button'; | |
| describe('Button Component', () => { | |
| it('renders with label', () => { | |
| render(<Button label="Click me" />); | |
| expect(screen.getByText('Click me')).toBeInTheDocument(); | |
| }); | |
| it('calls onClick when clicked', () => { | |
| const handleClick = jest.fn(); | |
| render(<Button label="Click me" onClick={handleClick} />); | |
| fireEvent.click(screen.getByText('Click me')); | |
| expect(handleClick).toHaveBeenCalledTimes(1); | |
| }); | |
| it('applies variant class', () => { | |
| render(<Button label="Secondary" variant="secondary" />); | |
| const button = screen.getByText('Secondary'); | |
| expect(button).toHaveClass('btn-secondary'); | |
| }); | |
| }); | |