openstreetmap-website/test/factories/relation.rb
2022-03-01 22:55:10 +00:00

28 lines
725 B
Ruby

FactoryBot.define do
factory :relation do
timestamp { Time.now.utc }
visible { true }
version { 1 }
changeset
trait :deleted do
visible { false }
end
trait :with_history do
after(:create) do |relation, _evaluator|
(1..relation.version).each do |n|
create(:old_relation, :relation_id => relation.id, :version => n, :changeset => relation.changeset)
end
# For deleted relations, make sure the most recent old_relation is also deleted.
if relation.visible == false
latest = relation.old_relations.find_by(:version => relation.version)
latest.visible = false
latest.save
end
end
end
end
end