redirect to a2 student view for links in dashboard

the recent feedback partial view was using the old
link, now when the assignment belongs to a course
with a2 enabled it redirects to the corresponding
view

fixes EVAL-1743
flag=none

test plan:
- create a course with at least one student enrolled.
- enable the feature flag
  "Assignment Enhancements - Student" for the course
  created.
- create an assignment
- give some grade to the assignment for that student.
- acting as the student go to the dashboard and click
  in the link for the graded assignment in
  "Recent Feedback".
- notice the a2 student view is loaded.

Change-Id: I4f0a24e240ba7d041f05e9fa356da84277620da2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/268777
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
This commit is contained in:
Eduardo Escobar 2021-07-09 18:39:37 -05:00
parent bc1285f301
commit ddb2d18493
2 changed files with 31 additions and 1 deletions

View File

@ -28,7 +28,14 @@
cache(['recent_feedback_render3', @current_user&.course_nickname_hash, recent_feedback || 'blank_feedback', Time.zone.utc_offset].cache_key) do
assignment = recent_feedback.assignment
context = recent_feedback.assignment.context
url = context_url(context, :context_assignment_submission_url, :assignment_id => recent_feedback.assignment_id, :id=>@current_user.id)
if recent_feedback.assignment.a2_enabled?
context_symbol = :context_assignment_url
context_params = {:id => recent_feedback.assignment_id}
else
context_symbol = :context_assignment_submission_url
context_params = {:assignment_id => recent_feedback.assignment_id, :id => @current_user.id}
end
url = context_url(context, context_symbol, context_params)
grade = readable_grade(recent_feedback)
score = recent_feedback.score
comment = recent_feedback.last_teacher_comment

View File

@ -75,4 +75,27 @@ describe "/courses/_recent_feedback" do
expect(response.body).to include("25,734 out of 25,734")
expect(response.body).to include('something different')
end
it 'contains the new url when assignments 2 student view is enabled' do
@course.enable_feature!(:assignments_2_student)
@assignment.update!(points_possible: 25734)
@assignment.grade_student(@user, grade: 25734, grader: @teacher)
@submission.reload
render :partial => "courses/recent_feedback", object: @submission, locals: {is_hidden: false}
url = context_url(@assignment.context, :context_assignment_url, id: @assignment.id)
expect(response.body).to include("\"#{url}\"")
end
it 'contains the old url when assignments 2 student view is disabled' do
@assignment.update!(points_possible: 25734)
@assignment.grade_student(@user, grade: 25734, grader: @teacher)
@submission.reload
assign(:current_user, @user)
render :partial => "courses/recent_feedback", object: @submission, locals: {is_hidden: false}
url = context_url(@assignment.context, :context_assignment_submission_url, assignment_id: @assignment.id, id:@user.id)
expect(response.body).to include("\"#{url}\"")
end
end