CSC/ECE 517 Fall 2020 - E2087. Conflict notification. Improve Search Facility In Expertiza

From Expertiza_Wiki
Revision as of 19:09, 22 October 2020 by Achirasa (talk | contribs) (→‎Test)
Jump to navigation Jump to search

Introduction

Expertiza includes the functionality of notifying instructors when a conflict occurs in review scores for a submission. Currently, when two reviews for the same submission differ significantly, an email is sent to the instructor of the course, but there is no link to the review that caused the conflict. This improvement will allow the professor to have links to the reviews that caused the conflict and will be formatted better to help the instructor understand the conflict.

Issues with previous submission

  1. The functionality is good but the UI of conflict report needs work.
  2. The UI needs to be cleaned up a little. When charts have only one or two bars, the chart can be compressed. The reviewer whose scores deviate from the threshold can be displayed in a different colored bar.
  3. Tests need to be refactored.
  4. They included their debug code in their pull request.
  5. They have included a lot of logic in the views.
  6. Shallow tests: one or more of their test expectations only focus on the return value not being `nil`, `empty` or not equal to `0` without testing the `real` value.

Proposed Solution

The previous team implemented new logic to determine if a review is in conflict with another and created a new page to link the instructors to in the email. Because their functionality was good, we will mainly be focused on improving the UI of the conflict reports. Furthermore, there is a lot of logic that lives in the views that can be refactored and moved to controllers. Additionally, there is debug code that can be removed and tests that can be fleshed out.

Logic in Views

File: app/views/reports/_review_conflict_metric.html.erb

The logic to determine if answers are within or outside of the tolerance limits can be moved to functions outside of the .erb file.

Improved Tests

File: spec/models/answer_spec.rb

Currently, tests only check if the values are not empty. More tests can be written to make sure the actual value is being returned correctly.

File: spec/controllers/reports_controller_spec.rb

More tests can be written to ensure correct names and values are written.

Functionality Changes

UI Changes

Test

test

Relevant Links

GitHub - https://github.com/salmonandrew/expertiza
Pull Request -

Team

Mentor: Sanket Pai (sgpai2@ncsu.edu)

  • Yen-An Jou (yjou@ncsu.edu)
  • Xiwen Chen (xchen33@ncsu.edu)
  • Andrew Hirasawa (achirasa@ncsu.edu)
  • Derrick Li (xli56@ncsu.edu)

References