add new moderated/anonymous grading attributes to course copy
test plan: * have an assignment in a course with moderated and anonymous grading settings checked (may have to enable features for these to be available) * copy it into another course (with same features enabled) * the copied assignment should have the same settings closes #ADMIN-1489 Change-Id: I2647ce11da3a4cfb3ea370887248ef4b8d79a53a Reviewed-on: https://gerrit.instructure.com/166114 Tested-by: Jenkins QA-Review: Jon Willesen <jonw+gerrit@instructure.com> Product-Review: James Williams <jamesw@instructure.com> Reviewed-by: Carl Kibler <ckibler@instructure.com> Reviewed-by: Mysti Sadler <mysti@instructure.com>
This commit is contained in:
parent
a3851ac2be
commit
1bdaa4effc
|
@ -294,7 +294,10 @@ module Importers
|
|||
:automatic_peer_reviews, :anonymous_peer_reviews,
|
||||
:grade_group_students_individually, :allowed_extensions,
|
||||
:position, :peer_review_count,
|
||||
:omit_from_final_grade, :intra_group_peer_reviews, :post_to_sis
|
||||
:omit_from_final_grade, :intra_group_peer_reviews, :post_to_sis,
|
||||
:moderated_grading, :grader_count, :grader_comments_visible_to_graders,
|
||||
:anonymous_grading, :graders_anonymous_to_graders, :grader_names_visible_to_final_grader,
|
||||
:anonymous_instructor_annotations
|
||||
].each do |prop|
|
||||
item.send("#{prop}=", hash[prop]) unless hash[prop].nil?
|
||||
end
|
||||
|
|
|
@ -241,9 +241,13 @@ module CC
|
|||
node.group_category assignment.group_category.try :name if assignment.group_category
|
||||
atts = [:points_possible, :grading_type,
|
||||
:all_day, :submission_types, :position, :turnitin_enabled, :vericite_enabled, :peer_review_count,
|
||||
:peer_reviews, :automatic_peer_reviews, :moderated_grading,
|
||||
:peer_reviews, :automatic_peer_reviews,
|
||||
:anonymous_peer_reviews, :grade_group_students_individually, :freeze_on_copy,
|
||||
:omit_from_final_grade, :intra_group_peer_reviews, :only_visible_to_overrides, :post_to_sis]
|
||||
:omit_from_final_grade, :intra_group_peer_reviews, :only_visible_to_overrides, :post_to_sis,
|
||||
:moderated_grading, :grader_count, :grader_comments_visible_to_graders,
|
||||
:anonymous_grading, :graders_anonymous_to_graders, :grader_names_visible_to_final_grader,
|
||||
:anonymous_instructor_annotations
|
||||
]
|
||||
atts.each do |att|
|
||||
node.tag!(att, assignment.send(att)) if assignment.send(att) == false || !assignment.send(att).blank?
|
||||
end
|
||||
|
|
|
@ -117,10 +117,14 @@ module CC::Importer::Standard
|
|||
end
|
||||
["turnitin_enabled", "vericite_enabled", "peer_reviews",
|
||||
"automatic_peer_reviews", "anonymous_peer_reviews", "freeze_on_copy",
|
||||
"grade_group_students_individually", "external_tool_new_tab", "moderated_grading",
|
||||
"grade_group_students_individually", "external_tool_new_tab",
|
||||
"rubric_hide_points", "rubric_hide_outcome_results", "rubric_use_for_grading",
|
||||
"rubric_hide_score_total", "has_group_category", "omit_from_final_grade",
|
||||
"intra_group_peer_reviews", "only_visible_to_overrides", "post_to_sis"].each do |bool_val|
|
||||
"intra_group_peer_reviews", "only_visible_to_overrides", "post_to_sis",
|
||||
"moderated_grading", "grader_comments_visible_to_graders",
|
||||
"anonymous_grading", "graders_anonymous_to_graders",
|
||||
"grader_names_visible_to_final_grader", "anonymous_instructor_annotations"
|
||||
].each do |bool_val|
|
||||
val = get_bool_val(meta_doc, bool_val)
|
||||
assignment[bool_val] = val unless val.nil?
|
||||
end
|
||||
|
@ -134,6 +138,7 @@ module CC::Importer::Standard
|
|||
end
|
||||
assignment['position'] = get_int_val(meta_doc, 'position')
|
||||
assignment['peer_review_count'] = get_int_val(meta_doc, 'peer_review_count')
|
||||
assignment["grader_count"] = get_int_val(meta_doc, "grader_count")
|
||||
if meta_doc.at_css("assignment_overrides override")
|
||||
assignment[:assignment_overrides] = []
|
||||
meta_doc.css("assignment_overrides override").each do |override_node|
|
||||
|
|
|
@ -173,6 +173,12 @@
|
|||
<xs:element name="automatic_peer_reviews" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="anonymous_peer_reviews" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="moderated_grading" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="grader_count" type="optional_integer" minOccurs="0"/>
|
||||
<xs:element name="grader_comments_visible_to_graders" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="anonymous_grading" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="graders_anonymous_to_graders" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="grader_names_visible_to_final_grader" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="anonymous_instructor_annotations" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="has_group_category" type="xs:boolean" minOccurs="0"/>
|
||||
<xs:element name="group_category" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="grade_group_students_individually" type="xs:boolean" minOccurs="0"/>
|
||||
|
|
|
@ -212,6 +212,27 @@ describe ContentMigration do
|
|||
expect(new_assignment.only_visible_to_overrides).to be_falsey
|
||||
end
|
||||
|
||||
it "should copy other feature-dependent assignment attributes" do
|
||||
assignment_model(:course => @copy_from)
|
||||
@assignment.moderated_grading = true
|
||||
@assignment.grader_count = 2
|
||||
@assignment.grader_comments_visible_to_graders = true
|
||||
@assignment.anonymous_grading = true
|
||||
@assignment.graders_anonymous_to_graders = true
|
||||
@assignment.grader_names_visible_to_final_grader = true
|
||||
@assignment.anonymous_instructor_annotations = true
|
||||
@assignment.save!
|
||||
|
||||
run_course_copy
|
||||
|
||||
new_assignment = @copy_to.assignments.where(migration_id: mig_id(@assignment)).first
|
||||
[:moderated_grading, :grader_count, :grader_comments_visible_to_graders,
|
||||
:anonymous_grading, :graders_anonymous_to_graders, :grader_names_visible_to_final_grader,
|
||||
:anonymous_instructor_annotations].each do |attr|
|
||||
expect(new_assignment.send(attr)).to eq @assignment.send(attr)
|
||||
end
|
||||
end
|
||||
|
||||
it "shouldn't copy turnitin/vericite_enabled if it's not enabled on the copyee's account" do
|
||||
assignment_model(:course => @copy_from, :points_possible => 40, :submission_types => 'file_upload', :grading_type => 'points')
|
||||
@assignment.turnitin_enabled = true
|
||||
|
|
Loading…
Reference in New Issue