kosiakkatrina
1 year ago
committed by
GitHub
2 changed files with 71 additions and 0 deletions
@ -0,0 +1,4 @@
|
||||
desc "Alter soctenant values for sales logs in the database if the subsequent questions are blank or inferred as don't know" |
||||
task blank_migrated_soctenant_values: :environment do |
||||
SalesLog.imported.filter_by_year(2023).where(frombeds: nil, fromprop: 0, socprevten: 10, soctenant: 0).update_all(soctenant: nil, fromprop: nil, socprevten: nil, values_updated_at: Time.zone.now) |
||||
end |
@ -0,0 +1,67 @@
|
||||
require "rails_helper" |
||||
require "rake" |
||||
|
||||
RSpec.describe "blank_migrated_soctenant_values" do |
||||
describe ":blank_migrated_soctenant_values", type: :task do |
||||
subject(:task) { Rake::Task["blank_migrated_soctenant_values"] } |
||||
|
||||
before do |
||||
Rake.application.rake_require("tasks/blank_migrated_soctenant_values") |
||||
Rake::Task.define_task(:environment) |
||||
task.reenable |
||||
end |
||||
|
||||
context "when the rake task is run" do |
||||
let!(:sales_log) { create(:sales_log, :completed, :shared_ownership, values_updated_at: nil) } |
||||
|
||||
it "blanks soctenant (and subsequent questions) values from relevant migrated logs" do |
||||
sales_log.old_id = "404" |
||||
sales_log.frombeds = nil |
||||
sales_log.fromprop = 0 # don't know |
||||
sales_log.socprevten = 10 # don't know |
||||
sales_log.soctenant = 0 # don't know |
||||
sales_log.save! |
||||
task.invoke |
||||
sales_log.reload |
||||
expect(sales_log.soctenant).to eq(nil) |
||||
expect(sales_log.frombeds).to eq(nil) |
||||
expect(sales_log.fromprop).to eq(nil) |
||||
expect(sales_log.socprevten).to eq(nil) |
||||
expect(sales_log.values_updated_at).not_to be_nil |
||||
end |
||||
|
||||
it "does not blank soctenant (and subsequent questions) values from 2022 logs" do |
||||
sales_log.old_id = "404" |
||||
sales_log.frombeds = nil |
||||
sales_log.fromprop = 0 # don't know |
||||
sales_log.socprevten = 10 # don't know |
||||
sales_log.soctenant = 0 # don't know |
||||
sales_log.saledate = Time.zone.local(2022, 5, 5) |
||||
sales_log.save! |
||||
task.invoke |
||||
sales_log.reload |
||||
expect(sales_log.soctenant).to eq(0) |
||||
expect(sales_log.frombeds).to eq(nil) |
||||
expect(sales_log.fromprop).to eq(0) |
||||
expect(sales_log.socprevten).to eq(10) |
||||
expect(sales_log.values_updated_at).to be_nil |
||||
end |
||||
|
||||
it "does not blank soctenant (and subsequent questions) values from non imported logs" do |
||||
sales_log.old_id = nil |
||||
sales_log.frombeds = nil |
||||
sales_log.fromprop = 0 # don't know |
||||
sales_log.socprevten = 10 # don't know |
||||
sales_log.soctenant = 0 # don't know |
||||
sales_log.save! |
||||
task.invoke |
||||
sales_log.reload |
||||
expect(sales_log.soctenant).to eq(0) |
||||
expect(sales_log.frombeds).to eq(nil) |
||||
expect(sales_log.fromprop).to eq(0) |
||||
expect(sales_log.socprevten).to eq(10) |
||||
expect(sales_log.values_updated_at).to be_nil |
||||
end |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue