test / frontend-project /Button.test.tsx
Charvee's picture
Upload 10 files
e8eb17b verified
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');
});
});