Browse Source

CLDC-4325: Fix old rake task tests

pull/3250/head
samyou-softwire 2 weeks ago
parent
commit
64b815c436
  1. 90
      spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb

90
spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb

@ -26,52 +26,62 @@ RSpec.describe "recalculate_invalid_reasonpref_dontknow" do
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))) } 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))) }
it "updates the logs from 2024/25 with invalid rp_dontknow values" do context "when 2025", metadata: { year: 25 } do
invalid_logs.each do |log| before do
expect(log.reasonpref).to eq(1) Timecop.travel(collection_start_date_for_year(2025))
expect(log.rp_dontknow).to eq(1)
expect(log.rp_homeless).to eq(1)
end 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 after do
pre_2024_invalid_logs.each do |log| Timecop.return
expect(log.reasonpref).to eq(1)
expect(log.rp_dontknow).to eq(1)
expect(log.rp_homeless).to eq(1)
end end
task.invoke
pre_2024_invalid_logs.each do |log| it "updates the logs from 2024/25 with invalid rp_dontknow values" do
log.reload invalid_logs.each do |log|
expect(log.reasonpref).to eq(1) expect(log.reasonpref).to eq(1)
expect(log.rp_dontknow).to eq(1) expect(log.rp_dontknow).to eq(1)
expect(log.rp_homeless).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 end
end
it "does not update the logs with valid rp_dontknow values" do it "does not update the logs pre 2024 with invalid rp_dontknow values" do
valid_logs.each do |log| pre_2024_invalid_logs.each do |log|
expect(log.reasonpref).to eq(1) expect(log.reasonpref).to eq(1)
expect(log.rp_dontknow).to eq(0) expect(log.rp_dontknow).to eq(1)
expect(log.rp_homeless).to eq(1) expect(log.rp_homeless).to eq(1)
expect(log.rp_insan_unsat).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 end
task.invoke
valid_logs.each do |log| it "does not update the logs with valid rp_dontknow values" do
log.reload valid_logs.each do |log|
expect(log.reasonpref).to eq(1) expect(log.reasonpref).to eq(1)
expect(log.rp_dontknow).to eq(0) expect(log.rp_dontknow).to eq(0)
expect(log.rp_homeless).to eq(1) expect(log.rp_homeless).to eq(1)
expect(log.rp_insan_unsat).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
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 end
end end

Loading…
Cancel
Save