4 changed files with 32 additions and 32 deletions
@ -1,5 +1,15 @@ |
|||||||
FactoryBot.define do |
FactoryBot.define do |
||||||
factory :page, class: "Form::Page" do |
factory :page, class: "Form::Page" do |
||||||
|
id { "page_id" } |
||||||
initialize_with { new(id, nil, nil) } |
initialize_with { new(id, nil, nil) } |
||||||
|
trait :with_question do |
||||||
|
transient do |
||||||
|
question_id { nil } |
||||||
|
|
||||||
|
after :build do |page, evaluator| |
||||||
|
page.questions = [build(:question, id: evaluator.question_id, page:)] |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
end |
end |
||||||
end |
end |
||||||
|
|||||||
@ -1,5 +1,15 @@ |
|||||||
FactoryBot.define do |
FactoryBot.define do |
||||||
factory :section, class: "Form::Section" do |
factory :section, class: "Form::Section" do |
||||||
|
id { "section_id" } |
||||||
initialize_with { new(id, nil, nil) } |
initialize_with { new(id, nil, nil) } |
||||||
|
trait :with_questions do |
||||||
|
transient do |
||||||
|
question_ids { nil } |
||||||
|
end |
||||||
|
|
||||||
|
after :build do |section, evaluator| |
||||||
|
section.subsections = [build(:subsection, :with_questions, question_ids: evaluator.question_ids, section:)] |
||||||
|
end |
||||||
|
end |
||||||
end |
end |
||||||
end |
end |
||||||
|
|||||||
@ -1,5 +1,15 @@ |
|||||||
FactoryBot.define do |
FactoryBot.define do |
||||||
factory :subsection, class: "Form::Subsection" do |
factory :subsection, class: "Form::Subsection" do |
||||||
|
id { "subsection_id" } |
||||||
initialize_with { new(id, nil, nil) } |
initialize_with { new(id, nil, nil) } |
||||||
|
trait :with_questions do |
||||||
|
transient do |
||||||
|
question_ids { [] } |
||||||
|
|
||||||
|
after :build do |subsection, evaluator| |
||||||
|
subsection.pages = evaluator.question_ids.map { |id| build(:page, :with_question, question_id: id, subsection:) } |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
end |
end |
||||||
end |
end |
||||||
|
|||||||
Loading…
Reference in new issue