diff --git a/app/models/form/sales/subsections/shared_ownership_scheme.rb b/app/models/form/sales/subsections/shared_ownership_scheme.rb index 8c05cd82d..e7ff1cf6e 100644 --- a/app/models/form/sales/subsections/shared_ownership_scheme.rb +++ b/app/models/form/sales/subsections/shared_ownership_scheme.rb @@ -21,15 +21,18 @@ class Form::Sales::Subsections::SharedOwnershipScheme < ::Form::Subsection Form::Sales::Pages::PreviousPropertyType.new(nil, nil, self), Form::Sales::Pages::PreviousTenure.new(nil, nil, self), Form::Sales::Pages::AboutPriceSharedOwnership.new(nil, nil, self), + Form::Sales::Pages::SharedOwnershipDepositValueCheck.new("shared_ownership_equity_value_check", nil, self), Form::Sales::Pages::Mortgageused.new("mortgage_used_shared_ownership", nil, self), Form::Sales::Pages::MortgageAmount.new("mortgage_amount_shared_ownership", nil, self), + Form::Sales::Pages::SharedOwnershipDepositValueCheck.new("shared_ownership_mortgage_amount_value_check", nil, self), Form::Sales::Pages::MortgageLender.new("mortgage_lender_shared_ownership", nil, self), Form::Sales::Pages::MortgageLenderOther.new("mortgage_lender_other_shared_ownership", nil, self), Form::Sales::Pages::MortgageLength.new("mortgage_length_shared_ownership", nil, self), Form::Sales::Pages::ExtraBorrowing.new("extra_borrowing_shared_ownership", nil, self), Form::Sales::Pages::AboutDepositWithDiscount.new(nil, nil, self), Form::Sales::Pages::AboutDepositWithoutDiscount.new("about_deposit_shared_ownership", nil, self), - Form::Sales::Pages::DepositValueCheck.new("shared_ownership_deposit_value_check", nil, self), + Form::Sales::Pages::DepositValueCheck.new("deposit_value_check", nil, self), + Form::Sales::Pages::SharedOwnershipDepositValueCheck.new("shared_ownership_deposit_value_check", nil, self), Form::Sales::Pages::MonthlyRent.new(nil, nil, self), Form::Sales::Pages::LeaseholdCharges.new("leasehold_charges_shared_ownership", nil, self), ] diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index 45bd9f729..db622d411 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -158,6 +158,12 @@ class SalesLog < Log end end + def expected_shared_ownership_deposit_value + return unless value && equity + + (value * equity / 100).round(2) + end + def process_postcode(postcode, postcode_known_key, la_inferred_key, la_key) return if postcode.blank? diff --git a/config/locales/en.yml b/config/locales/en.yml index 43a868b69..e76030650 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -449,7 +449,7 @@ en: void_date: title_text: "You told us the time between the start of the tenancy and the void date is more than 2 years" shared_owhership_deposit: - title_text: "Mortgage, deposit and cash discount total should equal %{expected_shared_ownership_deposit_value}" + title_text: "Mortgage, deposit and cash discount total should equal £%{expected_shared_ownership_deposit_value}" devise: two_factor_authentication: diff --git a/spec/models/form/sales/subsections/shared_ownership_scheme_spec.rb b/spec/models/form/sales/subsections/shared_ownership_scheme_spec.rb index 1cafa8072..d131bc605 100644 --- a/spec/models/form/sales/subsections/shared_ownership_scheme_spec.rb +++ b/spec/models/form/sales/subsections/shared_ownership_scheme_spec.rb @@ -27,14 +27,17 @@ RSpec.describe Form::Sales::Subsections::SharedOwnershipScheme, type: :model do previous_property_type shared_ownership_previous_tenure about_price_shared_ownership + shared_ownership_equity_value_check mortgage_used_shared_ownership mortgage_amount_shared_ownership + shared_ownership_mortgage_amount_value_check mortgage_lender_shared_ownership mortgage_lender_other_shared_ownership mortgage_length_shared_ownership extra_borrowing_shared_ownership about_deposit_with_discount about_deposit_shared_ownership + deposit_value_check shared_ownership_deposit_value_check monthly_rent leasehold_charges_shared_ownership diff --git a/spec/models/sales_log_spec.rb b/spec/models/sales_log_spec.rb index 3720dba56..dff2a7857 100644 --- a/spec/models/sales_log_spec.rb +++ b/spec/models/sales_log_spec.rb @@ -348,4 +348,12 @@ RSpec.describe SalesLog, type: :model do expect(record_from_db["prevloc"]).to eq(nil) end end + + describe "expected_shared_ownership_deposit_value" do + let!(:completed_sales_log) { create(:sales_log, :completed, ownershipsch: 1, type: 18, 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) + end + end end