import * as React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import CloseButton from '../CloseButton';
describe('components/close-button/CloseButton', () => {
describe('render()', () => {
test('should correctly render', () => {
render();
const closeButton = screen.getByRole('button');
expect(closeButton).toHaveAttribute('type', 'button');
expect(closeButton).toHaveClass('bdl-CloseButton');
});
test('should have custom className', () => {
const customClass = 'custom-class';
render();
const closeButton = screen.getByRole('button');
expect(closeButton).toHaveClass(customClass);
expect(closeButton).toHaveClass('bdl-CloseButton');
});
test('should have an accessibility label', () => {
render();
const closeButton = screen.getByRole('button');
expect(closeButton).toHaveAttribute('aria-label');
});
});
describe('onClick()', () => {
test('should call custom handler when clicked', () => {
const handleClick = jest.fn();
render();
const closeButton = screen.getByRole('button');
fireEvent.click(closeButton);
expect(handleClick).toHaveBeenCalledTimes(1);
});
});
});