Browse Source

update rake task tests that only affect 2024 logs

pull/3010/head
Carolyn 1 month ago
parent
commit
d2f882f616
  1. 8
      spec/lib/tasks/clear_invalid_benefits_spec.rb
  2. 4
      spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb
  3. 16
      spec/lib/tasks/update_created_by_values_spec.rb

8
spec/lib/tasks/clear_invalid_benefits_spec.rb

@ -13,7 +13,7 @@ RSpec.describe "clear_invalid_benefits" do
context "when the rake task is run" do context "when the rake task is run" do
context "and there is a completed lettings log that trips the validation" 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) } 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 before do
log.status = "completed" log.status = "completed"
@ -31,7 +31,7 @@ RSpec.describe "clear_invalid_benefits" do
end end
context "and there is a lettings log that trips the validation for person 2" do 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) } 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 before do
log.status = "completed" log.status = "completed"
@ -49,7 +49,7 @@ RSpec.describe "clear_invalid_benefits" do
end end
context "and there is a lettings log that trips the validation for person 8" do 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) } 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 before do
log.status = "completed" log.status = "completed"
@ -67,7 +67,7 @@ RSpec.describe "clear_invalid_benefits" do
end end
context "and there is a pending lettings log that trips the validation" do 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) } 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 before do
log.status = "pending" log.status = "pending"

4
spec/lib/tasks/recalculate_invalid_reasonpref_dontknow_spec.rb

@ -10,14 +10,14 @@ RSpec.describe "recalculate_invalid_reasonpref_dontknow" do
task.reenable task.reenable
end end
let(:invalid_logs) { 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), updated_at: Time.zone.local(2024, 4, 2, 12, 0, 0)) } let(:invalid_logs) { 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), 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 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| 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.startdate = Time.zone.local(rand(2021..2023), 4, 1)
log.save!(validate: false) log.save!(validate: false)
end end
end end
let(:valid_logs) { create_list(:lettings_log, 3, :completed, 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)) } let(:valid_logs) { create_list(:lettings_log, 3, :completed, 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 it "updates the logs from 2024/25 with invalid rp_dontknow values" do
invalid_logs.each do |log| invalid_logs.each do |log|

16
spec/lib/tasks/update_created_by_values_spec.rb

@ -16,8 +16,8 @@ RSpec.describe "update_created_by_values" do
context "with bulk upload id" do context "with bulk upload id" do
let(:bulk_upload) { create(:bulk_upload) } 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) } 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) } 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 it "updates created_by to bulk upload user id for lettings log" do
initial_updated_at = lettings_log.updated_at initial_updated_at = lettings_log.updated_at
@ -44,8 +44,8 @@ RSpec.describe "update_created_by_values" do
context "without bulk upload id" do context "without bulk upload id" do
context "and version whodunnit exists for create" 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) } 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) } 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) } let(:other_user) { create(:user, organisation: user.organisation) }
before do before do
@ -77,8 +77,8 @@ RSpec.describe "update_created_by_values" do
end end
context "and version whodunnit does not exist for create" do 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) } 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) } 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 before do
PaperTrail::Version.find_by(item_id: lettings_log.id, event: "create").update!(whodunnit: nil) PaperTrail::Version.find_by(item_id: lettings_log.id, event: "create").update!(whodunnit: nil)
@ -109,8 +109,8 @@ RSpec.describe "update_created_by_values" do
end end
context "and version whodunnit is not a User for create" do 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) } 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) } 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) } let(:other_user) { create(:user, organisation: user.organisation) }
before do before do

Loading…
Cancel
Save