// @vitest-environment jsdom import { afterEach, describe, expect, test } from 'vitest'; import { cleanup, render, screen } from '@testing-library/react'; import CardDetailPurchaseTab, { stalenessBadgeText } from '../../components/card-detail/CardDetailPurchaseTab'; afterEach(() => cleanup()); const formatCurrency = (amount) => `$${Number(amount).toFixed(2)}`; describe('stalenessBadgeText', () => { test('shows outdated copy when stale', () => { expect(stalenessBadgeText({ stale: true, pricesUpdatedAt: '2026-01-01T00:00:00.000Z' })) .toBe('Prices may be outdated'); }); test('shows updated date when fresh', () => { const text = stalenessBadgeText({ stale: false, pricesUpdatedAt: '2026-01-15T00:00:00.000Z' }); expect(text).toContain('Updated'); expect(text).toContain('2026'); }); }); describe('', () => { test('renders staleness badge text from pricing payload', () => { render( ); expect(screen.getByTestId('pricing-staleness-badge').textContent) .toBe('Prices may be outdated'); expect(screen.getByText('View on TCGPlayer')).toBeDefined(); expect(screen.getByTestId('card-detail-local-stores-slot')).toBeDefined(); }); });