From 92129418aab04a98d0e16fca07aae9354b2e35ec Mon Sep 17 00:00:00 2001 From: waterWang Date: Mon, 10 Aug 2026 00:49:40 +0800 Subject: [PATCH] test: add snapshot tests for all Badge variants (Closes #866) --- __tests__/components/Badge.test.tsx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/__tests__/components/Badge.test.tsx b/__tests__/components/Badge.test.tsx index 7da5dc93..090167e3 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