1
0
Fork 0
This repository has been archived on 2023-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
lpr-partynest/factories/relationships.rb

88 lines
3.3 KiB
Ruby

# frozen_string_literal: true
FactoryBot.define do
factory :some_root_relationship, class: Relationship do
association :org_unit, factory: :some_root_org_unit
association :status, factory: :some_relation_status
association :person, factory: :initial_person
sequence :from_date do |n|
Date.new rand((10 * n)...(11 * n)), rand(1..12), rand(1..28)
end
trait :with_parent do
association :org_unit, factory: :some_children_org_unit
parent_rel do
create :some_root_relationship,
person: person,
org_unit: org_unit&.parent_unit
end
end
end
factory :some_children_relationship,
parent: :some_root_relationship,
traits: %i[with_parent]
factory :excluded_relationship, parent: :some_root_relationship do
association :org_unit, factory: :lpr_org_unit
association :status, factory: :excluded_member_relation_status
parent_rel { nil }
end
factory :included_relationship, parent: :some_root_relationship do
association :org_unit, factory: :lpr_org_unit
association :status, factory: :included_relation_status
parent_rel { nil }
end
factory :supporter_relationship, parent: :excluded_relationship do
association :org_unit, factory: :moscow_reg_dept_org_unit
association :status, factory: :supporter_relation_status
parent_rel { create :included_relationship, person: person }
end
factory :member_relationship, parent: :excluded_relationship do
association :org_unit, factory: :moscow_reg_dept_org_unit
association :status, factory: :active_member_relation_status
parent_rel { create :included_relationship, person: person }
end
factory :federal_manager_relationship, parent: :excluded_relationship do
association :org_unit, factory: :fed_management_org_unit
association :status, factory: :fed_manager_relation_status
parent_rel { create :included_relationship, person: person }
end
factory :federal_supervisor_relationship, parent: :excluded_relationship do
association :org_unit, factory: :fed_supervision_org_unit
association :status, factory: :fed_supervisor_relation_status
parent_rel { create :included_relationship, person: person }
end
factory :regional_manager_relationship, parent: :excluded_relationship do
association :org_unit, factory: :moscow_reg_management_org_unit
association :status, factory: :reg_manager_relation_status
parent_rel { create :member_relationship, person: person }
end
factory :regional_supervisor_relationship, parent: :excluded_relationship do
association :org_unit, factory: :moscow_reg_supervision_org_unit
association :status, factory: :reg_supervisor_relation_status
parent_rel { create :member_relationship, person: person }
end
factory :federal_secretary_relationship, parent: :excluded_relationship do
association :org_unit, factory: :fed_management_org_unit
association :status, factory: :fed_secretary_relation_status
parent_rel { create :included_relationship, person: person }
end
factory :regional_secretary_relationship, parent: :excluded_relationship do
association :org_unit, factory: :moscow_reg_management_org_unit
association :status, factory: :reg_secretary_relation_status
parent_rel { create :member_relationship, person: person }
end
end