]> git.openstreetmap.org Git - rails.git/blob - test/factories/way.rb
Merge remote-tracking branch 'upstream/pull/5419'
[rails.git] / test / factories / way.rb
1 FactoryBot.define do
2   factory :way do
3     timestamp { Time.now.utc }
4     visible { true }
5     version { 1 }
6
7     changeset
8
9     trait :deleted do
10       visible { false }
11     end
12
13     trait :with_history do
14       after(:create) do |way, _evaluator|
15         (1..way.version).each do |n|
16           create(:old_way, :way_id => way.id, :version => n, :changeset => way.changeset)
17         end
18
19         # For deleted ways, make sure the most recent old_way is also deleted.
20         if way.visible == false
21           latest = way.old_ways.find_by(:version => way.version)
22           latest.visible = false
23           latest.save
24         end
25       end
26     end
27
28     factory :way_with_nodes do
29       transient do
30         nodes_count { 1 }
31       end
32
33       after(:create) do |way, evaluator|
34         (1..evaluator.nodes_count).each do |n|
35           create(:way_node, :way => way, :sequence_id => n)
36         end
37       end
38     end
39   end
40 end