mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
77 lines
1.8 KiB
# frozen_string_literal: true
|
|
|
|
# Factory definitions for FloDoc models
|
|
FactoryBot.define do
|
|
factory :feature_flag do
|
|
sequence(:name) { |n| "feature_#{n}" }
|
|
enabled { false }
|
|
description { 'Test feature flag' }
|
|
end
|
|
|
|
factory :institution do
|
|
sequence(:name) { |n| "Institution #{n}" }
|
|
sequence(:email) { |n| "institution#{n}@example.com" }
|
|
contact_person { 'John Doe' }
|
|
phone { '+27123456789' }
|
|
settings { {} }
|
|
deleted_at { nil }
|
|
end
|
|
|
|
factory :cohort do
|
|
association :institution
|
|
association :template
|
|
sequence(:name) { |n| "Cohort #{n}" }
|
|
program_type { 'learnership' }
|
|
sequence(:sponsor_email) { |n| "sponsor#{n}@example.com" }
|
|
required_student_uploads { [] }
|
|
cohort_metadata { {} }
|
|
status { 'draft' }
|
|
tp_signed_at { nil }
|
|
students_completed_at { nil }
|
|
sponsor_completed_at { nil }
|
|
finalized_at { nil }
|
|
deleted_at { nil }
|
|
|
|
trait :active do
|
|
status { 'active' }
|
|
tp_signed_at { Time.current }
|
|
end
|
|
|
|
trait :completed do
|
|
status { 'completed' }
|
|
tp_signed_at { Time.current }
|
|
students_completed_at { Time.current }
|
|
sponsor_completed_at { Time.current }
|
|
finalized_at { Time.current }
|
|
end
|
|
end
|
|
|
|
factory :cohort_enrollment do
|
|
association :cohort
|
|
association :submission
|
|
sequence(:student_email) { |n| "student#{n}@example.com" }
|
|
student_name { 'John' }
|
|
student_surname { 'Doe' }
|
|
sequence(:student_id) { |n| "STU#{n.to_s.rjust(6, '0')}" }
|
|
status { 'waiting' }
|
|
role { 'student' }
|
|
uploaded_documents { {} }
|
|
values { {} }
|
|
completed_at { nil }
|
|
deleted_at { nil }
|
|
|
|
trait :in_progress do
|
|
status { 'in_progress' }
|
|
end
|
|
|
|
trait :complete do
|
|
status { 'complete' }
|
|
completed_at { Time.current }
|
|
end
|
|
|
|
trait :sponsor do
|
|
role { 'sponsor' }
|
|
end
|
|
end
|
|
end
|