Browse Source

Only add soft validations once

pull/1594/head
Kat 3 years ago
parent
commit
34ca2484f7
  1. 6
      app/services/bulk_upload/lettings/year2022/row_parser.rb
  2. 6
      app/services/bulk_upload/lettings/year2023/row_parser.rb
  3. 6
      app/services/bulk_upload/sales/year2022/row_parser.rb
  4. 1
      spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

6
app/services/bulk_upload/lettings/year2022/row_parser.rb

@ -725,8 +725,10 @@ private
question.page.interruption_screen_question_ids.each do |interruption_screen_question_id|
field_mapping_for_errors[interruption_screen_question_id.to_sym].each do |field|
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
unless errors.any? { |e| e.options[:category] == :soft_validation && field_mapping_for_errors[interruption_screen_question_id.to_sym].include?(e.attribute) }
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
end
end
end
end

6
app/services/bulk_upload/lettings/year2023/row_parser.rb

@ -467,8 +467,10 @@ private
question.page.interruption_screen_question_ids.each do |interruption_screen_question_id|
field_mapping_for_errors[interruption_screen_question_id.to_sym].each do |field|
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
unless errors.any? { |e| field_mapping_for_errors[interruption_screen_question_id.to_sym].include?(e.attribute) }
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
end
end
end
end

6
app/services/bulk_upload/sales/year2022/row_parser.rb

@ -954,8 +954,10 @@ private
question.page.interruption_screen_question_ids.each do |interruption_screen_question_id|
field_mapping_for_errors[interruption_screen_question_id.to_sym].each do |field|
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
unless errors.any? { |e| e.options[:category] == :soft_validation && field_mapping_for_errors[interruption_screen_question_id.to_sym].include?(e.attribute) }
error_message = [display_title_text(question.page.title_text, log), display_informative_text(question.page.informative_text, log)].join(". ")
errors.add(field, message: error_message, category: :soft_validation)
end
end
end
end

1
spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

@ -1030,6 +1030,7 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
it "populates with correct error message" do
soft_validation_errors = parser.errors.select { |e| e.options[:category] == :soft_validation }
expect(soft_validation_errors.count { |e| e.attribute == :field_128 }).to be(1)
expect(soft_validation_errors.find { |e| e.attribute == :field_128 }.message).to eql("You told us the rent is £120.00 every week. The maximum rent expected for this type of property in this local authority is ££118.85 every week.")
end
end

Loading…
Cancel
Save