Browse Source

Round earnings value upon import

pull/1605/head
Kat 3 years ago
parent
commit
a6d720298c
  1. 2
      app/services/imports/lettings_logs_import_service.rb
  2. 28
      spec/services/imports/lettings_logs_import_service_spec.rb

2
app/services/imports/lettings_logs_import_service.rb

@ -105,7 +105,7 @@ module Imports
attributes["hb"] = unsafe_string_as_integer(xml_doc, "Q6Ben")
attributes["benefits"] = unsafe_string_as_integer(xml_doc, "Q7Ben")
attributes["earnings"] = safe_string_as_decimal(xml_doc, "Q8Money")
attributes["earnings"] = safe_string_as_decimal(xml_doc, "Q8Money")&.round
attributes["net_income_known"] = net_income_known(xml_doc, attributes["earnings"])
attributes["incfreq"] = unsafe_string_as_integer(xml_doc, "Q8a")

28
spec/services/imports/lettings_logs_import_service_spec.rb

@ -1207,6 +1207,34 @@ RSpec.describe Imports::LettingsLogsImportService do
end
end
context "and the earnings is not a whole number" do
let(:lettings_log_id) { "00d2343e-d5fa-4c89-8400-ec3854b0f2b4" }
let(:lettings_log_file) { open_file(fixture_directory, lettings_log_id) }
let(:lettings_log_xml) { Nokogiri::XML(lettings_log_file) }
before do
lettings_log_xml.at_xpath("//meta:status").content = "submitted"
lettings_log_xml.at_xpath("//xmlns:Q8a").content = "1 Weekly"
lettings_log_xml.at_xpath("//xmlns:Q8Money").content = 100.59
lettings_log_xml.at_xpath("//xmlns:Q8Refused").content = ""
end
it "does not error" do
expect { lettings_log_service.send(:create_log, lettings_log_xml) }
.not_to raise_error
end
it "rounds the earnings value" do
allow(logger).to receive(:warn)
lettings_log_service.send(:create_log, lettings_log_xml)
lettings_log = LettingsLog.find_by(old_id: lettings_log_id)
expect(lettings_log).not_to be_nil
expect(lettings_log.earnings).to eq(101)
end
end
context "when setting location fields for 23/24 logs" do
let(:lettings_log_id) { "00d2343e-d5fa-4c89-8400-ec3854b0f2b4" }
let(:lettings_log_file) { open_file(fixture_directory, lettings_log_id) }

Loading…
Cancel
Save