From 5a0ba2e81270bf8d6f7bd65cfdb54ea81bb4942d Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Thu, 30 Mar 2017 09:31:22 +0100 Subject: [PATCH] Add a with_history trait for node factories, to automatically create corresponding old_nodes --- test/factories/node.rb | 8 ++++++++ test/models/redaction_test.rb | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/test/factories/node.rb b/test/factories/node.rb index 85eded405..8daadd35a 100644 --- a/test/factories/node.rb +++ b/test/factories/node.rb @@ -8,5 +8,13 @@ FactoryGirl.define do visible true timestamp Time.now 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 diff --git a/test/models/redaction_test.rb b/test/models/redaction_test.rb index 7ea3e458d..2e629867b 100644 --- a/test/models/redaction_test.rb +++ b/test/models/redaction_test.rb @@ -12,8 +12,8 @@ class RedactionTest < ActiveSupport::TestCase end def test_cannot_redact_current_via_old - node = create(:node) - node_v1 = create(:old_node, :node_id => node.id) + node = create(:node, :with_history) + node_v1 = node.old_nodes.find_by(:version => 1) r = create(:redaction) assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.") assert_raise(OSM::APICannotRedactError) do @@ -22,9 +22,9 @@ class RedactionTest < ActiveSupport::TestCase end def test_can_redact_old - node = create(:node, :version => 2) - node_v1 = create(:old_node, :node_id => node.id) - node_v2 = create(:old_node, :node_id => node.id, :version => 2) + node = create(:node, :with_history, :version => 2) + node_v1 = node.old_nodes.find_by(:version => 1) + node_v2 = node.old_nodes.find_by(:version => 2) r = create(:redaction) assert_equal(false, node_v1.redacted?, "Expected node to not be redacted already.") -- 2.39.5