From febec635823b834a2250f3d6df22c2dc79b4d499 Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 3 Feb 2022 15:13:04 +0000 Subject: [PATCH] Count inferred check answers answer as an answered answer :) and remove la unknown reason field --- app/models/form/question.rb | 6 +++++- config/forms/2021_2022.json | 9 --------- .../20220203145845_remove_why_dont_you_know_la.rb | 9 +++++++++ db/schema.rb | 5 ++--- spec/fixtures/complete_case_log.json | 1 - spec/fixtures/forms/2021_2022.json | 12 ------------ spec/models/form_handler_spec.rb | 2 +- 7 files changed, 17 insertions(+), 27 deletions(-) create mode 100644 db/migrate/20220203145845_remove_why_dont_you_know_la.rb diff --git a/app/models/form/question.rb b/app/models/form/question.rb index 1ed53b2de..a0724eefb 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -83,11 +83,15 @@ class Form::Question return false if id == "gdpr_acceptance" && case_log[id] == "No" return answer_options.keys.any? { |key| case_log[key] == "Yes" } if type == "checkbox" - case_log[id].present? || !case_log.respond_to?(id.to_sym) + case_log[id].present? || !case_log.respond_to?(id.to_sym) || has_inferred_value?(case_log) end private + def has_inferred_value?(case_log) + inferred_check_answers_value.present? && case_log[inferred_check_answers_value["condition"].keys.first] == inferred_check_answers_value["condition"].values.first + end + def checkbox_answer_label(case_log) answer = [] answer_options.each { |key, value| case_log[key] == "Yes" ? answer << value : nil } diff --git a/config/forms/2021_2022.json b/config/forms/2021_2022.json index 2c7ce0eb5..7ebdfdfef 100644 --- a/config/forms/2021_2022.json +++ b/config/forms/2021_2022.json @@ -1716,16 +1716,7 @@ "answer_options": { "1": "Yes", "0": "No" - }, - "conditional_for": { - "why_dont_you_know_la": ["No"] } - }, - "why_dont_you_know_la": { - "check_answer_label": "Reason you don’t know the postcode or local authority", - "header": "Give a reason why you don’t know the postcode or local authority", - "hint_text": "", - "type": "textarea" } }, "depends_on": [{ "is_la_inferred": false }] diff --git a/db/migrate/20220203145845_remove_why_dont_you_know_la.rb b/db/migrate/20220203145845_remove_why_dont_you_know_la.rb new file mode 100644 index 000000000..6da34c0a7 --- /dev/null +++ b/db/migrate/20220203145845_remove_why_dont_you_know_la.rb @@ -0,0 +1,9 @@ +class RemoveWhyDontYouKnowLa < ActiveRecord::Migration[7.0] + def up + remove_column :case_logs, :why_dont_you_know_la + end + + def down + add_column :case_logs, :why_dont_you_know_la, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index b3f0fca4d..46cf0417d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_02_03_104800) do +ActiveRecord::Schema.define(version: 2022_02_03_145845) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -93,7 +93,6 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do t.integer "beds" t.integer "offered" t.integer "wchair" - t.integer "earnings" t.integer "incfreq" t.integer "benefits" t.integer "period" @@ -162,7 +161,6 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do t.datetime "startdate" t.integer "armedforces" t.integer "first_time_property_let_as_social_housing" - t.string "why_dont_you_know_la" t.integer "unitletas" t.integer "builtype" t.datetime "property_void_date" @@ -186,6 +184,7 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do t.integer "is_carehome" t.integer "letting_in_sheltered_accomodation" t.integer "household_charge" + t.integer "earnings" t.integer "referral" t.decimal "brent", precision: 10, scale: 2 t.decimal "scharge", precision: 10, scale: 2 diff --git a/spec/fixtures/complete_case_log.json b/spec/fixtures/complete_case_log.json index eb5d70eb9..577523dc9 100644 --- a/spec/fixtures/complete_case_log.json +++ b/spec/fixtures/complete_case_log.json @@ -136,7 +136,6 @@ "postcod2": "w3", "ppostc1": "w3", "ppostc2": "w3", - "why_dont_you_know_la": "Forgot", "first_time_property_let_as_social_housing": "No", "unitletas": "Affordable rent basis", "builtype": "Purpose built", diff --git a/spec/fixtures/forms/2021_2022.json b/spec/fixtures/forms/2021_2022.json index dac2b94d3..5ee4f1fd1 100644 --- a/spec/fixtures/forms/2021_2022.json +++ b/spec/fixtures/forms/2021_2022.json @@ -593,18 +593,6 @@ } } }, - "why_dont_you_know_la": { - "header": "", - "description": "", - "questions": { - "reason": { - "check_answer_label": "Reason for not knowing local authority", - "header": "Give a reason why you don’t know the postcode or local authority", - "hint_text": "", - "type": "textarea" - } - } - }, "property_postcode": { "questions": { "property_postcode": { diff --git a/spec/models/form_handler_spec.rb b/spec/models/form_handler_spec.rb index 94a6e9f9f..932ebdc75 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(29) + expect(form.pages.count).to eq(28) end end