Browse Source

Count inferred check answers answer as an answered answer :)

and remove la unknown reason field
pull/268/head
Kat 3 years ago
parent
commit
febec63582
  1. 6
      app/models/form/question.rb
  2. 9
      config/forms/2021_2022.json
  3. 9
      db/migrate/20220203145845_remove_why_dont_you_know_la.rb
  4. 5
      db/schema.rb
  5. 1
      spec/fixtures/complete_case_log.json
  6. 12
      spec/fixtures/forms/2021_2022.json
  7. 2
      spec/models/form_handler_spec.rb

6
app/models/form/question.rb

@ -83,11 +83,15 @@ class Form::Question
return false if id == "gdpr_acceptance" && case_log[id] == "No" return false if id == "gdpr_acceptance" && case_log[id] == "No"
return answer_options.keys.any? { |key| case_log[key] == "Yes" } if type == "checkbox" 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 end
private 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) def checkbox_answer_label(case_log)
answer = [] answer = []
answer_options.each { |key, value| case_log[key] == "Yes" ? answer << value : nil } answer_options.each { |key, value| case_log[key] == "Yes" ? answer << value : nil }

9
config/forms/2021_2022.json

@ -1716,16 +1716,7 @@
"answer_options": { "answer_options": {
"1": "Yes", "1": "Yes",
"0": "No" "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 }] "depends_on": [{ "is_la_inferred": false }]

9
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

5
db/schema.rb

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # 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 # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -93,7 +93,6 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do
t.integer "beds" t.integer "beds"
t.integer "offered" t.integer "offered"
t.integer "wchair" t.integer "wchair"
t.integer "earnings"
t.integer "incfreq" t.integer "incfreq"
t.integer "benefits" t.integer "benefits"
t.integer "period" t.integer "period"
@ -162,7 +161,6 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do
t.datetime "startdate" t.datetime "startdate"
t.integer "armedforces" t.integer "armedforces"
t.integer "first_time_property_let_as_social_housing" t.integer "first_time_property_let_as_social_housing"
t.string "why_dont_you_know_la"
t.integer "unitletas" t.integer "unitletas"
t.integer "builtype" t.integer "builtype"
t.datetime "property_void_date" t.datetime "property_void_date"
@ -186,6 +184,7 @@ ActiveRecord::Schema.define(version: 2022_02_03_104800) do
t.integer "is_carehome" t.integer "is_carehome"
t.integer "letting_in_sheltered_accomodation" t.integer "letting_in_sheltered_accomodation"
t.integer "household_charge" t.integer "household_charge"
t.integer "earnings"
t.integer "referral" t.integer "referral"
t.decimal "brent", precision: 10, scale: 2 t.decimal "brent", precision: 10, scale: 2
t.decimal "scharge", precision: 10, scale: 2 t.decimal "scharge", precision: 10, scale: 2

1
spec/fixtures/complete_case_log.json vendored

@ -136,7 +136,6 @@
"postcod2": "w3", "postcod2": "w3",
"ppostc1": "w3", "ppostc1": "w3",
"ppostc2": "w3", "ppostc2": "w3",
"why_dont_you_know_la": "Forgot",
"first_time_property_let_as_social_housing": "No", "first_time_property_let_as_social_housing": "No",
"unitletas": "Affordable rent basis", "unitletas": "Affordable rent basis",
"builtype": "Purpose built", "builtype": "Purpose built",

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

@ -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": { "property_postcode": {
"questions": { "questions": {
"property_postcode": { "property_postcode": {

2
spec/models/form_handler_spec.rb

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

Loading…
Cancel
Save