21 lines
567 B
21 lines
567 B
FactoryBot.define do |
|
factory :page, class: "Form::Page" do |
|
id { "page_id" } |
|
initialize_with { new(id, nil, nil) } |
|
trait :with_question do |
|
transient do |
|
question_id { nil } |
|
question { nil } |
|
end |
|
|
|
after :build do |page, evaluator| |
|
page.questions = if (q = evaluator.question) |
|
q.page = page |
|
[q] |
|
else |
|
[build(:question, id: evaluator.question_id, page:)] |
|
end |
|
end |
|
end |
|
end |
|
end
|
|
|