34 lines
734 B
Ruby
34 lines
734 B
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :classroom do
|
|
sequence(:name) { |n| "Classroom #{n}" }
|
|
trading_enabled { false }
|
|
association :school_year
|
|
|
|
after(:build) do |classroom|
|
|
classroom.grades << build(:grade) if classroom.grades.empty?
|
|
end
|
|
|
|
trait :with_trading do
|
|
trading_enabled { true }
|
|
end
|
|
|
|
trait :with_grade do
|
|
after(:create) do |classroom|
|
|
create(:classroom_grade, classroom: classroom)
|
|
end
|
|
end
|
|
|
|
trait :with_grades do
|
|
transient do
|
|
grades_count { 3 }
|
|
end
|
|
|
|
after(:create) do |classroom, evaluator|
|
|
create_list(:classroom_grade, evaluator.grades_count, classroom: classroom)
|
|
end
|
|
end
|
|
end
|
|
end
|