CSC/ECE 517 Fall 2019 - E1976. Issues Related to Assignment Creation

From Expertiza_Wiki
Jump to navigation Jump to search

E1976. Issues Related to Assignment Creation

This page is a description of Expertiza OSS project E.1976 Issues Related to Assignment Creation. Project Github pull request: https://github.com/expertiza/expertiza/pull/1613

Github links about this project: https://github.com/Tian97/expertiza

Video Presentations:

Issue 1354: https://youtu.be/DuBK4toGk0E

Issue 1384: https://youtu.be/syYaQ6ZTasc

Issue 1430: https://youtu.be/xV9QueFjXV8

Problem Statement

For this project E1976, like the OSS project, we have three issues that need to be fixed in the expertiza. Firstly, a TA can unassign an assignment from the course which he don't belong to, and when TA does this, the other TA may lose access to the assignment, so they can't fix it. The second issue is, Sometimes, when an instructor creates an assignment and hits “Save” without completely filling out the form, (s)he ends up editing a different assignment. And the third problem is On an instructor's/admin's/TA's homepage, in the assignment list, there are three rows of icons for performing several operations. But right now an instructor is not able to choose whether to see these actions on the homepage or on a tab associated with each assignment.

Proposed Solutions

Issue #1430 - Shouldn't be able to move an assignment. to a course you don't have access to.

Proposed solution: We want to make sure that the TA can't access other assignments except the assignment which he assigned to this courses And we should then check if he is not in this course, he will not grant the right to unassign assignments.

issue #1384 - Instructor should be able to choose where to see assignment actions

Proposed solution: An instructor should be able to choose whether to see these actions on the homepage or on a tab associated with each assignment. So there should be a setting in the instructor’s Profile that controls these actions.

Issue #1354 - Creating one assignment, I was dropped into another assignment!

Proposed solution: The problem can be because there are two assignments with the same name.so it would lead to the old assignment when it is created, the system will sort all the lists of assignment names, then find the past duplicate name assignment, resulting in ends up editing a different assignment

Design Strategy

issue #1430

During changing the assignment, first we ask which course an assignment is a part of, and then list only those courses that the instructor or TA has access to. So the TA and the instructor can only deal with the courses they related to, but not the irrelevant courses.

issue #1384

The instructor could edit the course settings, and in "other stuff" the instructor could change the action icons to show whether these actions on the homepage or on a tab associated with each assignment. So in our cases we need to create a boolean attribute to control the action icons.


issue #1354

While the instructor creates the assignments having the same name with a created assignment, It was dropped into another assignment. In this problem, we need to set a double check while creating the assignments, if the name of the assignment has been used. That will fix the bug and also easy for the students to read.

Use Cases

issue#1430

UI testing in Web pages & Code implementation

Issue#1430

Log in as instructor6, create a course named "new course", add student34, student35 as TA in this course.

Assign an assignment named "new assignment" to "new course".

Since student34 only been add as TA in "new course", when he/she edits the assignment, he/she can only view the course named "new course". Old version the TA can view all courses and the None option "-----------" (view in issue statement), now edit assignment only the instructor can view all courses and None option "-----------".
the pages will show when the TA edit

the pages will show when the TA editInstructor edit

Issue#1384

Login as instructor6, click "profile" button, choose not enable Actions options in homepage

we have created a box named "Action options" in profile, only instructor can see this box.

go to the assignment page

Now instructor can only view few actions which are not included in original "other stuff" interface. (we rename "other stuff" to "Etc. ... as issue required)

enable the "Action options"

go to the assignment page

Now instructor can view all actions.

Issue#1354

Test Plan

issue#1384
  1. Login as an instructor
  2. Edit the course settings of other stuff
  3. Recording a video to show how the homepage change
issue#1430
  1. Login as TA
  2. Find out whether TA can view all assignment (this part our mentor need to discuss with the professor to clarify)
  3. Try to remove assignment which is not included in TA course
  4. Login as an instructor
  5. Try to remove the assignment
issue#1354

We have already reproduced this "same name" issue successfully.

  1. Create two assignments but choose a different course.
  2. First one's course is fall 2017, the second one's we choose fall 2016.
  3. Hit the "save" button of the second assignment, it will automatically show the page of the first assignment of course fall 2017.
  4. Add tests in files list below, and pass all tests.

Code added/modified

issue#1430

fixed the issue relate with issue#1430

issue#1384

1st link to Github fixed the issue#1384

2nd link to Github fixed the issue#1384

issue#1354

link to Github fixed the issue#1354

The following issues were fixed in a project last year, but they still lack tests.

issue#1008

Manual Testing

  1. Log in to Expertiza with the credentials: instructor6/password (on google chrome)
  2. Go to the Manage -> Assignments.
  3. Click on New Public Assignment
  4. On the new assignment creation page, under the General tab, give details for Assignment name, Course (choose CSC 517, Spring 2016) and Submission directory.
  5. Check the Staggered deadline assignment? checkbox.
  6. Click on the Rubrics tab and give some values for Review and Author Feedback, if there are any other fields apart from these give values to that too.
  7. Click on Create at the bottom.
  8. Now, click on the the Topics tab and further click on New Topic.
  9. Give suitable values to the fields and click on Create.
  10. Click on the Due dates tab.
  11. Check the Use signup deadline checkbox and give suitable dates for Signup, Round1: Submission and Round1: Review.
  12. Go back to the Topics tab and click on Show start/due date at the bottom.
  13. Change the Submission deadline date to date later than the date given for Signup on the Due dates tab.
  14. Click on save at the bottom.
  15. Now, click on the Other stuff tab and and further click on Add participant. It will open in a new tab.
  16. Click on Copy participants from course. After it adds the participants, close the tab.
  17. Go to Manage -> Impersonate User.
  18. Give student6360 for the Enter user account field and click on Impersonate.
  19. Click on Assignments and further click on the assignment that was created in the earlier steps.
  20. Click on Signup Sheet.
  21. You should be able to see a green tick mark under the Actions header and should be able to click on it and signup, which means the issue is fixed.
issue#1017

Manual Testing

Task Description: Teaching Assistant creating an assignment

Precondition: The instructor has set up the page for assignment creation

Primary Flow:

  1. Log in to Expertiza
  2. Select New Assignment
  3. Enter the Assignment Name and select Course.
  4. Check the parameters for the teams, quiz, badges categories etc.
  5. Click Create


Task Description: Instructor deleting an assignment

Precondition: There exists at least one assignment created by TA.

Primary Flow:

  1. Log in to Expertiza
  2. Select the Delete option in the action section for an assignment that is created by the TA.
  3. If Logged in as Instructor, the assignment gets deleted for that action.
  4. Else, the current participant is shown the error message that they do not have authorization to execute the delete option if they did not create that assignment.


Automated Testing

The issue as such did not require modifying the controller spec file for assignments since the changes were only made to the delete function and the test cases written a check for the display of proper flash messages that could be mapped for the modified code functionality. Only manual testing was performed to determine ssuccessful deletion by instructor.

issue#1072

Manual Testing

  1. Login to Expertiza as an instructor
  2. Create a new Assignment
  3. Click on the add participant button for the assignment created
  4. Modify the participant list by adding an instructor as a participant
  5. Check the list to see the instructor added to the assignment as a participant

Automated Testing

No automated test cases, only manual testing since the modifications are made to the view files


References

  1. Expertiza on Github
  2. GitHub Project Repository Fork
  3. Pull Request Link
  4. E1863_Issues_related_to_assignment_creation#Test_Plan