40 lines
926 B
Ruby
40 lines
926 B
Ruby
FactoryBot.define do
|
|
factory :way do
|
|
timestamp { Time.now.utc }
|
|
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
|