openstreetmap-website/test/factories/node.rb
Andy Allan 1df5bd247f Ensure the old nodes are created with the same changeset
Not often important, but the most recent old_node should definitely
have the same changeset as the node itself.
2017-05-10 11:51:43 +01:00

31 lines
724 B
Ruby

FactoryGirl.define do
factory :node do
latitude 1 * GeoRecord::SCALE
longitude 1 * GeoRecord::SCALE
changeset
visible true
timestamp Time.now
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, :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