]> git.openstreetmap.org Git - rails.git/blob - test/factories/node.rb
Merge remote-tracking branch 'upstream/pull/5318'
[rails.git] / test / factories / node.rb
1 FactoryBot.define do
2   factory :node do
3     latitude { 1 * GeoRecord::SCALE }
4     longitude { 1 * GeoRecord::SCALE }
5
6     changeset
7
8     visible { true }
9     timestamp { Time.now.utc }
10     version { 1 }
11
12     trait :deleted do
13       visible { false }
14     end
15
16     trait :with_history do
17       after(:create) do |node, _evaluator|
18         (1..node.version).each do |n|
19           create(:old_node, :node_id => node.id, :version => n, :latitude => node.latitude, :longitude => node.longitude, :changeset => node.changeset)
20         end
21
22         # For deleted nodes, make sure the most recent old_node is also deleted.
23         if node.visible == false
24           latest = node.old_nodes.find_by(:version => node.version)
25           latest.visible = false
26           latest.save
27         end
28       end
29     end
30   end
31 end