CSC/ECE 517 Spring 2022 - E2231: Allow reviewers to bid on what to review
This wiki page is for the information regarding the changes made for the E2223 OSS assignment for Spring 2022, CSC/ECE 517.
Team
Mentor
- Divyang Doshi (ddoshi2)
Team Members
- Vijaya Durga Kona (vkona)
- Anand Morlaw (asmorlaw)
- Varun Garg (vgarg4)
- Jagdish Kini (jkini)
Introduction
Expertiza is a open source project developed on Ruby on Rails. This web application is maintained by the student and faculty at NC State. This application gives complete control to the instructor to maintain the assignments in their class. With multiple functionalities such as adding topics, creating groups, and peer reviews, Expertiza is a well developed application that can handle all types of assignments. To learn more about the full functionality Expertiza has to offer, visit the Expertiza wiki.
Design
Problems and planned changes
Problem: The method get_data_for_review_report violates the Expert pattern
get_data_for_review_report
passes back a data structure with multiple response
objects to the _review_report.html.erb
view. This violates the Expert pattern, because the given view does not know how to break apart the structure passed to it.
- Proposed Solution :
get_data_for_review_report
will be refactored to use partials
Diagram
Testing
- RSpec
- As such no functionality changed in any function, only refactoring done. All the refactoring was carefully verified by running rspec tests. To run the spec file, run:
- rspec spec/controllers/signup_sheet_controller_spec.rb
- Physical Testing
We found that add_signup_topics_staggered was simply calling add_signup_topics function. So we eliminated the add_signup_topics_staggered function and manually checked and found that it is working perfectly fine.
Delete signup and delete signup as instructor method successfully broken down to remove the dry code by creating a new helper function. This functionality has not been broken due to any changes and has been checked by running rspec and testing manually.
Edge Cases and Pre-Conditions
- When dropping topic if submission already done.
- When deadline from dropping topic has passed.
- Deleting topic when topic cannot be found.
- Signup in case when user cannot be found.
Login as instructor
- Hover on Manage Tab
- Click on Assignments Tab
- Click on Edit Button for "OSS project & documentation" assignment
- Select the Topic Tab
- Click the Green Check for any topic
- Enter a student UnityID and click submit
Login as student
- Click on OSS project/Writing assignment 2
- Click on Signup sheet
- The list must be visible, which indicates functionality is as before after refactoring list function.