1- // src/app/profile/components/TaskSummary/index.test.tsx
1+
22import { render , screen , fireEvent } from '@testing-library/react' ;
33import '@testing-library/jest-dom' ;
4- import TaskSummary from './index' ; // or './TaskSummary' depending on your file
4+ import TaskSummary from './index' ;
55
6- // Mock the hook
76const mockUseFetchTaskAssignments = jest . fn ( ) ;
87
98jest . mock ( '@/app/hooks/useFetchTaskAssignment' , ( ) => ( {
109 __esModule : true ,
1110 useFetchTaskAssignments : ( ) => mockUseFetchTaskAssignments ( ) ,
1211} ) ) ;
1312
14- // Optional: mock icons for cleaner output
1513jest . mock ( 'lucide-react' , ( ) => {
1614 const original = jest . requireActual ( 'lucide-react' ) ;
1715 return {
@@ -59,16 +57,14 @@ describe('TaskSummary', () => {
5957
6058 render ( < TaskSummary /> ) ;
6159
62- // Page 1
60+
6361 expect ( screen . getByText ( 'Setup database' ) ) . toBeInTheDocument ( ) ;
6462 expect ( screen . queryByText ( 'Review PR' ) ) . not . toBeInTheDocument ( ) ;
6563
66- // Go to page 2
6764 fireEvent . click ( screen . getByText ( 'Next' ) ) ;
6865 expect ( screen . getByText ( 'Review PR' ) ) . toBeInTheDocument ( ) ;
6966 expect ( screen . queryByText ( 'Setup database' ) ) . not . toBeInTheDocument ( ) ;
7067
71- // Go back to page 1
7268 fireEvent . click ( screen . getByText ( 'Previous' ) ) ;
7369 expect ( screen . getByText ( 'Setup database' ) ) . toBeInTheDocument ( ) ;
7470 } ) ;
@@ -88,7 +84,7 @@ describe('TaskSummary', () => {
8884 expect ( prevBtn ) . toBeDisabled ( ) ;
8985 expect ( nextBtn ) . not . toBeDisabled ( ) ;
9086
91- fireEvent . click ( nextBtn ) ; // go to page 2
87+ fireEvent . click ( nextBtn ) ;
9288
9389 expect ( prevBtn ) . not . toBeDisabled ( ) ;
9490 expect ( nextBtn ) . toBeDisabled ( ) ;
@@ -106,10 +102,9 @@ describe('TaskSummary', () => {
106102 expect ( screen . getByText ( '0/0 Tasks Completed' ) ) . toBeInTheDocument ( ) ;
107103 expect ( screen . getByText ( '0%' ) ) . toBeInTheDocument ( ) ;
108104
109- // The "Recently Completed" heading is still shown (by design)
105+
110106 expect ( screen . getByText ( 'Recently Completed' ) ) . toBeInTheDocument ( ) ;
111107
112- // But no task items should appear
113108 expect ( screen . queryByTestId ( 'check-icon' ) ) . not . toBeInTheDocument ( ) ;
114109 } ) ;
115110} ) ;
0 commit comments