X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1b7ab315bb7d241c5a0521f0810a0981e9031fc4..ce761b3193c41081182e129d4f4aa18268e69264:/test/factories/way.rb diff --git a/test/factories/way.rb b/test/factories/way.rb index f5d9ab071..1b6b18dc9 100644 --- a/test/factories/way.rb +++ b/test/factories/way.rb @@ -1,9 +1,40 @@ -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 } + 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