From 0bc48f0e07f7b06008fd35638e2fb06349d23ffb Mon Sep 17 00:00:00 2001 From: David Liu Date: Sat, 11 Jan 2025 09:12:22 -0500 Subject: [PATCH] Convert front-end tests from enzyme to react testing library Also add @testing-library/user-event library. --- Changelog.md | 1 + app/assets/javascripts/Grader/marking.js | 2 +- .../Modals/graders_distribution_modal.jsx | 1 + .../Modals/submission_file_upload_modal.jsx | 4 +- .../Components/Result/marks_panel.jsx | 1 + .../Components/Result/submission_selector.jsx | 3 +- .../graders_distribution_modal.test.jsx | 39 +- .../__tests__/instructor_table.test.jsx | 34 +- .../__tests__/markdown_editor.test.jsx | 55 +- .../Components/__tests__/marks_panel.test.jsx | 307 +- .../__tests__/markus_file_manager.test.jsx | 13 +- .../__tests__/student_table.test.jsx | 106 +- .../submission_file_manager.test.jsx | 107 +- .../submission_file_upload_modal.test.jsx | 403 ++- .../__tests__/submission_selector.test.jsx | 163 +- app/javascript/Components/markdown_editor.jsx | 5 +- .../Components/markdown_preview.jsx | 2 + .../Components/markus_file_manager.jsx | 11 +- .../Components/submission_file_manager.jsx | 7 +- config/locales/views/modals/en.yml | 1 + jest_after_env_setup.js | 43 +- package-lock.json | 2643 +---------------- package.json | 3 +- 23 files changed, 822 insertions(+), 3132 deletions(-) diff --git a/Changelog.md b/Changelog.md index 20dd74065b..541dc7290c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -19,6 +19,7 @@ - Cache playwright's chromium installation on GitHub Actions (#7372) - Fix broken link to the Vagrant installation guide in `README.md` (#7349) - Fix `extra_hosts` configuration in `compose.yaml` (#7375) +- Convert front-end tests from enzyme to react testing library; add `@testing-library/user-event` (#7379) ## [v2.6.1] diff --git a/app/assets/javascripts/Grader/marking.js b/app/assets/javascripts/Grader/marking.js index f2c4f22f6b..d8d8227994 100644 --- a/app/assets/javascripts/Grader/marking.js +++ b/app/assets/javascripts/Grader/marking.js @@ -28,7 +28,7 @@ // designate $next_criteria as the currently selected criteria function activeCriterion($next_criteria) { if (!$next_criteria.hasClass("active-criterion")) { - $criteria_list = $(".marks-list > li"); + const $criteria_list = $(".marks-list > li"); // remove all previous active-criterion (there should only be one) $criteria_list.removeClass("active-criterion"); // scroll the $next_criteria to the top of the criterion bar diff --git a/app/javascript/Components/Modals/graders_distribution_modal.jsx b/app/javascript/Components/Modals/graders_distribution_modal.jsx index 76b5a21b15..aa20ad982b 100644 --- a/app/javascript/Components/Modals/graders_distribution_modal.jsx +++ b/app/javascript/Components/Modals/graders_distribution_modal.jsx @@ -31,6 +31,7 @@ export class GraderDistributionModal extends React.Component { = 1) { fileRenameInput = [ - + {filesToShow.map(filename => { return ; })} @@ -103,6 +103,7 @@ class SubmissionFileUploadModal extends React.Component { disabled={this.state.newFiles.length !== 1} title={I18n.t("submissions.student.one_file_allowed")} id={"rename-box"} + key={"datalist-textbox"} />, ]; } else { @@ -155,6 +156,7 @@ class SubmissionFileUploadModal extends React.Component { name={"new_files"} multiple={true} onChange={this.handleFileUpload} + title={I18n.t("modals.file_upload.file_input_label")} />