Skip to content

Commit e0258b1

Browse files
authored
test(ai-insights): add skeleton tests (JhaSourav07#1233)
2 parents c10ef4c + 6d704da commit e0258b1

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { render } from '@testing-library/react';
2+
import { describe, expect, it } from 'vitest';
3+
import AIInsightsSkeleton from './AIInsightsSkeleton';
4+
5+
describe('AIInsightsSkeleton', () => {
6+
it('renders without crashing', () => {
7+
const { container } = render(<AIInsightsSkeleton />);
8+
9+
expect(container.firstChild).toBeTruthy();
10+
});
11+
12+
it('renders exactly 3 insight skeleton rows', () => {
13+
const { container } = render(<AIInsightsSkeleton />);
14+
15+
const rows = container.querySelectorAll('.flex.items-start.gap-3');
16+
17+
expect(rows).toHaveLength(3);
18+
});
19+
20+
it('renders shimmer elements inside each insight row', () => {
21+
const { container } = render(<AIInsightsSkeleton />);
22+
23+
const rows = container.querySelectorAll('.flex.items-start.gap-3');
24+
25+
rows.forEach((row) => {
26+
expect(row.querySelectorAll('.shimmer').length).toBeGreaterThan(0);
27+
});
28+
});
29+
30+
it('renders icon shimmer and text shimmer blocks for each row', () => {
31+
const { container } = render(<AIInsightsSkeleton />);
32+
33+
const rows = container.querySelectorAll('.flex.items-start.gap-3');
34+
35+
rows.forEach((row) => {
36+
const iconShimmer = row.querySelector('.w-4.h-4.shimmer.rounded-full');
37+
const textShimmers = row.querySelectorAll('.h-3.shimmer.rounded');
38+
39+
expect(iconShimmer).toBeTruthy();
40+
expect(textShimmers).toHaveLength(2);
41+
});
42+
});
43+
});

0 commit comments

Comments
 (0)