Browse Source

add a test for not clearing text fields

pull/416/head
Kat 3 years ago
parent
commit
97342c182a
  1. 28
      spec/fixtures/forms/2021_2022.json
  2. 10
      spec/models/case_log_spec.rb
  3. 2
      spec/models/form_handler_spec.rb
  4. 4
      spec/models/form_spec.rb
  5. 2
      spec/requests/case_logs_controller_spec.rb

28
spec/fixtures/forms/2021_2022.json vendored

@ -762,6 +762,34 @@
"suffix": " every week"
}
}
},
"care_home_charge": {
"questions": {
"offered": {
"check_answer_label": "Basic Rent",
"header": "What is the basic rent?",
"hint_text": "Eligible for housing benefit or Universal Credit",
"type": "numeric",
"min": 0,
"step": 1,
"width": 4
}
},
"depends_on": [{"period": 3}]
},
"care_home_charge_bi_weekly": {
"questions": {
"offered": {
"check_answer_label": "Basic Rent",
"header": "What is the basic rent?",
"hint_text": "Eligible for housing benefit or Universal Credit",
"type": "numeric",
"min": 0,
"step": 1,
"width": 4
}
},
"depends_on": [{"period": 2}]
}
}
}

10
spec/models/case_log_spec.rb

@ -1593,6 +1593,16 @@ RSpec.describe CaseLog do
end
end
context "when a non select question associated with several pages is routed to" do
let(:case_log) { FactoryBot.create(:case_log, :in_progress, period: 2) }
it "does not clear the answer value" do
case_log.update!({ offered: 4 })
case_log.reload
expect(case_log.offered).to eq(4)
end
end
context "when the case log does not have a valid form set yet" do
let(:case_log) { FactoryBot.create(:case_log) }

2
spec/models/form_handler_spec.rb

@ -17,7 +17,7 @@ RSpec.describe FormHandler do
form_handler = described_class.instance
form = form_handler.get_form(test_form_name)
expect(form).to be_a(Form)
expect(form.pages.count).to eq(31)
expect(form.pages.count).to eq(33)
end
end

4
spec/models/form_spec.rb

@ -132,7 +132,7 @@ RSpec.describe Form, type: :model do
describe "invalidated_page_questions" do
context "when dependencies are not met" do
let(:expected_invalid) { %w[la_known cbl conditional_question_no_second_question net_income_value_check dependent_question layear declaration] }
let(:expected_invalid) { %w[la_known cbl conditional_question_no_second_question net_income_value_check dependent_question offered layear declaration] }
it "returns an array of question keys whose pages conditions are not met" do
expect(form.invalidated_page_questions(case_log).map(&:id).uniq).to eq(expected_invalid)
@ -140,7 +140,7 @@ RSpec.describe Form, type: :model do
end
context "with two pages having the same question and only one has dependencies met" do
let(:expected_invalid) { %w[la_known cbl conditional_question_no_second_question net_income_value_check dependent_question layear declaration] }
let(:expected_invalid) { %w[la_known cbl conditional_question_no_second_question net_income_value_check dependent_question offered layear declaration] }
it "returns an array of question keys whose pages conditions are not met" do
case_log["preg_occ"] = "No"

2
spec/requests/case_logs_controller_spec.rb

@ -28,6 +28,7 @@ RSpec.describe CaseLogsController, type: :request do
let(:tenant_code) { "T365" }
let(:age1) { 35 }
let(:offered) { 12 }
let(:period) { 2 }
let(:property_postcode) { "SE11 6TY" }
let(:in_progress) { "in_progress" }
let(:completed) { "completed" }
@ -41,6 +42,7 @@ RSpec.describe CaseLogsController, type: :request do
"age1": age1,
"property_postcode": property_postcode,
"offered": offered,
"period": period,
}
end

Loading…
Cancel
Save