Browse Source

feat: refactor unpend_and_confirm_soft_validations and test the counts of value check fields to be confirmed are correct

pull/2249/head
natdeanlewissoftwire 2 years ago
parent
commit
d9b73b2de5
  1. 45
      app/models/bulk_upload.rb
  2. 7
      spec/factories/lettings_log.rb
  3. 18
      spec/models/bulk_upload_spec.rb

45
app/models/bulk_upload.rb

@ -78,42 +78,23 @@ class BulkUpload < ApplicationRecord
end
end
SHARED_VALUE_CHECKS = %w[retirement_value_check].freeze
LETTINGS_VALUE_CHECKS = %w[pregnancy_value_check major_repairs_date_value_check void_date_value_check rent_value_check net_income_value_check carehome_charges_value_check referral_value_check supcharg_value_check scharge_value_check pscharge_value_check reasonother_value_check].freeze
SALES_VALUE_CHECKS = %w[mortgage_value_check shared_ownership_deposit_value_check value_value_check savings_value_check income1_value_check deposit_value_check wheel_value_check extrabor_value_check grant_value_check staircase_bought_value_check deposit_and_mortgage_value_check old_persons_shared_ownership_value_check percentage_discount_value_check stairowned_value_check combined_income_value_check discounted_sale_value_check monthly_charges_value_check income2_value_check student_not_child_value_check buyer_livein_value_check].freeze
def unpend_and_confirm_soft_validations
logs.find_each do |log|
log.retirement_value_check = 0
SHARED_VALUE_CHECKS.each do |field|
log[field] = 0
end
if log.lettings?
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.referral_value_check = 0
log.supcharg_value_check = 0
log.scharge_value_check = 0
log.pscharge_value_check = 0
LETTINGS_VALUE_CHECKS.each do |field|
log[field] = 0
end
elsif log.sales?
log.mortgage_value_check = 0
log.shared_ownership_deposit_value_check = 0
log.value_value_check = 0
log.savings_value_check = 0
log.income1_value_check = 0
log.deposit_value_check = 0
log.wheel_value_check = 0
log.extrabor_value_check = 0
log.grant_value_check = 0
log.staircase_bought_value_check = 0
log.deposit_and_mortgage_value_check = 0
log.old_persons_shared_ownership_value_check = 0
log.income2_value_check = 0
log.monthly_charges_value_check = 0
log.student_not_child_value_check = 0
log.discounted_sale_value_check = 0
log.buyer_livein_value_check = 0
log.combined_income_value_check = 0
log.stairowned_value_check = 0
log.percentage_discount_value_check = 0
SALES_VALUE_CHECKS.each do |field|
log[field] = 0
end
end
log.save!
end

7
spec/factories/lettings_log.rb

@ -24,13 +24,6 @@ FactoryBot.define do
rent_type { 1 }
startdate { Time.zone.today }
end
trait :soft_validations_triggered do
status { 1 }
hhmemb { 1 }
ecstat1 { 1 }
earnings { 750 }
incfreq { 1 }
end
trait :conditional_section_complete do
tenancycode { Faker::Name.initials(number: 10) }
age1 { 34 }

18
spec/models/bulk_upload_spec.rb

@ -18,4 +18,22 @@ RSpec.describe BulkUpload, type: :model do
end
end
end
describe "value check clearing" do
context "with a lettings log bulk upload" do
let(:value_check_fields) { LettingsLog.columns_hash.keys.select { |column| column.end_with?("_value_check") } }
it "has the correct number of value checks to be set as confirmed" do
expect(value_check_fields.count).to eq(BulkUpload::SHARED_VALUE_CHECKS.count + BulkUpload::LETTINGS_VALUE_CHECKS.count)
end
end
context "with a sales log bulk upload" do
let(:value_check_fields) { SalesLog.columns_hash.keys.select { |column| column.end_with?("_value_check") } }
it "has the correct number of value checks to be set as confirmed" do
expect(value_check_fields.count).to eq(BulkUpload::SHARED_VALUE_CHECKS.count + BulkUpload::SALES_VALUE_CHECKS.count)
end
end
end
end

Loading…
Cancel
Save