From d73433492f816fd52126405b62870d486693ce4f Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Fri, 19 Jan 2024 15:18:00 +0000 Subject: [PATCH] Add tests --- .../sales/year2023/row_parser_spec.rb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb index 6f617b584..1056d4402 100644 --- a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb @@ -182,6 +182,54 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do end end + describe "income and savings fields" do + context "when set to R" do + let(:attributes) do + { + bulk_upload:, + field_78: "R", # income 1 + field_80: "R", # income 2 + field_83: "R", # savings + } + end + + it "sets the not known field as not known" do + expect(parser.log.income1nk).to be(1) + expect(parser.log.income2nk).to be(1) + expect(parser.log.savingsnk).to be(1) + end + + it "leaves the value field nil" do + expect(parser.log.income1).to be_nil + expect(parser.log.income2).to be_nil + expect(parser.log.savings).to be_nil + end + end + + context "when set to a number" do + let(:attributes) do + { + bulk_upload:, + field_78: "30000", # income 1 + field_80: "0", # income 2 + field_83: "12420", # savings + } + end + + it "sets the not known field as known" do + expect(parser.log.income1nk).to be(0) + expect(parser.log.income2nk).to be(0) + expect(parser.log.savingsnk).to be(0) + end + + it "sets the values" do + expect(parser.log.income1).to be(30_000) + expect(parser.log.income2).to be(0) + expect(parser.log.savings).to be(12_420) + end + end + end + describe "validations" do before do stub_request(:get, /api.postcodes.io/)