Browse Source

feat: update tests

pull/2027/head
natdeanlewissoftwire 3 years ago
parent
commit
ed2b6d070d
  1. 4
      app/models/lettings_log.rb
  2. 4
      app/models/sales_log.rb
  3. 11
      spec/models/lettings_log_spec.rb
  4. 9
      spec/requests/form_controller_spec.rb
  5. 7
      spec/services/bulk_upload/lettings/log_creator_spec.rb
  6. 12
      spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb
  7. 7
      spec/services/bulk_upload/processor_spec.rb
  8. 4
      spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

4
app/models/lettings_log.rb

@ -659,7 +659,7 @@ private
not_required << "tshortfall" if tshortfall_unknown?
not_required << "tenancylength" if tenancylength_optional?
not_required |= %w[address_line2 county postcode_full] if startdate && startdate.year >= 2023
not_required |= %w[address_line2 county postcode_full] if startdate && collection_start_year_for_date(startdate) >= 2023
not_required
end
@ -780,6 +780,6 @@ private
end
def should_process_uprn_change?
uprn && startdate && (uprn_changed? || startdate_changed?) && startdate.year >= 2023
uprn && startdate && (uprn_changed? || startdate_changed?) && collection_start_year_for_date(startdate) >= 2023
end
end

4
app/models/sales_log.rb

@ -115,7 +115,7 @@ class SalesLog < Log
not_required << "mortlen" if mortlen_optional?
not_required << "frombeds" if frombeds_optional?
not_required |= %w[address_line2 county postcode_full] if saledate && saledate.year >= 2023
not_required |= %w[address_line2 county postcode_full] if saledate && collection_start_year_for_date(saledate) >= 2023
not_required
end
@ -393,7 +393,7 @@ class SalesLog < Log
end
def should_process_uprn_change?
uprn && saledate && (uprn_changed? || saledate_changed?) && saledate.year >= 2023
uprn && saledate && (uprn_changed? || saledate_changed?) && collection_start_year_for_date(saledate) >= 2023
end
def value_with_discount

11
spec/models/lettings_log_spec.rb

@ -1576,7 +1576,7 @@ RSpec.describe LettingsLog do
expect { lettings_log.update!(renewal: 1) }.to change(lettings_log, :underoccupation_benefitcap).to 2
Timecop.return
Singleton.__init__(FormHandler)
expect { lettings_log.update!(startdate: Time.zone.local(2023, 1, 1)) }.to change(lettings_log, :underoccupation_benefitcap).from(2).to nil
expect { lettings_log.update!(startdate: Time.zone.local(2023, 4, 1)) }.to change(lettings_log, :underoccupation_benefitcap).from(2).to nil
end
context "when the log is general needs" do
@ -2122,10 +2122,15 @@ RSpec.describe LettingsLog do
context "and the location no local authorities associated with the location_code" do
before do
Timecop.freeze(Time.zone.local(2022, 4, 2))
location.update!(location_code: "E01231231")
lettings_log.update!(location:)
end
after do
Timecop.return
end
it "returns the correct la" do
expect(location.location_code).to eq("E01231231")
expect(lettings_log["location_id"]).to eq(location.id)
@ -2334,7 +2339,7 @@ RSpec.describe LettingsLog do
end
end
context "when saledate is before 2023" do
context "when startdate is before 2023" do
let(:lettings_log) { build(:lettings_log, startdate: Time.zone.parse("2022-07-01")) }
it "returns optional fields" do
@ -2347,7 +2352,7 @@ RSpec.describe LettingsLog do
end
end
context "when saledate is after 2023" do
context "when startdate is after 2023" do
let(:lettings_log) { build(:lettings_log, startdate: Time.zone.parse("2023-07-01")) }
it "returns optional fields" do

9
spec/requests/form_controller_spec.rb

@ -254,6 +254,15 @@ RSpec.describe FormController, type: :request do
end
describe "GET" do
around do |example|
Timecop.freeze(Time.zone.local(2022, 5, 1)) do
Singleton.__init__(FormHandler)
example.run
end
Timecop.return
Singleton.__init__(FormHandler)
end
context "with form pages" do
context "when forms exist" do
let(:lettings_log) { create(:lettings_log, :setup_completed, startdate: Time.zone.local(2022, 5, 1), owning_organisation: organisation, created_by: user) }

7
spec/services/bulk_upload/lettings/log_creator_spec.rb

@ -9,6 +9,13 @@ RSpec.describe BulkUpload::Lettings::LogCreator do
let(:bulk_upload) { create(:bulk_upload, :lettings, user:) }
let(:path) { file_fixture("2022_23_lettings_bulk_upload.csv") }
around do |example|
Timecop.freeze(Time.zone.local(2023, 1, 1)) do
Singleton.__init__(FormHandler)
example.run
end
end
describe "#call" do
context "when a valid csv with new log" do
it "creates a new log" do

12
spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb

@ -152,17 +152,13 @@ RSpec.describe BulkUpload::Lettings::Year2022::RowParser do
create(:organisation_relationship, parent_organisation: owning_org, child_organisation: managing_org)
end
around do |example|
FormHandler.instance.use_real_forms!
example.run
FormHandler.instance.use_fake_forms!
end
around do |example|
Timecop.freeze(Date.new(2023, 3, 1)) do
FormHandler.instance.use_real_forms!
example.run
FormHandler.instance.use_fake_forms!
end
Timecop.return
end

7
spec/services/bulk_upload/processor_spec.rb

@ -7,6 +7,13 @@ RSpec.describe BulkUpload::Processor do
let(:user) { create(:user, organisation: owning_org) }
let(:owning_org) { create(:organisation, old_visible_id: 123) }
around do |example|
Timecop.freeze(Time.utc(2023, 1, 1)) do
Singleton.__init__(FormHandler)
example.run
end
end
describe "#call" do
context "when errors exist from prior job run" do
let!(:existing_error) { create(:bulk_upload_error, bulk_upload:) }

4
spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe BulkUpload::Sales::Year2023::RowParser do
subject(:parser) { described_class.new(attributes) }
let(:now) { Time.zone.parse("01/03/2023") }
let(:now) { Time.zone.parse("01/05/2023") }
let(:attributes) { { bulk_upload: } }
let(:bulk_upload) { create(:bulk_upload, :sales, user:, year: 2023) }
@ -760,7 +760,7 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
let(:attributes) { setup_section_params.merge({ field_19: "3", data[:field] => nil }) }
it "cannot be blank" do
expect(parser.errors[data[:field]]).not_to be_blank
expect(parser.errors[data[:field]]).to be_present
end
end
end

Loading…
Cancel
Save