<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmfoley2</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmfoley2"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Cmfoley2"/>
	<updated>2026-08-13T18:25:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134354</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134354"/>
		<updated>2020-04-25T21:56:58Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Coverage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/32 #32 - Remove all debug comments in the UI]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the model for an Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/27 #27 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
We created a migration that defaulted the metareviews_allowed and metareviews_required in the Assignment table to nil instead of what the previous team had as 3.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_13.png]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Tests have been created that test if a metareview can have nil limits. In this case, no limit will be shown to the user. Before this change that was impossible&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
The changes were too long to screenshot, so here is the specific diff section:&lt;br /&gt;
&lt;br /&gt;
https://github.com/expertiza/expertiza/pull/1715/files#diff-540fd2bd6c34b48213716b1dd713733a&lt;br /&gt;
https://github.com/expertiza/expertiza/pull/1715/files#diff-80f39fa5f62c73ff8741b02d3b11656c&lt;br /&gt;
&lt;br /&gt;
== '''Discovered Bugs:''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 0 reviewers. The user should NOT be able to see the 'Request a new meta-review to perform' button when there are no reviews available.&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** A student should NOT be able to request a meta-review on their own review.&lt;br /&gt;
*** When the meta-review limit on the assignment is set to 1 then a student should NOT be able to request a second meta-review.&lt;br /&gt;
*** The user should not be able to see the 'Request a new meta-review to perform' button when they have performed all valid reviews.&lt;br /&gt;
** with 4 reviewers.&lt;br /&gt;
*** The user should be able to click the 'Begin' button and still see the 'Request a new meta-review to perform' button.&lt;br /&gt;
*** The user should NOT be able to see the 'Request a new meta-review to perform' button when they have reached the meta-review limit.&lt;br /&gt;
*** If the user requests two meta-reviews but has not submitted, then they should not be able to request a new meta-review.&lt;br /&gt;
*** The user should be able to request a meta-review if they are above their required but below the allowed number of meta-reviews.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is requested.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is completed.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. All meta-review tests make meta-reviews allowed only during the meta-review round. This means that if the simple meta-review test is passing then this feature is working as intended.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user is able to SUBMIT a simple meta-review.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and then if the failing test case described below would be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E2025_13.png&amp;diff=134352</id>
		<title>File:E2025 13.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E2025_13.png&amp;diff=134352"/>
		<updated>2020-04-25T21:55:29Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134351</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134351"/>
		<updated>2020-04-25T21:55:14Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/32 #32 - Remove all debug comments in the UI]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the model for an Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/27 #27 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
We created a migration that defaulted the metareviews_allowed and metareviews_required in the Assignment table to nil instead of what the previous team had as 3.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_13.png]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Tests have been created that test if a metareview can have nil limits. In this case, no limit will be shown to the user. Before this change that was impossible&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
The changes were too long to screenshot, so here is the specific diff section:&lt;br /&gt;
&lt;br /&gt;
https://github.com/expertiza/expertiza/pull/1715/files#diff-540fd2bd6c34b48213716b1dd713733a&lt;br /&gt;
https://github.com/expertiza/expertiza/pull/1715/files#diff-80f39fa5f62c73ff8741b02d3b11656c&lt;br /&gt;
&lt;br /&gt;
== '''Discovered Bugs:''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 0 reviewers. The user should NOT be able to see the 'Request a new meta-review to perform' button when there are no reviews available.&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** A student should NOT be able to request a meta-review on their own review.&lt;br /&gt;
*** When the meta-review limit on the assignment is set to 1 then a student should NOT be able to request a second meta-review.&lt;br /&gt;
*** The user should not be able to see the 'Request a new meta-review to perform' button when they have performed all valid reviews.&lt;br /&gt;
** with 4 reviewers.&lt;br /&gt;
*** The user should be able to click the 'Begin' button and still see the 'Request a new meta-review to perform' button.&lt;br /&gt;
*** The user should NOT be able to see the 'Request a new meta-review to perform' button when they have reached the meta-review limit.&lt;br /&gt;
*** If the user requests two meta-reviews but has not submitted, then they should not be able to request a new meta-review.&lt;br /&gt;
*** The user should be able to request a meta-review if they are above their required but below the allowed number of meta-reviews.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is requested.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is completed.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. All meta-review tests make meta-reviews allowed only during the meta-review round. This means that if the simple meta-review test is passing then this feature is working as intended.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user is able to SUBMIT a simple meta-review.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134348</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134348"/>
		<updated>2020-04-25T21:52:44Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* #27 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/32 #32 - Remove all debug comments in the UI]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the model for an Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/27 #27 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
We created a migration that defaulted the metareviews_allowed and metareviews_required in the Assignment table to nil instead of what the previous team had as 3.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_13.png]]&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
&lt;br /&gt;
Tests have been created that test if a metareview can have nil limits. In this case, no limit will be shown to the user. Before this change that was impossible&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Discovered Bugs:''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 0 reviewers. The user should NOT be able to see the 'Request a new meta-review to perform' button when there are no reviews available.&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** A student should NOT be able to request a meta-review on their own review.&lt;br /&gt;
*** When the meta-review limit on the assignment is set to 1 then a student should NOT be able to request a second meta-review.&lt;br /&gt;
*** The user should not be able to see the 'Request a new meta-review to perform' button when they have performed all valid reviews.&lt;br /&gt;
** with 4 reviewers.&lt;br /&gt;
*** The user should be able to click the 'Begin' button and still see the 'Request a new meta-review to perform' button.&lt;br /&gt;
*** The user should NOT be able to see the 'Request a new meta-review to perform' button when they have reached the meta-review limit.&lt;br /&gt;
*** If the user requests two meta-reviews but has not submitted, then they should not be able to request a new meta-review.&lt;br /&gt;
*** The user should be able to request a meta-review if they are above their required but below the allowed number of meta-reviews.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is requested.&lt;br /&gt;
*** The user should see the number of meta-reviews left decrement after a new meta-review is completed.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. All meta-review tests make meta-reviews allowed only during the meta-review round. This means that if the simple meta-review test is passing then this feature is working as intended.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
Functional tests from a student perspective are in /spec/features/meta_review_spec.rb. The tests assume the allowed number of meta-reviews is 5 and the required number of meta-reviews is 3. Tests for this feature are explained in summary below:&lt;br /&gt;
* For assignments that have a meta-review deadline...&lt;br /&gt;
** with 1 reviewer.&lt;br /&gt;
*** The user is able to SUBMIT a simple meta-review.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134335</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134335"/>
		<updated>2020-04-25T20:24:21Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Discovered Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the controller for Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Discovered Bugs:''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/31 #31 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/29 #29 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134334</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134334"/>
		<updated>2020-04-25T20:24:15Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* #48 - Number of meta-reviews allowed for an assignment is always  nil */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the controller for Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Discovered Bugs''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/31 #31 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/29 #29 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134333</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134333"/>
		<updated>2020-04-25T20:23:54Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the controller for Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/31 #31 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/29 #29 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134332</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=134332"/>
		<updated>2020-04-25T20:23:47Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
* When a user requests a new meta-review, the field which says the number of meta-reviews left ( refer to above image “Numbers of Meta-reviews left:”) does not change and the button to request a new meta-review disappears.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
There was a mistake in &amp;lt;code&amp;gt;app/views/response/_review.html.erb&amp;lt;/code&amp;gt; where &amp;quot;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;hr/&amp;gt;&amp;lt;&amp;lt;nowiki/&amp;gt;br/&amp;gt;&amp;quot; was being displayed under the review being meta-reviewed. This was due to being included as a string constant rather than html code. &lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_comments_response_review.PNG]]&lt;br /&gt;
&lt;br /&gt;
There was an instance in &amp;lt;code&amp;gt;app/views/response/view.html.erb&amp;lt;/code&amp;gt; where ruby code responsible for getting a review to be displayed was being interpreted and displayed, even though the response was being displayed as html in the line before. This resulted in the response details being listed in the UI erroneously.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_debug_response_view.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/49 #49 - &amp;quot;Request a new meta-review&amp;quot; button crashes when there are no available reviews]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we conditionally hide the button based on whether or not the participant has reviews available to perform. These checks are located in assignment.rb which is the controller for Assignment. The following method was added to assignment.rb and returns true when the participant has a valid meta-review available.&lt;br /&gt;
&lt;br /&gt;
  # Returns true if there is a meta-review task available for the user&lt;br /&gt;
  def metareview_available?(user_id)&lt;br /&gt;
    metareviewer = AssignmentParticipant.where(user_id: user_id, parent_id: self.id).first&lt;br /&gt;
    begin&lt;br /&gt;
      self.response_map_to_metareview(metareviewer)&lt;br /&gt;
      true&lt;br /&gt;
    rescue &lt;br /&gt;
      false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/48 #48 - Number of meta-reviews allowed for an assignment is always  nil]''' ==&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/45 #45 - &amp;quot;Request a new meta-review&amp;quot; button bugs]''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Request new a meta-review&amp;quot; button should be hidden when:&lt;br /&gt;
# The number of meta-reviews in-progress is greater than the maximum allowed outstanding reviews.&lt;br /&gt;
# The number of reviews allowed is limited AND the total number of meta-reviews completed or in-progress is greater than the number allowed.&lt;br /&gt;
# There are no valid reviews available for the participant.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. The code below shows the conditional used to display the &amp;quot;Request new meta-review&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;% if @num_metareviews_in_progress &amp;gt;= Assignment.max_outstanding_reviews %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can't have more than 2 outstanding meta-reviews. You must complete one of your&lt;br /&gt;
    outstanding meta-reviews before selecting another.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif @assignment.num_metareviews_allowed &amp;amp;&amp;amp; @num_metareviews_total == @assignment.num_metareviews_allowed %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Note: You can not do more than &amp;lt;%=@assignment.num_metareviews_allowed%&amp;gt; meta-reviews according&lt;br /&gt;
    to assignment policy.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% elsif (!@assignment.metareview_available?(session[:user].id)) %&amp;gt;&lt;br /&gt;
    &amp;lt;span&amp;gt;Meta-reviews cannot be performed at this time.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;% else %&amp;gt;&lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
  &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/31 #31 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/30 #30 - “Numbers of Meta-reviews left:” does not update after a user requests a review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Number of meta-reviews left should decrement when a user requests a meta-review. Current behavior only decremented when a review was submitted.&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of Meta-Reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_completed %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed behavior:&lt;br /&gt;
&lt;br /&gt;
 Number of meta-reviews left: &amp;lt;%= @assignment.num_metareviews_allowed - @num_metareviews_total %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/43 #43 - &amp;quot;Review Allowed&amp;quot; flag is required to be set on a due_date for a user to perform a meta-review.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
When an assignment with a meta-review is created the round that meta-reviews will be performed in should have the &amp;quot;Meta-review allowed&amp;quot; option set to yes. This should be the only requirement for making meta-reviews available in that round. The problem with the current implementation is that meta-reviews can only be performed in rounds where the &amp;quot;Review allowed&amp;quot; option is set.&lt;br /&gt;
&lt;br /&gt;
[[File:E2025 Issue43.png]]&lt;br /&gt;
&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were applied to app/views/student_review/_responses.html.erb. Since this partial is shared by both reviews and meta-reviews in list.html.erb the title variable was used to determine if the begin option should be active or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; @assignment.can_review(topic_id) %&amp;gt;&lt;br /&gt;
Current behavior:&lt;br /&gt;
 &amp;lt;% elsif @assignment.get_current_stage(topic_id) != &amp;quot;Complete&amp;quot; &amp;amp;&amp;amp; &lt;br /&gt;
        ((@assignment.can_review(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Review&amp;quot;) ||&lt;br /&gt;
         (@assignment.metareview_allowed(topic_id) &amp;amp;&amp;amp; title == &amp;quot;Meta-review&amp;quot;)) %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/RPHolloway/expertiza/issues/29 #29 - Tests]&lt;br /&gt;
&lt;br /&gt;
== '''[https://github.com/RPHolloway/expertiza/issues/50 #50 - The submit button is not available for meta-reviews.]''' ==&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Users should see save and submit buttons as part of the meta-review form. These buttons should have the same behavior as the review form. The problem right now is there is not submit button for meta-reviews.&lt;br /&gt;
===Changes===&lt;br /&gt;
Code changes were made adding 'Metareview' to the conditional that determines if the submit button should be shown or not.&lt;br /&gt;
&lt;br /&gt;
Previous behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review')) %&amp;gt;&lt;br /&gt;
New behavior:&lt;br /&gt;
 &amp;lt;% if @title &amp;amp;&amp;amp; ((@title.eql? 'Review') || (@title.eql? 'Self Review') || (@title.eql? 'Metareview'))%&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag &amp;quot;Submit &amp;quot;+@title, :name =&amp;gt; &amp;quot;Submit&amp;quot;, :id =&amp;gt; &amp;quot;Submit&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/info.png&amp;quot; title='- SAVE will only store the peer-review as draft and the peer-review will not be displayed to the reviewee. After clicking SUBMIT, the peer-review will be displayed to reviewee, and you will not be able to update it any more.'&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133669</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133669"/>
		<updated>2020-04-20T21:20:42Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Proposed Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;% elsif @num_metareviews_in_progress == 0 %&amp;gt; &lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to a new file called meta_review_spec from the user perspective and edit the assignment_creation_spec from the instructors perspective.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133668</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133668"/>
		<updated>2020-04-20T21:03:56Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Proposed Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Work===&lt;br /&gt;
&lt;br /&gt;
This assignment is a repeat of E1997 which was assigned to students last semester, Fall 2019.&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
Our goals are to update the logic, refactor non-DRY code, and fix bugs.&lt;br /&gt;
&lt;br /&gt;
===Meta-Review Flow Design===&lt;br /&gt;
&lt;br /&gt;
This diagram describes the interactions of the meta-review system.(From E1997)&lt;br /&gt;
&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing.&lt;br /&gt;
&lt;br /&gt;
Debug messages shown when viewing a completed meta review:&lt;br /&gt;
[[File:Debug_comments.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_outofreviews.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;% elsif @num_metareviews_in_progress == 0 %&amp;gt; &lt;br /&gt;
    &amp;lt;%= render :partial =&amp;gt; 'set_dynamic_metareview', :locals =&amp;gt; {:assignment =&amp;gt; @assignment} %&amp;gt;&lt;br /&gt;
 &amp;lt;% end %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. &lt;br /&gt;
&lt;br /&gt;
For example: The &amp;quot;new&amp;quot; method has meta review checks that should probably be abstracted and placed as private methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will also continue applying this to any changes that we make across the course of the project. This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to a new file called meta_review_spec&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of required and allowed meta-reviews is always being set to 3 in the database. Per the specs of the feature, it should default the database values to NULL. When checkbox &amp;quot;Use meta-review deadline&amp;quot;, in the &amp;quot;Due Dates&amp;quot; tab, is selected then the view should populate required and allowed meta-reviews to 3.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without meta-review limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
file: schema.rb&lt;br /&gt;
&lt;br /&gt;
  create_table &amp;quot;assignments&amp;quot;, force: :cascade do |t|&lt;br /&gt;
    ...&lt;br /&gt;
    t.boolean  &amp;quot;is_anonymous&amp;quot;,                                                     default: true&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_required&amp;quot;,                               limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_required&amp;quot;,                           limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_metareviews_allowed&amp;quot;,                            limit: 4,     default: '''NULL'''&lt;br /&gt;
    t.integer  &amp;quot;num_reviews_allowed&amp;quot;,                                limit: 4,     default: 3&lt;br /&gt;
    t.integer  &amp;quot;simicheck&amp;quot;,                                          limit: 4,     default: -1&lt;br /&gt;
    ...&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
file: _review_strategy.html.erb &lt;br /&gt;
&lt;br /&gt;
This file has all the logic to populate the view with a default value once the &amp;quot;Use meta-review deadline&amp;quot; is checked. No modifications needed.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Testing ===&lt;br /&gt;
&lt;br /&gt;
1. Log in as super_administrator2.  Password is &amp;quot;password&amp;quot;. Click on mange...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
2. Create a new Assignment by clicking the &amp;quot;+&amp;quot; button. Give the assignment these fields: Name, Course and Submission Directory.&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_general.png]]&lt;br /&gt;
&lt;br /&gt;
3. Go to &amp;quot;Due Dates&amp;quot; tab and check &amp;quot;Use meta-review deadline&amp;quot; and then set the due dates 1 into the FUTURE for each review round and meta-review. Leave everything else as default as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_duedates.png]]&lt;br /&gt;
&lt;br /&gt;
4. Go to the &amp;quot;Rubrics&amp;quot; tab and populate as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:New_assignment_rubrics.png]]&lt;br /&gt;
&lt;br /&gt;
5. OPTIONAL: Go to &amp;quot;Review strategy page and select &amp;quot;Has meta-review limit?&amp;quot; and set the number of allowed and required meta-reviews.&lt;br /&gt;
&lt;br /&gt;
6. Once done, &amp;quot;Create&amp;quot; the assignment.&lt;br /&gt;
&lt;br /&gt;
7. Go back to Assignments. manage...-&amp;gt; Assignments.&lt;br /&gt;
&lt;br /&gt;
8. Find the newly created assignment and click on &amp;quot;Add participant&amp;quot;. Add the students below:&lt;br /&gt;
&lt;br /&gt;
[[File:add_participants.png]]&lt;br /&gt;
&lt;br /&gt;
9. Go to manage...Impersonate User and impersonate &amp;quot;Student485&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Go to the newly created assignment and submit a link for the assignment.&lt;br /&gt;
&lt;br /&gt;
11. Revert back to super_administrator2 and change the submission due date to a date in the PAST so we are currently in the review stage.&lt;br /&gt;
&lt;br /&gt;
12. Impersonate student486 and request for a new review under others work, submit the review.&lt;br /&gt;
&lt;br /&gt;
13. Revert back to super_administrator2 as previously described and change the review due date to be passed so we are currently in the meta-review stage.&lt;br /&gt;
&lt;br /&gt;
14. Impersonate as student485 and Request for a new meta review.&lt;br /&gt;
&lt;br /&gt;
15. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
16. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Current test coverage is 41.348%. Code coverage will increase based on the test plan above and the failing test case described below will be fixed.&lt;br /&gt;
&lt;br /&gt;
Travis CI is currently failing because of:&lt;br /&gt;
  Failures:&lt;br /&gt;
  1) assignment function general tab should edit quiz number available to students&lt;br /&gt;
     Failure/Error:&lt;br /&gt;
       child_nodes.each do |node|&lt;br /&gt;
         initialize_fnode_update_children(params, node, tmp_res)&lt;br /&gt;
       end&lt;br /&gt;
     NoMethodError:&lt;br /&gt;
       undefined method `each' for &amp;quot;&amp;quot;:String&lt;br /&gt;
     # ./app/controllers/tree_display_controller.rb:209:in `children_node_ng'&lt;br /&gt;
     # ./config/diagnostic.rb:11:in `call'&lt;br /&gt;
     # ------------------&lt;br /&gt;
     # --- Caused by: ---&lt;br /&gt;
     # Capybara::CapybaraError:&lt;br /&gt;
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true&lt;br /&gt;
     #   /home/travis/build/expertiza/expertiza/vendor/bundle/ruby/2.2.0/gems/capybara-2.17.0/lib/capybara/session.rb:145:in `raise_server_error!'&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133206</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133206"/>
		<updated>2020-04-12T02:13:15Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
&lt;br /&gt;
Because our changes to the code is entirely logical, refactoring, and bug fixing, the existing design describes the interactions of the system that will continue after our involvement.&lt;br /&gt;
&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133205</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133205"/>
		<updated>2020-04-12T02:11:27Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
&lt;br /&gt;
Because our changes to the code is mostly logical, refactoring, and bug fixing, the existing design describes the interactions of the system that will continue after our involvement.&lt;br /&gt;
&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133204</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133204"/>
		<updated>2020-04-12T02:11:14Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
&lt;br /&gt;
Because our changes to the code is mostly logical and bug fixing, the existing design describes the interactions of the system that will continue after our involvement.&lt;br /&gt;
&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133203</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133203"/>
		<updated>2020-04-12T02:10:57Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
&lt;br /&gt;
Because the changes to the existing code is mostly logical and bug fixing, the existing design describes the interactions of the system that will continue after our involvement.&lt;br /&gt;
&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133202</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133202"/>
		<updated>2020-04-12T02:09:31Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Proposed Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133201</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133201"/>
		<updated>2020-04-12T02:07:54Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
The code in _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder is lazily written and does not really adhere to the project specifications of how metareviews should work on assignment creation. These views need to be edited to work correctly and also respond to the changes in issue 5.&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133200</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133200"/>
		<updated>2020-04-12T02:05:01Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Proposed Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
This also will apply to the scripts that are used in the _due_dates.html.erb and the _review_strategy.html.erb within the /app/app/views/assignments/edit folder. They should be extracted to somewhere else.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133199</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133199"/>
		<updated>2020-04-12T02:02:10Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 6 - Meta Review Limit Table is Not Functioning Correctly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit is Not Functioning Correctly in Assignment Creation''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do within the assignment creation.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133198</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133198"/>
		<updated>2020-04-12T02:01:23Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133197</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133197"/>
		<updated>2020-04-12T02:01:08Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133196</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133196"/>
		<updated>2020-04-12T02:00:48Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;br /&gt;
Before implementation of the tests, coverage is 41.348%&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133195</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133195"/>
		<updated>2020-04-12T01:56:26Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Assignment Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value (3 for all) for Assignments in the db&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the Assignment database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133194</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133194"/>
		<updated>2020-04-12T01:54:12Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
===Proposed Change===&lt;br /&gt;
&lt;br /&gt;
This will just require making a new migration in the database to set the default to NULL instead of 3, which we believe it is now on default. This may also bring up other issues in the code in the view by allowing assignments without metareview limits, but we are unable to see that at this time.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133193</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133193"/>
		<updated>2020-04-12T01:51:38Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 4 - Creating Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
We will add tests to the following files where necessary to match the testing for normal reviews:&lt;br /&gt;
&lt;br /&gt;
assignments_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_form_spec.rb&lt;br /&gt;
&lt;br /&gt;
assignment_participant_spec.rb&lt;br /&gt;
&lt;br /&gt;
reports_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
response_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_helper_spec.rb&lt;br /&gt;
&lt;br /&gt;
review_mapping_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_review_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
student_task_controller_spec.rb&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133192</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133192"/>
		<updated>2020-04-12T01:42:12Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 3 - Private Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
On first inspection, this will mainly apply to the code that is located in the Response Controller (response_conotroller.rb) and the view for &amp;quot;list.html.erb&amp;quot; under app/views/student_review. We will also continue applying this to any changes that we make across the course of the project.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133191</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133191"/>
		<updated>2020-04-12T01:36:59Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 2 - Request a new Review Button */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
This issue deals with the view &amp;quot;list.html.erb&amp;quot; under /app/views/student_review. Here we will conditionally hide the button based on checks that are already done on the database side, but now can be used on the view side. These checks are located in assignment.rb which is the Model for Assignment.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133190</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133190"/>
		<updated>2020-04-12T01:17:50Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Proposed Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
Review MetaviewResponseMap.html.erb that deals with displaying the review and remove the debugging code.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133189</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=133189"/>
		<updated>2020-04-12T00:48:52Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 1 - Removing Debugging Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified. The task is to fix these issues so that this feature can be used again.&lt;br /&gt;
&lt;br /&gt;
* An assignment is deemed to have meta-reviews if and only if there is a meta-review deadline for this assignment in the `assignments_questionnaires` table.&lt;br /&gt;
* If there is no meta-review deadline, then don’t show the question about whether there is a max meta-review limit.&lt;br /&gt;
* In the DB the default number of meta-reviews allowed and required should be null.&lt;br /&gt;
* As soon as someone checks the Has meta-review Limit box on the Review Strategy tab, the UI should fill in 3 and 3 as the required and allowed number.&lt;br /&gt;
* Student pages should show the list of reviews that have been performed.&lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Proposed Changes===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below.&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132936</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132936"/>
		<updated>2020-04-08T16:57:19Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Reproducing Existing Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132935</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132935"/>
		<updated>2020-04-08T16:57:01Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Reproducing Existing Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132934</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132934"/>
		<updated>2020-04-08T16:56:32Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Reproducing Existing Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132933</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132933"/>
		<updated>2020-04-08T16:56:26Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;has meta review limit&amp;quot; should determine whether a limit or requirement is placed on the student to complete meta reviews. If disabled, then they should be able to complete as many as they want. This is independent of the Meta Review STAGE that is enabled/disabled in the due dates tab. They should not impact each other and currently do&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132932</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132932"/>
		<updated>2020-04-08T16:54:36Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Issue 6 - Meta Review Limit Table is Not Functioning Correctly''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
1. If the &amp;quot;Use meta-review deadline&amp;quot; is disabled, then the Meta Review Limit panel disappears&lt;br /&gt;
2. &amp;quot;Has meta-review limit?&amp;quot; is hidden on edit&lt;br /&gt;
3. Possibility the &amp;quot;Has meta-review limit?&amp;quot; not being saved on assignment creation?&lt;br /&gt;
4. If the &amp;quot;Use meta-review deadline&amp;quot; is toggled (disabled, enabled), then the &amp;quot;Has meta-review limit?&amp;quot; resets to disabled&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132930</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132930"/>
		<updated>2020-04-08T16:30:47Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Reproducing Existing Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and confirm that &amp;quot;Use meta-review deadline&amp;quot; checkbox is unchecked&lt;br /&gt;
&lt;br /&gt;
3. Use rails c to access the DB&lt;br /&gt;
&lt;br /&gt;
4. Observe that all assignments contain the incorrect db value&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132929</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132929"/>
		<updated>2020-04-08T16:28:36Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 5 - Defaulting Required and Allowed Meta-reviews to NULL in Database''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
Currently, the number of default and allowed meta-reviews is always being set to 3. Per the specs of the feature, it should default to NULL.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to request a metareview if they have reached the limit of their allowed reviews&lt;br /&gt;
&lt;br /&gt;
8. A student should be able to request a metareview if they are above their required but below their allowed reviews&lt;br /&gt;
&lt;br /&gt;
9. A student should not be able to request a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
10. A student should not be able to request a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
11. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
12. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
13. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132928</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132928"/>
		<updated>2020-04-08T16:24:00Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, you have completed all allowed metareviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to submit a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
8. A student should not be able to submit a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
9. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
10. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
11. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132834</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132834"/>
		<updated>2020-04-07T22:18:24Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1, student2, and student3) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student3 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to submit a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
8. A student should not be able to submit a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
9. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
10. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
11. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132833</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132833"/>
		<updated>2020-04-07T22:17:13Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Issue 2 - Change Update to Edit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Request a new Review Button''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
When there are no valid metareviews to perform (either there are no reivews performed on the assignment, the only valid reviews concern your own work or own reviews, or you have reviewed all valid reviews already) then the &amp;quot;Request a New Review&amp;quot; button still is visible and displays the following error (correctly) when pressed.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 (the one with the submission) and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
[[File:E2025_1.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to submit a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
8. A student should not be able to submit a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
9. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
10. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
11. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:E2025_1.png&amp;diff=132832</id>
		<title>File:E2025 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:E2025_1.png&amp;diff=132832"/>
		<updated>2020-04-07T22:17:03Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132828</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132828"/>
		<updated>2020-04-07T21:57:47Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Automated Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. If I create an assignment, then the number of meta-reviews is set to null.&lt;br /&gt;
&lt;br /&gt;
2. If 'Use metareview deadline' is not enabled in the due dates tab, then the meta-review fields in the review strategy tab are not visible.&lt;br /&gt;
&lt;br /&gt;
3. If the metareview limit on the assignment is set to 3, then a student will see they need to submit 3 meta reviews&lt;br /&gt;
&lt;br /&gt;
4. If the metareview deadline is enabled, the assignment cannot be created without a metareview rubric&lt;br /&gt;
&lt;br /&gt;
5. If the assignment created is in a stage that does not have metareview enabled, a metareview cannot be created&lt;br /&gt;
&lt;br /&gt;
6. If the assignment does not have any legal meta reviews, then the &amp;quot;Request a new metareview to perform&amp;quot; button is not visible&lt;br /&gt;
&lt;br /&gt;
7. A student should not be able to submit a metareview about their own work. &lt;br /&gt;
&lt;br /&gt;
8. A student should not be able to submit a metareview about themselves. &lt;br /&gt;
&lt;br /&gt;
9. If there is a valid metareview to perform related to two other students, then the metareview should be able to be performed.&lt;br /&gt;
&lt;br /&gt;
10. If a student has requested two metareviewes but have not submitted it, then they should not be able to request a new metareview.&lt;br /&gt;
&lt;br /&gt;
11. If the metareview limit on the assignment is set to 1 then a student should not be able to request a second meta review&lt;br /&gt;
&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132688</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132688"/>
		<updated>2020-04-07T01:56:56Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(From E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132687</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132687"/>
		<updated>2020-04-07T01:56:41Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Existing Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
(Courtesy of E1997)&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132681</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132681"/>
		<updated>2020-04-06T16:52:02Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
===Previous Project===&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
===Existing Design===&lt;br /&gt;
[[File:E1997_1.PNG]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132680</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132680"/>
		<updated>2020-04-06T16:45:25Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Reproducing Existing Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
== '''Previous Project''' ==&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
== '''Design Pattern''' ==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132679</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132679"/>
		<updated>2020-04-06T16:45:13Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Manual Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
== '''Previous Project''' ==&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
== '''Design Pattern''' ==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
7. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
8. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
9. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
10. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132678</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132678"/>
		<updated>2020-04-06T16:43:57Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Overview of Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. While this feature was previously edited, these were a few more changes that needed to be addresses before a pull request can be approved. &lt;br /&gt;
&lt;br /&gt;
== '''Previous Project''' ==&lt;br /&gt;
&lt;br /&gt;
Details of the previous implementation can be found here:&lt;br /&gt;
[http://https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1997._Issues_related_to_meta-reviewing E1997]&lt;br /&gt;
&lt;br /&gt;
== '''Design Pattern''' ==&lt;br /&gt;
&lt;br /&gt;
Design patterns are not applicable as our task involved just modification of existing methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Issue 1 - Removing Debugging Comments''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
It was noted in the previous team's implementation that multiple debugging comments were showing up during their video testing&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 2 - Change Update to Edit''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
&lt;br /&gt;
In order to follow the best practices for rails apps and better match the CRUD endpoints recognized by most developers, we should change the button from 'Update' to 'Edit' in the application. Edit should be used to grab a new form that a user can use to change values in an existing object, which is the action we are doing in this feature. Update should be used to then send that changed object to the database to be saved.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
7. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
8. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
9. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
10. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Issue12.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Issue 3 - Private Methods''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
Within the code for the meta-reviewing, it is noted that many statements could be moved to private methods to avoid conflating the purpose of the method with meta-reviewing specifics. We will use the code climate as a guide to reduce the block size and use existing or new private methods when possible to make the logic of the program easier to follow.&lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Issue 4 - Creating Tests''' ==&lt;br /&gt;
&lt;br /&gt;
===Issue Description===&lt;br /&gt;
There are currently no spec files associated with meta-reviewing. We will need to create these files and test according to the test plan listed below. &lt;br /&gt;
&lt;br /&gt;
===Reproducing Existing Issue===&lt;br /&gt;
&lt;br /&gt;
== '''Testing''' ==&lt;br /&gt;
&lt;br /&gt;
===Manual Testing===&lt;br /&gt;
1. Log in as instructor6, click on mange...-&amp;gt; Assignments&lt;br /&gt;
2. Click on edit assignment, navigate to Due Dates and check &amp;quot;Use meta-review deadline&amp;quot; checkbox&lt;br /&gt;
3. Select &amp;quot;Yes&amp;quot; for all submission allowed, Review allowed and Meta-review allowed in all of the deadline types&lt;br /&gt;
4. Navigate back to Assignment Tree View and click on &amp;quot;Add participant&amp;quot;&lt;br /&gt;
5. Add couple of students(say student1 and student2) to the assignment&lt;br /&gt;
6. Impersonate/login as student1 and make a submission&lt;br /&gt;
7. Log in as instructor6 as previously described and change the submission due date to be passed so we are currently in the review stage&lt;br /&gt;
8. Impersonate/login as student2 and Request for a new review under others work, submit the review&lt;br /&gt;
9. Log in as instructor6 as previously described and change the review due date to be passed so we are currently in the meta-review stage&lt;br /&gt;
10. Impersonate/login back as student1 and Request for a new meta review&lt;br /&gt;
11. Press &amp;quot;Begin&amp;quot; and complete the meta-review&lt;br /&gt;
12. When the review is complete, the &amp;quot;Begin&amp;quot; should disappear and be replaced with &amp;quot;View&amp;quot; and &amp;quot;Update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Automated Test Plan===&lt;br /&gt;
1. Ensure that when an assignment is created, the number of meta-reviews is set to null.&lt;br /&gt;
2. Ensure that the meta-review fields in the review strategy tab are visible only when 'Use metareview deadline' is enabled in the Due dates tab.&lt;br /&gt;
===Coverage===&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132677</id>
		<title>CSC/ECE 517 Spring 2020 - E2025: Issues Related to Meta - Reviewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_E2025:_Issues_Related_to_Meta_-_Reviewing&amp;diff=132677"/>
		<updated>2020-04-06T16:11:40Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Overview of Project''' ==&lt;br /&gt;
&lt;br /&gt;
In Expertiza, meta-review is a feature that enables a third party to evaluate the quality of feedback that a reviewer gives a reviewee. meta-review is an important feature that can help students become better reviewers for their peers by providing detailed feedback that is actionable and positively formulated. Unfortunately, this feature is broken and the following issues were identified.&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132157</id>
		<title>CSC/ECE 517 Spring 2020 - Project E2011. Refactor assignment creation spec.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132157"/>
		<updated>2020-03-26T15:27:00Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Refactoring Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E2011. Refactoring assignment_creation_spec.rb ==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project. &lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem Statement ===&lt;br /&gt;
The two major tasks for this project were the following:&lt;br /&gt;
&lt;br /&gt;
* Refactor existing test cases to follow good coding practices. This includes variable names, following the Don't Repeat Yourself (DRY) principle, and more.&lt;br /&gt;
* Check coverage of assignment_creation_spec.rb and improve upon it through additional testing.&lt;br /&gt;
&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
The assignment_creation_spec file contains test cases that ensure proper functionality of an instructor's workflow in regards to the creation of assignments. An instructor, when logged into Expertiza, should be able to create new assignments where each assignment has it's own assigned parameters, rubrics, review strategies and due dates. At the start of this project, all logic and handling of testing this instructor workflow was handled within a single file. This single-file implementation leads to problems with maintenance, and such problems within this implementation can be abstracted into one of these forms:&lt;br /&gt;
&lt;br /&gt;
*'''File is too long''': This file exceeds 250 lines of code, and should not.&lt;br /&gt;
*'''Block has too many lines''': Within the file, the code used to handle a certain operation is implemented with too many subroutines within one block.&lt;br /&gt;
*'''Similar/Exact block(s) of code found''': Across the file, there were duplicate/near-duplicate blocks of code being used.&lt;br /&gt;
*'''General syntax issues''': This could include unnecessary whitespace, use of deprecated classes or things of the like.&lt;br /&gt;
&lt;br /&gt;
==Refactoring Process==&lt;br /&gt;
The first refactor that our team did was to extract methods from what otherwise would be duplicate code and large block sizes. The previous team had started this process, but we were able to follow it to completion. We also then moved all of these extracted methods into the helper class assignment_creation_helper.rb. Here is an example of extracted methods that the previous team had created: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        def get_questionnaire(finder_var = nil)&lt;br /&gt;
		if finder_var.nil?&lt;br /&gt;
			AssignmentQuestionnaire.find_by(assignment_id: @assignment.id)&lt;br /&gt;
		else&lt;br /&gt;
			AssignmentQuestionnaire.where(assignment_id: @assignment.id).where(questionnaire_id: get_selected_id(finder_var))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def get_selected_id(finder_var)&lt;br /&gt;
		if finder_var == &amp;quot;ReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			ReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;AuthorFeedbackQuestionnaire2&amp;quot;&lt;br /&gt;
			AuthorFeedbackQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;TeammateReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			TeammateReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def fill_assignment_form&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: 'edit assignment for test'&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory1'&lt;br /&gt;
		fill_in 'assignment_form_assignment_spec_location', with: 'testLocation1'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def assignment_creation_setup(privacy,name)&lt;br /&gt;
		login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
		new_assignment_url = &amp;quot;/assignments/new?private=#{privacy}&amp;quot;&lt;br /&gt;
		visit new_assignment_url&lt;br /&gt;
&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: name&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory'&lt;br /&gt;
	end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of how we were able to reduce block size and duplicate code with further extraction of methods into assignment_creation_helper.rb:&lt;br /&gt;
&lt;br /&gt;
[[File:E2011RefactoringDiff.png]]&lt;br /&gt;
&lt;br /&gt;
Another major refactor we did was to break up the one large 'describe' block in assignment_creation_spec, which contained all of the tests for that controller. Since assignment creation has many different pages, we created a separate file for testing each page or responsibility.&lt;br /&gt;
&lt;br /&gt;
Beyond the creation of the helper file, assignment_creation_spec.rb was broken up into the following files:&lt;br /&gt;
*assignment_creation_dates_spec.rb&lt;br /&gt;
*assignment_creation_deadlines_spec.rb&lt;br /&gt;
*assignment_creation_general_tab_spec.rb&lt;br /&gt;
*assignment_creation_page_spec.rb&lt;br /&gt;
*assignment_creation_participants_spec.rb&lt;br /&gt;
*assignment_creation_review_strategy_spec.rb&lt;br /&gt;
*assignment_creation_rubrics_spec.rb&lt;br /&gt;
*assignment_creation_topics_spec.rb&lt;br /&gt;
&lt;br /&gt;
In the relocation of assignment_creation_spec's functionality and creation of new constituent files, additional refactoring was done to ensure that trailing whitespace was deleted, files ended with a final newline character, and other unnecessary characters were removed. All of this was to remove any other problems that code climate detected.&lt;br /&gt;
&lt;br /&gt;
=== Additional Code Climate Issues ===&lt;br /&gt;
&lt;br /&gt;
There were a few things that code climate detected that we decided did not need to be refactored. The first was a complaint about blocks being too large, even after we divided the one large 'describe' statement into many smaller ones. This is because, in rspec, each test has its own 'it' block, but all of those must be grouped in a larger 'describe' block. I suggest that this be discussed with the teams who may refactor the other test files or have code climate to be configured to instead look just at the 'it' block size.&lt;br /&gt;
&lt;br /&gt;
This is an diagram on how otherwise good ruby code may be flagged by code climate:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'describe' block&lt;br /&gt;
  'it' block&lt;br /&gt;
    (23 lines of code) - Code climate: √ &lt;br /&gt;
  'it' block&lt;br /&gt;
    (15 lines of code) - Code climate: √&lt;br /&gt;
  'it' block&lt;br /&gt;
    (11 lines of code) - Code climate: √&lt;br /&gt;
end  - Code climate: X (23+15+11 = 49 lines)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, code climate was suggesting to change DateTime to Date or Time. As assignments are due not only on a certain day but at a specific time and that this would require a large refactoring of the entire Expertiza system for tracking submission times, we decided it was beyond the scope of this refactor.&lt;br /&gt;
&lt;br /&gt;
==Testing Plan==&lt;br /&gt;
As part of the refactoring, we fixed a few broken tests in the original assignments_controller_spec.rb and created additional ones to increase coverage. We used TDD to see which tests that were created were breaking and used that to drive our implementation of the controller.&lt;br /&gt;
&lt;br /&gt;
Here is the extensive list of test cases handled&lt;br /&gt;
&lt;br /&gt;
'''1. assignments_controller_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-allows edit when an admin&lt;br /&gt;
&lt;br /&gt;
-allows edit when an instructor&lt;br /&gt;
&lt;br /&gt;
-does not allow edit when TA of course but not TA of current assignment&lt;br /&gt;
&lt;br /&gt;
-allows new when admin/instructor/ta&lt;br /&gt;
&lt;br /&gt;
-does not allow new when student&lt;br /&gt;
&lt;br /&gt;
-#new creates a new AssignmentForm object and renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is saved successfully, it redirects to &lt;br /&gt;
assignment#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is not saved successfully, it renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment has staggered deadlines, it shows a flash message and renders edit page&lt;br /&gt;
&lt;br /&gt;
-during update when params does not have key :assignment_form, it shows a note flash message and redirects to tree_display#index page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not saved successfully, it shoes an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is not nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-on action #show, it renders the #show page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id fetches successfully, it 'redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment directory is same as old it should show an error and redirect to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id does not fetch successfully, it shows an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment is deleted successfully, it shows a success flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not deleted successfully, it shows an error flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is removed from course successfully, it removes assignment and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-showing list submissions&lt;br /&gt;
&lt;br /&gt;
(the following are the assignment_creation_spec.rb split into files by responsability)&lt;br /&gt;
'''2. assignment_creation_dates_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create assignment with a new late policy&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''3. assignment_creation_deadlines_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''4. assignment_creation_general_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should edit assignment available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit quiz number available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit number of members per team&lt;br /&gt;
&lt;br /&gt;
-it should edit review visible to all other reviewers&lt;br /&gt;
&lt;br /&gt;
-it should check if checking calibration shows the tab&lt;br /&gt;
&lt;br /&gt;
'''5. assignment_creation_page_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create a public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create with teams&lt;br /&gt;
&lt;br /&gt;
-it is able to create with quiz&lt;br /&gt;
&lt;br /&gt;
-it is able to create with staggered deadline&lt;br /&gt;
&lt;br /&gt;
-it is able to create with review visible to all reviewers&lt;br /&gt;
&lt;br /&gt;
-it is able to create public micro-task assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create calibrated public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab review strategy&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab due deadlines&lt;br /&gt;
&lt;br /&gt;
-it should set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab rubrics&lt;br /&gt;
&lt;br /&gt;
-it is able to show attributes in rubrics&lt;br /&gt;
&lt;br /&gt;
-it should sets attributes for review strategy auto selects&lt;br /&gt;
&lt;br /&gt;
-it should check to find if the assignment can be added to a course&lt;br /&gt;
&lt;br /&gt;
'''6. assignment_creation_participants_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should check to see if participants can be added&lt;br /&gt;
&lt;br /&gt;
-it should display newly created assignment&lt;br /&gt;
'''&lt;br /&gt;
7. assignment_creation_review_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should auto selects correct values&lt;br /&gt;
&lt;br /&gt;
-it should set number of reviews by each student&lt;br /&gt;
&lt;br /&gt;
'''8. assignment_creation_rubrics_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should update review questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update scored question dropdown&lt;br /&gt;
&lt;br /&gt;
-it should update author feedback questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update teammate review questionnaire&lt;br /&gt;
&lt;br /&gt;
'''9. assignment_creation_topics_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it can edit topics properties&lt;br /&gt;
&lt;br /&gt;
-it procedes without topics properties&lt;br /&gt;
&lt;br /&gt;
-it can create new topics&lt;br /&gt;
&lt;br /&gt;
-it can delete existing topic&lt;br /&gt;
&lt;br /&gt;
-it hides topics tab when has topics is un-checked&lt;br /&gt;
&lt;br /&gt;
==Code of Additional Rspec Tests Created==&lt;br /&gt;
Looking at the methods that were covered in assignments_controller.rb we decided to create the following additional test cases for assignment creation.&lt;br /&gt;
&lt;br /&gt;
These are additions to the existing assignments_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
[[File:E2011NewTests.png]]&lt;br /&gt;
&lt;br /&gt;
==RSpec Video ScreenCast Demos==&lt;br /&gt;
Links to RSpec screencasts for new test cases.&lt;br /&gt;
#  [https://drive.google.com/open?id=1AIi3MtD_TtUN5F1k3kzgqIgi8ficz_Ar Assignment Creation General Tab]&lt;br /&gt;
#  [https://drive.google.com/open?id=1VnH_4NSLBX1x7xeYnH1Zsy6XG_nWD7Vk Assignment Creation Topic]&lt;br /&gt;
#  [https://drive.google.com/open?id=1jUQSgXjjI5jQBTWAkD8YGhYnYIIXPtnq Assignment Creation Page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Coverage==&lt;br /&gt;
92.86% for assignments_controller.rb&lt;br /&gt;
&lt;br /&gt;
Overall coverage increased (+28.04%) to 52.334%&lt;br /&gt;
&lt;br /&gt;
== Project Mentors ==&lt;br /&gt;
#Dr. Edward Gehringer (efg@ncsu.edu)&lt;br /&gt;
#Srujana Rachakonda (srachak@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== Team Members ==&lt;br /&gt;
#Colin Foley (cmfoley2@ncsu.edu)&lt;br /&gt;
#Ayush Khot (akhot@ncsu.edu)&lt;br /&gt;
#Christian Morris (cgmorris@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132156</id>
		<title>CSC/ECE 517 Spring 2020 - Project E2011. Refactor assignment creation spec.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132156"/>
		<updated>2020-03-26T15:26:49Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Testing Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E2011. Refactoring assignment_creation_spec.rb ==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project. &lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem Statement ===&lt;br /&gt;
The two major tasks for this project were the following:&lt;br /&gt;
&lt;br /&gt;
* Refactor existing test cases to follow good coding practices. This includes variable names, following the Don't Repeat Yourself (DRY) principle, and more.&lt;br /&gt;
* Check coverage of assignment_creation_spec.rb and improve upon it through additional testing.&lt;br /&gt;
&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
The assignment_creation_spec file contains test cases that ensure proper functionality of an instructor's workflow in regards to the creation of assignments. An instructor, when logged into Expertiza, should be able to create new assignments where each assignment has it's own assigned parameters, rubrics, review strategies and due dates. At the start of this project, all logic and handling of testing this instructor workflow was handled within a single file. This single-file implementation leads to problems with maintenance, and such problems within this implementation can be abstracted into one of these forms:&lt;br /&gt;
&lt;br /&gt;
*'''File is too long''': This file exceeds 250 lines of code, and should not.&lt;br /&gt;
*'''Block has too many lines''': Within the file, the code used to handle a certain operation is implemented with too many subroutines within one block.&lt;br /&gt;
*'''Similar/Exact block(s) of code found''': Across the file, there were duplicate/near-duplicate blocks of code being used.&lt;br /&gt;
*'''General syntax issues''': This could include unnecessary whitespace, use of deprecated classes or things of the like.&lt;br /&gt;
&lt;br /&gt;
=== Refactoring Process ===&lt;br /&gt;
The first refactor that our team did was to extract methods from what otherwise would be duplicate code and large block sizes. The previous team had started this process, but we were able to follow it to completion. We also then moved all of these extracted methods into the helper class assignment_creation_helper.rb. Here is an example of extracted methods that the previous team had created: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        def get_questionnaire(finder_var = nil)&lt;br /&gt;
		if finder_var.nil?&lt;br /&gt;
			AssignmentQuestionnaire.find_by(assignment_id: @assignment.id)&lt;br /&gt;
		else&lt;br /&gt;
			AssignmentQuestionnaire.where(assignment_id: @assignment.id).where(questionnaire_id: get_selected_id(finder_var))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def get_selected_id(finder_var)&lt;br /&gt;
		if finder_var == &amp;quot;ReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			ReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;AuthorFeedbackQuestionnaire2&amp;quot;&lt;br /&gt;
			AuthorFeedbackQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;TeammateReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			TeammateReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def fill_assignment_form&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: 'edit assignment for test'&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory1'&lt;br /&gt;
		fill_in 'assignment_form_assignment_spec_location', with: 'testLocation1'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def assignment_creation_setup(privacy,name)&lt;br /&gt;
		login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
		new_assignment_url = &amp;quot;/assignments/new?private=#{privacy}&amp;quot;&lt;br /&gt;
		visit new_assignment_url&lt;br /&gt;
&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: name&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory'&lt;br /&gt;
	end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of how we were able to reduce block size and duplicate code with further extraction of methods into assignment_creation_helper.rb:&lt;br /&gt;
&lt;br /&gt;
[[File:E2011RefactoringDiff.png]]&lt;br /&gt;
&lt;br /&gt;
Another major refactor we did was to break up the one large 'describe' block in assignment_creation_spec, which contained all of the tests for that controller. Since assignment creation has many different pages, we created a separate file for testing each page or responsibility.&lt;br /&gt;
&lt;br /&gt;
Beyond the creation of the helper file, assignment_creation_spec.rb was broken up into the following files:&lt;br /&gt;
*assignment_creation_dates_spec.rb&lt;br /&gt;
*assignment_creation_deadlines_spec.rb&lt;br /&gt;
*assignment_creation_general_tab_spec.rb&lt;br /&gt;
*assignment_creation_page_spec.rb&lt;br /&gt;
*assignment_creation_participants_spec.rb&lt;br /&gt;
*assignment_creation_review_strategy_spec.rb&lt;br /&gt;
*assignment_creation_rubrics_spec.rb&lt;br /&gt;
*assignment_creation_topics_spec.rb&lt;br /&gt;
&lt;br /&gt;
In the relocation of assignment_creation_spec's functionality and creation of new constituent files, additional refactoring was done to ensure that trailing whitespace was deleted, files ended with a final newline character, and other unnecessary characters were removed. All of this was to remove any other problems that code climate detected.&lt;br /&gt;
&lt;br /&gt;
=== Additional Code Climate Issues ===&lt;br /&gt;
&lt;br /&gt;
There were a few things that code climate detected that we decided did not need to be refactored. The first was a complaint about blocks being too large, even after we divided the one large 'describe' statement into many smaller ones. This is because, in rspec, each test has its own 'it' block, but all of those must be grouped in a larger 'describe' block. I suggest that this be discussed with the teams who may refactor the other test files or have code climate to be configured to instead look just at the 'it' block size.&lt;br /&gt;
&lt;br /&gt;
This is an diagram on how otherwise good ruby code may be flagged by code climate:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'describe' block&lt;br /&gt;
  'it' block&lt;br /&gt;
    (23 lines of code) - Code climate: √ &lt;br /&gt;
  'it' block&lt;br /&gt;
    (15 lines of code) - Code climate: √&lt;br /&gt;
  'it' block&lt;br /&gt;
    (11 lines of code) - Code climate: √&lt;br /&gt;
end  - Code climate: X (23+15+11 = 49 lines)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, code climate was suggesting to change DateTime to Date or Time. As assignments are due not only on a certain day but at a specific time and that this would require a large refactoring of the entire Expertiza system for tracking submission times, we decided it was beyond the scope of this refactor.&lt;br /&gt;
&lt;br /&gt;
==Testing Plan==&lt;br /&gt;
As part of the refactoring, we fixed a few broken tests in the original assignments_controller_spec.rb and created additional ones to increase coverage. We used TDD to see which tests that were created were breaking and used that to drive our implementation of the controller.&lt;br /&gt;
&lt;br /&gt;
Here is the extensive list of test cases handled&lt;br /&gt;
&lt;br /&gt;
'''1. assignments_controller_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-allows edit when an admin&lt;br /&gt;
&lt;br /&gt;
-allows edit when an instructor&lt;br /&gt;
&lt;br /&gt;
-does not allow edit when TA of course but not TA of current assignment&lt;br /&gt;
&lt;br /&gt;
-allows new when admin/instructor/ta&lt;br /&gt;
&lt;br /&gt;
-does not allow new when student&lt;br /&gt;
&lt;br /&gt;
-#new creates a new AssignmentForm object and renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is saved successfully, it redirects to &lt;br /&gt;
assignment#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is not saved successfully, it renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment has staggered deadlines, it shows a flash message and renders edit page&lt;br /&gt;
&lt;br /&gt;
-during update when params does not have key :assignment_form, it shows a note flash message and redirects to tree_display#index page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not saved successfully, it shoes an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is not nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-on action #show, it renders the #show page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id fetches successfully, it 'redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment directory is same as old it should show an error and redirect to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id does not fetch successfully, it shows an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment is deleted successfully, it shows a success flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not deleted successfully, it shows an error flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is removed from course successfully, it removes assignment and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-showing list submissions&lt;br /&gt;
&lt;br /&gt;
(the following are the assignment_creation_spec.rb split into files by responsability)&lt;br /&gt;
'''2. assignment_creation_dates_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create assignment with a new late policy&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''3. assignment_creation_deadlines_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''4. assignment_creation_general_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should edit assignment available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit quiz number available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit number of members per team&lt;br /&gt;
&lt;br /&gt;
-it should edit review visible to all other reviewers&lt;br /&gt;
&lt;br /&gt;
-it should check if checking calibration shows the tab&lt;br /&gt;
&lt;br /&gt;
'''5. assignment_creation_page_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create a public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create with teams&lt;br /&gt;
&lt;br /&gt;
-it is able to create with quiz&lt;br /&gt;
&lt;br /&gt;
-it is able to create with staggered deadline&lt;br /&gt;
&lt;br /&gt;
-it is able to create with review visible to all reviewers&lt;br /&gt;
&lt;br /&gt;
-it is able to create public micro-task assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create calibrated public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab review strategy&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab due deadlines&lt;br /&gt;
&lt;br /&gt;
-it should set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab rubrics&lt;br /&gt;
&lt;br /&gt;
-it is able to show attributes in rubrics&lt;br /&gt;
&lt;br /&gt;
-it should sets attributes for review strategy auto selects&lt;br /&gt;
&lt;br /&gt;
-it should check to find if the assignment can be added to a course&lt;br /&gt;
&lt;br /&gt;
'''6. assignment_creation_participants_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should check to see if participants can be added&lt;br /&gt;
&lt;br /&gt;
-it should display newly created assignment&lt;br /&gt;
'''&lt;br /&gt;
7. assignment_creation_review_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should auto selects correct values&lt;br /&gt;
&lt;br /&gt;
-it should set number of reviews by each student&lt;br /&gt;
&lt;br /&gt;
'''8. assignment_creation_rubrics_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should update review questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update scored question dropdown&lt;br /&gt;
&lt;br /&gt;
-it should update author feedback questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update teammate review questionnaire&lt;br /&gt;
&lt;br /&gt;
'''9. assignment_creation_topics_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it can edit topics properties&lt;br /&gt;
&lt;br /&gt;
-it procedes without topics properties&lt;br /&gt;
&lt;br /&gt;
-it can create new topics&lt;br /&gt;
&lt;br /&gt;
-it can delete existing topic&lt;br /&gt;
&lt;br /&gt;
-it hides topics tab when has topics is un-checked&lt;br /&gt;
&lt;br /&gt;
==Code of Additional Rspec Tests Created==&lt;br /&gt;
Looking at the methods that were covered in assignments_controller.rb we decided to create the following additional test cases for assignment creation.&lt;br /&gt;
&lt;br /&gt;
These are additions to the existing assignments_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
[[File:E2011NewTests.png]]&lt;br /&gt;
&lt;br /&gt;
==RSpec Video ScreenCast Demos==&lt;br /&gt;
Links to RSpec screencasts for new test cases.&lt;br /&gt;
#  [https://drive.google.com/open?id=1AIi3MtD_TtUN5F1k3kzgqIgi8ficz_Ar Assignment Creation General Tab]&lt;br /&gt;
#  [https://drive.google.com/open?id=1VnH_4NSLBX1x7xeYnH1Zsy6XG_nWD7Vk Assignment Creation Topic]&lt;br /&gt;
#  [https://drive.google.com/open?id=1jUQSgXjjI5jQBTWAkD8YGhYnYIIXPtnq Assignment Creation Page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Coverage==&lt;br /&gt;
92.86% for assignments_controller.rb&lt;br /&gt;
&lt;br /&gt;
Overall coverage increased (+28.04%) to 52.334%&lt;br /&gt;
&lt;br /&gt;
== Project Mentors ==&lt;br /&gt;
#Dr. Edward Gehringer (efg@ncsu.edu)&lt;br /&gt;
#Srujana Rachakonda (srachak@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== Team Members ==&lt;br /&gt;
#Colin Foley (cmfoley2@ncsu.edu)&lt;br /&gt;
#Ayush Khot (akhot@ncsu.edu)&lt;br /&gt;
#Christian Morris (cgmorris@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132155</id>
		<title>CSC/ECE 517 Spring 2020 - Project E2011. Refactor assignment creation spec.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2020_-_Project_E2011._Refactor_assignment_creation_spec.rb&amp;diff=132155"/>
		<updated>2020-03-26T15:26:38Z</updated>

		<summary type="html">&lt;p&gt;Cmfoley2: /* Code of Additional Rspec Tests Created */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E2011. Refactoring assignment_creation_spec.rb ==&lt;br /&gt;
&lt;br /&gt;
This page provides a description of the Expertiza based OSS project. &lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Problem Statement ===&lt;br /&gt;
The two major tasks for this project were the following:&lt;br /&gt;
&lt;br /&gt;
* Refactor existing test cases to follow good coding practices. This includes variable names, following the Don't Repeat Yourself (DRY) principle, and more.&lt;br /&gt;
* Check coverage of assignment_creation_spec.rb and improve upon it through additional testing.&lt;br /&gt;
&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
The assignment_creation_spec file contains test cases that ensure proper functionality of an instructor's workflow in regards to the creation of assignments. An instructor, when logged into Expertiza, should be able to create new assignments where each assignment has it's own assigned parameters, rubrics, review strategies and due dates. At the start of this project, all logic and handling of testing this instructor workflow was handled within a single file. This single-file implementation leads to problems with maintenance, and such problems within this implementation can be abstracted into one of these forms:&lt;br /&gt;
&lt;br /&gt;
*'''File is too long''': This file exceeds 250 lines of code, and should not.&lt;br /&gt;
*'''Block has too many lines''': Within the file, the code used to handle a certain operation is implemented with too many subroutines within one block.&lt;br /&gt;
*'''Similar/Exact block(s) of code found''': Across the file, there were duplicate/near-duplicate blocks of code being used.&lt;br /&gt;
*'''General syntax issues''': This could include unnecessary whitespace, use of deprecated classes or things of the like.&lt;br /&gt;
&lt;br /&gt;
=== Refactoring Process ===&lt;br /&gt;
The first refactor that our team did was to extract methods from what otherwise would be duplicate code and large block sizes. The previous team had started this process, but we were able to follow it to completion. We also then moved all of these extracted methods into the helper class assignment_creation_helper.rb. Here is an example of extracted methods that the previous team had created: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        def get_questionnaire(finder_var = nil)&lt;br /&gt;
		if finder_var.nil?&lt;br /&gt;
			AssignmentQuestionnaire.find_by(assignment_id: @assignment.id)&lt;br /&gt;
		else&lt;br /&gt;
			AssignmentQuestionnaire.where(assignment_id: @assignment.id).where(questionnaire_id: get_selected_id(finder_var))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def get_selected_id(finder_var)&lt;br /&gt;
		if finder_var == &amp;quot;ReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			ReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;AuthorFeedbackQuestionnaire2&amp;quot;&lt;br /&gt;
			AuthorFeedbackQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		elsif finder_var == &amp;quot;TeammateReviewQuestionnaire2&amp;quot;&lt;br /&gt;
			TeammateReviewQuestionnaire.find_by(name: finder_var).id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def fill_assignment_form&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: 'edit assignment for test'&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory1'&lt;br /&gt;
		fill_in 'assignment_form_assignment_spec_location', with: 'testLocation1'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	def assignment_creation_setup(privacy,name)&lt;br /&gt;
		login_as(&amp;quot;instructor6&amp;quot;)&lt;br /&gt;
		new_assignment_url = &amp;quot;/assignments/new?private=#{privacy}&amp;quot;&lt;br /&gt;
		visit new_assignment_url&lt;br /&gt;
&lt;br /&gt;
		fill_in 'assignment_form_assignment_name', with: name&lt;br /&gt;
		select('Course 2', from: 'assignment_form_assignment_course_id')&lt;br /&gt;
		fill_in 'assignment_form_assignment_directory_path', with: 'testDirectory'&lt;br /&gt;
	end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of how we were able to reduce block size and duplicate code with further extraction of methods into assignment_creation_helper.rb:&lt;br /&gt;
&lt;br /&gt;
[[File:E2011RefactoringDiff.png]]&lt;br /&gt;
&lt;br /&gt;
Another major refactor we did was to break up the one large 'describe' block in assignment_creation_spec, which contained all of the tests for that controller. Since assignment creation has many different pages, we created a separate file for testing each page or responsibility.&lt;br /&gt;
&lt;br /&gt;
Beyond the creation of the helper file, assignment_creation_spec.rb was broken up into the following files:&lt;br /&gt;
*assignment_creation_dates_spec.rb&lt;br /&gt;
*assignment_creation_deadlines_spec.rb&lt;br /&gt;
*assignment_creation_general_tab_spec.rb&lt;br /&gt;
*assignment_creation_page_spec.rb&lt;br /&gt;
*assignment_creation_participants_spec.rb&lt;br /&gt;
*assignment_creation_review_strategy_spec.rb&lt;br /&gt;
*assignment_creation_rubrics_spec.rb&lt;br /&gt;
*assignment_creation_topics_spec.rb&lt;br /&gt;
&lt;br /&gt;
In the relocation of assignment_creation_spec's functionality and creation of new constituent files, additional refactoring was done to ensure that trailing whitespace was deleted, files ended with a final newline character, and other unnecessary characters were removed. All of this was to remove any other problems that code climate detected.&lt;br /&gt;
&lt;br /&gt;
=== Additional Code Climate Issues ===&lt;br /&gt;
&lt;br /&gt;
There were a few things that code climate detected that we decided did not need to be refactored. The first was a complaint about blocks being too large, even after we divided the one large 'describe' statement into many smaller ones. This is because, in rspec, each test has its own 'it' block, but all of those must be grouped in a larger 'describe' block. I suggest that this be discussed with the teams who may refactor the other test files or have code climate to be configured to instead look just at the 'it' block size.&lt;br /&gt;
&lt;br /&gt;
This is an diagram on how otherwise good ruby code may be flagged by code climate:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'describe' block&lt;br /&gt;
  'it' block&lt;br /&gt;
    (23 lines of code) - Code climate: √ &lt;br /&gt;
  'it' block&lt;br /&gt;
    (15 lines of code) - Code climate: √&lt;br /&gt;
  'it' block&lt;br /&gt;
    (11 lines of code) - Code climate: √&lt;br /&gt;
end  - Code climate: X (23+15+11 = 49 lines)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, code climate was suggesting to change DateTime to Date or Time. As assignments are due not only on a certain day but at a specific time and that this would require a large refactoring of the entire Expertiza system for tracking submission times, we decided it was beyond the scope of this refactor.&lt;br /&gt;
&lt;br /&gt;
=== Testing Plan ===&lt;br /&gt;
As part of the refactoring, we fixed a few broken tests in the original assignments_controller_spec.rb and created additional ones to increase coverage. We used TDD to see which tests that were created were breaking and used that to drive our implementation of the controller.&lt;br /&gt;
&lt;br /&gt;
Here is the extensive list of test cases handled&lt;br /&gt;
&lt;br /&gt;
'''1. assignments_controller_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-allows edit when an admin&lt;br /&gt;
&lt;br /&gt;
-allows edit when an instructor&lt;br /&gt;
&lt;br /&gt;
-does not allow edit when TA of course but not TA of current assignment&lt;br /&gt;
&lt;br /&gt;
-allows new when admin/instructor/ta&lt;br /&gt;
&lt;br /&gt;
-does not allow new when student&lt;br /&gt;
&lt;br /&gt;
-#new creates a new AssignmentForm object and renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is saved successfully, it redirects to &lt;br /&gt;
assignment#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment_form is not saved successfully, it renders assignment#new page&lt;br /&gt;
&lt;br /&gt;
-when assignment has staggered deadlines, it shows a flash message and renders edit page&lt;br /&gt;
&lt;br /&gt;
-during update when params does not have key :assignment_form, it shows a note flash message and redirects to tree_display#index page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not saved successfully, it shoes an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when the timezone preference of current user is not nil and assignment form updates attributes successfully, it shows an error message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-on action #show, it renders the #show page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id fetches successfully, it 'redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment directory is same as old it should show an error and redirect to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when new assignment id does not fetch successfully, it shows an error flash message and redirects to assignments#edit page&lt;br /&gt;
&lt;br /&gt;
-when assignment is deleted successfully, it shows a success flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is not deleted successfully, it shows an error flash message and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-when assignment is removed from course successfully, it removes assignment and redirects to tree_display#list page&lt;br /&gt;
&lt;br /&gt;
-showing list submissions&lt;br /&gt;
&lt;br /&gt;
(the following are the assignment_creation_spec.rb split into files by responsability)&lt;br /&gt;
'''2. assignment_creation_dates_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create assignment with a new late policy&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''3. assignment_creation_deadlines_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
'''4. assignment_creation_general_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should edit assignment available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit quiz number available to students&lt;br /&gt;
&lt;br /&gt;
-it should edit number of members per team&lt;br /&gt;
&lt;br /&gt;
-it should edit review visible to all other reviewers&lt;br /&gt;
&lt;br /&gt;
-it should check if checking calibration shows the tab&lt;br /&gt;
&lt;br /&gt;
'''5. assignment_creation_page_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it is able to create a public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create with teams&lt;br /&gt;
&lt;br /&gt;
-it is able to create with quiz&lt;br /&gt;
&lt;br /&gt;
-it is able to create with staggered deadline&lt;br /&gt;
&lt;br /&gt;
-it is able to create with review visible to all reviewers&lt;br /&gt;
&lt;br /&gt;
-it is able to create public micro-task assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to create calibrated public assignment&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab review strategy&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab due deadlines&lt;br /&gt;
&lt;br /&gt;
-it should set the deadline for an assignment review&lt;br /&gt;
&lt;br /&gt;
-it is able to show tab rubrics&lt;br /&gt;
&lt;br /&gt;
-it is able to show attributes in rubrics&lt;br /&gt;
&lt;br /&gt;
-it should sets attributes for review strategy auto selects&lt;br /&gt;
&lt;br /&gt;
-it should check to find if the assignment can be added to a course&lt;br /&gt;
&lt;br /&gt;
'''6. assignment_creation_participants_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should check to see if participants can be added&lt;br /&gt;
&lt;br /&gt;
-it should display newly created assignment&lt;br /&gt;
'''&lt;br /&gt;
7. assignment_creation_review_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should auto selects correct values&lt;br /&gt;
&lt;br /&gt;
-it should set number of reviews by each student&lt;br /&gt;
&lt;br /&gt;
'''8. assignment_creation_rubrics_strategy_tab.rb'''&lt;br /&gt;
&lt;br /&gt;
-it should update review questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update scored question dropdown&lt;br /&gt;
&lt;br /&gt;
-it should update author feedback questionnaire&lt;br /&gt;
&lt;br /&gt;
-it should update teammate review questionnaire&lt;br /&gt;
&lt;br /&gt;
'''9. assignment_creation_topics_spec.rb'''&lt;br /&gt;
&lt;br /&gt;
-it can edit topics properties&lt;br /&gt;
&lt;br /&gt;
-it procedes without topics properties&lt;br /&gt;
&lt;br /&gt;
-it can create new topics&lt;br /&gt;
&lt;br /&gt;
-it can delete existing topic&lt;br /&gt;
&lt;br /&gt;
-it hides topics tab when has topics is un-checked&lt;br /&gt;
&lt;br /&gt;
==Code of Additional Rspec Tests Created==&lt;br /&gt;
Looking at the methods that were covered in assignments_controller.rb we decided to create the following additional test cases for assignment creation.&lt;br /&gt;
&lt;br /&gt;
These are additions to the existing assignments_controller_spec.rb.&lt;br /&gt;
&lt;br /&gt;
[[File:E2011NewTests.png]]&lt;br /&gt;
&lt;br /&gt;
==RSpec Video ScreenCast Demos==&lt;br /&gt;
Links to RSpec screencasts for new test cases.&lt;br /&gt;
#  [https://drive.google.com/open?id=1AIi3MtD_TtUN5F1k3kzgqIgi8ficz_Ar Assignment Creation General Tab]&lt;br /&gt;
#  [https://drive.google.com/open?id=1VnH_4NSLBX1x7xeYnH1Zsy6XG_nWD7Vk Assignment Creation Topic]&lt;br /&gt;
#  [https://drive.google.com/open?id=1jUQSgXjjI5jQBTWAkD8YGhYnYIIXPtnq Assignment Creation Page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Coverage==&lt;br /&gt;
92.86% for assignments_controller.rb&lt;br /&gt;
&lt;br /&gt;
Overall coverage increased (+28.04%) to 52.334%&lt;br /&gt;
&lt;br /&gt;
== Project Mentors ==&lt;br /&gt;
#Dr. Edward Gehringer (efg@ncsu.edu)&lt;br /&gt;
#Srujana Rachakonda (srachak@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== Team Members ==&lt;br /&gt;
#Colin Foley (cmfoley2@ncsu.edu)&lt;br /&gt;
#Ayush Khot (akhot@ncsu.edu)&lt;br /&gt;
#Christian Morris (cgmorris@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;/div&gt;</summary>
		<author><name>Cmfoley2</name></author>
	</entry>
</feed>