test setting parent and parent_id set the other
This commit is contained in:
parent
07340aeb1b
commit
a4fec48635
|
@ -0,0 +1,47 @@
|
|||
require_relative '../environment'
|
||||
|
||||
class IntegrityCheckingAndRestaurationTest < ActiveSupport::TestCase
|
||||
def test_set_parent
|
||||
AncestryTestDatabase.with_model do |model|
|
||||
model.destroy_all
|
||||
parent1 = model.create!
|
||||
parent2 = model.create!
|
||||
child = model.create!(:parent => parent1)
|
||||
|
||||
assert_equal child.ancestor_ids, parent1.path_ids
|
||||
|
||||
child.parent = parent2
|
||||
assert_equal child.parent_id, parent2.id
|
||||
child.save
|
||||
|
||||
assert_equal child.ancestor_ids, parent2.path_ids
|
||||
assert_equal child.parent_id, parent2.id
|
||||
|
||||
child.reload
|
||||
assert_equal child.ancestor_ids, parent2.path_ids
|
||||
assert_equal child.parent_id, parent2.id
|
||||
end
|
||||
end
|
||||
|
||||
def test_set_parent_id
|
||||
AncestryTestDatabase.with_model do |model|
|
||||
model.destroy_all
|
||||
parent1 = model.create!
|
||||
parent2 = model.create!
|
||||
child = model.create!(:parent_id => parent1.id)
|
||||
|
||||
assert_equal child.ancestor_ids, parent1.path_ids
|
||||
|
||||
child.parent_id = parent2.id
|
||||
assert_equal child.parent, parent2
|
||||
child.save
|
||||
|
||||
assert_equal child.ancestor_ids, parent2.path_ids
|
||||
assert_equal child.parent, parent2
|
||||
|
||||
child.reload
|
||||
assert_equal child.ancestor_ids, parent2.path_ids
|
||||
assert_equal child.parent, parent2
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue