From a3ea97a0227a832f047e249ca2661e3d0d01719c Mon Sep 17 00:00:00 2001 From: Sam Seed Date: Tue, 18 Apr 2023 12:25:55 +0100 Subject: [PATCH] test: that extra invalid field labels don't cause issues --- .../lettings/year2023/csv_parser_spec.rb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/spec/services/bulk_upload/lettings/year2023/csv_parser_spec.rb b/spec/services/bulk_upload/lettings/year2023/csv_parser_spec.rb index a8cf227f4..084df9b1d 100644 --- a/spec/services/bulk_upload/lettings/year2023/csv_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2023/csv_parser_spec.rb @@ -79,6 +79,33 @@ RSpec.describe BulkUpload::Lettings::Year2023::CsvParser do end end + context "when parsing csv with extra invalid headers" do + let(:seed) { rand } + let(:log_to_csv) { BulkUpload::LogToCsv.new(log:) } + let(:field_numbers) { log_to_csv.default_2023_field_numbers + ["invalid_field_number"] } + let(:field_values) { log_to_csv.to_2023_row + ["value_for_invalid_field_number"] } + + before do + file.write("Question\n") + file.write("Additional info\n") + file.write("Values\n") + file.write("Can be empty?\n") + file.write("Type of letting the question applies to\n") + file.write("Duplicate check field?\n") + file.write(log_to_csv.custom_2023_field_numbers_row(seed:, field_numbers:)) + file.write(log_to_csv.to_custom_2023_csv_row(seed:, field_values:)) + file.rewind + end + + it "parses csv correctly" do + expect(service.row_parsers[0].field_13).to eql(log.tenancycode) + end + + it "counts the number of valid field numbers correctly" do + expect(service.valid_field_numbers_count).to eql(134) + end + end + context "when parsing csv without headers" do before do file.write(BulkUpload::LogToCsv.new(log:, col_offset: 0).to_2023_csv_row)