From 5ed55e68116fc73d5cbae54913958002eb0b312e Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Fri, 28 Apr 2023 11:23:45 +0100 Subject: [PATCH] test: update --- .../bulk_upload/sales/year2022/row_parser.rb | 33 ++++++++++--------- .../sales/year2022/row_parser_spec.rb | 23 ++++++++++++- 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/app/services/bulk_upload/sales/year2022/row_parser.rb b/app/services/bulk_upload/sales/year2022/row_parser.rb index 1c0369507..cfd5b8546 100644 --- a/app/services/bulk_upload/sales/year2022/row_parser.rb +++ b/app/services/bulk_upload/sales/year2022/row_parser.rb @@ -704,22 +704,23 @@ private end def ethnic_group_from_ethnic - return 17 if buyer_not_interviewed? - return nil if field_30.blank? - - case field_30 - when 1, 2, 3, 18 - 0 - when 4, 5, 6, 7 - 1 - when 8, 9, 10, 11, 15 - 2 - when 12, 13, 14 - 3 - when 16, 19 - 4 - when 17 - 17 + if field_30.blank? + buyer_not_interviewed? ? 17 : nil + else + case field_30 + when 1, 2, 3, 18 + 0 + when 4, 5, 6, 7 + 1 + when 8, 9, 10, 11, 15 + 2 + when 12, 13, 14 + 3 + when 16, 19 + 4 + when 17 + 17 + end end end diff --git a/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb index 5d713be63..6447fc2b9 100644 --- a/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb @@ -523,13 +523,14 @@ RSpec.describe BulkUpload::Sales::Year2022::RowParser do end describe "inferences" do - context "when buyer not interviewed" do + context "when buyer not interviewed and optional values nil" do let(:attributes) { valid_attributes.merge(field_6: "1", field_24: nil, field_30: nil, field_31: nil, field_32: nil, field_34: nil, field_36: nil, field_37: nil, field_39: nil, field_48: nil, field_49: nil) } it "infers correctly" do log = parser.log expect(log["noint"]).to eq(1) expect(log["ecstat1"]).to eq(0) + expect(log["ethnic"]).to eq(nil) expect(log["ethnic_group"]).to eq(17) expect(log["national"]).to eq(13) expect(log["income1nk"]).to eq(1) @@ -541,5 +542,25 @@ RSpec.describe BulkUpload::Sales::Year2022::RowParser do expect(log["wheel"]).to eq(3) end end + + context "when buyer not interviewed and optional values present" do + let(:attributes) { valid_attributes.merge(field_6: "1", field_24: "1", field_30: "1", field_31: "1", field_32: "1", field_34: "1", field_36: "1", field_37: "1", field_39: "1", field_48: "1", field_49: "1") } + + it "does not override variables correctly" do + log = parser.log + expect(log["noint"]).to eq(1) + expect(log["ecstat1"]).to eq(1) + expect(log["ethnic"]).to eq(0) + expect(log["ethnic_group"]).to eq(17) + expect(log["national"]).to eq(1) + expect(log["income1nk"]).to eq(0) + expect(log["inc1mort"]).to eq(1) + expect(log["savingsnk"]).to eq(0) + expect(log["prevown"]).to eq(1) + expect(log["prevten"]).to eq(1) + expect(log["disabled"]).to eq(1) + expect(log["wheel"]).to eq(1) + end + end end end