import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { NotificationBadge } from './notification-badge'; import React from 'react'; describe('NotificationBadge', () => { it('renders correctly with count', () => { render(
Target
); expect(screen.getByText('Target')).toBeInTheDocument(); expect(screen.getByText('5')).toBeInTheDocument(); }); it('handles max count overflow', () => { render(
Target
); expect(screen.getByText('99+')).toBeInTheDocument(); }); it('renders dot variant correctly', () => { const { container } = render(
Target
); const badge = container.querySelector('span.h-2.w-2'); expect(badge).toBeInTheDocument(); expect(screen.queryByText('0')).not.toBeInTheDocument(); }); it('does not render when count is 0 and showZero is false', () => { render(
Target
); const badge = screen.queryByRole('status'); // Not a real role but testing query // Actually we check if the span exists expect(screen.queryByText('0')).not.toBeInTheDocument(); }); it('renders when count is 0 and showZero is true', () => { render(
Target
); expect(screen.getByText('0')).toBeInTheDocument(); }); });