diff --git a/client/src/__tests__/components/LiveResults/LiveResults.test.tsx b/client/src/__tests__/components/LiveResults/LiveResults.test.tsx index 269d83b..2083361 100644 --- a/client/src/__tests__/components/LiveResults/LiveResults.test.tsx +++ b/client/src/__tests__/components/LiveResults/LiveResults.test.tsx @@ -152,7 +152,7 @@ describe('LiveResults', () => { expect(classAverageElement).toBeInTheDocument(); }); - test('displays the correct answers per question', () => { + test('displays the correct answers per question in %', () => { render( { }); }); + test('displays the chosen answer in a question cell', () => { + render( + + ); + + // Show answers should be enabled + const showAnswersSwitch = screen.getByLabelText('Afficher les réponses'); + // Toggle the display of answers is it's not already enabled + if (!(showAnswersSwitch as HTMLInputElement).checked) { + fireEvent.click(showAnswersSwitch); + } + + mockStudents.forEach((student) => { + student.answers.forEach((answer) => { + const chosenAnswerElements = screen.getAllByText(answer.answer.join(', ')); + const chosenAnswerElement = chosenAnswerElements.find((element) => { + return element.closest('td')?.classList.contains('MuiTableCell-root'); + }); + expect(chosenAnswerElement).toBeInTheDocument(); + }); + }); + }); + }); diff --git a/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx b/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx index a0c67f7..ffc92bc 100644 --- a/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx +++ b/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx @@ -42,7 +42,11 @@ const LiveResultsTableFooter: React.FC = ({ const answer = student.answers.find( (answer) => parseInt(answer.idQuestion.toString()) === index + 1 ); - const answerText = answer ? answer.answer.toString() : ''; + const answerText = answer + ? Array.isArray(answer.answer) + ? answer.answer.join(', ') // Join array elements with a space or another delimiter + : "" // never reached + : ''; const isCorrect = answer ? answer.isCorrect : false; return ( @@ -63,6 +67,7 @@ const LiveResultsTableFooter: React.FC = ({ } > {showCorrectAnswers ? ( + // strips out formatting of answer text here (it will break images, katex, etc.)
) : isCorrect ? ( @@ -91,4 +96,4 @@ const LiveResultsTableFooter: React.FC = ({ ); }; -export default LiveResultsTableFooter; \ No newline at end of file +export default LiveResultsTableFooter;