Files
console/tests/unit/components/tab.test.ts
2023-07-03 12:37:40 +01:00

33 lines
936 B
TypeScript

import '@testing-library/jest-dom';
import { vi } from 'vitest';
import { render, fireEvent } from '@testing-library/svelte';
import { Tab } from '../../../src/lib/components';
test('shows tab', () => {
const { getByRole } = render(Tab);
expect(getByRole('tab')).toBeInTheDocument();
});
test('shows tab - is selected', () => {
const { getByRole } = render(Tab, { selected: true });
expect(getByRole('tab')).toHaveClass('is-selected');
});
test('shows tab - is link', () => {
render(Tab, { href: 'https://appwrite.io' });
const link = document.querySelector('a');
expect(link).toHaveAttribute('href', 'https://appwrite.io');
});
test('shows tab - on:click', async () => {
const { getByRole, component } = render(Tab);
const tab = getByRole('tab');
const callback = vi.fn();
component.$on('click', callback);
await fireEvent.click(tab);
expect(callback).toHaveBeenCalled();
});