Browse Source

update more field types

pull/79/head
Kat 4 years ago
parent
commit
6cdec64783
  1. 32
      app/constants/db_enums.rb
  2. 4
      app/models/case_log.rb
  3. 16
      db/migrate/20211103090530_change_field_types.rb
  4. 17
      db/schema.rb
  5. 4
      spec/fixtures/complete_case_log.json
  6. 6
      spec/helpers/tasklist_helper_spec.rb

32
app/constants/db_enums.rb

@ -204,4 +204,36 @@ module DbEnums
"Other" => 6,
}
end
def self.incfreq
{
"Weekly" => 1,
"Monthly" => 2,
"Yearly" => 3,
}
end
def self.benefits
{
"All" => 1,
"Some" => 2,
"None" => 3,
"Do not know" => 4,
}
end
def self.period
{
"Weekly for 52 weeks" => 1,
"Fortnightly" => 2,
"Four-weekly" => 3,
"Calendar monthly" => 4,
"Weekly for 50 weeks" => 5,
"Weekly for 49 weeks" => 6,
"Weekly for 48 weeks" => 7,
"Weekly for 47 weeks" => 8,
"Weekly for 46 weeks" => 9,
"Weekly for 53 weeks" => 10,
}
end
end

4
app/models/case_log.rb

@ -94,6 +94,10 @@ class CaseLog < ApplicationRecord
enum cbl: DbEnums.polar2, _suffix: true
enum chr: DbEnums.polar2, _suffix: true
enum cap: DbEnums.polar2, _suffix: true
enum wchair: DbEnums.polar2, _suffix: true
enum incfreq: DbEnums.incfreq, _suffix: true
enum benefits: DbEnums.benefits, _suffix: true
enum period: DbEnums.period, _suffix: true
AUTOGENERATED_FIELDS = %w[id status created_at updated_at discarded_at].freeze

16
db/migrate/20211103090530_change_field_types.rb

@ -48,6 +48,14 @@ class ChangeFieldTypes < ActiveRecord::Migration[6.1]
t.change :landlord, "integer USING landlord::integer"
t.change :rsnvac, "integer USING rsnvac::integer"
t.change :unittype_gn, "integer USING unittype_gn::integer"
t.change :beds, "integer USING beds::integer"
t.change :wchair, "integer USING wchair::integer"
t.change :incfreq, "integer USING incfreq::integer"
t.change :benefits, "integer USING benefits::integer"
t.change :period, "integer USING period::integer"
t.change :brent, "integer USING brent::integer"
t.change :scharge, "integer USING scharge::integer"
t.change :pscharge, "integer USING pscharge::integer"
end
end
@ -100,6 +108,14 @@ class ChangeFieldTypes < ActiveRecord::Migration[6.1]
t.change :landlord, :string
t.change :rsnvac, :string
t.change :unittype_gn, :string
t.change :beds, :string
t.change :wchair, :string
t.change :incfreq, :string
t.change :benefits, :string
t.change :period, :string
t.change :brent, :string
t.change :scharge, :string
t.change :pscharge, :string
end
end
end

17
db/schema.rb

@ -80,19 +80,20 @@ ActiveRecord::Schema.define(version: 2021_11_03_090530) do
t.string "property_reference"
t.integer "unittype_gn"
t.string "property_building_type"
t.string "beds"
t.integer "beds"
t.string "property_void_date"
t.string "property_major_repairs"
t.string "property_major_repairs_date"
t.string "wchair"
t.integer "offered"
t.integer "wchair"
t.integer "earnings"
t.string "incfreq"
t.string "benefits"
t.integer "incfreq"
t.integer "benefits"
t.string "housing_benefit"
t.string "period"
t.string "brent"
t.string "scharge"
t.string "pscharge"
t.integer "period"
t.integer "brent"
t.integer "scharge"
t.integer "pscharge"
t.string "supcharge"
t.string "tcharge"
t.string "outstanding_amount"

4
spec/fixtures/complete_case_log.json vendored

@ -66,13 +66,13 @@
"property_major_repairs": "Yes",
"property_major_repairs_date": "05/05/2020",
"offered": 2,
"wchair": true,
"wchair": "Yes",
"net_income_known": "Yes",
"earnings": 0,
"incfreq": null,
"benefits": "Some",
"housing_benefit": "Universal Credit with housing element, but not Housing Benefit",
"period": "Weekly",
"period": "Fortnightly",
"brent": 200,
"scharge": 50,
"pscharge": 40,

6
spec/helpers/tasklist_helper_spec.rb

@ -30,7 +30,11 @@ RSpec.describe TasklistHelper do
end
it "returns completed if all the questions in the subsection have been answered" do
%w[earnings incfreq benefits housing_benefit].each { |x| case_log[x] = "value" }
case_log["earnings"] = "value"
case_log["incfreq"] = "Weekly"
case_log["benefits"] = "All"
case_log["housing_benefit"] = "Do not know"
status = get_subsection_status("income_and_benefits", case_log, income_and_benefits_questions)
expect(status).to eq(:completed)
end

Loading…
Cancel
Save