Browse Source

Move soft validation confirmation to processor

pull/1615/head
Kat 3 years ago
parent
commit
1e65cabf2b
  1. 15
      app/models/bulk_upload.rb
  2. 9
      app/models/forms/bulk_upload_lettings_data_check/confirm.rb
  3. 11
      app/services/bulk_upload/lettings/log_creator.rb
  4. 4
      app/services/bulk_upload/processor.rb
  5. 24
      spec/services/bulk_upload/lettings/log_creator_spec.rb

15
app/models/bulk_upload.rb

@ -72,6 +72,21 @@ class BulkUpload < ApplicationRecord
end
end
def unpend_and_confirm_soft_validations
logs.find_each do |log|
log.skip_update_status = true
log.status = log.status_cache
log.retirement_value_check = 0
log.pregnancy_value_check = 0
log.major_repairs_date_value_check = 0
log.void_date_value_check = 0
log.rent_value_check = 0
log.net_income_value_check = 0
log.carehome_charges_value_check = 0
log.save!
end
end
private
def generate_identifier

9
app/models/forms/bulk_upload_lettings_data_check/confirm.rb

@ -16,7 +16,14 @@ module Forms
end
def next_path
page_bulk_upload_lettings_resume_path(bulk_upload, page: "fix-choice")
resume_bulk_upload_lettings_result_path(bulk_upload)
end
def save!
processor = BulkUpload::Processor.new(bulk_upload:)
processor.approve_and_confirm_soft_validations
true
end
end
end

11
app/services/bulk_upload/lettings/log_creator.rb

@ -19,17 +19,6 @@ class BulkUpload::Lettings::LogCreator
row_parser.log.status = "pending"
row_parser.log.status_cache = row_parser.log.calculate_status
# confirm soft validations
if @confirm_soft_validations
row_parser.log.retirement_value_check = 0
row_parser.log.pregnancy_value_check = 0
row_parser.log.major_repairs_date_value_check = 0
row_parser.log.void_date_value_check = 0
row_parser.log.rent_value_check = 0
row_parser.log.net_income_value_check = 0
row_parser.log.carehome_charges_value_check = 0
end
begin
row_parser.log.save!
rescue StandardError => e

4
app/services/bulk_upload/processor.rb

@ -40,6 +40,10 @@ class BulkUpload::Processor
bulk_upload.unpend
end
def approve_and_confirm_soft_validations
bulk_upload.unpend_and_confirm_soft_validations
end
private
def send_how_fix_upload_mail

24
spec/services/bulk_upload/lettings/log_creator_spec.rb

@ -164,30 +164,6 @@ RSpec.describe BulkUpload::Lettings::LogCreator do
service.call
expect(LettingsLog.last.status).to eql("pending")
end
context "when confirming soft validations" do
subject(:service) { described_class.new(bulk_upload:, path:, confirm_soft_validations: true) }
it "sets unanswered soft validations to yes" do
service.call
log = LettingsLog.last
expect(log.age1).to be(22)
expect(log.ecstat1).to be(5)
expect(log.retirement_value_check).to be(0)
end
end
context "when not confirming soft validations" do
it "does not set unanswered soft validations" do
service.call
log = LettingsLog.last
expect(log.age1).to be(22)
expect(log.ecstat1).to be(5)
expect(log.retirement_value_check).to be(nil)
end
end
end
context "when valid csv with existing log" do

Loading…
Cancel
Save