]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/node.rb
Merge branch 'master' into moderation
[rails.git] / test / factories / node.rb
index 85eded4054ba42bebe350bae2186b413ed7224d0..bcc1fdbe810d00d3910408854d4dd72fb8c6c392 100644 (file)
@@ -8,5 +8,24 @@ FactoryGirl.define do
     visible true
     timestamp Time.now
     version 1
     visible true
     timestamp Time.now
     version 1
+
+    trait :deleted do
+      visible false
+    end
+
+    trait :with_history do
+      after(:create) do |node, _evaluator|
+        (1..node.version).each do |n|
+          create(:old_node, :node_id => node.id, :version => n, :changeset => node.changeset)
+        end
+
+        # For deleted nodes, make sure the most recent old_node is also deleted.
+        if node.visible == false
+          latest = node.old_nodes.find_by(:version => node.version)
+          latest.visible = false
+          latest.save
+        end
+      end
+    end
   end
 end
   end
 end