Browse Source

Clear frombeds if it's out of range

pull/1609/head
Kat 3 years ago
parent
commit
70f51a413c
  1. 1
      app/services/imports/sales_logs_import_service.rb
  2. 24
      spec/services/imports/sales_logs_import_service_spec.rb

1
app/services/imports/sales_logs_import_service.rb

@ -231,6 +231,7 @@ module Imports
%i[equity under_min] => %w[equity], %i[equity under_min] => %w[equity],
%i[mscharge under_min] => %w[mscharge has_mscharge], %i[mscharge under_min] => %w[mscharge has_mscharge],
%i[mortgage cannot_be_0] => %w[mortgage], %i[mortgage cannot_be_0] => %w[mortgage],
%i[frombeds outside_the_range] => %w[frombeds],
} }
errors.each do |(error, fields)| errors.each do |(error, fields)|

24
spec/services/imports/sales_logs_import_service_spec.rb

@ -897,6 +897,30 @@ RSpec.describe Imports::SalesLogsImportService do
end end
end end
context "and it has an invalid frombeds" do
let(:sales_log_id) { "shared_ownership_sales_log" }
before do
sales_log_xml.at_xpath("//xmlns:Q20Bedrooms").content = "0"
end
it "intercepts the relevant validation error" do
expect(logger).to receive(:warn).with(/Removing frombeds with error: Number of bedrooms in previous property must be between 1 and 6/)
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.frombeds).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