@sveltestrap/sveltestrap
Version:
Bootstrap components for Svelte
42 lines (30 loc) • 1.33 kB
JavaScript
import { fireEvent, render } from '@testing-library/svelte';
import { ModalHeader } from './';
const TestHarness = (props) => render(ModalHeader, props);
describe('ModalHeader', () => {
test('should render correctly', () => {
const { container } = TestHarness({ content: 'Zap' });
const component = container.querySelector('.modal-header');
expect(component.className).toBe('modal-header');
const title = container.querySelector('.modal-title');
expect(title.innerHTML).toBe('Zap');
expect(container.querySelector('button')).toBeNull();
expect(container).toMatchSnapshot();
});
test('should render close if toggle specified', () => {
const toggle = vi.fn();
const { container } = TestHarness({ toggle });
const component = container.querySelector('.modal-header');
expect(component.className).toBe('modal-header');
const button = container.querySelector('button');
fireEvent.click(button);
expect(toggle.mock.calls.length).toBe(1);
expect(container).toMatchSnapshot();
});
test('should render custom class', () => {
const { container } = TestHarness({ class: 'boogie' });
const component = container.querySelector('.modal-header');
expect(component.className).toBe('boogie modal-header');
expect(container).toMatchSnapshot();
});
});