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