File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import { render , screen } from '@testing-library/react' ;
2+ import { describe , it , expect } from 'vitest' ;
3+
4+ import AchievementsSkeleton from './AchievementsSkeleton' ;
5+
6+ describe ( 'AchievementsSkeleton' , ( ) => {
7+ it ( ' renders without crashing' , ( ) => {
8+ expect ( render ( < AchievementsSkeleton /> ) ) ;
9+ } ) ;
10+ it ( ' renders exactly 4 skeleton cells.' , ( ) => {
11+ render ( < AchievementsSkeleton /> ) ;
12+ const cells = screen . getAllByTestId ( 'skeleton-cell' ) ;
13+ expect ( cells ) . toHaveLength ( 4 ) ;
14+ } ) ;
15+ it ( 'each cell has the shimmer class.' , ( ) => {
16+ render ( < AchievementsSkeleton /> ) ;
17+ const cells = screen . getAllByTestId ( 'skeleton-cell' ) ;
18+
19+ cells . forEach ( ( cell ) => {
20+ expect ( cell . classList ) . toContain ( 'shimmer' ) ;
21+ } ) ;
22+ } ) ;
23+ it ( 'uses a grid-cols-2 layout.' , ( ) => {
24+ const { container } = render ( < AchievementsSkeleton /> ) ;
25+ expect ( container . querySelector ( '.grid-cols-2' ) ) . toBeTruthy ( ) ;
26+ } ) ;
27+ } ) ;
Original file line number Diff line number Diff line change @@ -2,7 +2,11 @@ export default function AchievementsSkeleton() {
22 return (
33 < div className = "grid grid-cols-2 gap-2" >
44 { [ ...Array ( 4 ) ] . map ( ( _ , i ) => (
5- < div key = { i } className = "h-16 shimmer rounded border border-white/5" />
5+ < div
6+ key = { i }
7+ className = "h-16 shimmer rounded border border-white/5"
8+ data-testid = "skeleton-cell"
9+ />
610 ) ) }
711 </ div >
812 ) ;
You can’t perform that action at this time.
0 commit comments