CSC/ECE 517 Fall 2015/oss E1555 GMR: Difference between revisions
No edit summary |
No edit summary |
||
Line 38: | Line 38: | ||
* Work Item 6 (WI6): /models/team.rb : Refactored method for adding new members to a team. Customized method full? so that it can be used in multiple places. | * Work Item 6 (WI6): /models/team.rb : Refactored method for adding new members to a team. Customized method full? so that it can be used in multiple places. | ||
controllers/join_team_requests_controller.rb : added additional checks for handling the case of sending a team request to a team which is already full. These code changes were minor. | controllers/join_team_requests_controller.rb : added additional checks for handling the case of sending a team request to a team which is already full. These code changes were minor. Major work was setting up the test suite and writing test cases to test adding team members to a team. | ||
Major work was setting up the test suite and writing test cases to test adding team members to a team. | |||
== Testing Details == | == Testing Details == |
Revision as of 19:33, 31 October 2015
This is wiki page for the E1555 OSS assignment for Fall 2015, CSC/ECE 517.
Peer Review Information
For users intending to view the deployed Expertiza associated with this assignment, the credentials are below:
- Instructor login: username -> instructor6, password -> password
- Student login: username -> student5762, password -> password
- Student login: username -> student5763, password -> password
- Student login: username -> student5764, password -> password
Please make note that new accounts and password resets are disabled on the Expertiza deployment; That functionality is outside the scope of the assignment, and it is unnecessary to review that functionality.
Expertiza Background
Expertiza is an open-source web-application with functionality to facilitate the submission and peer review of assignments in an academic setting. Expertiza supports team based assignments, student and instructor roles, allocation of assignments to students (e.g. sign-ups) with number limits.
Assignment Scope & Description
For this assignment, 7 Work Items were assigned, requiring the modification and testing of the Expertiza Ruby on Rails code.
Of the 7 Work Items in the scope of our assignment: 3 of the Work Items involved making code changes to Expertiza, 3 other Work Items involved testing those changes, and one final Work Item had a deliverable of a recorded online video. Below is a list of the Work Items in scope, each with a "WI#" identifier, which will be used henceforth to reference the respective Work Item.
- WI1: Generate _team_name() exists in 2 places: team.rb line 41 and team_helper.rb line 62. Remove the one which is not used.
- WI2: Write test cases for the remaining generate _team_name() method.
- WI3: Test and fix (if any of them are broken) if export_fields(), import() and export() works for both assignment_team.rb and course_team.rb.
- WI4: Write tests for team exporting and importing for both assignment team and course team.
- WI5: Record a video which demos team exporting and importing, submit it to youtube and submit the youtube link to Expertiza.
- WI6: In add_member method, testing if the team can have more members (using “can_add_member” as flag variable) should be extracted to a single method. This method should be used by join_team_requests_controller.rb too.
- WI7: Write tests for adding members when both the team is full and not.
Solutions Implemented and Delivered
- Work Item 1 (WI1): The generate_team_name() method was removed from the team_helper.rb file. This file was removed because, during analysis and testing it was found that the the Generate_team_name method in the Team.rb model file was being executed.
- Work Item 3 (WI3): updated the export functions to export the team members' names consecutively instead of with a space in between them. I also overrode the add_member function in course_team so it doesn't check if the team is full. I then fixed up the course_team tests and added the assignment_team tests.
- Work Item 6 (WI6): /models/team.rb : Refactored method for adding new members to a team. Customized method full? so that it can be used in multiple places.
controllers/join_team_requests_controller.rb : added additional checks for handling the case of sending a team request to a team which is already full. These code changes were minor. Major work was setting up the test suite and writing test cases to test adding team members to a team.
Testing Details
incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid
- Work Item 2
- Work Item 4
- Work Item 7
Suggested Future Improvements
- Perform analysis on the remaining generate_team_name methods to validate whether or now the two remaining versions need to continue to exist in the code.