Browse Source

Remove mscharge if it is under minimum

pull/1609/head
Kat 3 years ago
parent
commit
360efecd4f
  1. 1
      app/services/imports/sales_logs_import_service.rb
  2. 26
      spec/services/imports/sales_logs_import_service_spec.rb

1
app/services/imports/sales_logs_import_service.rb

@ -229,6 +229,7 @@ module Imports
%i[income2 over_hard_max_for_london] => %w[income2], %i[income2 over_hard_max_for_london] => %w[income2],
%i[equity over_max] => %w[equity], %i[equity over_max] => %w[equity],
%i[equity under_min] => %w[equity], %i[equity under_min] => %w[equity],
%i[mscharge under_min] => %w[mscharge has_mscharge],
%i[mortgage cannot_be_0] => %w[mortgage], %i[mortgage cannot_be_0] => %w[mortgage],
} }

26
spec/services/imports/sales_logs_import_service_spec.rb

@ -871,6 +871,32 @@ RSpec.describe Imports::SalesLogsImportService do
end end
end end
context "and it has an invalid mscharge" do
let(:sales_log_id) { "shared_ownership_sales_log" }
before do
sales_log_xml.at_xpath("//xmlns:Q29MonthlyCharges").content = "0.1"
end
it "intercepts the relevant validation error" do
expect(logger).to receive(:warn).with(/Removing mscharge with error: Monthly leasehold charges must be at least £1/)
expect(logger).to receive(:warn).with(/Removing has_mscharge with error: Monthly leasehold charges must be at least £1/)
expect { sales_log_service.send(:create_log, sales_log_xml) }
.not_to raise_error
end
it "clears out the invalid answers" do
allow(logger).to receive(:warn)
sales_log_service.send(:create_log, sales_log_xml)
sales_log = SalesLog.find_by(old_id: sales_log_id)
expect(sales_log).not_to be_nil
expect(sales_log.mscharge).to be_nil
expect(sales_log.has_mscharge).to be_nil
end
end
context "when inferring default answers for completed sales logs" do context "when inferring default answers for completed sales logs" do
context "when the armedforcesspouse is not answered" do context "when the armedforcesspouse is not answered" do
let(:sales_log_id) { "discounted_ownership_sales_log" } let(:sales_log_id) { "discounted_ownership_sales_log" }

Loading…
Cancel
Save