1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Ensure that tests will reset belongs_to_requierd_by_default config

This commit is contained in:
Carlos Figueiredo 2017-02-27 23:23:27 -05:00
parent 835bf75125
commit 6ff8518868

View file

@ -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"
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
ensure
ActiveRecord::Base.belongs_to_required_by_default = original_value
end
assert model.new.save
assert model.new(parent: Parent.new).save
ActiveRecord::Base.belongs_to_required_by_default = original_value
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
begin
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"
model = subclass_of(Child) do
belongs_to :parent, inverse_of: false,
class_name: "RequiredAssociationsTest::Parent"
end
record = model.new
assert_not record.save
assert_equal ["Parent must exist"], record.errors.full_messages
record.parent = Parent.new
assert record.save
ensure
ActiveRecord::Base.belongs_to_required_by_default = original_value
end
record = model.new
assert_not record.save
assert_equal ["Parent must exist"], record.errors.full_messages
record.parent = Parent.new
assert record.save
ActiveRecord::Base.belongs_to_required_by_default = original_value
end
test "has_one associations are not required by default" do