]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/relation.rb
Merge branch 'master' into moderation
[rails.git] / test / factories / relation.rb
index 1631b92de2d92efe1a2dee11776952b3707cab89..44f18f49103cb66182861e4b51bed6c2350f81aa 100644 (file)
@@ -9,5 +9,20 @@ FactoryGirl.define do
     trait :deleted do
       visible false
     end
+
+    trait :with_history do
+      after(:create) do |relation, _evaluator|
+        (1..relation.version).each do |n|
+          create(:old_relation, :relation_id => relation.id, :version => n, :changeset => relation.changeset)
+        end
+
+        # For deleted relations, make sure the most recent old_relation is also deleted.
+        if relation.visible == false
+          latest = relation.old_relations.find_by(:version => relation.version)
+          latest.visible = false
+          latest.save
+        end
+      end
+    end
   end
 end