diff options
author | Carlos Figueiredo <carlos.figueiredo87@gmail.com> | 2017-02-27 23:23:27 -0500 |
---|---|---|
committer | Carlos Figueiredo <carlos.figueiredo87@gmail.com> | 2017-02-27 23:23:27 -0500 |
commit | 6ff851886890b74ae31519bee86457e67c8a513a (patch) | |
tree | d61a1affde5815823a0b448233e4fa3e18f2338f /activerecord | |
parent | 835bf751253769af17ffd548faea04aa44259f52 (diff) | |
download | rails-6ff851886890b74ae31519bee86457e67c8a513a.tar.gz rails-6ff851886890b74ae31519bee86457e67c8a513a.tar.bz2 rails-6ff851886890b74ae31519bee86457e67c8a513a.zip |
Ensure that tests will reset belongs_to_requierd_by_default config
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/test/cases/associations/required_test.rb | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/activerecord/test/cases/associations/required_test.rb b/activerecord/test/cases/associations/required_test.rb index 0daa35ea83..45e1803858 100644 --- a/activerecord/test/cases/associations/required_test.rb +++ b/activerecord/test/cases/associations/required_test.rb @@ -23,18 +23,20 @@ class RequiredAssociationsTest < ActiveRecord::TestCase end test "belongs_to associations can be optional by default" do - original_value = ActiveRecord::Base.belongs_to_required_by_default - ActiveRecord::Base.belongs_to_required_by_default = false + begin + original_value = ActiveRecord::Base.belongs_to_required_by_default + ActiveRecord::Base.belongs_to_required_by_default = false - model = subclass_of(Child) do - belongs_to :parent, inverse_of: false, - class_name: "RequiredAssociationsTest::Parent" - end - - assert model.new.save - assert model.new(parent: Parent.new).save + model = subclass_of(Child) do + belongs_to :parent, inverse_of: false, + class_name: "RequiredAssociationsTest::Parent" + end - ActiveRecord::Base.belongs_to_required_by_default = original_value + assert model.new.save + assert model.new(parent: Parent.new).save + ensure + ActiveRecord::Base.belongs_to_required_by_default = original_value + end end test "required belongs_to associations have presence validated" do @@ -52,22 +54,24 @@ class RequiredAssociationsTest < ActiveRecord::TestCase end test "belongs_to associations can be required by default" do - original_value = ActiveRecord::Base.belongs_to_required_by_default - ActiveRecord::Base.belongs_to_required_by_default = true - - model = subclass_of(Child) do - belongs_to :parent, inverse_of: false, - class_name: "RequiredAssociationsTest::Parent" - end + begin + original_value = ActiveRecord::Base.belongs_to_required_by_default + ActiveRecord::Base.belongs_to_required_by_default = true - record = model.new - assert_not record.save - assert_equal ["Parent must exist"], record.errors.full_messages + model = subclass_of(Child) do + belongs_to :parent, inverse_of: false, + class_name: "RequiredAssociationsTest::Parent" + end - record.parent = Parent.new - assert record.save + record = model.new + assert_not record.save + assert_equal ["Parent must exist"], record.errors.full_messages - ActiveRecord::Base.belongs_to_required_by_default = original_value + record.parent = Parent.new + assert record.save + ensure + ActiveRecord::Base.belongs_to_required_by_default = original_value + end end test "has_one associations are not required by default" do |