CSC/ECE 517 Spring 2022 - E2237: Grading audit trail
Team
Students
- Bhuwan Bhatt (brbhatt)
- Soumyadeep Chatterjee (schatte5)
- Kelly Fleming (kflemin3)
- Karthik Gopala Sundaresan (kgopala3)
Mentor
- Kai Xiao (yxiao28)
Topic Overview
Prior Work
You can read the entirety of the previous team's wiki write-up if desired.
Overview of Major Changes
A new table was added to the database (grading_history), along with the corresponding model (grading_history.rb) and controller (grading_history_controller.rb).
Two models for specific types of histories were added: review_grading_history.rb, and submission_grading_history.rb.
A view for displaying the grading history of a particular assignment or review was added (index_html.erb).
Modifications to Existing Files
- app/controllers/grades_controller.rb
- A grading history record is created for every edit to a submission's grade.
- app/controllers/review_mapping_controller.rb
- A grading history record is created for every edit to a review's grade.
- app/views/assignments/list_submissions.html.erb
- A link to access a submission's grade history is shown in the submissions table.
- app/views/reports/_review_report.html.erb
- A link to access a review's grade history is shown in the review report table.
Testing (NOTE: should probably remove this from here)
Functional tests ensuring specific method calls are made were added.
- functional tests added to these files
- spec/controllers/grades_controller_spec.rb
- spec/controllers/review_mapping_controller_spec.rb
- spec/controllers/grading_histories_controller_test.rb
A feature test ensuring that correct grading history is shown in chronological order was added.
- feature test handled by these two files
- spec/features/grade_histories_spec.rb
- spec/features/helpers/grade_histories_helper.rb
Whenever an instructor submits a new grade, or edits an existing grade, the grading_history_controller saves a new history entry to the database.
Statement of Problem
- For review grades, the “Grading History” link must not be in a separate column. It should be in smaller text below the “Save” button.
- In the view grading record page, remove the receiver column and add it to the title
- Restrict the column width on the grading record page
- Add comments on list_submissions.html.erb to indicate that the alignment was changed to fix code climate issues
- Ensure that white space changes are separate commits
- Revert changes made to list_review_mapping.html.erb
- Remove the _review_report.html.erb file
- Design doc – mention why each of those files were changed
Plan and List of Work Done
General Design Goals
Specific Tasks Completed
Initial Implementation
Final Implementation
Testing
Video Demonstration
Testing Goals and Test Objects
General Testing Plan
RSpec Unit Tests
Manual UI Tests
Discussion with mentor in progress to determine if UI Automation testing is in scope
Regression Testing
In order to ensure complete coverage, testing of the changes done between the end of last semester and this project was done.
Note to team: need to edit this after investigation
1. Investigate if this is testable using Capybara
2. Get the specific format requirement for the title, and assert that it's there. Ensure that this doesn't appear anywhere else (possible via ensuring count is 1)
3. Procure specific required column width, and assert that this is the value in the file (the constant)
4. Inquire with mentor about comment requirement and conflicts
5. Inquire with mentor regarding white space constraints
6. Inquire why the revert is needed, what is breaking and why
7. Ask mentor where this file is being called, and if functionality needs to be moved elsewhere.
8. Complete Design Document to reflect these changes.