Browse Source

Refactor form_name_from_start_year method out

pull/875/head
Kat 3 years ago
parent
commit
201bb50cd2
  1. 8
      app/models/form_handler.rb
  2. 3
      app/models/lettings_log.rb
  3. 3
      app/models/sales_log.rb
  4. 3
      app/services/csv/lettings_log_csv_service.rb
  5. 4
      spec/models/form_handler_spec.rb

8
app/models/form_handler.rb

@ -33,8 +33,7 @@ class FormHandler
form = Form.new(form_path)
lettings_form_definition = { "form" => form, "type" => "lettings", "start_year" => form.start_date.year }
form_mappings = { 0 => "current_lettings", 1 => "previous_lettings", -1 => "next_lettings" }
form_to_set = form_mappings[current_collection_start_year - form.start_date.year]
form_to_set = form_name_from_start_year(form.start_date.year, "lettings")
forms[form_to_set] = lettings_form_definition if forms[form_to_set].blank?
end
end
@ -47,6 +46,11 @@ class FormHandler
today < window_end_date ? today.year - 1 : today.year
end
def form_name_from_start_year(year, type)
form_mappings = { 0 => "current_#{type}", 1 => "previous_#{type}", -1 => "next_#{type}" }
form_mappings[current_collection_start_year - year]
end
private
def get_all_forms

3
app/models/lettings_log.rb

@ -66,8 +66,7 @@ class LettingsLog < Log
def form_name
return unless startdate
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?
FormHandler.instance.form_name_from_start_year(collection_start_year, "lettings")
end
def self.editable_fields

3
app/models/sales_log.rb

@ -23,8 +23,7 @@ class SalesLog < Log
def form_name
return unless startdate
form_mappings = { 0 => "current_sales", 1 => "previous_sales", -1 => "next_sales" }
form_mappings[FormHandler.instance.current_collection_start_year - collection_start_year] if collection_start_year.present?
FormHandler.instance.form_name_from_start_year(collection_start_year, "sales")
end
def form

3
app/services/csv/lettings_log_csv_service.rb

@ -53,8 +53,7 @@ module Csv
downloaded_form_years = LettingsLog.all.map(&:collection_start_year).uniq.compact
if downloaded_form_years.count == 1 && downloaded_form_years[0].present?
form_mappings = { 0 => "current_lettings", 1 => "previous_lettings", -1 => "next_lettings" }
form_name = form_mappings[FormHandler.instance.current_collection_start_year - downloaded_form_years[0]]
form_name = FormHandler.instance.form_name_from_start_year(downloaded_form_years[0], "lettings")
downloaded_form_fields = FormHandler.instance.get_form(form_name).questions
else
downloaded_form_fields = FormHandler.instance.current_lettings_form.questions

4
spec/models/form_handler_spec.rb

@ -52,14 +52,14 @@ RSpec.describe FormHandler do
it "is able to load a current sales form" do
form = form_handler.get_form("current_sales")
expect(form).to be_a(Form)
expect(form.pages.count).to eq(1)
expect(form.pages.count).to eq(2)
expect(form.name).to eq("2022_2023_sales")
end
it "is able to load a previous sales form" do
form = form_handler.get_form("previous_sales")
expect(form).to be_a(Form)
expect(form.pages.count).to eq(1)
expect(form.pages.count).to eq(2)
expect(form.name).to eq("2021_2022_sales")
end
end

Loading…
Cancel
Save