]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/way.rb
Add a basic feature test for reporting diary entries.
[rails.git] / test / factories / way.rb
index f5d9ab07100bd19d4a5ce93fa3115a1bb75ff375..1c31de3d0316e1461f0a8a48acde79eb8efdc23d 100644 (file)
@@ -5,5 +5,36 @@ FactoryGirl.define do
     version 1
 
     changeset
     version 1
 
     changeset
+
+    trait :deleted do
+      visible false
+    end
+
+    trait :with_history do
+      after(:create) do |way, _evaluator|
+        (1..way.version).each do |n|
+          create(:old_way, :way_id => way.id, :version => n, :changeset => way.changeset)
+        end
+
+        # For deleted ways, make sure the most recent old_way is also deleted.
+        if way.visible == false
+          latest = way.old_ways.find_by(:version => way.version)
+          latest.visible = false
+          latest.save
+        end
+      end
+    end
+
+    factory :way_with_nodes do
+      transient do
+        nodes_count 1
+      end
+
+      after(:create) do |way, evaluator|
+        (1..evaluator.nodes_count).each do |n|
+          create(:way_node, :way => way, :sequence_id => n)
+        end
+      end
+    end
   end
 end
   end
 end