Correction socket

This commit is contained in:
NouhailaAater 2025-02-22 02:04:49 -05:00
parent c9b76df2cd
commit 9286fe6b9c
2 changed files with 20 additions and 10 deletions

View file

@ -10,14 +10,15 @@ describe('StudentWaitPage Component', () => {
{ id: '1', name: 'User1', answers: new Array<Answer>() }, { id: '1', name: 'User1', answers: new Array<Answer>() },
{ id: '2', name: 'User2', answers: new Array<Answer>() }, { id: '2', name: 'User2', answers: new Array<Answer>() },
{ id: '3', name: 'User3', answers: new Array<Answer>() }, { id: '3', name: 'User3', answers: new Array<Answer>() },
]; ];
const mockProps = { const mockProps = {
students: mockUsers, students: mockUsers,
launchQuiz: jest.fn(), launchQuiz: jest.fn(),
roomName: 'Test Room', roomName: 'Test Room',
setQuizMode: jest.fn(), setQuizMode: jest.fn(),
}; setIsRoomSelectionVisible: jest.fn()
};
test('renders StudentWaitPage with correct content', () => { test('renders StudentWaitPage with correct content', () => {
render(<StudentWaitPage {...mockProps} />); render(<StudentWaitPage {...mockProps} />);
@ -28,16 +29,15 @@ describe('StudentWaitPage Component', () => {
expect(launchButton).toBeInTheDocument(); expect(launchButton).toBeInTheDocument();
mockUsers.forEach((user) => { mockUsers.forEach((user) => {
expect(screen.getByText(user.name)).toBeInTheDocument(); expect(screen.getByText(user.name)).toBeInTheDocument();
}); });
}); });
test('clicking on "Lancer" button opens LaunchQuizDialog', () => { test('clicking on "Lancer" button opens LaunchQuizDialog', () => {
render(<StudentWaitPage {...mockProps} />); render(<StudentWaitPage {...mockProps} />);
fireEvent.click(screen.getByRole('button', { name: /Lancer/i })); fireEvent.click(screen.getByRole('button', { name: /Lancer/i }));
expect(screen.getByRole('dialog')).toBeInTheDocument(); expect(screen.getByRole('dialog')).toBeInTheDocument();
}); });
});
})

View file

@ -201,6 +201,16 @@ const ManageRoom: React.FC = () => {
webSocketService.launchStudentModeQuiz(roomName, quizQuestions); webSocketService.launchStudentModeQuiz(roomName, quizQuestions);
} }
}); });
socket.on('join-failure', (message) => {
setConnectingError(message);
setSocket(null);
});
socket.on('user-disconnected', (userId: string) => {
console.log(`Student left: id = ${userId}`);
setStudents((prevUsers) => prevUsers.filter((user) => user.id !== userId));
});
}; };
if (rooms.length === 0) { if (rooms.length === 0) {