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)
Problem Statement
- 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
Summary of Previous Team's 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).
Whenever an instructor submits a new grade, or edits an existing grade, the grading_history_controller saves a new history entry to the database.
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
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
Our Team's Design Proposal
Test Plan
(in progress)
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.