From 39dbcd6214358c76f9f7ac7c2495bab8a2050d6f Mon Sep 17 00:00:00 2001
From: Carolyn <carolyn.barker@softwire.com>
Date: Fri, 21 Mar 2025 16:16:05 +0000
Subject: [PATCH] delete some old rake tasks and tests

---
 lib/tasks/clear_invalid_benefits.rake         |  20 --
 lib/tasks/clear_invalidated_earnings.rake     |  12 -
 lib/tasks/correct_checkbox_values.rake        |  20 --
 lib/tasks/correct_reasonpref_values.rake      |  15 --
 lib/tasks/correct_rent_type_value.rake        |  20 --
 ..._sales_over_retirement_age_validation.rake |  19 --
 lib/tasks/update_created_by_values.rake       |  24 --
 spec/lib/tasks/clear_invalid_benefits_spec.rb |  95 -------
 .../tasks/clear_invalidated_earnings_spec.rb  | 111 --------
 .../lib/tasks/correct_checkbox_values_spec.rb | 217 ---------------
 .../tasks/correct_reasonpref_values_spec.rb   | 111 --------
 .../lib/tasks/correct_rent_type_value_spec.rb | 254 ------------------
 ...les_over_retirement_age_validation_spec.rb |  53 ----
 .../tasks/update_created_by_values_spec.rb    | 146 ----------
 14 files changed, 1117 deletions(-)
 delete mode 100644 lib/tasks/clear_invalid_benefits.rake
 delete mode 100644 lib/tasks/clear_invalidated_earnings.rake
 delete mode 100644 lib/tasks/correct_checkbox_values.rake
 delete mode 100644 lib/tasks/correct_reasonpref_values.rake
 delete mode 100644 lib/tasks/correct_rent_type_value.rake
 delete mode 100644 lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake
 delete mode 100644 lib/tasks/update_created_by_values.rake
 delete mode 100644 spec/lib/tasks/clear_invalid_benefits_spec.rb
 delete mode 100644 spec/lib/tasks/clear_invalidated_earnings_spec.rb
 delete mode 100644 spec/lib/tasks/correct_checkbox_values_spec.rb
 delete mode 100644 spec/lib/tasks/correct_reasonpref_values_spec.rb
 delete mode 100644 spec/lib/tasks/correct_rent_type_value_spec.rb
 delete mode 100644 spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb
 delete mode 100644 spec/lib/tasks/update_created_by_values_spec.rb

diff --git a/lib/tasks/clear_invalid_benefits.rake b/lib/tasks/clear_invalid_benefits.rake
deleted file mode 100644
index 415559a6b..000000000
--- a/lib/tasks/clear_invalid_benefits.rake
+++ /dev/null
@@ -1,20 +0,0 @@
-desc "clear benefit value for logs that would trigger the validation"
-task clear_invalid_benefits: :environment do
-  validation_trigger_condition = "ecstat1 = 1 OR ecstat1 = 2 OR (ecstat2 = 1 AND relat2 = 'P') OR (ecstat2 = 2 AND relat2 = 'P') OR (ecstat3 = 1 AND relat3 = 'P') OR (ecstat3 = 2 AND relat3 = 'P') OR (ecstat4 = 1 AND relat4 = 'P') OR (ecstat4 = 2 AND relat4 = 'P') OR (ecstat5 = 1 AND relat5 = 'P') OR (ecstat5 = 2 AND relat5 = 'P') OR (ecstat6 = 1 AND relat6 = 'P') OR (ecstat6 = 2 AND relat6 = 'P') OR (ecstat7 = 1 AND relat7 = 'P') OR (ecstat7 = 2 AND relat7 = 'P') OR (ecstat8 = 1 AND relat8 = 'P') OR (ecstat8 = 2 AND relat8 = 'P')"
-  LettingsLog.filter_by_year(2024).where(status: "pending", status_cache: "completed", benefits: 1).where(validation_trigger_condition).find_each do |log|
-    log.benefits = nil
-    log.status_cache = log.calculate_status
-    log.skip_update_status = true
-
-    unless log.save
-      Rails.logger.info "Could not save changes to pending lettings log #{log.id}"
-    end
-  end
-
-  LettingsLog.filter_by_year(2024).visible.where(benefits: 1).where(validation_trigger_condition).find_each do |log|
-    log.benefits = nil
-    unless log.save
-      Rails.logger.info "Could not save changes to lettings log #{log.id}"
-    end
-  end
-end
diff --git a/lib/tasks/clear_invalidated_earnings.rake b/lib/tasks/clear_invalidated_earnings.rake
deleted file mode 100644
index 2c230a095..000000000
--- a/lib/tasks/clear_invalidated_earnings.rake
+++ /dev/null
@@ -1,12 +0,0 @@
-desc "Clear earnings for lettings logs that fail validation"
-task clear_invalidated_earnings: :environment do
-  LettingsLog.filter_by_year(2023).find_each do |lettings_log|
-    lettings_log.validate_net_income(lettings_log)
-    if lettings_log.errors[:earnings].present?
-      Rails.logger.info "Clearing earnings for lettings log #{lettings_log.id}, owning_organisation_id: #{lettings_log.owning_organisation_id}, managing_organisation_id: #{lettings_log.managing_organisation_id}, startdate: #{lettings_log.startdate.to_date}, tenancy reference: #{lettings_log.tenancycode}, property reference: #{lettings_log.propcode}, assigned_to: #{lettings_log.assigned_to.email}(#{lettings_log.assigned_to_id}), earnings: #{lettings_log.earnings}, incfreq: #{lettings_log.incfreq}"
-      lettings_log.earnings = nil
-      lettings_log.incfreq = nil
-      lettings_log.save!(validate: false)
-    end
-  end
-end
diff --git a/lib/tasks/correct_checkbox_values.rake b/lib/tasks/correct_checkbox_values.rake
deleted file mode 100644
index 0bd7c6974..000000000
--- a/lib/tasks/correct_checkbox_values.rake
+++ /dev/null
@@ -1,20 +0,0 @@
-desc "Update BU reasonable preference and illness type checkbox values"
-task correct_checkbox_values: :environment do
-  any_reasonpref_selected = "rp_homeless = 1 OR rp_hardship = 1 OR rp_medwel = 1 OR rp_insan_unsat = 1 OR rp_dontknow = 1"
-  any_reasonpref_is_null = "rp_homeless IS NULL OR rp_hardship IS NULL OR rp_medwel IS NULL OR rp_insan_unsat IS NULL OR rp_dontknow IS NULL"
-
-  LettingsLog.filter_by_year(2024).where(reasonpref: 1).where(any_reasonpref_selected).where(any_reasonpref_is_null).find_each do |lettings_log|
-    unless lettings_log.save
-      Rails.logger.info("Failed to save reasonpref for LettingsLog with id #{lettings_log.id}: #{lettings_log.errors.full_messages}")
-    end
-  end
-
-  any_illness_selected = "illness_type_1 = 1 OR illness_type_2 = 1 OR illness_type_3 = 1 OR illness_type_4 = 1 OR illness_type_5 = 1 OR illness_type_6 = 1 OR illness_type_7 = 1 OR illness_type_8 = 1 OR illness_type_9 = 1 OR illness_type_10 = 1"
-  any_illness_is_null = "illness_type_1 IS NULL OR illness_type_2 IS NULL OR illness_type_3 IS NULL OR illness_type_4 IS NULL OR illness_type_5 IS NULL OR illness_type_6 IS NULL OR illness_type_7 IS NULL OR illness_type_8 IS NULL OR illness_type_9 IS NULL OR illness_type_10 IS NULL"
-
-  LettingsLog.filter_by_year(2024).where(illness: 1).where(any_illness_selected).where(any_illness_is_null).find_each do |lettings_log|
-    unless lettings_log.save
-      Rails.logger.info("Failed to save illness for LettingsLog with id #{lettings_log.id}: #{lettings_log.errors.full_messages}")
-    end
-  end
-end
diff --git a/lib/tasks/correct_reasonpref_values.rake b/lib/tasks/correct_reasonpref_values.rake
deleted file mode 100644
index 4ec1bb8f0..000000000
--- a/lib/tasks/correct_reasonpref_values.rake
+++ /dev/null
@@ -1,15 +0,0 @@
-desc "Correct invalid BU reasonable preference values"
-task correct_reasonpref_values: :environment do
-  %w[rp_homeless rp_hardship rp_medwel rp_insan_unsat rp_dontknow].each do |field|
-    field_invalid = "#{field} != 1 AND #{field} != 0 AND #{field} is NOT NULL"
-
-    LettingsLog.filter_by_year(2024).where(field_invalid).find_each do |lettings_log|
-      lettings_log[field] = 0
-      unless lettings_log.save
-        Rails.logger.info("Failed to save reasonpref for LettingsLog with id #{lettings_log.id}: #{lettings_log.errors.full_messages}")
-      end
-    end
-
-    LettingsLog.filter_by_year(2023).where(field_invalid).update_all("#{field}": 0)
-  end
-end
diff --git a/lib/tasks/correct_rent_type_value.rake b/lib/tasks/correct_rent_type_value.rake
deleted file mode 100644
index e3b166d04..000000000
--- a/lib/tasks/correct_rent_type_value.rake
+++ /dev/null
@@ -1,20 +0,0 @@
-desc "Alter rent_type values for bulk uploaded lettings logs for 2024 where they were not mapped correctly"
-task correct_rent_type_value: :environment do
-  affected_uploads = BulkUpload.where(log_type: "lettings", year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied])
-  affected_uploads.each do |upload|
-    upload.logs.where.not(rent_type: nil).each do |log|
-      current_rent_type = log.rent_type
-      rent_type_at_upload = log.versions.length == 1 ? log.rent_type : log.versions.first.next.reify.rent_type
-      next unless rent_type_at_upload == current_rent_type
-
-      new_rent_type_value = BulkUpload::Lettings::Year2024::RowParser::RENT_TYPE_BU_MAPPING[rent_type_at_upload]
-      log.rent_type = new_rent_type_value
-      if log.save
-        Rails.logger.info("Log #{log.id} rent_type updated from #{rent_type_at_upload} to #{log.rent_type}")
-      else
-        Rails.logger.error("Log #{log.id} rent_type could not be updated from #{rent_type_at_upload} to #{log.rent_type}. Error: #{log.errors.full_messages.join(', ')}")
-      end
-    end
-    upload.update!(rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:applied])
-  end
-end
diff --git a/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake b/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake
deleted file mode 100644
index b1cbd56f0..000000000
--- a/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake
+++ /dev/null
@@ -1,19 +0,0 @@
-desc "Recalculates status for 2024 logs that will trigger new sales over retirement age soft validation"
-task recalculate_status_over_retirement: :environment do
-  validation_trigger_condition = "(ecstat1 != 5 AND age1 > 66) OR (ecstat2 != 5 AND age2 > 66) OR (ecstat3 != 5 AND age3 > 66) OR (ecstat4 != 5 AND age4 > 66) OR (ecstat5 != 5 AND age5 > 66) OR (ecstat6 != 5 AND age6 > 66)"
-  SalesLog.filter_by_year(2024).where(status: "pending", status_cache: "completed").where(validation_trigger_condition).find_each do |log|
-    log.status_cache = log.calculate_status
-
-    unless log.save
-      Rails.logger.info "Could not save changes to pending sales log #{log.id}"
-    end
-  end
-
-  SalesLog.filter_by_year(2024).where(status: "completed").where(validation_trigger_condition).find_each do |log|
-    log.status = log.calculate_status
-
-    unless log.save
-      Rails.logger.info "Could not save changes to sales log #{log.id}"
-    end
-  end
-end
diff --git a/lib/tasks/update_created_by_values.rake b/lib/tasks/update_created_by_values.rake
deleted file mode 100644
index bcbc86167..000000000
--- a/lib/tasks/update_created_by_values.rake
+++ /dev/null
@@ -1,24 +0,0 @@
-desc "Updates created_by values for lettings and sales logs"
-task update_created_by_values: :environment do
-  LettingsLog.filter_by_years(%w[2023 2024]).where.not(bulk_upload_id: nil).update_all("created_by_id = (SELECT user_id FROM bulk_uploads WHERE bulk_uploads.id = lettings_logs.bulk_upload_id)")
-  LettingsLog.filter_by_years(%w[2023 2024]).where(bulk_upload_id: nil, created_by: nil).find_each do |lettings_log|
-    user = PaperTrail::Version.find_by(item_id: lettings_log.id, item_type: "LettingsLog", event: "create")&.actor
-    lettings_log.created_by = if user.present? && user.is_a?(User)
-                                user
-                              else
-                                lettings_log.assigned_to
-                              end
-    lettings_log.save!(touch: false, validate: false)
-  end
-
-  SalesLog.filter_by_years(%w[2023 2024]).where.not(bulk_upload_id: nil).update_all("created_by_id = (SELECT user_id FROM bulk_uploads WHERE bulk_uploads.id = sales_logs.bulk_upload_id)")
-  SalesLog.filter_by_years(%w[2023 2024]).where(bulk_upload_id: nil, created_by: nil).find_each do |sales_log|
-    user = PaperTrail::Version.find_by(item_id: sales_log.id, item_type: "SalesLog", event: "create")&.actor
-    sales_log.created_by = if user.present? && user.is_a?(User)
-                             user
-                           else
-                             sales_log.assigned_to
-                           end
-    sales_log.save!(touch: false, validate: false)
-  end
-end
diff --git a/spec/lib/tasks/clear_invalid_benefits_spec.rb b/spec/lib/tasks/clear_invalid_benefits_spec.rb
deleted file mode 100644
index 753fdb7c7..000000000
--- a/spec/lib/tasks/clear_invalid_benefits_spec.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "clear_invalid_benefits" do
-  describe ":clear_invalid_benefits", type: :task do
-    subject(:task) { Rake::Task["clear_invalid_benefits"] }
-
-    before do
-      Rake.application.rake_require("tasks/clear_invalid_benefits")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      context "and there is a completed lettings log that trips the validation" do
-        let(:log) { build(:lettings_log, :completed, ecstat1: 1, benefits: 1, assigned_to: create(:user), period: nil, startdate: Time.zone.local(2024, 5, 6)) }
-
-        before do
-          log.status = "completed"
-          log.skip_update_status = true
-          log.save!(validate: false)
-        end
-
-        it "clear benefits and sets the log to in progress" do
-          expect(log.reload.benefits).to eq(1)
-          task.invoke
-          log.reload
-          expect(log.benefits).to eq(nil)
-          expect(log.status).to eq("in_progress")
-        end
-      end
-
-      context "and there is a lettings log that trips the validation for person 2" do
-        let(:log) { build(:lettings_log, :completed, ecstat2: 2, benefits: 1, relat2: "P", assigned_to: create(:user), period: nil, startdate: Time.zone.local(2024, 8, 11)) }
-
-        before do
-          log.status = "completed"
-          log.skip_update_status = true
-          log.save!(validate: false)
-        end
-
-        it "clear benefits and sets the log to in progress" do
-          expect(log.reload.benefits).to eq(1)
-          task.invoke
-          log.reload
-          expect(log.benefits).to eq(nil)
-          expect(log.status).to eq("in_progress")
-        end
-      end
-
-      context "and there is a lettings log that trips the validation for person 8" do
-        let(:log) { build(:lettings_log, :completed, ecstat8: 1, benefits: 1, relat8: "P", assigned_to: create(:user), period: nil, startdate: Time.zone.local(2024, 7, 8)) }
-
-        before do
-          log.status = "completed"
-          log.skip_update_status = true
-          log.save!(validate: false)
-        end
-
-        it "clear benefits and sets the log to in progress" do
-          expect(log.reload.benefits).to eq(1)
-          task.invoke
-          log.reload
-          expect(log.benefits).to eq(nil)
-          expect(log.status).to eq("in_progress")
-        end
-      end
-
-      context "and there is a pending lettings log that trips the validation" do
-        let(:log) { build(:lettings_log, :completed, ecstat1: 1, benefits: 1, assigned_to: create(:user), period: nil, startdate: Time.zone.local(2024, 9, 7)) }
-
-        before do
-          log.status = "pending"
-          log.status_cache = "completed"
-          log.skip_update_status = true
-          log.save!(validate: false)
-        end
-
-        it "clears benefits and updates the status cache" do
-          expect(log.reload.benefits).to eq(1)
-          task.invoke
-          log.reload
-          expect(log.benefits).to eq(nil)
-          expect(log.status_cache).to eq("in_progress")
-        end
-
-        it "does not change the log status" do
-          task.invoke
-          log.reload
-          expect(log.status).to eq("pending")
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/clear_invalidated_earnings_spec.rb b/spec/lib/tasks/clear_invalidated_earnings_spec.rb
deleted file mode 100644
index 614a0e953..000000000
--- a/spec/lib/tasks/clear_invalidated_earnings_spec.rb
+++ /dev/null
@@ -1,111 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "clear_invalidated_earnings" do
-  describe ":clear_invalidated_earnings", type: :task do
-    subject(:task) { Rake::Task["clear_invalidated_earnings"] }
-
-    before do
-      Rake.application.rake_require("tasks/clear_invalidated_earnings")
-      Rake::Task.define_task(:environment)
-      task.reenable
-      FormHandler.instance.use_real_forms!
-    end
-
-    context "when the rake task is run" do
-      context "and there are 2023 logs with invalid earnings" do
-        let(:user) { create(:user) }
-        let!(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, voiddate: nil, mrcdate: nil, tenancycode: "123", propcode: "321") }
-
-        before do
-          lettings_log.startdate = Time.zone.local(2023, 4, 4)
-          lettings_log.incfreq = 1
-          lettings_log.earnings = 20
-          lettings_log.hhmemb = 1
-          lettings_log.ecstat1 = 1
-          lettings_log.save!(validate: false)
-        end
-
-        it "clears earnings" do
-          initial_updated_at = lettings_log.updated_at
-          expect(lettings_log.incfreq).to eq(1)
-          expect(lettings_log.earnings).to eq(20)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-          expect(Rails.logger).to receive(:info).with("Clearing earnings for lettings log #{lettings_log.id}, owning_organisation_id: #{lettings_log.owning_organisation_id}, managing_organisation_id: #{lettings_log.managing_organisation_id}, startdate: 2023-04-04, tenancy reference: 123, property reference: 321, assigned_to: #{user.email}(#{user.id}), earnings: 20, incfreq: 1")
-
-          task.invoke
-          lettings_log.reload
-
-          expect(lettings_log.incfreq).to eq(nil)
-          expect(lettings_log.earnings).to eq(nil)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-          expect(lettings_log.updated_at).not_to eq(initial_updated_at)
-        end
-      end
-
-      context "and there are valid 2023 logs" do
-        let(:user) { create(:user) }
-        let!(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, voiddate: nil, mrcdate: nil) }
-
-        before do
-          lettings_log.startdate = Time.zone.local(2023, 4, 4)
-          lettings_log.incfreq = 1
-          lettings_log.earnings = 95
-          lettings_log.hhmemb = 1
-          lettings_log.ecstat1 = 1
-          lettings_log.save!(validate: false)
-        end
-
-        it "does not update the logs" do
-          initial_updated_at = lettings_log.updated_at
-          expect(lettings_log.incfreq).to eq(1)
-          expect(lettings_log.earnings).to eq(95)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-
-          task.invoke
-          lettings_log.reload
-
-          expect(lettings_log.incfreq).to eq(1)
-          expect(lettings_log.earnings).to eq(95)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-          expect(lettings_log.updated_at).to eq(initial_updated_at)
-        end
-      end
-
-      context "and there are 2022 logs" do
-        let(:user) { create(:user) }
-        let!(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, voiddate: nil, mrcdate: nil) }
-
-        before do
-          lettings_log.startdate = Time.zone.local(2022, 4, 4)
-          lettings_log.incfreq = 1
-          lettings_log.earnings = 20
-          lettings_log.hhmemb = 1
-          lettings_log.ecstat1 = 1
-          lettings_log.save!(validate: false)
-        end
-
-        it "does not update the logs" do
-          initial_updated_at = lettings_log.updated_at
-          expect(lettings_log.incfreq).to eq(1)
-          expect(lettings_log.earnings).to eq(20)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-
-          task.invoke
-          lettings_log.reload
-
-          expect(lettings_log.incfreq).to eq(1)
-          expect(lettings_log.earnings).to eq(20)
-          expect(lettings_log.hhmemb).to eq(1)
-          expect(lettings_log.ecstat1).to eq(1)
-          expect(lettings_log.updated_at).to eq(initial_updated_at)
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/correct_checkbox_values_spec.rb b/spec/lib/tasks/correct_checkbox_values_spec.rb
deleted file mode 100644
index 938e661a6..000000000
--- a/spec/lib/tasks/correct_checkbox_values_spec.rb
+++ /dev/null
@@ -1,217 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "correct_checkbox_values" do
-  describe ":correct_checkbox_values", type: :task do
-    subject(:task) { Rake::Task["correct_checkbox_values"] }
-
-    let(:organisation) { create(:organisation, rent_periods: [2]) }
-    let(:user) { create(:user, organisation:) }
-
-    before do
-      Timecop.return
-      Rake.application.rake_require("tasks/correct_checkbox_values")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      context "and any of the reasonable_preference_reason options are 1" do
-        let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-
-        it "sets the remaining options to 0" do
-          log = build(:lettings_log, :completed, reasonpref: 1, rp_homeless: 1, rp_hardship: nil, rp_medwel: nil, rp_insan_unsat: nil, rp_dontknow: nil,
-                                                 bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(log.status).to eq("completed")
-          expect(log.rp_homeless).to be(1)
-          expect(log.rp_hardship).to be(0)
-          expect(log.rp_medwel).to be(0)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(0)
-        end
-
-        it "updates the reasonable preference reason values on a pending log" do
-          log = build(:lettings_log, :completed, status: "pending", reasonpref: 1, rp_homeless: 1, rp_hardship: nil, rp_medwel: 1, rp_insan_unsat: nil, rp_dontknow: nil, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.rp_homeless).to be(1)
-          expect(log.rp_hardship).to be(0)
-          expect(log.rp_medwel).to be(1)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update logs if all unselected reasonable preference reason are alredy 0" do
-          log = build(:lettings_log, :completed, reasonpref: 1, rp_homeless: 0, rp_hardship: 1, rp_medwel: 0, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("completed")
-
-          task.invoke
-          log.reload
-
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "updates the reasonable preference reason values if some of the checkbox values are nil" do
-          log = build(:lettings_log, :completed, status: "pending", reasonpref: 1, rp_homeless: 0, rp_hardship: nil, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.rp_homeless).to be(0)
-          expect(log.rp_hardship).to be(0)
-          expect(log.rp_medwel).to be(1)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update the reasonable preference reason values on a 2023 log" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2023, 6, 6), reasonpref: 1, rp_homeless: 0, rp_hardship: nil, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update and logs error if a validation triggers" do
-          log = build(:lettings_log, :completed, postcode_full: "0", reasonpref: 1, rp_homeless: 0, rp_hardship: nil, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-      end
-
-      context "and any of the illness_type options are 1" do
-        let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-
-        it "sets the remaining options to 0" do
-          log = build(:lettings_log, :completed, illness: 1, illness_type_1: 1, illness_type_2: nil, illness_type_3: nil, illness_type_4: nil, illness_type_5: nil, illness_type_6: nil, illness_type_7: nil, illness_type_8: nil, illness_type_9: nil, illness_type_10: nil,
-                                                 bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(log.status).to eq("completed")
-          expect(log.illness_type_1).to be(1)
-          expect(log.illness_type_2).to be(0)
-          expect(log.illness_type_3).to be(0)
-          expect(log.illness_type_4).to be(0)
-          expect(log.illness_type_5).to be(0)
-          expect(log.illness_type_6).to be(0)
-          expect(log.illness_type_7).to be(0)
-          expect(log.illness_type_8).to be(0)
-          expect(log.illness_type_9).to be(0)
-          expect(log.illness_type_10).to be(0)
-        end
-
-        it "updates the reasonable preference reason values on a pending log" do
-          log = build(:lettings_log, :completed, status: "pending", illness: 1, illness_type_1: 1, illness_type_2: nil, illness_type_3: nil, illness_type_4: nil, illness_type_5: nil, illness_type_6: nil, illness_type_7: nil, illness_type_8: nil, illness_type_9: nil, illness_type_10: nil, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.illness_type_1).to be(1)
-          expect(log.illness_type_2).to be(0)
-          expect(log.illness_type_3).to be(0)
-          expect(log.illness_type_4).to be(0)
-          expect(log.illness_type_5).to be(0)
-          expect(log.illness_type_6).to be(0)
-          expect(log.illness_type_7).to be(0)
-          expect(log.illness_type_8).to be(0)
-          expect(log.illness_type_9).to be(0)
-          expect(log.illness_type_10).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update logs if all unselected reasonable preference reason are alredy 0" do
-          log = build(:lettings_log, :completed, illness: 1, illness_type_1: 0, illness_type_2: 1, illness_type_3: 0, illness_type_4: 0, illness_type_5: 0, illness_type_6: 0, illness_type_7: 0, illness_type_8: 0, illness_type_9: 0, illness_type_10: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("completed")
-
-          task.invoke
-          log.reload
-
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "updates the reasonable preference reason values if some of the checkbox values are nil" do
-          log = build(:lettings_log, :completed, status: "pending", illness: 1, illness_type_1: 0, illness_type_2: nil, illness_type_3: 1, illness_type_4: 0, illness_type_5: 0, illness_type_6: nil, illness_type_7: nil, illness_type_8: nil, illness_type_9: nil, illness_type_10: nil, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.illness_type_1).to be(0)
-          expect(log.illness_type_2).to be(0)
-          expect(log.illness_type_3).to be(1)
-          expect(log.illness_type_4).to be(0)
-          expect(log.illness_type_5).to be(0)
-          expect(log.illness_type_6).to be(0)
-          expect(log.illness_type_7).to be(0)
-          expect(log.illness_type_8).to be(0)
-          expect(log.illness_type_9).to be(0)
-          expect(log.illness_type_10).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update the reasonable preference reason values on a 2023 log" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2023, 6, 6), illness: 1, illness_type_1: 0, illness_type_2: nil, illness_type_3: 1, illness_type_4: 0, illness_type_5: 0, illness_type_6: nil, illness_type_7: nil, illness_type_8: nil, illness_type_9: nil, illness_type_10: nil, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update and logs error if a validation triggers" do
-          log = build(:lettings_log, :completed, postcode_full: "0", illness: 1, illness_type_1: 0, illness_type_2: nil, illness_type_3: 1, illness_type_4: 0, illness_type_5: 0, illness_type_6: nil, illness_type_7: nil, illness_type_8: nil, illness_type_9: nil, illness_type_10: nil, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/correct_reasonpref_values_spec.rb b/spec/lib/tasks/correct_reasonpref_values_spec.rb
deleted file mode 100644
index 8a805e184..000000000
--- a/spec/lib/tasks/correct_reasonpref_values_spec.rb
+++ /dev/null
@@ -1,111 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "correct_reasonpref_values" do
-  describe ":correct_reasonpref_values", type: :task do
-    subject(:task) { Rake::Task["correct_reasonpref_values"] }
-
-    let(:organisation) { create(:organisation, rent_periods: [2]) }
-    let(:user) { create(:user, organisation:) }
-
-    before do
-      Rake.application.rake_require("tasks/correct_reasonpref_values")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      context "and any of the reasonable_preference_reason options are not 1, 0 or nil" do
-        let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-
-        it "sets the options to 0" do
-          log = build(:lettings_log, :completed, reasonpref: 1, rp_homeless: -2, rp_hardship: 2, rp_medwel: 3, rp_insan_unsat: 4, rp_dontknow: 1,
-                                                 bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(log.status).to eq("completed")
-          expect(log.rp_homeless).to be(0)
-          expect(log.rp_hardship).to be(0)
-          expect(log.rp_medwel).to be(0)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(1)
-        end
-
-        it "updates the reasonable preference reason values on a pending log" do
-          log = build(:lettings_log, :completed, status: "pending", reasonpref: 1, rp_homeless: -2, rp_hardship: 1, rp_medwel: 3, rp_insan_unsat: 4, rp_dontknow: 2, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.rp_homeless).to be(0)
-          expect(log.rp_hardship).to be(1)
-          expect(log.rp_medwel).to be(0)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update logs with valid values" do
-          log = build(:lettings_log, :completed, reasonpref: 1, rp_homeless: 0, rp_hardship: 1, rp_medwel: 0, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("completed")
-
-          task.invoke
-          log.reload
-
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "updates the reasonable preference reason values if some of the checkbox values are valid" do
-          log = build(:lettings_log, :completed, status: "pending", reasonpref: 1, rp_homeless: 0, rp_hardship: 2, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-          expect(log.rp_homeless).to be(0)
-          expect(log.rp_hardship).to be(0)
-          expect(log.rp_medwel).to be(1)
-          expect(log.rp_insan_unsat).to be(0)
-          expect(log.rp_dontknow).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "updates the reasonable preference reason values on a 2023 log" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2023, 6, 6), reasonpref: 1, rp_homeless: 0, rp_hardship: 2, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-          expect(log.rp_hardship).to eq(0)
-        end
-
-        it "does not update and logs error if a validation triggers" do
-          log = build(:lettings_log, :completed, postcode_full: "0", reasonpref: 1, rp_homeless: 0, rp_hardship: 2, rp_medwel: 1, rp_insan_unsat: 0, rp_dontknow: 0, bulk_upload:, assigned_to: user)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/correct_rent_type_value_spec.rb b/spec/lib/tasks/correct_rent_type_value_spec.rb
deleted file mode 100644
index d4e015b5d..000000000
--- a/spec/lib/tasks/correct_rent_type_value_spec.rb
+++ /dev/null
@@ -1,254 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "correct_rent_type_value" do
-  describe ":correct_rent_type_value", type: :task do
-    subject(:task) { Rake::Task["correct_rent_type_value"] }
-
-    before do
-      Rake.application.rake_require("tasks/correct_rent_type_value")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      context "and rent_type is 1" do
-        let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-        let(:bulk_upload_2023) { create(:bulk_upload, :lettings, year: 2023, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-
-        before do
-          bulk_upload.save!
-        end
-
-        it "updates the rent_type value on a log where it was set to 1 on create" do
-          log = create(:lettings_log, :completed, rent_type: 1, bulk_upload:)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(bulk_upload.reload.rent_type_fix_status).to eq(BulkUpload.rent_type_fix_statuses[:applied])
-        end
-
-        it "updates the rent_type value on a pending log where it was set to 1 on create" do
-          log = build(:lettings_log, :completed, rent_type: 1, bulk_upload:, status: "pending")
-          log.save!
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(bulk_upload.reload.rent_type_fix_status).to eq(BulkUpload.rent_type_fix_statuses[:applied])
-        end
-
-        it "updates the rent_type value on a deleted log where it was set to 1 on create" do
-          log = create(:lettings_log, :completed, rent_type: 1, bulk_upload:, discarded_at: Time.zone.yesterday)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("deleted")
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("deleted")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(bulk_upload.reload.rent_type_fix_status).to eq(BulkUpload.rent_type_fix_statuses[:applied])
-        end
-
-        it "updates the rent_type value on a log where it was set to 1 on create and other fields have since changed" do
-          log = create(:lettings_log, :completed, rent_type: 1, bulk_upload:)
-          log.update!(tenancycode: "abc")
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-          expect(bulk_upload.reload.rent_type_fix_status).to eq(BulkUpload.rent_type_fix_statuses[:applied])
-        end
-
-        it "does not update the rent_type value on a log if it has since been changed" do
-          log = create(:lettings_log, :completed, rent_type: 1, bulk_upload:)
-          log.update!(rent_type: 0)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update the rent_type value on a 2023 log turned 2024" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2023, 6, 6), rent_type: 1, bulk_upload: bulk_upload_2023)
-          log.save!(validate: false)
-          log.address_line1_input = log.address_line1
-          log.postcode_full_input = log.postcode_full
-          log.nationality_all_group = 826
-          log.uprn = "10033558653"
-          log.uprn_selection = 1
-          log.startdate = Time.zone.today
-          log.save!
-
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update and logs error if a validation triggers" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2021, 6, 6), rent_type: 1, bulk_upload:)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          expect(Rails.logger).to receive(:error).with(/Log #{log.id} rent_type could not be updated from 1 to 0. Error: /)
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        context "when the rent_type_fix_status is not_needed" do
-          let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_needed]) }
-
-          before do
-            bulk_upload.save!
-          end
-
-          it "does not update the rent_type values on logs" do
-            log = create(:lettings_log, :completed, rent_type: 1, bulk_upload:)
-            initial_updated_at = log.updated_at
-
-            task.invoke
-            log.reload
-
-            expect(log.rent_type).to be(1)
-            expect(log.updated_at).to eq(initial_updated_at)
-            expect(bulk_upload.reload.rent_type_fix_status).to eq(BulkUpload.rent_type_fix_statuses[:not_needed])
-          end
-        end
-      end
-
-      context "and rent_type is 2" do
-        let(:bulk_upload) { create(:bulk_upload, :lettings, year: 2024, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-        let(:bulk_upload_2023) { create(:bulk_upload, :lettings, year: 2023, rent_type_fix_status: BulkUpload.rent_type_fix_statuses[:not_applied]) }
-
-        before do
-          bulk_upload.save!
-        end
-
-        it "updates the rent_type value on a log where it was set to 2 on create" do
-          log = create(:lettings_log, :completed, rent_type: 2, bulk_upload:)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "updates the rent_type value on a pending log where it was set to 2 on create" do
-          log = build(:lettings_log, :completed, rent_type: 2, bulk_upload:, status: "pending")
-          log.save!
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("pending")
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.status).to eq("pending")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "updates the rent_type value on a deleted log where it was set to 2 on create" do
-          log = create(:lettings_log, :completed, rent_type: 2, bulk_upload:, discarded_at: Time.zone.yesterday)
-          initial_updated_at = log.updated_at
-          expect(log.status).to eq("deleted")
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.status).to eq("deleted")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "updates the rent_type value on a log where it was set to 2 on create and other fields have since changed" do
-          log = create(:lettings_log, :completed, rent_type: 2, bulk_upload:)
-          log.update!(tenancycode: "abc")
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(1)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).not_to eq(initial_updated_at)
-        end
-
-        it "does not update the rent_type value on a log if it has since been changed" do
-          log = create(:lettings_log, :completed, rent_type: 2, bulk_upload:)
-          log.update!(rent_type: 0)
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(0)
-          expect(log.status).to eq("completed")
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update the rent_type value on a 2023 log turned 2024" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2023, 6, 6), rent_type: 2, bulk_upload: bulk_upload_2023)
-          log.save!(validate: false)
-          log.address_line1_input = log.address_line1
-          log.postcode_full_input = log.postcode_full
-          log.nationality_all_group = 826
-          log.uprn = "10033558653"
-          log.uprn_selection = 1
-          log.startdate = Time.zone.today
-          log.save!
-
-          initial_updated_at = log.updated_at
-
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(2)
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "does not update and logs error if a validation triggers" do
-          log = build(:lettings_log, :completed, startdate: Time.zone.local(2021, 6, 6), rent_type: 2, bulk_upload:)
-          log.save!(validate: false)
-          initial_updated_at = log.updated_at
-
-          expect(Rails.logger).to receive(:error).with(/Log #{log.id} rent_type could not be updated from 2 to 1. Error: /)
-          task.invoke
-          log.reload
-
-          expect(log.rent_type).to be(2)
-          expect(log.updated_at).to eq(initial_updated_at)
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb b/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb
deleted file mode 100644
index cd5e0255c..000000000
--- a/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "recalculate_status_after_sales_over_retirement_age_validation" do
-  describe ":recalculate_status_over_retirement", type: :task do
-    subject(:task) { Rake::Task["recalculate_status_over_retirement"] }
-
-    before do
-      Rake.application.rake_require("tasks/recalculate_status_after_sales_over_retirement_age_validation")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      context "and there is a completed sales log that trips the validation" do
-        let(:log) { create(:sales_log, :completed, ecstat1: 1, age1: 67) }
-
-        before do
-          log.status = "completed"
-          log.save!
-        end
-
-        it "sets the log to in progress" do
-          task.invoke
-          log.reload
-          expect(log.status).to eq("in_progress")
-        end
-      end
-
-      context "and there is a pending sales log that trips the validation" do
-        let(:log) { create(:sales_log, :completed, ecstat2: 1, age2: 70) }
-
-        before do
-          log.status = "pending"
-          log.status_cache = "completed"
-          log.save!
-        end
-
-        it "updates the status cache" do
-          task.invoke
-          log.reload
-          expect(log.status_cache).to eq("in_progress")
-        end
-
-        it "does not change the log status" do
-          task.invoke
-          log.reload
-          expect(log.status).to eq("pending")
-        end
-      end
-    end
-  end
-end
diff --git a/spec/lib/tasks/update_created_by_values_spec.rb b/spec/lib/tasks/update_created_by_values_spec.rb
deleted file mode 100644
index 02a922e33..000000000
--- a/spec/lib/tasks/update_created_by_values_spec.rb
+++ /dev/null
@@ -1,146 +0,0 @@
-require "rails_helper"
-require "rake"
-
-RSpec.describe "update_created_by_values" do
-  describe ":update_created_by_values", type: :task do
-    subject(:task) { Rake::Task["update_created_by_values"] }
-
-    before do
-      Rake.application.rake_require("tasks/update_created_by_values")
-      Rake::Task.define_task(:environment)
-      task.reenable
-    end
-
-    context "when the rake task is run" do
-      let(:user) { create(:user) }
-
-      context "with bulk upload id" do
-        let(:bulk_upload) { create(:bulk_upload) }
-        let(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, bulk_upload_id: bulk_upload.id, updated_at: Time.zone.yesterday, startdate: Time.zone.local(2024, 9, 9)) }
-        let(:sales_log) { create(:sales_log, :completed, assigned_to: user, bulk_upload_id: bulk_upload.id, updated_at: Time.zone.yesterday, saledate: Time.zone.local(2024, 9, 9)) }
-
-        it "updates created_by to bulk upload user id for lettings log" do
-          initial_updated_at = lettings_log.updated_at
-          expect(lettings_log.created_by_id).to eq(user.id)
-          expect(lettings_log.assigned_to_id).to eq(user.id)
-          task.invoke
-          lettings_log.reload
-          expect(lettings_log.created_by_id).to eq(bulk_upload.user_id)
-          expect(lettings_log.assigned_to_id).to eq(user.id)
-          expect(lettings_log.updated_at).to eq(initial_updated_at)
-        end
-
-        it "updates created_by to bulk upload user id for sales log" do
-          initial_updated_at = sales_log.updated_at
-          expect(sales_log.created_by_id).to eq(user.id)
-          expect(sales_log.assigned_to_id).to eq(user.id)
-          task.invoke
-          sales_log.reload
-          expect(sales_log.created_by_id).to eq(bulk_upload.user_id)
-          expect(sales_log.assigned_to_id).to eq(user.id)
-          expect(sales_log.updated_at).to eq(initial_updated_at)
-        end
-      end
-
-      context "without bulk upload id" do
-        context "and version whodunnit exists for create" do
-          let(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, startdate: Time.zone.local(2024, 9, 9)) }
-          let(:sales_log) { create(:sales_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, saledate: Time.zone.local(2024, 9, 9)) }
-          let(:other_user) { create(:user, organisation: user.organisation) }
-
-          before do
-            PaperTrail::Version.find_by(item_id: lettings_log.id, item_type: "LettingsLog", event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
-            PaperTrail::Version.find_by(item_id: sales_log.id, item_type: "SalesLog", event: "create").update!(whodunnit: other_user.to_global_id.uri.to_s)
-          end
-
-          it "updates created_by to create whodunnit for lettings" do
-            initial_updated_at = lettings_log.updated_at
-            expect(lettings_log.created_by_id).to eq(nil)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            lettings_log.reload
-            expect(lettings_log.created_by_id).to eq(other_user.id)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            expect(lettings_log.updated_at).to eq(initial_updated_at)
-          end
-
-          it "updates created_by to create whodunnit for sales" do
-            initial_updated_at = sales_log.updated_at
-            expect(sales_log.created_by_id).to eq(nil)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            sales_log.reload
-            expect(sales_log.created_by_id).to eq(other_user.id)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            expect(sales_log.updated_at).to eq(initial_updated_at)
-          end
-        end
-
-        context "and version whodunnit does not exist for create" do
-          let(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, startdate: Time.zone.local(2024, 9, 9)) }
-          let(:sales_log) { create(:sales_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, saledate: Time.zone.local(2024, 9, 9)) }
-
-          before do
-            PaperTrail::Version.find_by(item_id: lettings_log.id, event: "create").update!(whodunnit: nil)
-            PaperTrail::Version.find_by(item_id: sales_log.id, event: "create").update!(whodunnit: nil)
-          end
-
-          it "sets created_by to assigned_to for lettings" do
-            initial_updated_at = lettings_log.updated_at
-            expect(lettings_log.created_by_id).to eq(nil)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            lettings_log.reload
-            expect(lettings_log.created_by_id).to eq(user.id)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            expect(lettings_log.updated_at).to eq(initial_updated_at)
-          end
-
-          it "sets created_by to assigned_to for sales" do
-            initial_updated_at = sales_log.updated_at
-            expect(sales_log.created_by_id).to eq(nil)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            sales_log.reload
-            expect(sales_log.created_by_id).to eq(user.id)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            expect(sales_log.updated_at).to eq(initial_updated_at)
-          end
-        end
-
-        context "and version whodunnit is not a User for create" do
-          let(:lettings_log) { create(:lettings_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, startdate: Time.zone.local(2024, 9, 9)) }
-          let(:sales_log) { create(:sales_log, :completed, assigned_to: user, created_by_id: nil, updated_at: Time.zone.yesterday, saledate: Time.zone.local(2024, 9, 9)) }
-          let(:other_user) { create(:user, organisation: user.organisation) }
-
-          before do
-            PaperTrail::Version.find_by(item_id: lettings_log.id, item_type: "LettingsLog", event: "create").update!(whodunnit: other_user.email)
-            PaperTrail::Version.find_by(item_id: sales_log.id, item_type: "SalesLog", event: "create").update!(whodunnit: other_user.email)
-          end
-
-          it "sets created_by to assigned_to for lettings" do
-            initial_updated_at = lettings_log.updated_at
-            expect(lettings_log.created_by_id).to eq(nil)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            lettings_log.reload
-            expect(lettings_log.created_by_id).to eq(user.id)
-            expect(lettings_log.assigned_to_id).to eq(user.id)
-            expect(lettings_log.updated_at).to eq(initial_updated_at)
-          end
-
-          it "sets created_by to assigned_to for sales" do
-            initial_updated_at = sales_log.updated_at
-            expect(sales_log.created_by_id).to eq(nil)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            task.invoke
-            sales_log.reload
-            expect(sales_log.created_by_id).to eq(user.id)
-            expect(sales_log.assigned_to_id).to eq(user.id)
-            expect(sales_log.updated_at).to eq(initial_updated_at)
-          end
-        end
-      end
-    end
-  end
-end