|
1 | 1 | require "rails_helper"
|
2 | 2 |
|
3 | 3 | RSpec.describe Pages::QuestionInput, type: :model do
|
| 4 | + let(:form) { create :form } |
4 | 5 | let(:question_input) { build :question_input, answer_type:, question_text:, draft_question:, is_optional:, is_repeatable: }
|
5 |
| - let(:draft_question) { build :draft_question, question_text: } |
| 6 | + let(:draft_question) { build :draft_question, question_text:, form_id: form.id } |
6 | 7 | let(:question_text) { "What is your full name?" }
|
7 | 8 | let(:is_optional) { "false" }
|
8 | 9 | let(:is_repeatable) { "false" }
|
|
78 | 79 | end
|
79 | 80 |
|
80 | 81 | describe "#hint_text" do
|
81 |
| - let(:question_input) { build :question_input, hint_text: } |
| 82 | + let(:question_input) { build :question_input, hint_text:, draft_question: } |
82 | 83 | let(:hint_text) { "Enter your full name as it appears in your passport" }
|
83 | 84 |
|
84 | 85 | it "is valid if hint text is empty" do
|
|
113 | 114 | end
|
114 | 115 |
|
115 | 116 | describe "#is_optional" do
|
116 |
| - let(:question_input) { build :question_input, is_optional: } |
| 117 | + let(:question_input) { build :question_input, is_optional:, draft_question: } |
117 | 118 |
|
118 | 119 | context "when is_optional is nil" do
|
119 | 120 | let(:is_optional) { nil }
|
|
156 | 157 | end
|
157 | 158 |
|
158 | 159 | describe "#is_repeatable" do
|
159 |
| - let(:question_input) { build :question_input, is_repeatable: } |
| 160 | + let(:question_input) { build :question_input, is_repeatable:, draft_question: } |
160 | 161 |
|
161 | 162 | context "and is_repeatable is nil" do
|
162 | 163 | let(:is_repeatable) { nil }
|
|
209 | 210 | describe "selection options" do
|
210 | 211 | let(:selection_options) { (1..31).to_a.map { |i| { name: i.to_s } } }
|
211 | 212 | let(:only_one_option) { "false" }
|
212 |
| - let(:draft_question) { build :selection_draft_question, answer_settings: { selection_options:, only_one_option: } } |
| 213 | + let(:draft_question) { build :selection_draft_question, answer_settings: { selection_options:, only_one_option: }, form_id: form.id } |
213 | 214 |
|
214 | 215 | context "when only_one_option is true" do
|
215 | 216 | let(:only_one_option) { "true" }
|
|
240 | 241 | end
|
241 | 242 |
|
242 | 243 | context "when answer type is not selection" do
|
243 |
| - let(:draft_question) { build :name_draft_question, answer_settings: { selection_options:, only_one_option: } } |
| 244 | + let(:draft_question) { build :name_draft_question, answer_settings: { selection_options:, only_one_option: }, form_id: form.id } |
244 | 245 |
|
245 | 246 | it "is valid" do
|
246 | 247 | expect(question_input).to be_valid
|
|
0 commit comments