E1904 Issues related to topic deadlines
Submission links: GitHub Pull Request: https://github.com/expertiza/expertiza/pull/1401 YouTube Video Showing Test: https://youtu.be/b3giXbKLirk
The following modifications were made:
1. Copied in some code from the previous semester's implementation of this project (https://github.com/expertiza/expertiza/pull/1270/commits/72d97ffb5dd2279202efb2b1d329d64618403725 - they didn't do it properly and weren't permitted to check-in)
2. Successfully recreated Expertiza issue #98
3. When checking whether a team needs to be removed from the waitlist, looped through all waitlisted teams on all topics for which the drop topic deadline has passed
4. Renamed the update_is_waitlisted method to clear_waitlisted_teams_for_topic to better reflect what the method does
5. Moved the code to clear the waitlists if needed to within sign_up_topic.rb so it can be called from multiple locations
6. Added call to clear the waitlists if needed to assignments_controller - edit and update, so the instructor can also see the updated state with the cleared waitlists
7. Verified Expertiza issue #98 has been fixed
8. Tested to ensure things work if it’s a staggered deadline assignment
9. Updated documentation on wiki
Unable to complete:
1. Remove commit fb75d88e5519e56003eaaa56e01173c0479d2682 from our branch
2. Adding field auto_dropped_from_waitlist to SignedUpTeam
3. Rather than deleting a waitlisted team from the topic altogether, unmark "is_waitlisted" and instead mark "auto_dropped_from_waitlist" to preserve the history
4. Adding the "auto_dropped_from_waitlist" to a view so the instructor could see it
5. Fix Expertiza issue #154
Accounts used for testing:
- instructor6/password
- student6390 (can impersonate using instructor6 account)
- student6391 (can impersonate using instructor6 account)
- student6392 (can impersonate using instructor6 account)
- student6393 (can impersonate using instructor6 account)
- student6394 (can impersonate using instructor6 account)
- student6395 (can impersonate using instructor6 account)
- student6396 (can impersonate using instructor6 account)
Other related issues found:
- When editing an assignment's due dates, the drop topic deadline won't display unless the signup deadline is displayed
- When a student is on the waitlist for more than one topic, only the row for one of the topics is grey
- There seems to be about a 20 minute drop topic deadline lag, some of the time
To recreate Expertiza issue #98, perform the following steps
- Login as username = instructor6, password = password
- Click "Manage...", then "Courses"
- Make sure "Courses" is selected when the page loads
- Click the blue plus sign (new) button
- On the "New Course" page, fill out / check the following:
Institution Name Course Name Course Directory Course Information Private course
- Click "Create"
- Click "Assignments" and then the blue plus sign (new) button
- On "General" page, fill out / check ONLY the following:
Assignment name Course (select the recently created course) Available to students?
- On "Rubrics" page, fill out the following:
Review: "Questionnaire" Author Feedback: "Questionnaire"
- On "Review strategy", leave all as is - On "Due dates" page, fill out the following:
Round 1: Submission "Date & time" Round 1: Review "Date & time"
- Click "Create"
- If not sent to "Editing Assignment:" page, navigate to it.
- In the "Topics" tab:
Click "New topic" Fill out all fields (put a small number for "Number of slots") Click Create
- In the "Other stuff" tab:
Click "Add Participant" Enter a username and click "Add" as "participant" (do this for multiple students - student6390, student6391, etc.)
- Navigate to the "Editing Assignment:" page for the assignment you just created
- In the "Due dates" tab:
Check "Use signup deadline" Check "Use drop topic deadline" Fill out Drop topic "Date & time"
- Click Save
- On the toolbar, hover over "Manage..."
- Click "Impersonate User"
- Enter a student's username who is a participant of this assignment
- Click on the assignment you just created
- Click "Signup sheet"
- Click the green checkmark under "Actions"
- (Repeat the above steps until there are enough students to have one on the waitlist)
- Revert the user impersonation so you're again controlling the instructor
- Navigate to the "Editing Assignment:" page again
- In the "Due dates" tab
Uncheck "Use drop topic deadline" Check "Use signup deadline" Check "Use drop topic deadline" Modify the drop topic deadline so it is soon, but not immediately
- Click save
- On the toolbar, hover over "Manage..."
- Click "Impersonate User"
- Enter a student's username who has signed up for a topic of this assignment
- Click on the assignment you just created
- Click "Signup sheet"
- Notice how the student has the option to drop this topic
- Also notice there is a student on the waitlist
- Allow the drop topic deadline you set to pass
- Refresh the page
- Notice now the student does not have the option to drop this topic
This is working as desired
- Also notice there is still a student on the waitlist
This is Expertiza issue #98 The waitlist should be cleared when a drop topic deadline has passed