From 4fb3962067f15c19670d53aeacd55ba435e1977d Mon Sep 17 00:00:00 2001 From: felixvippp-ai Date: Tue, 23 Jun 2026 22:31:29 -0400 Subject: [PATCH] test: cover trust badge states --- docs/testing/TRUST_BADGE_TESTS.md | 17 ++++ src/components/TrustBadge.tsx | 18 +++- src/components/__tests__/TrustBadge.test.tsx | 91 ++++++++++++++++++++ 3 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 docs/testing/TRUST_BADGE_TESTS.md create mode 100644 src/components/__tests__/TrustBadge.test.tsx diff --git a/docs/testing/TRUST_BADGE_TESTS.md b/docs/testing/TRUST_BADGE_TESTS.md new file mode 100644 index 00000000..07fe0373 --- /dev/null +++ b/docs/testing/TRUST_BADGE_TESTS.md @@ -0,0 +1,17 @@ +# TrustBadge Test Coverage + +`src/components/__tests__/TrustBadge.test.tsx` covers the TrustBadge component with React Testing Library and Vitest. + +Covered behavior: + +- Every supported `TrustLevel` value renders its visible label and icon. +- Tooltip-enabled badges expose the tooltip text through `aria-describedby`. +- `showTooltip={false}` removes the tooltip and accessible description. +- Custom `className` values are merged without dropping trust-level styling. +- Unknown trust levels fall back to the unverified badge copy. + +Run the focused test locally with: + +```bash +pnpm test -- --run src/components/__tests__/TrustBadge.test.tsx +``` diff --git a/src/components/TrustBadge.tsx b/src/components/TrustBadge.tsx index 2cb714f1..8960c865 100644 --- a/src/components/TrustBadge.tsx +++ b/src/components/TrustBadge.tsx @@ -16,6 +16,9 @@ export const TrustBadge: React.FC = ({ className = '', showTooltip = true }) => { + const tooltipId = React.useId(); + const tooltipDescriptionId = `${tooltipId}-description`; + const getBadgeConfig = () => { switch (level) { case 'verified': @@ -46,13 +49,22 @@ export const TrustBadge: React.FC = ({ const config = getBadgeConfig(); return ( -
+
{config.icon} {config.label} {showTooltip && ( -
-

{config.description}

+