diff --git a/__tests__/components/Badge.test.tsx b/__tests__/components/Badge.test.tsx index 7da5dc9..090167e 100644 --- a/__tests__/components/Badge.test.tsx +++ b/__tests__/components/Badge.test.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; import '@testing-library/jest-dom'; import Badge from '../../components/ui/Badge'; +import type { BadgeProps } from '../../components/ui/Badge'; describe('Badge', () => { test('renders the label and uses a span', () => { @@ -37,4 +38,25 @@ describe('Badge', () => { expect(el).toHaveAttribute('role', 'status'); expect(el.className).not.toMatch(/undefined|\[|\]/); }); -}); + + describe('snapshots', () => { + const variants: Array<{ variant: BadgeProps['variant']; label: string }> = [ + { variant: 'level0', label: 'Level 0' }, + { variant: 'level1', label: 'Level 1' }, + { variant: 'level2', label: 'Level 2' }, + { variant: 'level3', label: 'Level 3' }, + { variant: 'position', label: 'GK' }, + { variant: 'region', label: 'Africa' }, + { variant: 'achievement', label: 'Top Scorer' }, + ]; + + variants.forEach(({ variant, label }) => { + it(`matches snapshot for variant="${variant}"`, () => { + const { container } = render( + , + ); + expect(container).toMatchSnapshot(); + }); + }); + }); +}); \ No newline at end of file