diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index f96c41c88..281ab5ab2 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -149,7 +149,7 @@ class LettingsLog < Log def weekly_to_value_per_period(field_value) num_of_weeks = NUM_OF_WEEKS_FROM_PERIOD[period] - ((field_value * 52) / num_of_weeks).round(2) + sprintf("%.2f", (field_value * 52) / num_of_weeks) end def applicable_income_range @@ -650,7 +650,7 @@ private num_of_weeks = NUM_OF_WEEKS_FROM_PERIOD[period] return "" unless value && num_of_weeks - (value * 52 / num_of_weeks).round(2) + sprintf("%.2f", (value * 52 / num_of_weeks)) end def fully_wheelchair_accessible? diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index 721209ee9..a5de0d0f7 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -223,7 +223,7 @@ class SalesLog < Log def expected_shared_ownership_deposit_value return unless value && equity - (value * equity / 100).round(2) + sprintf("%.2f", (value * equity / 100)) end def process_postcode(postcode, postcode_known_key, la_inferred_key, la_key) diff --git a/spec/models/lettings_log_spec.rb b/spec/models/lettings_log_spec.rb index ca4ff7e85..1ee3cf2ba 100644 --- a/spec/models/lettings_log_spec.rb +++ b/spec/models/lettings_log_spec.rb @@ -2605,12 +2605,12 @@ RSpec.describe LettingsLog do context "when period is weekly for 52 weeks" do it "returns weekly soft min for 52 weeks" do lettings_log.period = 1 - expect(lettings_log.soft_min_for_period).to eq("100.0 every week") + expect(lettings_log.soft_min_for_period).to eq("100.00 every week") end it "returns weekly soft max for 52 weeks" do lettings_log.period = 1 - expect(lettings_log.soft_max_for_period).to eq("400.0 every week") + expect(lettings_log.soft_max_for_period).to eq("400.00 every week") end end diff --git a/spec/models/sales_log_spec.rb b/spec/models/sales_log_spec.rb index 5e1320a67..150656fd2 100644 --- a/spec/models/sales_log_spec.rb +++ b/spec/models/sales_log_spec.rb @@ -498,7 +498,7 @@ RSpec.describe SalesLog, type: :model do let!(:completed_sales_log) { create(:sales_log, :completed, ownershipsch: 1, type: 2, value: 1000, equity: 50) } it "is set to completed for a completed sales log" do - expect(completed_sales_log.expected_shared_ownership_deposit_value).to eq(500) + expect(completed_sales_log.expected_shared_ownership_deposit_value).to eq("500.00") end end diff --git a/spec/models/validations/financial_validations_spec.rb b/spec/models/validations/financial_validations_spec.rb index 8cb777029..0ae131ad3 100644 --- a/spec/models/validations/financial_validations_spec.rb +++ b/spec/models/validations/financial_validations_spec.rb @@ -919,9 +919,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 1001 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 10, period: "weekly for 52 weeks", max_chcharge: 1000)) + .to include("Household rent and other charges must be between 10.00 and 1000.00 if paying weekly for 52 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 10, period: "weekly for 52 weeks", max_chcharge: 1000)) + .to include("Household rent and other charges must be between 10.00 and 1000.00 if paying weekly for 52 weeks") end it "validates charge when period is monthly" do @@ -929,9 +929,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 4334 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 43, period: "every calendar month", max_chcharge: 4333)) + .to include("Household rent and other charges must be between 43.00 and 4333.00 if paying every calendar month") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 43, period: "every calendar month", max_chcharge: 4333)) + .to include("Household rent and other charges must be between 43.00 and 4333.00 if paying every calendar month") end it "validates charge when period is every 2 weeks" do @@ -939,9 +939,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 2001 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 20, period: "every 2 weeks", max_chcharge: 2000)) + .to include("Household rent and other charges must be between 20.00 and 2000.00 if paying every 2 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 20, period: "every 2 weeks", max_chcharge: 2000)) + .to include("Household rent and other charges must be between 20.00 and 2000.00 if paying every 2 weeks") end it "validates charge when period is every 4 weeks" do @@ -949,9 +949,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 4001 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 40, period: "every 4 weeks", max_chcharge: 4000)) + .to include("Household rent and other charges must be between 40.00 and 4000.00 if paying every 4 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 40, period: "every 4 weeks", max_chcharge: 4000)) + .to include("Household rent and other charges must be between 40.00 and 4000.00 if paying every 4 weeks") end end @@ -1007,9 +1007,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 9 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 10, period: "weekly for 52 weeks", max_chcharge: 1000)) + .to include("Household rent and other charges must be between 10.00 and 1000.00 if paying weekly for 52 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 10, period: "weekly for 52 weeks", max_chcharge: 1000)) + .to include("Household rent and other charges must be between 10.00 and 1000.00 if paying weekly for 52 weeks") end it "validates charge when period is monthly" do @@ -1017,9 +1017,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 42 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 43, period: "every calendar month", max_chcharge: 4333)) + .to include("Household rent and other charges must be between 43.00 and 4333.00 if paying every calendar month") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 43, period: "every calendar month", max_chcharge: 4333)) + .to include("Household rent and other charges must be between 43.00 and 4333.00 if paying every calendar month") end it "validates charge when period is every 2 weeks" do @@ -1027,9 +1027,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 19 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 20, period: "every 2 weeks", max_chcharge: 2000)) + .to include("Household rent and other charges must be between 20.00 and 2000.00 if paying every 2 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 20, period: "every 2 weeks", max_chcharge: 2000)) + .to include("Household rent and other charges must be between 20.00 and 2000.00 if paying every 2 weeks") end it "validates charge when period is every 4 weeks" do @@ -1037,9 +1037,9 @@ RSpec.describe Validations::FinancialValidations do record.chcharge = 39 financial_validator.validate_care_home_charges(record) expect(record.errors["chcharge"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 40, period: "every 4 weeks", max_chcharge: 4000)) + .to include("Household rent and other charges must be between 40.00 and 4000.00 if paying every 4 weeks") expect(record.errors["period"]) - .to include(match I18n.t("validations.financial.carehome.out_of_range", min_chcharge: 40, period: "every 4 weeks", max_chcharge: 4000)) + .to include("Household rent and other charges must be between 40.00 and 4000.00 if paying every 4 weeks") end end end diff --git a/spec/services/imports/lettings_logs_import_service_spec.rb b/spec/services/imports/lettings_logs_import_service_spec.rb index 2acdadf7b..d89468164 100644 --- a/spec/services/imports/lettings_logs_import_service_spec.rb +++ b/spec/services/imports/lettings_logs_import_service_spec.rb @@ -762,7 +762,7 @@ RSpec.describe Imports::LettingsLogsImportService do end it "intercepts the relevant validation error" do - expect(logger).to receive(:warn).with(/Removing chcharge with error: Household rent and other charges must be between £10 and £1000 if paying weekly for 52 weeks/) + expect(logger).to receive(:warn).with(/Removing chcharge with error: Household rent and other charges must be between £10.00 and £1000.00 if paying weekly for 52 weeks/) expect { lettings_log_service.send(:create_log, lettings_log_xml) } .not_to raise_error end