Files
dunlop-core/spec/factories/workflow_instance.rb
2025-10-04 11:57:16 -05:00

58 lines
1.5 KiB
Ruby

FactoryBot.define do
factory :workflow_instance do
after(:build){|instance| instance.setup_workflow_steps }
state { "unplanned" } # default for Vula
trait :uncategorized do
state { 'uncategorized' }
end
trait :unplanned do
state { 'unplanned' }
end
trait :planned do
state { 'planned' }
end
trait :active do
state { 'active' }
after :build do |instance|
instance.workflow_steps.first.state = 'processing'
end
end
trait :overdue do
state { 'overdue' }
after :build do |instance|
instance.owner_initialization.plan_date = 1.year.ago
instance.contractor_initialization.state = 'overdue'
end
end
trait :all_completed do
state { 'all_completed' }
after :build do |instance|
instance.workflow_steps.each{|workflow_step| workflow_step.state = 'completed' }
end
end
trait :any_rejected do
state { 'any_rejected' }
after :build do |instance|
instance.workflow_steps.first.state = 'rejected'
end
end
trait :with_values do
end
end
factory :workflow_instance_for_workflow_step_test, class: 'WorkflowInstance::Scenario1', parent: :workflow_instance_scenario1
factory 'workflow_instance/scenario1', aliases: [:workflow_instance_scenario1], class: 'WorkflowInstance::Scenario1', parent: :workflow_instance
factory 'workflow_instance/scenario2', aliases: [:workflow_instance_scenario2], class: 'WorkflowInstance::Scenario2', parent: :workflow_instance
end