* fix: task progress data from back-end * chore: make backend candidate image default * feat: load data for the dashboard home from the back-end issue #320 * test: add tets for completedTasks and TaskProgress components * test: fix test case in the backend * feat: fix unauthorized requests test: add home controller test cases * test: add home service test cases
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
import { act, render, screen, waitFor } from '@testing-library/react';
|
|
import { describe, it, expect, vi } from 'vitest';
|
|
import api from '../../api-service/api';
|
|
import { SummaryResponse } from '../../types/SummaryResponse';
|
|
import TaskProgress from '../../components/TaskProgress';
|
|
|
|
vi.mock('../../api-service/api');
|
|
|
|
describe('TaskProgress Component', () => {
|
|
it('should render after fetching', async () => {
|
|
const mockData: SummaryResponse = {
|
|
pendingTaskCount: 354,
|
|
doneTaskCount: 555,
|
|
notesCount: 2222
|
|
};
|
|
const mockedGetJSON = vi.spyOn(api, 'getJSON').mockResolvedValue(mockData);
|
|
|
|
act(() => {
|
|
render(<TaskProgress />);
|
|
});
|
|
|
|
expect(mockedGetJSON).toHaveBeenCalled();
|
|
await waitFor(() => {
|
|
expect(screen.queryByText('Total')).toBeDefined();
|
|
expect(screen.queryByText(mockData.pendingTaskCount + mockData.doneTaskCount)).toBeDefined();
|
|
expect(screen.queryByText('Pending')).toBeDefined();
|
|
expect(screen.queryByText(mockData.pendingTaskCount)).toBeDefined();
|
|
expect(screen.queryByText('Completed')).toBeDefined();
|
|
expect(screen.queryByText(mockData.doneTaskCount)).toBeDefined();
|
|
});
|
|
});
|
|
});
|