diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 3d865536a..859df2bd2 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -122,6 +122,9 @@ private if responses_for_page["property_postcode"].present? result["postcode"], result["postcod2"] = get_inferred_postcode(params["case_log"]["property_postcode"]) end + if responses_for_page["previous_postcode"].present? + result["ppostc1"], result["ppostc2"] = get_inferred_postcode(params["case_log"]["previous_postcode"]) + end result end diff --git a/db/migrate/20211108134601_further_core_migrations.rb b/db/migrate/20211108134601_further_core_migrations.rb index 3f58d6b8c..3ab7d800e 100644 --- a/db/migrate/20211108134601_further_core_migrations.rb +++ b/db/migrate/20211108134601_further_core_migrations.rb @@ -11,6 +11,8 @@ class FurtherCoreMigrations < ActiveRecord::Migration[6.1] rename_column :case_logs, :outstanding_amount, :tshortfall add_column :case_logs, :postcode, :string add_column :case_logs, :postcod2, :string + add_column :case_logs, :ppostc1, :string + add_column :case_logs, :ppostc2, :string end def down @@ -25,5 +27,7 @@ class FurtherCoreMigrations < ActiveRecord::Migration[6.1] rename_column :case_logs, :tshortfall, :outstanding_amount remove_column :case_logs, :postcode remove_column :case_logs, :postcod2 + remove_column :case_logs, :ppostc1 + remove_column :case_logs, :ppostc2 end end diff --git a/db/migrate/20211108143649_change_field_types.rb b/db/migrate/20211108143649_further_change_field_types.rb similarity index 91% rename from db/migrate/20211108143649_change_field_types.rb rename to db/migrate/20211108143649_further_change_field_types.rb index 3679f4cc5..c596f162a 100644 --- a/db/migrate/20211108143649_change_field_types.rb +++ b/db/migrate/20211108143649_further_change_field_types.rb @@ -1,4 +1,4 @@ -class ChangeReasonType < ActiveRecord::Migration[6.1] +class FurtherChangeFieldTypes < ActiveRecord::Migration[6.1] def up change_table :case_logs, bulk: true do |t| t.change :reason, "integer USING reason::integer" diff --git a/db/schema.rb b/db/schema.rb index 2228ee418..e47645fc9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -147,6 +147,8 @@ ActiveRecord::Schema.define(version: 2021_11_08_143649) do t.string "purchaser_code" t.string "postcode" t.string "postcod2" + t.string "ppostc1" + t.string "ppostc2" t.index ["discarded_at"], name: "index_case_logs_on_discarded_at" end diff --git a/spec/controllers/case_logs_controller_spec.rb b/spec/controllers/case_logs_controller_spec.rb index bc0910251..40d93cc59 100644 --- a/spec/controllers/case_logs_controller_spec.rb +++ b/spec/controllers/case_logs_controller_spec.rb @@ -155,6 +155,7 @@ RSpec.describe CaseLogsController, type: :controller do let(:case_log_with_postcode) do { property_postcode: "M1 1AE", + previous_postcode: "M2 2AE", page: "property_postcode", } end @@ -166,6 +167,15 @@ RSpec.describe CaseLogsController, type: :controller do expect(case_log.postcode).to eq("M1") expect(case_log.postcod2).to eq("1AE") end + + it "saves full and partial previous postcodes" do + post :submit_form, params: { id: id, case_log: case_log_with_postcode } + case_log.reload + + expect(case_log.previous_postcode).to eq("M2 2AE") + expect(case_log.ppostc1).to eq("M2") + expect(case_log.ppostc2).to eq("2AE") + end end end diff --git a/spec/fixtures/complete_case_log.json b/spec/fixtures/complete_case_log.json index 5429b2f4f..7bca4a575 100644 --- a/spec/fixtures/complete_case_log.json +++ b/spec/fixtures/complete_case_log.json @@ -130,6 +130,8 @@ "propcode": "123", "majorrepairs": "Yes", "postcode": "a1", - "postcod2": "w3" + "postcod2": "w3", + "ppostc1": "w3", + "ppostc2": "w3" } } diff --git a/spec/fixtures/forms/test_form.json b/spec/fixtures/forms/test_form.json index 1e7fe69ab..15764300b 100644 --- a/spec/fixtures/forms/test_form.json +++ b/spec/fixtures/forms/test_form.json @@ -502,6 +502,12 @@ "hint_text": "If the household has moved from settled accommodation immediately prior to being re-housed", "type": "text", "conditional_for": { "faake_key": "fake_condition" } + }, + "previous_postcode": { + "check_answer_label": "Postcode of previous accomodation if the household has moved from settled accommodation", + "header": "Postcode for the previous accommodation", + "hint_text": "If the household has moved from settled accommodation immediately prior to being re-housed", + "type": "text" } } }