openstreetmap-website/test/factories/way.rb
2017-10-29 19:29:30 +00:00

40 lines
902 B
Ruby

FactoryBot.define do
factory :way do
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