Browse Source

feat: update tests (and TO BE REVERTED: change collection year)

pull/2027/head
natdeanlewissoftwire 3 years ago
parent
commit
b0ecfcb0dc
  1. 21
      app/models/form.rb
  2. 4
      spec/models/form_spec.rb

21
app/models/form.rb

@ -1,13 +1,12 @@
class Form
attr_reader :form_definition, :sections, :subsections, :pages, :questions,
:start_date, :submission_deadline, :type, :name, :setup_definition,
:setup_sections, :form_sections, :unresolved_log_redirect_page_id
attr_accessor :new_logs_end_date, :edit_end_date
:start_date, :new_logs_end_date, :submission_deadline, :type, :name, :setup_definition,
:setup_sections, :form_sections, :unresolved_log_redirect_page_id, :edit_end_date
def initialize(form_path, start_year = "", sections_in_form = [], type = "lettings")
if sales_or_start_year_after_2022?(type, start_year)
@start_date = Time.zone.local(start_year, 4, 1)
@new_logs_end_date = Time.zone.local(start_year + 1, 11, 1) # this is to be manually updated each year when we want to stop users from creating new logs
@new_logs_end_date = Time.zone.local(start_year + 1, 12, 31) # this is to be manually updated each year when we want to stop users from creating new logs
@submission_deadline = if start_year && start_year.to_i > 2022
Time.zone.local(start_year + 1, 6, 7)
else
@ -27,7 +26,7 @@ class Form
"sections" => sections,
}
@unresolved_log_redirect_page_id = "tenancy_start_date" if type == "lettings"
@edit_end_date = Time.zone.local(start_year + 1, 11, 1) # this is to be manually updated each year when we want to stop users from editing logs
@edit_end_date = Time.zone.local(start_year + 1, 12, 31) # this is to be manually updated each year when we want to stop users from editing logs
else
raise "No form definition file exists for given year".freeze unless File.exist?(form_path)
@ -40,9 +39,9 @@ class Form
@pages = subsections.flat_map(&:pages)
@questions = pages.flat_map(&:questions)
@start_date = Time.iso8601(form_definition["start_date"])
@new_logs_end_date = Time.zone.local(@start_date.year + 1, 12, 31)
@new_logs_end_date = Time.zone.local(@start_date.year + 1, 11, 1)
@submission_deadline = Time.zone.local(@start_date.year + 1, 6, 9)
@edit_end_date = Time.zone.local(@start_date.year + 1, 12, 31)
@edit_end_date = Time.zone.local(@start_date.year + 1, 11, 1)
@unresolved_log_redirect_page_id = form_definition["unresolved_log_redirect_page_id"]
end
@name = "#{start_date.year}_#{new_logs_end_date.year}_#{type}"
@ -308,12 +307,4 @@ class Form
def sales_or_start_year_after_2022?(type, start_year)
type == "sales" || (start_year && start_year.to_i > 2022)
end
def update_edit_end_date(new_date)
@edit_end_date = new_date
end
def update_new_logs_end_date(new_date)
@new_logs_end_date = new_date
end
end

4
spec/models/form_spec.rb

@ -370,8 +370,8 @@ RSpec.describe Form, type: :model do
expect(form.questions.count).to eq(13)
expect(form.questions.first.id).to eq("owning_organisation_id")
expect(form.start_date).to eq(Time.zone.parse("2022-04-01"))
expect(form.new_logs_end_date).to eq(Time.zone.parse("2023-11-1"))
expect(form.edit_end_date).to eq(Time.zone.parse("2023-11-1"))
expect(form.new_logs_end_date).to eq(Time.zone.parse("2023-12-31"))
expect(form.edit_end_date).to eq(Time.zone.parse("2023-12-31"))
expect(form.submission_deadline).to eq(Time.zone.parse("2023-06-09"))
expect(form.unresolved_log_redirect_page_id).to eq(nil)
end

Loading…
Cancel
Save