diff --git a/test/grouped_scope/association_reflection_test.rb b/test/grouped_scope/association_reflection_test.rb index fd72f5f..349adcf 100644 --- a/test/grouped_scope/association_reflection_test.rb +++ b/test/grouped_scope/association_reflection_test.rb @@ -62,6 +62,15 @@ def setup assert_equal @ungrouped_reflection.send(:derive_primary_key_name), @grouped_reflection.send(:derive_primary_key_name) end + should 'honor explicit legacy reports association options like class_name and foreign_key' do + @ungrouped_reflection = LegacyEmployee.reflections[:reports] + @grouped_reflection = LegacyEmployee.reflections[:grouped_scope_reports] + [:class_name,:primary_key_name].each do |m| + assert_equal @ungrouped_reflection.send(m), @grouped_reflection.send(m), + "The method #{m.inspect} does not appear to be proxied to the ungrouped reflection." + end + end + end diff --git a/test/grouped_scope/self_grouping_test.rb b/test/grouped_scope/self_grouping_test.rb index de3cc1a..fbcc426 100644 --- a/test/grouped_scope/self_grouping_test.rb +++ b/test/grouped_scope/self_grouping_test.rb @@ -107,7 +107,7 @@ def setup assert_same_elements [@e1,@e2], @e1.group end - should 'member to find grouped associations of other member' do + should 'allow member to find grouped associations of other member' do assert_same_elements @e1.reports, @e2.group.reports end @@ -119,6 +119,22 @@ def setup end + context 'with different groups in legacy schema' do + + setup do + @e1 = Factory(:legacy_employee_with_reports, :group_id => 1) + @e2 = Factory(:legacy_employee, :group_id => 1) + @e3 = Factory(:legacy_employee_with_reports, :group_id => 2) + @e4 = Factory(:legacy_employee, :group_id => 2) + end + + should 'honor legacy reports association options like class_name and foreign_key' do + @e2.group.reports.all? { |r| r.is_a?(LegacyReport) } + end + + end + + end