openstreetmap-website/test/factories/node.rb

31 lines
809 B
Ruby

FactoryBot.define do
factory :node do
latitude { 1 * GeoRecord::SCALE }
longitude { 1 * GeoRecord::SCALE }
changeset
visible { true }
timestamp { Time.now.utc }
version { 1 }
trait :deleted do
visible { false }
end
trait :with_history do
after(:create) do |node, _evaluator|
(1..node.version).each do |n|
create(:old_node, :node_id => node.id, :version => n, :latitude => node.latitude, :longitude => node.longitude, :changeset => node.changeset)
end
# For deleted nodes, make sure the most recent old_node is also deleted.
if node.visible == false
latest = node.old_nodes.find_by(:version => node.version)
latest.visible = false
latest.save
end
end
end
end
end