remove return on deleted assignment override

fixes the migration failure for deleted assignment overrides

fixes CNVS-22984

Test-Plan:
-Create an assignment with some overrides ( individual students, sections, etc)
-Delete some of those assignments
-Run the migration with all types of assignments
 (deleted, non-deleted, etc)
- Test name for both deleted and non-deleted assignments through canvas
  make sure all names have changed

Change-Id: Iaf8f1c8bd887e3d1ef186d1fb2057af9ae7b8592
Reviewed-on: https://gerrit.instructure.com/62618
Tested-by: Jenkins
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
This commit is contained in:
Steven Burnett 2015-09-04 10:56:11 -06:00
parent 960109e93b
commit ebe1b303d6
3 changed files with 15 additions and 6 deletions

View File

@ -240,12 +240,13 @@ class AssignmentOverride < ActiveRecord::Base
end
def set_title_if_needed
return if self.workflow_state == "deleted"
if set_type != 'ADHOC' && set
self.title = set.name
elsif set_type == 'ADHOC' && set.any?
self.title ||= title_from_students(set)
else
self.title ||= "No Title"
end
end

View File

@ -32,4 +32,17 @@ describe "title" do
@override.reload
expect(@override.title).to eq '4 students'
end
it "should set ADHOC's title of deleted assignments to reflect students" do
@override.title = "test"
@override.set_type = "ADHOC"
override_student = @override.assignment_override_students.build
override_student.user = student_in_course(course: @override.assignment.context, name: 'Edgar Jones').user
@override.workflow_state = "deleted"
override_student.save!
@override.valid? # trigger bookkeeping
expect(@override.title).to eq 'test'
DataFixup::AssignmentOverrideTitleChange.run
@override.reload
expect(@override.title).to eq '1 student'
end
end

View File

@ -149,11 +149,6 @@ describe AssignmentOverride do
expect(@override).not_to be_valid
end
it "should reject an empty title with an adhoc set" do
@override.title = nil
expect(@override).not_to be_valid
end
it "should reject an empty assignment" do
@override.assignment = nil
expect(@override).not_to be_valid