Browse Source

Set nationality from lettings BU 24/25

pull/2193/head
Kat 2 years ago
parent
commit
aed4a729a0
  1. 13
      app/services/bulk_upload/lettings/year2024/row_parser.rb
  2. 74
      spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb

13
app/services/bulk_upload/lettings/year2024/row_parser.rb

@ -906,7 +906,7 @@ private
ethnic_group: %i[field_44], ethnic_group: %i[field_44],
ethnic: %i[field_44], ethnic: %i[field_44],
national: %i[field_45], nationality_all: %i[field_45],
relat2: %i[field_47], relat2: %i[field_47],
relat3: %i[field_51], relat3: %i[field_51],
@ -1079,7 +1079,8 @@ private
attributes["ethnic_group"] = ethnic_group_from_ethnic attributes["ethnic_group"] = ethnic_group_from_ethnic
attributes["ethnic"] = field_44 attributes["ethnic"] = field_44
attributes["national"] = field_45 attributes["nationality_all"] = field_45
attributes["nationality_all_group"] = nationality_group(attributes["nationality_all"])
attributes["relat2"] = field_47 attributes["relat2"] = field_47
attributes["relat3"] = field_51 attributes["relat3"] = field_51
@ -1466,4 +1467,12 @@ private
0 0
end end
end end
def nationality_group(nationality_value)
return unless nationality_value
return 0 if nationality_value.zero?
return 826 if nationality_value == 826
12
end
end end

74
spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb

@ -1510,6 +1510,80 @@ RSpec.describe BulkUpload::Lettings::Year2024::RowParser do
end end
end end
describe "#field_45" do
context "when field_45 is a 3 digit nationality code" do
let(:attributes) { setup_section_params.merge({ field_45: "036" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(36)
expect(parser.log.nationality_all_group).to be(12)
end
end
context "when field_45 is a nationality code without the trailing 0s" do
let(:attributes) { setup_section_params.merge({ field_45: "36" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(36)
expect(parser.log.nationality_all_group).to be(12)
end
end
context "when field_45 is a nationality code with trailing 0s" do
let(:attributes) { setup_section_params.merge({ field_45: "0036" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(36)
expect(parser.log.nationality_all_group).to be(12)
end
end
context "when field_45 is 0" do
let(:attributes) { setup_section_params.merge({ field_45: "0" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(0)
expect(parser.log.nationality_all_group).to be(0)
end
end
context "when field_45 is 000" do
let(:attributes) { setup_section_params.merge({ field_45: "000" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(0)
expect(parser.log.nationality_all_group).to be(0)
end
end
context "when field_45 is 0000" do
let(:attributes) { setup_section_params.merge({ field_45: "0000" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(0)
expect(parser.log.nationality_all_group).to be(0)
end
end
context "when field_45 is 826" do
let(:attributes) { setup_section_params.merge({ field_45: "826" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(826)
expect(parser.log.nationality_all_group).to be(826)
end
end
context "when field_45 is 826 with trailing 0s" do
let(:attributes) { setup_section_params.merge({ field_45: "0826" }) }
it "is correctly set" do
expect(parser.log.nationality_all).to be(826)
expect(parser.log.nationality_all_group).to be(826)
end
end
end
describe "soft validations" do describe "soft validations" do
context "when soft validation is triggered" do context "when soft validation is triggered" do
let(:attributes) { setup_section_params.merge({ field_42: 22, field_46: 5 }) } let(:attributes) { setup_section_params.merge({ field_42: 22, field_46: 5 }) }

Loading…
Cancel
Save