]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/relation.rb
Merge branch 'master' into moderation
[rails.git] / test / factories / relation.rb
index f53245c1b6bd11b9c51de7b8c35a48daeb2970ea..44f18f49103cb66182861e4b51bed6c2350f81aa 100644 (file)
@@ -5,5 +5,24 @@ FactoryGirl.define do
     version 1
 
     changeset
+
+    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