]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/way.rb
Just pass the object, rather than the id, to _path methods where possible
[rails.git] / test / factories / way.rb
index 89409e807aa0a1088edd3b39ca61c5c3dea903f9..1b6b18dc98a0aedae7821791d9831c0c3c4549ce 100644 (file)
@@ -1,18 +1,33 @@
-FactoryGirl.define do
+FactoryBot.define do
   factory :way do
-    timestamp Time.now
-    visible true
-    version 1
+    timestamp { Time.now }
+    visible { true }
+    version { 1 }
 
     changeset
 
     trait :deleted do
-      visible false
+      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
+        nodes_count { 1 }
       end
 
       after(:create) do |way, evaluator|