E1904 Issues related to topic deadlines

From Expertiza_Wiki
Jump to navigation Jump to search

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