test(TechTech): cover TextTech with tests
This commit is contained in:
38
src/shared/ui/TechText/TechText.svelte.test.ts
Normal file
38
src/shared/ui/TechText/TechText.svelte.test.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
render,
|
||||
screen,
|
||||
} from '@testing-library/svelte';
|
||||
import { createRawSnippet } from 'svelte';
|
||||
import TechText from './TechText.svelte';
|
||||
|
||||
function textSnippet(text: string) {
|
||||
return createRawSnippet(() => ({ render: () => `<span>${text}</span>` }));
|
||||
}
|
||||
|
||||
describe('TechText', () => {
|
||||
it('renders text content in a code element', () => {
|
||||
render(TechText, { children: textSnippet('400px') });
|
||||
expect(screen.getByText('400px')).toBeInTheDocument();
|
||||
const { container } = render(TechText, { children: textSnippet('400px') });
|
||||
expect(container.querySelector('code')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders nothing when no children', () => {
|
||||
const { container } = render(TechText);
|
||||
expect(container.querySelector('code')).toBeInTheDocument();
|
||||
expect(container.querySelector('code')?.textContent?.trim()).toBe('');
|
||||
});
|
||||
|
||||
it.each(['default', 'accent', 'muted', 'success', 'warning', 'error'] as const)(
|
||||
'renders %s variant without error',
|
||||
variant => {
|
||||
render(TechText, { children: textSnippet('val'), variant });
|
||||
expect(screen.getAllByText('val')[0]).toBeInTheDocument();
|
||||
},
|
||||
);
|
||||
|
||||
it.each(['xs', 'sm', 'md', 'lg'] as const)('renders %s size without error', size => {
|
||||
render(TechText, { children: textSnippet('val'), size });
|
||||
expect(screen.getAllByText('val')[0]).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user