diff --git a/spec/fixtures/forms/2021_2022.json b/spec/fixtures/forms/2021_2022.json index 73ff5e9ce..482ecc18f 100644 --- a/spec/fixtures/forms/2021_2022.json +++ b/spec/fixtures/forms/2021_2022.json @@ -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}] } } } diff --git a/spec/models/case_log_spec.rb b/spec/models/case_log_spec.rb index 49f2ab188..32ffccf90 100644 --- a/spec/models/case_log_spec.rb +++ b/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) } diff --git a/spec/models/form_handler_spec.rb b/spec/models/form_handler_spec.rb index 507d2416c..e9bdeb3fd 100644 --- a/spec/models/form_handler_spec.rb +++ b/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 diff --git a/spec/models/form_spec.rb b/spec/models/form_spec.rb index 5cb699061..fff2375aa 100644 --- a/spec/models/form_spec.rb +++ b/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" diff --git a/spec/requests/case_logs_controller_spec.rb b/spec/requests/case_logs_controller_spec.rb index ea58cbd28..4a9859cfc 100644 --- a/spec/requests/case_logs_controller_spec.rb +++ b/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