Add a with_history trait for node factories, to automatically create corresponding old_nodes

This commit is contained in:
Andy Allan 2017-03-30 09:31:22 +01:00
parent 503610e603
commit 5a0ba2e812
2 changed files with 13 additions and 5 deletions

View file

@ -8,5 +8,13 @@ FactoryGirl.define do
visible true visible true
timestamp Time.now timestamp Time.now
version 1 version 1
trait :with_history do
after(:create) do |node, _evaluator|
(1..node.version).each do |n|
create(:old_node, :node_id => node.id, :version => n)
end
end
end
end end
end end

View file

@ -12,8 +12,8 @@ class RedactionTest < ActiveSupport::TestCase
end end
def test_cannot_redact_current_via_old def test_cannot_redact_current_via_old
node = create(:node) node = create(:node, :with_history)
node_v1 = create(:old_node, :node_id => node.id) node_v1 = node.old_nodes.find_by(:version => 1)
r = create(:redaction) r = create(:redaction)
assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.") assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.")
assert_raise(OSM::APICannotRedactError) do assert_raise(OSM::APICannotRedactError) do
@ -22,9 +22,9 @@ class RedactionTest < ActiveSupport::TestCase
end end
def test_can_redact_old def test_can_redact_old
node = create(:node, :version => 2) node = create(:node, :with_history, :version => 2)
node_v1 = create(:old_node, :node_id => node.id) node_v1 = node.old_nodes.find_by(:version => 1)
node_v2 = create(:old_node, :node_id => node.id, :version => 2) node_v2 = node.old_nodes.find_by(:version => 2)
r = create(:redaction) r = create(:redaction)
assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.") assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.")