Browse Source

CLDC-4270: Add tests

CLDC-4270-fix-text-being-coerced-to-0-on-integer-fields
samyou-softwire 1 week ago
parent
commit
34cd70f2ea
  1. 20
      spec/services/bulk_upload/lettings/year2026/csv_parser_spec.rb
  2. 16
      spec/services/bulk_upload/lettings/year2026/row_parser_spec.rb

20
spec/services/bulk_upload/lettings/year2026/csv_parser_spec.rb

@ -251,4 +251,24 @@ RSpec.describe BulkUpload::Lettings::Year2026::CsvParser do
end
end
end
context "when parsing csv with data of the wrong type" do
let(:seed) { rand }
let(:log_to_csv) { BulkUpload::LettingsLogToCsv.new(log:) }
let(:field_numbers) { log_to_csv.default_2026_field_numbers }
let(:field_values) { log_to_csv.to_2026_row }
before do
field_46_index = field_numbers.index(46)
field_values[field_46_index] = "GBR" # should be a 3 digit code
file.write(log_to_csv.custom_field_numbers_row(seed:, field_numbers:))
file.write(log_to_csv.to_custom_csv_row(seed:, field_values:))
file.rewind
end
it "sets the invalid data to nil" do
expect(service.row_parsers[0].field_46).to be_nil
end
end
end

16
spec/services/bulk_upload/lettings/year2026/row_parser_spec.rb

@ -536,6 +536,22 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
end
end
end
describe "invalid fields" do
let(:attributes) { setup_section_params.merge({ field_46: 0 }) }
context "when a field has been marked as invalid" do
before do
parser.add_invalid_field("field_46")
end
it "sets a single error on that field" do
parser.valid?
expect(parser.errors[:field_46].size).to eq(1)
expect(parser.errors[:field_46]).to include(match(I18n.t("validations.lettings.2026.bulk_upload.invalid_option", question: "What is the lead tenant’s nationality?")))
end
end
end
end
context "when setup section not complete" do

Loading…
Cancel
Save