Browse Source

Merge branch 'main' into CLDC-2357-invalid-uprn-bu-bug

pull/1626/head
natdeanlewissoftwire 3 years ago
parent
commit
a035ce575f
  1. 4
      app/models/log.rb
  2. 2
      app/services/bulk_upload/lettings/year2023/row_parser.rb
  3. 6
      app/services/bulk_upload/sales/year2023/row_parser.rb
  4. 8
      spec/requests/lettings_logs_controller_spec.rb
  5. 1
      spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb
  6. 60
      spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

4
app/models/log.rb

@ -41,7 +41,7 @@ class Log < ApplicationRecord
}
scope :created_by, ->(user) { where(created_by: user) }
attr_accessor :skip_update_status
attr_accessor :skip_update_status, :skip_update_uprn_confirmed
def process_uprn_change!
if uprn.present?
@ -53,7 +53,7 @@ class Log < ApplicationRecord
presenter = UprnDataPresenter.new(service.result)
self.uprn_known = 1
self.uprn_confirmed = nil
self.uprn_confirmed = nil unless skip_update_uprn_confirmed
self.address_line1 = presenter.address_line1
self.address_line2 = presenter.address_line2
self.town_or_city = presenter.town_or_city

2
app/services/bulk_upload/lettings/year2023/row_parser.rb

@ -1153,6 +1153,8 @@ private
attributes["first_time_property_let_as_social_housing"] = first_time_property_let_as_social_housing
attributes["uprn_known"] = field_18.present? ? 1 : 0
attributes["uprn_confirmed"] = 1 if field_18.present?
attributes["skip_update_uprn_confirmed"] = true
attributes["uprn"] = field_18
attributes["address_line1"] = field_19
attributes["address_line2"] = field_20

6
app/services/bulk_upload/sales/year2023/row_parser.rb

@ -795,7 +795,8 @@ private
attributes["mortlen"] = mortlen
attributes["proplen"] = proplen
attributes["proplen"] = proplen if proplen&.positive?
attributes["proplen_asked"] = attributes["proplen"]&.present? ? 0 : 1
attributes["jointmore"] = field_15
attributes["staircase"] = field_87
attributes["privacynotice"] = field_29
@ -812,6 +813,9 @@ private
attributes["mortgageused"] = mortgageused
attributes["uprn"] = field_19
attributes["uprn_known"] = field_19.present? ? 1 : 0
attributes["uprn_confirmed"] = 1 if field_19.present?
attributes["skip_update_uprn_confirmed"] = true
attributes["address_line1"] = field_20
attributes["address_line2"] = field_21
attributes["town_or_city"] = field_22

8
spec/requests/lettings_logs_controller_spec.rb

@ -1138,14 +1138,14 @@ RSpec.describe LettingsLogsController, type: :request do
it "only displays affected logs" do
get "/lettings-logs/update-logs", headers:, params: {}
expect(page).to have_content("You need to update 3 logs")
expect(page).to have_content(affected_lettings_logs.first.id)
expect(page).not_to have_content(non_affected_lettings_logs.first.id)
expect(page).to have_link("Update now", href: "/lettings-logs/#{affected_lettings_logs.first.id}/tenancy-start-date")
expect(page).not_to have_link("Update now", href: "/lettings-logs/#{non_affected_lettings_logs.first.id}/tenancy-start-date")
end
it "only displays the logs created by the user" do
get "/lettings-logs/update-logs", headers:, params: {}
expect(page).to have_content(affected_lettings_logs.second.id)
expect(page).not_to have_content(other_user_affected_lettings_log.id)
expect(page).to have_link("Update now", href: "/lettings-logs/#{affected_lettings_logs.second.id}/tenancy-start-date")
expect(page).not_to have_link("Update now", href: "/lettings-logs/#{other_user_affected_lettings_log.id}/tenancy-start-date")
expect(page).to have_content("You need to update 3 logs")
end

1
spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

@ -1077,6 +1077,7 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
it "sets to 1" do
expect(parser.log.uprn_known).to be(1)
expect(parser.log.uprn_confirmed).to be(1)
end
end

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

@ -542,6 +542,12 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
it "is valid" do
expect(parser.errors[:field_19]).to be_blank
end
it "sets UPRN and UPRN known" do
expect(parser.log.uprn).to eq("100023336956")
expect(parser.log.uprn_known).to eq(1)
expect(parser.log.uprn_confirmed).to eq(1)
end
end
context "when UPRN not known but address known" do
@ -673,6 +679,24 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
end
end
describe "#uprn_known" do
context "when uprn known" do
let(:attributes) { setup_section_params.merge({ field_19: "100023336956" }) }
it "is correctly set" do
expect(parser.log.uprn_known).to be(1)
end
end
context "when uprn not known" do
let(:attributes) { setup_section_params.merge({ field_19: nil }) }
it "is correctly set" do
expect(parser.log.uprn_known).to be(0)
end
end
end
describe "#address_line1" do
let(:attributes) { setup_section_params.merge({ field_20: "some street" }) }
@ -776,5 +800,41 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
expect(parser.log.soctenant).to be(1)
end
end
describe "with living before purchase years for shared ownership more than 0" do
let(:attributes) { setup_section_params.merge({ field_7: "1", field_86: "1" }) }
it "is sets living before purchase asked to yes and sets the correct living before purchase years" do
expect(parser.log.proplen_asked).to be(0)
expect(parser.log.proplen).to be(1)
end
end
describe "with living before purchase years for discounted ownership more than 0" do
let(:attributes) { setup_section_params.merge({ field_7: "2", field_115: "1" }) }
it "is sets living before purchase asked to yes and sets the correct living before purchase years" do
expect(parser.log.proplen_asked).to be(0)
expect(parser.log.proplen).to be(1)
end
end
describe "with living before purchase years for shared ownership set to 0" do
let(:attributes) { setup_section_params.merge({ field_7: "1", field_86: "0" }) }
it "is sets living before purchase asked to no" do
expect(parser.log.proplen_asked).to be(1)
expect(parser.log.proplen).to be_nil
end
end
describe "with living before purchase 0 years for discounted ownership set to 0" do
let(:attributes) { setup_section_params.merge({ field_7: "2", field_115: "0" }) }
it "is sets living before purchase asked to no" do
expect(parser.log.proplen_asked).to be(1)
expect(parser.log.proplen).to be_nil
end
end
end
end

Loading…
Cancel
Save