]> git.openstreetmap.org Git - rails.git/blob - test/factories/relation.rb
Merge pull request #6394 from openstreetmap/dependabot/github_actions/ruby/setup...
[rails.git] / test / factories / relation.rb
1 # frozen_string_literal: true
2
3 FactoryBot.define do
4   factory :relation do
5     timestamp { Time.now.utc }
6     visible { true }
7     version { 1 }
8
9     changeset
10
11     trait :deleted do
12       visible { false }
13     end
14
15     trait :with_history do
16       after(:create) do |relation, _evaluator|
17         (1..relation.version).each do |n|
18           create(:old_relation, :relation_id => relation.id, :version => n, :changeset => relation.changeset)
19         end
20
21         # For deleted relations, make sure the most recent old_relation is also deleted.
22         if relation.visible == false
23           latest = relation.old_relations.find_by(:version => relation.version)
24           latest.visible = false
25           latest.save
26         end
27       end
28     end
29   end
30 end