-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exam mode
: Prepare exercise start when generating student exams
#9119
base: develop
Are you sure you want to change the base?
Exam mode
: Prepare exercise start when generating student exams
#9119
Conversation
…xercises-automatically
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
…xercises-automatically
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
…xercises-automatically
WalkthroughThe changes involve modifications to the localization files for the Artemis application, specifically the removal of certain keys related to starting exercises and their associated messages in both German and English. Additionally, updates were made to the end-to-end testing suite, introducing a new test case for quiz exercise results and restructuring existing tests to accommodate this addition. The Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range comments (5)
src/main/webapp/app/exam/manage/student-exams/student-exams.component.html (1)
Line range hint
1-100
: Review of HTML Template Changes and Angular Syntax UsageThe removal of the
startExercisesButton
significantly alters the user interaction flow within the application. It's important to ensure that this functionality has been appropriately relocated or restructured to maintain a seamless user experience. The use of the new Angular syntax (@if
and@for
) is correctly implemented throughout the file, aligning with the latest Angular best practices.Ensure that the removal of the button does not degrade the user experience and that the new workflow for starting exercises is clearly communicated to the users.
src/main/webapp/app/exam/manage/student-exams/student-exams.component.ts (1)
Line range hint
1-300
: Review of TypeScript Component ChangesThe removal of the
startExercises
method from theStudentExamsComponent
represents a significant change in functionality. It's crucial to verify that this functionality has been relocated or restructured elsewhere in the application to maintain the integrity of the exam management process. The remaining methods, such ashandleGenerateStudentExams
andgenerateMissingStudentExams
, appear to be correctly implemented and are essential for the management of student exams.Verify that the removal of the
startExercises
method does not negatively impact the user experience and that alternative mechanisms for starting exercises are robust and clearly documented.src/test/java/de/tum/in/www1/artemis/service/exam/ExamQuizServiceTest.java (1)
Line range hint
1-400
: Review of Java Test Class ChangesThe modifications in the
ExamQuizServiceTest
class, including the removal of certain assertions and the introduction ofThread.sleep(1000)
, indicate a shift towards testing the state of student participations asynchronously. While this approach may better simulate real-world scenarios, it's important to ensure that the tests remain accurate and that the use of delays does not introduce flakiness or performance issues in the test suite.Consider using more robust asynchronous testing techniques, such as those provided by
Awaitility
, to handle timing issues more reliably thanThread.sleep()
.src/main/webapp/app/exam/manage/exam-management.service.ts (1)
Line range hint
1-1
: Confirm removal ofstartExercises
method.The removal of the
startExercises
method simplifies the control flow but may impact functionalities that depend on this method. Ensure that all functionalities that previously depended on this method are either removed or refactored to work without it.src/main/java/de/tum/in/www1/artemis/web/rest/StudentExamResource.java (1)
Line range hint
1-1
: Confirm removal ofstartExercises
method.The removal of the
startExercises
method simplifies theStudentExamResource
class but may impact functionalities that depend on this method. Ensure that all functionalities that previously depended on this method are either removed or refactored to work without it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on TS1, worked just fine and I could generate the exams. Changes appeared correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-approve after resolved merge conflicts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reapprove after resolving merge conflicts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-approve after merge conflicts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on TS1. Everything works as expected.
…xercises-automatically
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
Checklist
General
(https://docs.artemis.cit.tum.de/dev/guidelines/language-guidelines/).
Server
Client
Motivation and Context
Instructors sometimes forget to manually click the "Start Exercises" button before the exam begins. This can lead to a significant server overload when students start working on their exams, as all exercises need to be initiated simultaneously at that point. Automating the start of exercises helps prevent this potential performance issue and ensures a smoother experience for both students and instructors.
Description
The "Start Exercises" button has been removed, and the logic to start exercises has been moved to the point where student exams are generated. This ensures that exercises are started automatically during the exam generation process, eliminating the need for manual intervention and reducing the risk of server overload when students begin their exams.
Steps for Testing
Prerequisites:
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Review Progress
Performance Review
Code Review
Manual Tests
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests