aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-05-18 12:47:55 -0700
committerPiotr Sarnacki <drogus@gmail.com>2012-05-19 05:20:25 -0700
commitd64164645d435e22fdab8179481acb89827dfe68 (patch)
tree7c39acfc9224ce1bd937a6b7069eeff3445b72a0 /activerecord/test/cases/associations
parent4dd4621f5bb5500092e635e80e1b1cb1d888b6ec (diff)
downloadrails-d64164645d435e22fdab8179481acb89827dfe68.tar.gz
rails-d64164645d435e22fdab8179481acb89827dfe68.tar.bz2
rails-d64164645d435e22fdab8179481acb89827dfe68.zip
Ensure that CollectionAssociation#replace returns proper target
The fix commited in e2a070c was returning the `new_target`, as a try to return whatever user replaced association with. The problem is, the resulting association target may be ordered differently. In such case we want to return the target that will be later used for that association.
Diffstat (limited to 'activerecord/test/cases/associations')
-rw-r--r--activerecord/test/cases/associations/has_many_associations_test.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb
index c128ede34f..4f50c97147 100644
--- a/activerecord/test/cases/associations/has_many_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_associations_test.rb
@@ -1687,14 +1687,14 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
assert_equal [bulb2], car.reload.bulbs
end
- def test_replace_returns_new_target
+ def test_replace_returns_target
car = Car.create(:name => 'honda')
bulb1 = car.bulbs.create
bulb2 = car.bulbs.create
bulb3 = Bulb.create
assert_equal [bulb1, bulb2], car.bulbs
- result = car.bulbs.replace([bulb1, bulb3])
+ result = car.bulbs.replace([bulb3, bulb1])
assert_equal [bulb1, bulb3], car.bulbs
assert_equal [bulb1, bulb3], result
end