From 1947d7731ebce4566800e851d2146a4842de67d0 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Fri, 17 Apr 2026 20:09:59 +0300 Subject: [PATCH] test(Stat): cover Stat with tests --- src/shared/ui/Stat/Stat.svelte.test.ts | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/shared/ui/Stat/Stat.svelte.test.ts diff --git a/src/shared/ui/Stat/Stat.svelte.test.ts b/src/shared/ui/Stat/Stat.svelte.test.ts new file mode 100644 index 0000000..971652c --- /dev/null +++ b/src/shared/ui/Stat/Stat.svelte.test.ts @@ -0,0 +1,28 @@ +import { + render, + screen, +} from '@testing-library/svelte'; +import Stat from './Stat.svelte'; + +describe('Stat', () => { + it('renders label and value', () => { + render(Stat, { label: 'weight', value: '400' }); + expect(screen.getByText('weight:')).toBeInTheDocument(); + expect(screen.getByText('400')).toBeInTheDocument(); + }); + + it('renders numeric value', () => { + render(Stat, { label: 'size', value: 16 }); + expect(screen.getByText('16')).toBeInTheDocument(); + }); + + it('renders separator when separator=true', () => { + const { container } = render(Stat, { label: 'x', value: 'y', separator: true }); + expect(container.querySelector('.w-px.h-2')).toBeInTheDocument(); + }); + + it('does not render separator by default', () => { + const { container } = render(Stat, { label: 'x', value: 'y' }); + expect(container.querySelector('.w-px.h-2')).not.toBeInTheDocument(); + }); +});