114 lines
3 KiB
Ruby
114 lines
3 KiB
Ruby
FactoryBot.define do
|
|
sequence(:published_path) { |n| "fake_path#{n}" }
|
|
factory :procedure do
|
|
lien_demarche 'http://localhost'
|
|
sequence(:libelle) { |n| "Procedure #{n}" }
|
|
description "Demande de subvention à l'intention des associations"
|
|
organisation "Orga DINSIC"
|
|
direction "direction DINSIC"
|
|
published_at nil
|
|
cerfa_flag false
|
|
administrateur { create(:administrateur) }
|
|
|
|
after(:build) do |procedure, _evaluator|
|
|
if procedure.module_api_carto.nil?
|
|
module_api_carto = create(:module_api_carto)
|
|
procedure.module_api_carto = module_api_carto
|
|
end
|
|
end
|
|
|
|
trait :with_api_carto do
|
|
after(:build) do |procedure, _evaluator|
|
|
procedure.module_api_carto.use_api_carto = true
|
|
end
|
|
end
|
|
|
|
trait :for_individual do
|
|
after(:build) do |procedure, _evaluator|
|
|
procedure.for_individual = true
|
|
end
|
|
end
|
|
|
|
trait :with_type_de_champ do
|
|
transient do
|
|
types_de_champ_count 1
|
|
end
|
|
|
|
after(:build) do |procedure, evaluator|
|
|
evaluator.types_de_champ_count.times do
|
|
type_de_champ = create(:type_de_champ)
|
|
|
|
procedure.types_de_champ << type_de_champ
|
|
end
|
|
end
|
|
end
|
|
|
|
trait :with_type_de_champ_private do
|
|
transient do
|
|
types_de_champ_private_count 1
|
|
end
|
|
|
|
after(:build) do |procedure, evaluator|
|
|
evaluator.types_de_champ_private_count.times do
|
|
type_de_champ = create(:type_de_champ, :private)
|
|
|
|
procedure.types_de_champ_private << type_de_champ
|
|
end
|
|
end
|
|
end
|
|
|
|
trait :with_type_de_champ_mandatory do
|
|
after(:build) do |procedure, _evaluator|
|
|
type_de_champ = create(:type_de_champ, mandatory: true)
|
|
|
|
procedure.types_de_champ << type_de_champ
|
|
end
|
|
end
|
|
|
|
trait :with_datetime do
|
|
after(:build) do |procedure, _evaluator|
|
|
type_de_champ = create(:type_de_champ, mandatory: true, type_champ: :datetime)
|
|
|
|
procedure.types_de_champ << type_de_champ
|
|
end
|
|
end
|
|
|
|
trait :with_dossier_link do
|
|
after(:build) do |procedure, _evaluator|
|
|
type_de_champ = create(:type_de_champ, :type_dossier_link)
|
|
|
|
procedure.types_de_champ << type_de_champ
|
|
end
|
|
end
|
|
|
|
trait :with_yes_no do
|
|
after(:build) do |procedure, _evaluator|
|
|
type_de_champ = create(:type_de_champ, :type_yes_no)
|
|
|
|
procedure.types_de_champ << type_de_champ
|
|
end
|
|
end
|
|
|
|
trait :with_two_type_de_piece_justificative do
|
|
after(:build) do |procedure, _evaluator|
|
|
rib = create(:type_de_piece_justificative, :rib, order_place: 1)
|
|
msa = create(:type_de_piece_justificative, :msa, order_place: 2)
|
|
|
|
procedure.types_de_piece_justificative << rib
|
|
procedure.types_de_piece_justificative << msa
|
|
end
|
|
end
|
|
|
|
trait :published do
|
|
after(:create) do |procedure, _evaluator|
|
|
procedure.publish!(generate(:published_path))
|
|
end
|
|
end
|
|
|
|
trait :archived do
|
|
after(:build) do |procedure, _evaluator|
|
|
procedure.archived_at = Time.now
|
|
end
|
|
end
|
|
end
|
|
end
|