Browse Source

Update tests

pull/3003/head
Manny Dinssa 5 days ago
parent
commit
2adcab077e
  1. 16
      spec/factories/lettings_log.rb
  2. 16
      spec/factories/sales_log.rb
  3. 96
      spec/lib/tasks/update_manual_address_entry_selected_prexisting_logs_spec.rb

16
spec/factories/lettings_log.rb

@ -220,5 +220,21 @@ FactoryBot.define do
instance.save!(validate: false) instance.save!(validate: false)
end end
end end
trait :completed_without_uprn do
completed
manual_address_entry_selected { false }
after(:build) do |log|
log.uprn = nil
log.uprn_selection = nil
log.uprn_known = 0
end
after(:build) do |log|
log.address_line1 = "1 Test Street"
log.address_line2 = "Testville"
log.town_or_city = "Testford"
log.postcode_full = "SW1 1AA"
end
end
end end
end end

16
spec/factories/sales_log.rb

@ -235,5 +235,21 @@ FactoryBot.define do
instance.save!(validate: false) instance.save!(validate: false)
end end
end end
trait :completed_without_uprn do
completed
manual_address_entry_selected { false }
after(:build) do |log|
log.uprn = nil
log.uprn_selection = nil
log.uprn_known = 0
end
after(:build) do |log|
log.address_line1 = "1 Test Street"
log.address_line2 = "Testville"
log.town_or_city = "Testford"
log.postcode_full = "SW1 1AA"
end
end
end end
end end

96
spec/lib/tasks/update_manual_address_entry_selected_prexisting_logs_spec.rb

@ -1,4 +1,3 @@
# spec/tasks/update_manual_address_entry_selected_prexisting_logs_spec.rb
require "rails_helper" require "rails_helper"
require "rake" require "rake"
@ -6,78 +5,27 @@ RSpec.describe "bulk_update:update_manual_address_entry_selected", type: :task d
let(:task) { Rake::Task["bulk_update:update_manual_address_entry_selected"] } let(:task) { Rake::Task["bulk_update:update_manual_address_entry_selected"] }
let(:lettings_log_uprn_entered) do let(:lettings_log_uprn_entered) do
create(:lettings_log, :completed, build(:lettings_log, :completed, startdate: Time.zone.local(2024, 6, 1), needstype: 1, manual_address_entry_selected: false)
needstype: 1,
manual_address_entry_selected: false,
uprn: "123",
address_line1: nil,
address_line2: nil,
town_or_city: nil,
postcode_full: nil,
address_line1_input: nil,
postcode_full_input: nil)
end end
let(:lettings_log_uprn_found) do let(:lettings_log_uprn_found) do
create(:lettings_log, :completed, build(:lettings_log, :completed, startdate: Time.zone.local(2024, 9, 1), needstype: 1, manual_address_entry_selected: false, address_line1_input: "1 Test Street", postcode_full_input: "SW1 1AA")
needstype: 1,
manual_address_entry_selected: false,
uprn: "123",
address_line1: nil,
address_line2: nil,
town_or_city: nil,
postcode_full: nil,
address_line1_input: "1 Test Street",
postcode_full_input: "SW1 1AA")
end end
let(:lettings_log_address_manually_entered) do let(:lettings_log_address_manually_entered) do
create(:lettings_log, :completed, build(:lettings_log, :completed_without_uprn, startdate: Time.zone.local(2024, 12, 1), needstype: 1, manual_address_entry_selected: false)
needstype: 1,
manual_address_entry_selected: false,
uprn: nil,
address_line1: "1 Test Street",
address_line2: "Testville",
town_or_city: "Testford",
postcode_full: "SW1 1AA",
address_line1_input: nil,
postcode_full_input: nil)
end end
let(:sales_log_uprn_entered) do let(:sales_log_uprn_entered) do
create(:sales_log, :completed, build(:sales_log, :completed, saledate: Time.zone.local(2024, 12, 1), manual_address_entry_selected: false)
manual_address_entry_selected: false,
uprn: "123",
address_line1: nil,
address_line2: nil,
town_or_city: nil,
postcode_full: nil,
address_line1_input: nil,
postcode_full_input: nil)
end end
let(:sales_log_uprn_found) do let(:sales_log_uprn_found) do
create(:sales_log, :completed, build(:sales_log, :completed, saledate: Time.zone.local(2024, 7, 1), manual_address_entry_selected: false, address_line1_input: "1 Test Street", postcode_full_input: "SW1 1AA")
manual_address_entry_selected: false,
uprn: "123",
address_line1: nil,
address_line2: nil,
town_or_city: nil,
postcode_full: nil,
address_line1_input: "1 Test Street",
postcode_full_input: "SW1 1AA")
end end
let(:sales_log_address_manually_entered) do let(:sales_log_address_manually_entered) do
create(:sales_log, :completed, build(:sales_log, :completed_without_uprn, saledate: Time.zone.local(2024, 12, 30), manual_address_entry_selected: false)
manual_address_entry_selected: false,
uprn: nil,
address_line1: "1 Test Street",
address_line2: "Testville",
town_or_city: "Testford",
postcode_full: "SW1 1AA",
address_line1_input: nil,
postcode_full_input: nil)
end end
before do before do
@ -87,14 +35,21 @@ RSpec.describe "bulk_update:update_manual_address_entry_selected", type: :task d
context "when running the task" do context "when running the task" do
context "when logs do not meet the criteria" do context "when logs do not meet the criteria" do
before do
lettings_log_uprn_found.save!(validate: false)
lettings_log_uprn_entered.save!(validate: false)
sales_log_uprn_found.save!(validate: false)
sales_log_uprn_entered.save!(validate: false)
end
it "does not update logs with a UPRN entered" do it "does not update logs with a UPRN entered" do
task.invoke task.invoke
lettings_log_uprn_entered.reload lettings_log_uprn_entered.reload
sales_log_uprn_entered.reload sales_log_uprn_entered.reload
expect(lettings_log_uprn_entered.manual_address_entry_selected).to be false expect(lettings_log_uprn_entered.manual_address_entry_selected).to be false
expect(lettings_log_uprn_entered.uprn).to eq("123") expect(lettings_log_uprn_entered.uprn).to eq("10033558653")
expect(sales_log_uprn_entered.manual_address_entry_selected).to be false expect(sales_log_uprn_entered.manual_address_entry_selected).to be false
expect(sales_log_uprn_entered.uprn).to eq("123") expect(sales_log_uprn_entered.uprn).to eq("10033558653")
end end
it "does not update logs with a UPRN found" do it "does not update logs with a UPRN found" do
@ -102,17 +57,34 @@ RSpec.describe "bulk_update:update_manual_address_entry_selected", type: :task d
lettings_log_uprn_found.reload lettings_log_uprn_found.reload
sales_log_uprn_found.reload sales_log_uprn_found.reload
expect(lettings_log_uprn_found.manual_address_entry_selected).to be false expect(lettings_log_uprn_found.manual_address_entry_selected).to be false
expect(lettings_log_uprn_found.uprn).to eq("123") expect(lettings_log_uprn_found.uprn).to eq("10033558653")
expect(sales_log_uprn_found.manual_address_entry_selected).to be false expect(sales_log_uprn_found.manual_address_entry_selected).to be false
expect(sales_log_uprn_found.uprn).to eq("123") expect(sales_log_uprn_found.uprn).to eq("10033558653")
end end
end end
context "when logs do meet the criteria" do context "when logs do meet the criteria" do
before do
lettings_log_address_manually_entered.save!(validate: false)
sales_log_address_manually_entered.save!(validate: false)
end
it "updates logs with an address manually entered" do it "updates logs with an address manually entered" do
expect(lettings_log_address_manually_entered.manual_address_entry_selected).to be false
expect(lettings_log_address_manually_entered.address_line1).to eq("1 Test Street")
expect(lettings_log_address_manually_entered.address_line2).to eq("Testville")
expect(lettings_log_address_manually_entered.town_or_city).to eq("Testford")
expect(lettings_log_address_manually_entered.postcode_full).to eq("SW1 1AA")
expect(sales_log_address_manually_entered.manual_address_entry_selected).to be false
expect(sales_log_address_manually_entered.address_line1).to eq("1 Test Street")
expect(sales_log_address_manually_entered.address_line2).to eq("Testville")
expect(sales_log_address_manually_entered.town_or_city).to eq("Testford")
expect(sales_log_address_manually_entered.postcode_full).to eq("SW1 1AA")
task.invoke task.invoke
lettings_log_address_manually_entered.reload lettings_log_address_manually_entered.reload
sales_log_address_manually_entered.reload sales_log_address_manually_entered.reload
expect(lettings_log_address_manually_entered.manual_address_entry_selected).to be true expect(lettings_log_address_manually_entered.manual_address_entry_selected).to be true
expect(lettings_log_address_manually_entered.address_line1).to eq("1 Test Street") expect(lettings_log_address_manually_entered.address_line1).to eq("1 Test Street")
expect(lettings_log_address_manually_entered.address_line2).to eq("Testville") expect(lettings_log_address_manually_entered.address_line2).to eq("Testville")

Loading…
Cancel
Save