Skip to content

Commit 351cb71

Browse files
committed
fix use of [model]_loaded? for rails 3 compatibility
Change-Id: Ib3120299b48acaf9ea3af5ca8f938304ce288348 Reviewed-on: https://gerrit.instructure.com/27435 Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: Cody Cutrer <cody@instructure.com> QA-Review: James Williams <jamesw@instructure.com> Product-Review: James Williams <jamesw@instructure.com>
1 parent f4fd18d commit 351cb71

3 files changed

Lines changed: 26 additions & 11 deletions

File tree

lib/canvas/builders/enrollment_date_builder.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ def initialize(enrollment)
3030

3131
def self.preload(enrollments)
3232
return if enrollments.empty?
33-
Enrollment.send(:preload_associations, enrollments, :course) unless enrollments.first.loaded_course?
33+
courses_loaded = CANVAS_RAILS2 ? enrollments.first.loaded_course? : enrollments.first.association(:course).loaded?
34+
Enrollment.send(:preload_associations, enrollments, :course) unless courses_loaded
3435

3536
to_preload = enrollments.reject { |e| fetch(e) }
3637
return if to_preload.empty?

spec/lib/assignment_override_applicator_spec.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,8 +452,13 @@
452452
end
453453

454454
it "should copy pre-loaded associations" do
455-
@overridden.loaded_context?.should == @assignment.loaded_context?
456-
@overridden.loaded_rubric?.should == @assignment.loaded_rubric?
455+
if CANVAS_RAILS2
456+
@overridden.loaded_context?.should == @assignment.loaded_context?
457+
@overridden.loaded_rubric?.should == @assignment.loaded_rubric?
458+
else
459+
@overridden.association(:context).loaded?.should == @assignment.association(:context).loaded?
460+
@overridden.association(:rubric).loaded?.should == @assignment.association(:rubric).loaded?
461+
end
457462
@overridden.learning_outcome_alignments.loaded? == @assignment.learning_outcome_alignments.loaded?
458463
end
459464
end

spec/lib/canvas/builders/enrollment_date_builder_spec.rb

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,16 @@ def test_builder(enrollment, res)
139139
it "should work" do
140140
course_with_teacher(:active_all => true)
141141
@enrollment.reload
142-
@enrollment.loaded_course?.should be_false
142+
loaded_course = CANVAS_RAILS2 ? @enrollment.loaded_course? : @enrollment.association(:course).loaded?
143+
loaded_course.should be_false
143144
Canvas::Builders::EnrollmentDateBuilder.preload([@enrollment])
144-
@enrollment.loaded_course?.should be_true
145-
@enrollment.loaded_course_section?.should be_true
146-
@enrollment.course.loaded_enrollment_term?.should be_true
145+
loaded_course = CANVAS_RAILS2 ? @enrollment.loaded_course? : @enrollment.association(:course).loaded?
146+
loaded_course_section = CANVAS_RAILS2 ? @enrollment.loaded_course_section? : @enrollment.association(:course_section).loaded?
147+
loaded_enrollment_term = CANVAS_RAILS2 ? @enrollment.course.loaded_enrollment_term? :
148+
@enrollment.course.association(:enrollment_term).loaded?
149+
loaded_course.should be_true
150+
loaded_course_section.should be_true
151+
loaded_enrollment_term.should be_true
147152

148153
# should already be cached on the object
149154
Rails.cache.expects(:fetch).never
@@ -157,12 +162,16 @@ def test_builder(enrollment, res)
157162
Canvas::Builders::EnrollmentDateBuilder.preload([@enrollment])
158163

159164
# now reload
160-
@enrollment = Enrollment.find(@enrollment)
165+
@enrollment = Enrollment.find(@enrollment.id)
161166
Canvas::Builders::EnrollmentDateBuilder.preload([@enrollment])
162-
@enrollment.loaded_course?.should be_true
167+
loaded_course = CANVAS_RAILS2 ? @enrollment.loaded_course? : @enrollment.association(:course).loaded?
168+
loaded_course_section = CANVAS_RAILS2 ? @enrollment.loaded_course_section? : @enrollment.association(:course_section).loaded?
169+
loaded_enrollment_term = CANVAS_RAILS2 ? @enrollment.course.loaded_enrollment_term? :
170+
@enrollment.course.association(:enrollment_term).loaded?
171+
loaded_course.should be_true
163172
# it shouldn't have had to load these associations
164-
@enrollment.loaded_course_section?.should be_false
165-
@enrollment.course.loaded_enrollment_term?.should be_false
173+
loaded_course_section.should be_false
174+
loaded_enrollment_term.should be_false
166175
# should already be cached on the object
167176

168177
Rails.cache.expects(:fetch).never

0 commit comments

Comments
 (0)