From 12e496555a0b18e5bcb7041e6a4db6acc46a7162 Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Mon, 30 Jan 2023 12:40:18 +0000 Subject: [PATCH] do not create logs if a setup section not complete --- app/services/bulk_upload/lettings/validator.rb | 2 ++ .../bulk_upload/lettings/validator_spec.rb | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/services/bulk_upload/lettings/validator.rb b/app/services/bulk_upload/lettings/validator.rb index 18412f78b..b06c8633a 100644 --- a/app/services/bulk_upload/lettings/validator.rb +++ b/app/services/bulk_upload/lettings/validator.rb @@ -171,6 +171,8 @@ class BulkUpload::Lettings::Validator end def create_logs? + return false if row_parsers.any? { |row_parser| row_parser.log.form.setup_sections[0].subsections[0].is_incomplete?(row_parser.log) } + row_parsers.all? { |row_parser| row_parser.log.valid? } end diff --git a/spec/services/bulk_upload/lettings/validator_spec.rb b/spec/services/bulk_upload/lettings/validator_spec.rb index ebd3fcc80..ca21e0979 100644 --- a/spec/services/bulk_upload/lettings/validator_spec.rb +++ b/spec/services/bulk_upload/lettings/validator_spec.rb @@ -130,8 +130,8 @@ RSpec.describe BulkUpload::Lettings::Validator do end context "when all logs valid?" do - let(:log_1) { build(:lettings_log, :completed, created_by: user) } - let(:log_2) { build(:lettings_log, :completed, created_by: user) } + let(:log_1) { build(:lettings_log, :completed, renttype: 1, created_by: user) } + let(:log_2) { build(:lettings_log, :completed, renttype: 1, created_by: user) } before do file.write(BulkUpload::LogToCsv.new(log: log_1, line_ending: "\r\n", col_offset: 0).to_csv_row) @@ -143,5 +143,18 @@ RSpec.describe BulkUpload::Lettings::Validator do expect(validator).to be_create_logs end end + + context "when a log has incomplete setup secion" do + let(:log) { build(:lettings_log, :in_progress, created_by: user, startdate: Time.zone.local(2022, 5, 1)) } + + before do + file.write(BulkUpload::LogToCsv.new(log:, line_ending: "\r\n", col_offset: 0).to_csv_row) + file.close + end + + it "returns false" do + expect(validator).not_to be_create_logs + end + end end end