@sveltestrap/sveltestrap
Version:
Bootstrap components for Svelte
41 lines (29 loc) • 1.33 kB
JavaScript
import { fireEvent, render } from '@testing-library/svelte';
import { OffcanvasHeader } from './';
const TestHarness = (props) => render(OffcanvasHeader, props);
describe('OffcanvasHeader', () => {
test('should render correctly', () => {
const { container } = TestHarness({ content: 'Zap' });
const component = container.querySelector('.offcanvas-header');
expect(component.className).toBe('offcanvas-header');
const title = container.querySelector('.offcanvas-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('.offcanvas-header');
expect(component.className).toBe('offcanvas-header');
const button = container.querySelector('button');
fireEvent.click(button);
expect(toggle.mock.calls.length).toBe(1);
});
test('should render custom class', () => {
const { container } = TestHarness({ class: 'boogie' });
const component = container.querySelector('.offcanvas-header');
expect(component.className).toBe('boogie offcanvas-header');
expect(container).toMatchSnapshot();
});
});