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)