From 9d928009ec0626f90fa8ed2f5c8201391ad8c0d1 Mon Sep 17 00:00:00 2001 From: samyou-softwire Date: Mon, 23 Mar 2026 15:21:02 +0000 Subject: [PATCH] CLDC-4325: Delete recalculate_reasonpref_dontknow rake only needed for 2024 logs --- ...calculate_invalid_reasonpref_dontknow.rake | 12 --- ...culate_invalid_reasonpref_dontknow_spec.rb | 87 ------------------- 2 files changed, 99 deletions(-) delete mode 100644 lib/tasks/recalculate_invalid_reasonpref_dontknow.rake delete mode 100644 spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb diff --git a/lib/tasks/recalculate_invalid_reasonpref_dontknow.rake b/lib/tasks/recalculate_invalid_reasonpref_dontknow.rake deleted file mode 100644 index 14d387662..000000000 --- a/lib/tasks/recalculate_invalid_reasonpref_dontknow.rake +++ /dev/null @@ -1,12 +0,0 @@ -desc "Bulk update logs with invalid rp_dontknow values" -task recalculate_invalid_rpdontknow: :environment do - validation_trigger_condition = "rp_dontknow = 1 AND (rp_homeless = 1 OR rp_insan_unsat = 1 OR rp_medwel = 1 OR rp_hardship = 1)" - - LettingsLog.filter_by_year(2024).where(validation_trigger_condition).find_each do |log| - log.rp_dontknow = 0 - - unless log.save - Rails.logger.info "Could not save changes to lettings log #{log.id}" - end - end -end diff --git a/spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb b/spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb deleted file mode 100644 index 2ae401a86..000000000 --- a/spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb +++ /dev/null @@ -1,87 +0,0 @@ -require "rails_helper" -require "rake" - -RSpec.describe "recalculate_invalid_reasonpref_dontknow" do - include CollectionTimeHelper - - subject(:task) { Rake::Task["recalculate_invalid_rpdontknow"] } - - before do - Rake.application.rake_require("tasks/recalculate_invalid_reasonpref_dontknow") - Rake::Task.define_task(:environment) - task.reenable - Timecop.freeze(previous_collection_end_date) - end - - after do - Timecop.return - end - - let(:invalid_logs) { create_list(:lettings_log, 5, :completed, :ignore_validation_errors, reasonpref: 1, rp_dontknow: 1, rp_homeless: 1, rp_insan_unsat: rand(2), rp_medwel: rand(2), rp_hardship: rand(2), updated_at: Time.zone.local(2024, 4, 2, 12, 0, 0), startdate: Time.zone.local(2024, rand(4..12), rand(1..30))) } - let(:pre_2024_invalid_logs) do - create_list(:lettings_log, 5, :completed, reasonpref: 1, rp_dontknow: 1, rp_homeless: 1, rp_insan_unsat: rand(2), rp_medwel: rand(2), rp_hardship: rand(2)).each do |log| - log.startdate = Time.zone.local(rand(2021..2023), 4, 1) - log.save!(validate: false) - end - end - let(:valid_logs) { create_list(:lettings_log, 3, :completed, :ignore_validation_errors, reasonpref: 1, rp_dontknow: 0, rp_homeless: 1, rp_insan_unsat: 1, rp_medwel: rand(2), rp_hardship: rand(2), updated_at: Time.zone.local(2024, 4, 2, 12, 0, 0), startdate: Time.zone.local(2024, rand(4..12), rand(1..30))) } - - context "when 2025", metadata: { year: 25 } do - before do - Timecop.travel(collection_start_date_for_year(2025)) - end - - after do - Timecop.return - end - - it "updates the logs from 2024/25 with invalid rp_dontknow values" do - invalid_logs.each do |log| - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(1) - expect(log.rp_homeless).to eq(1) - end - task.invoke - invalid_logs.each do |log| - log.reload - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(0) - expect(log.rp_homeless).to eq(1) - expect(log.updated_at).not_to eq(Time.zone.local(2024, 4, 2, 12, 0, 0)) - end - end - - it "does not update the logs pre 2024 with invalid rp_dontknow values" do - pre_2024_invalid_logs.each do |log| - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(1) - expect(log.rp_homeless).to eq(1) - end - task.invoke - pre_2024_invalid_logs.each do |log| - log.reload - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(1) - expect(log.rp_homeless).to eq(1) - end - end - - it "does not update the logs with valid rp_dontknow values" do - valid_logs.each do |log| - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(0) - expect(log.rp_homeless).to eq(1) - expect(log.rp_insan_unsat).to eq(1) - end - task.invoke - valid_logs.each do |log| - log.reload - expect(log.reasonpref).to eq(1) - expect(log.rp_dontknow).to eq(0) - expect(log.rp_homeless).to eq(1) - expect(log.rp_insan_unsat).to eq(1) - expect(log.updated_at).to eq(Time.zone.local(2024, 4, 2, 12, 0, 0)) - end - end - end -end