EvalueTonSavoir/client/src/__tests__/components/StudentWaitPage/StudentWaitPage.test.tsx

44 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-03-29 20:08:34 -04:00
// Importez le type UserType s'il n'est pas déjà importé
import React from 'react';
2024-03-29 20:08:34 -04:00
import { render, screen, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom';
2025-01-16 12:37:07 -05:00
import StudentWaitPage from 'src/components/StudentWaitPage/StudentWaitPage';
2024-09-25 14:53:17 -04:00
import { StudentType, Answer } from '../../../Types/StudentType';
2024-03-29 20:08:34 -04:00
2024-09-25 13:20:09 -04:00
describe('StudentWaitPage Component', () => {
2024-09-25 14:53:17 -04:00
const mockUsers: StudentType[] = [
{ id: '1', name: 'User1', answers: new Array<Answer>() },
{ id: '2', name: 'User2', answers: new Array<Answer>() },
{ id: '3', name: 'User3', answers: new Array<Answer>() },
2024-03-29 20:08:34 -04:00
];
const mockProps = {
2024-09-25 14:53:17 -04:00
students: mockUsers,
2024-03-29 20:08:34 -04:00
launchQuiz: jest.fn(),
roomName: 'Test Room',
setQuizMode: jest.fn(),
};
2024-09-25 13:20:09 -04:00
test('renders StudentWaitPage with correct content', () => {
render(<StudentWaitPage {...mockProps} />);
2024-03-29 20:08:34 -04:00
2024-09-15 01:26:06 -04:00
//expect(screen.getByText(/Test Room/)).toBeInTheDocument();
2024-03-29 20:08:34 -04:00
const launchButton = screen.getByRole('button', { name: /Lancer/i });
expect(launchButton).toBeInTheDocument();
mockUsers.forEach((user) => {
expect(screen.getByText(user.name)).toBeInTheDocument();
});
});
test('clicking on "Lancer" button opens LaunchQuizDialog', () => {
2024-09-25 13:20:09 -04:00
render(<StudentWaitPage {...mockProps} />);
2024-03-29 20:08:34 -04:00
fireEvent.click(screen.getByRole('button', { name: /Lancer/i }));
expect(screen.getByRole('dialog')).toBeInTheDocument();
});
})