Browse Source

Use current, previous and next forms in lettings log model

pull/875/head
Kat 3 years ago
parent
commit
87a698c114
  1. 4
      app/models/form_handler.rb
  2. 3
      app/models/lettings_log.rb
  3. 4
      spec/models/lettings_log_spec.rb
  4. 4
      spec/services/exports/lettings_log_export_service_spec.rb
  5. 2
      spec/services/imports/lettings_logs_field_import_service_spec.rb
  6. 4
      spec/services/imports/lettings_logs_import_service_spec.rb

4
app/models/form_handler.rb

@ -44,14 +44,14 @@ class FormHandler
forms
end
private
def current_collection_start_year
today = Time.zone.now
window_end_date = Time.zone.local(today.year, 4, 1)
today < window_end_date ? today.year - 1 : today.year
end
private
def get_all_forms
lettings_forms.merge(sales_forms)
end

3
app/models/lettings_log.rb

@ -66,7 +66,8 @@ class LettingsLog < Log
def form_name
return unless startdate
"#{collection_start_year}_#{collection_start_year + 1}"
form_mappings = { 0 => "current_lettings", 1 => "previous_lettings", -1 => "next_lettings" }
form_mappings[FormHandler.instance.current_collection_start_year - collection_start_year] if collection_start_year.present?
end
def self.editable_fields

4
spec/models/lettings_log_spec.rb

@ -27,9 +27,9 @@ RSpec.describe LettingsLog do
it "has returns the correct form based on the start date" do
expect(lettings_log.form_name).to be_nil
expect(lettings_log.form).to be_a(Form)
expect(lettings_log_2.form_name).to eq("2021_2022")
expect(lettings_log_2.form_name).to eq("previous_lettings")
expect(lettings_log_2.form).to be_a(Form)
expect(lettings_log_year_2.form_name).to eq("2023_2024")
expect(lettings_log_year_2.form_name).to eq("next_lettings")
expect(lettings_log_year_2.form).to be_a(Form)
end

4
spec/services/exports/lettings_log_export_service_spec.rb

@ -33,8 +33,8 @@ RSpec.describe Exports::LettingsLogExportService do
allow(storage_service).to receive(:write_file)
# Stub the form handler to use the real form
allow(FormHandler.instance).to receive(:get_form).with("2021_2022").and_return(real_2021_2022_form)
allow(FormHandler.instance).to receive(:get_form).with("2022_2023").and_return(real_2022_2023_form)
allow(FormHandler.instance).to receive(:get_form).with("previous_lettings").and_return(real_2021_2022_form)
allow(FormHandler.instance).to receive(:get_form).with("current_lettings").and_return(real_2022_2023_form)
end
context "when exporting daily lettings logs in XML" do

2
spec/services/imports/lettings_logs_field_import_service_spec.rb

@ -27,7 +27,7 @@ RSpec.describe Imports::LettingsLogsFieldImportService do
FactoryBot.create(:user, old_user_id:, organisation:)
# Stub the form handler to use the real form
allow(FormHandler.instance).to receive(:get_form).with("2021_2022").and_return(real_2021_2022_form)
allow(FormHandler.instance).to receive(:get_form).with("previous_lettings").and_return(real_2021_2022_form)
WebMock.stub_request(:get, /api.postcodes.io\/postcodes\/LS166FT/)
.to_return(status: 200, body: '{"status":200,"result":{"codes":{"admin_district":"E08000035"}}}', headers: {})

4
spec/services/imports/lettings_logs_import_service_spec.rb

@ -35,8 +35,8 @@ RSpec.describe Imports::LettingsLogsImportService do
FactoryBot.create(:location, old_visible_id: 10, postcode: "LS166FT", scheme_id: scheme2.id, mobility_type: "W")
# Stub the form handler to use the real form
allow(FormHandler.instance).to receive(:get_form).with("2021_2022").and_return(real_2021_2022_form)
allow(FormHandler.instance).to receive(:get_form).with("2022_2023").and_return(real_2022_2023_form)
allow(FormHandler.instance).to receive(:get_form).with("previous_lettings").and_return(real_2021_2022_form)
allow(FormHandler.instance).to receive(:get_form).with("current_lettings").and_return(real_2022_2023_form)
end
context "when importing lettings logs" do

Loading…
Cancel
Save