CSC/ECE 517 Fall 2019 - E1976. Issues Related to Assignment Creation: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 37: Line 37:


====issue #1354====
====issue #1354====
While the instructor creates the assignments having the same name with 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 have been used. That will fix the bug and also easy for the students to read.
While the instructor creates the assignments having the same name with 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===
===Use Cases===

Revision as of 05:50, 12 November 2019

E1976. Issues Related to Assignment Creation

This page is a description of Expertiza OSS project E.1976 Issues Related to Assignment Creation.

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 him don't belong to, and when TA do 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 him assigned to this courses And we should then check if he is not in this course, he will not grant right to unassign an 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

Implementation

Design Strategy

issue #1430

During changing the assignment, first we asks which course an assignment is 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 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:

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 dicuss with professor to clarify)
  3. Try to remove assignment which is not incluede in TA course
  4. Login as instructor
  5. Try to remove assignment
issue#1354

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

  1. Create two assignments but choose 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 first assignment of course fall 2017.
  4. Add tests in files list blow, and pass all tests.

File which are added/modified

System

/expertiza/app/controllers/assignments_controller.rb

/expertiza/app/controllers/profile_controller.rb

/expertiza/app/models/assignment_form.rb

/expertiza/app/models/assignment_node.rb

/expertiza/app/models/user.rb

UI

/expertiza/app/view/profile/profile_edit.html.erb

/expertiza/app/view/assignment/show.html.erb

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 check for the display of proper flash message that could be mapped for the modified code functionality. Only manual testing was performed to determine successful deletion by instructor.

issue#1072

Manual Testing

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

Automated Testing

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

Team Information

  1. Shuzheng Wang (swang41)
  2. Tianqiang Cao (tcao)
  3. Zhifeng Zhu (zzhu25)
  4. Bowen Zhang (bzhang37)

Mentor: Sharique Khan (mkhan8)
Professor: Dr. Edward F. Gehringer (efg)

References

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