add i18n alphabetic sorting to assignment details table
fixes CNVS-34062 Test Plan Note about proper sorting: Characters that are part of the language's alphabet (like an n with a tilde in english) should sort close to the non-accented character (n), but characters outside the language's alphabet (cyrillic characters) should sort to the bottom. 1. Verify list of assignments is properly sorted by student name. Change-Id: I788aa08f91b0d1349746ab0a4ba9eb48d4ca24fc Reviewed-on: https://gerrit.instructure.com/101262 Tested-by: Jenkins Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com> Reviewed-by: Jeremy Neander <jneander@instructure.com> QA-Review: Anju Reddy <areddy@instructure.com> Product-Review: Keith T. Garner <kgarner@instructure.com>
This commit is contained in:
parent
adff709f9d
commit
d42cebdfa6
|
@ -182,10 +182,11 @@ class SubmissionList
|
|||
h
|
||||
end
|
||||
|
||||
hsh.each do |k, v|
|
||||
hsh.each_value do |v|
|
||||
v['submissions'] = Canvas::ICU.collate_by(v.submissions, &:student_name)
|
||||
v.submission_count = v.submissions.size
|
||||
end
|
||||
# puts "-------------------------------Time Spent in assignments_for_grader_and_day: #{Time.now-start}-------------------------------"
|
||||
|
||||
hsh.values
|
||||
end
|
||||
|
||||
|
|
|
@ -140,6 +140,7 @@ describe SubmissionList do
|
|||
end
|
||||
end
|
||||
|
||||
context "submissions" do
|
||||
it "should be able to loop on submissions" do
|
||||
available_keys = [
|
||||
:assignment_id, :assignment_name, :attachment_id, :attachment_ids,
|
||||
|
@ -166,6 +167,14 @@ describe SubmissionList do
|
|||
end
|
||||
end
|
||||
|
||||
it "sorts submissions alphabetically by student name" do
|
||||
day = SubmissionList.days(@course)[0]
|
||||
submissions = day.graders[0].assignments[0].submissions
|
||||
expect(submissions[0].student_name).to eql('student')
|
||||
expect(submissions[1].student_name).to eql('studeñt')
|
||||
expect(submissions[2].student_name).to eql('studeЖt')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "real data inspection" do
|
||||
|
@ -313,7 +322,7 @@ def interesting_submission_data(opts={})
|
|||
|
||||
@grader = user_model({:name => 'some_grader'}.merge(opts[:grader]))
|
||||
@grader2 = user_model({:name => 'another_grader'}.merge(opts[:grader]))
|
||||
@student = factory_with_protected_attributes(User, {:name => "some student", :workflow_state => "registered"}.merge(opts[:user]))
|
||||
@student = factory_with_protected_attributes(User, {:name => "studeñt", :workflow_state => "registered"}.merge(opts[:user]))
|
||||
@course = factory_with_protected_attributes(Course, {:name => "some course", :workflow_state => "available"}.merge(opts[:course]))
|
||||
[@grader, @grader2].each do |grader|
|
||||
e = @course.enroll_teacher(grader)
|
||||
|
@ -329,11 +338,11 @@ def interesting_submission_data(opts={})
|
|||
@assignment.grade_student(@student, {:grade => 1.5, :grader => @grader}.merge(opts[:submission]))
|
||||
@assignment.grade_student(@student, {:grade => 3, :grader => @grader}.merge(opts[:submission]))
|
||||
@assignment.grade_student(@student, {:grade => 5, :grader => @grader2}.merge(opts[:submission]))
|
||||
@student = user_model(:name => 'another student')
|
||||
@student = user_model(:name => 'studeЖt')
|
||||
@course.enroll_student(@student)
|
||||
@assignment.reload
|
||||
@assignment.grade_student(@student, {:grade => 8, :grader => @grader}.merge(opts[:submission]))
|
||||
@student = user_model(:name => 'smart student')
|
||||
@student = user_model(:name => 'student')
|
||||
@course.enroll_student(@student)
|
||||
@assignment.reload
|
||||
@assignment.grade_student(@student, {:grade => 10, :grader => @grader}.merge(opts[:submission]))
|
||||
|
|
Loading…
Reference in New Issue