Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions components/dashboard/ComparisonStatsCard.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -304,3 +304,157 @@ describe('ComparisonStatsCard responsive breakpoints', () => {
expect(screen.queryByText('Winner')).toBeNull();
});
});

describe('ComparisonStatsCard icon rendering', () => {
it('renders correctly with Flame icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="Flame"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with TrendingUp icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="TrendingUp"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with GitCommit icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="GitCommit"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with GitBranch icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="GitBranch"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with Users icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="Users"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with UserPlus icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="UserPlus"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('renders correctly with Award icon', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="Award"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});

it('falls back to Award icon and renders correctly with unknown icon name', () => {
const { container } = render(
<ComparisonStatsCard
title="Test Title"
valueA={50}
valueB={50}
labelA="Label A"
labelB="Label B"
icon="UnknownIcon"
/>
);

expect(screen.getByText('Test Title')).toBeDefined();
const iconContainer = container.querySelector('.rounded-lg.bg-gray-100');
expect(iconContainer).toBeDefined();
const icon = iconContainer?.querySelector('svg');
expect(icon).toBeDefined();
});
});
Loading