From 39e975f9d9c43388ee68741ba124b9ce829a2f9a Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Fri, 25 Nov 2022 14:24:11 +0000 Subject: [PATCH] bulk upload years now dynamic --- app/models/forms/bulk_upload_lettings/year.rb | 13 +++++++++---- app/models/forms/bulk_upload_sales/year.rb | 13 +++++++++---- spec/models/forms/bulk_upload_lettings/year_spec.rb | 12 ++++++++++++ spec/models/forms/bulk_upload_sales/year_spec.rb | 12 ++++++++++++ 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 spec/models/forms/bulk_upload_lettings/year_spec.rb create mode 100644 spec/models/forms/bulk_upload_sales/year_spec.rb diff --git a/app/models/forms/bulk_upload_lettings/year.rb b/app/models/forms/bulk_upload_lettings/year.rb index 1939a2d71..af1a4f31c 100644 --- a/app/models/forms/bulk_upload_lettings/year.rb +++ b/app/models/forms/bulk_upload_lettings/year.rb @@ -12,15 +12,20 @@ module Forms end def options - [ - OpenStruct.new(id: "2022", name: "2022/2023"), - OpenStruct.new(id: "2021", name: "2021/2022"), - ] + possible_years.map do |year| + OpenStruct.new(id: year, name: "#{year}/#{year + 1}") + end end def back_path Rails.application.routes.url_helpers.lettings_logs_path end + + private + + def possible_years + FormHandler.instance.lettings_forms.values.map { |form| form.start_date.year }.sort.reverse + end end end end diff --git a/app/models/forms/bulk_upload_sales/year.rb b/app/models/forms/bulk_upload_sales/year.rb index aff1f188d..b378dba1e 100644 --- a/app/models/forms/bulk_upload_sales/year.rb +++ b/app/models/forms/bulk_upload_sales/year.rb @@ -12,15 +12,20 @@ module Forms end def options - [ - OpenStruct.new(id: "2022", name: "2022/2023"), - OpenStruct.new(id: "2021", name: "2021/2022"), - ] + possible_years.map do |year| + OpenStruct.new(id: year, name: "#{year}/#{year + 1}") + end end def back_path Rails.application.routes.url_helpers.sales_logs_path end + + private + + def possible_years + FormHandler.instance.sales_forms.values.map { |form| form.start_date.year }.sort.reverse + end end end end diff --git a/spec/models/forms/bulk_upload_lettings/year_spec.rb b/spec/models/forms/bulk_upload_lettings/year_spec.rb new file mode 100644 index 000000000..0b0babb30 --- /dev/null +++ b/spec/models/forms/bulk_upload_lettings/year_spec.rb @@ -0,0 +1,12 @@ +require "rails_helper" + +RSpec.describe Forms::BulkUploadLettings::Year do + subject(:form) { described_class.new } + + describe "#options" do + it "returns correct years" do + expect(form.options.map(&:id)).to eql([2022, 2021]) + expect(form.options.map(&:name)).to eql(%w[2022/2023 2021/2022]) + end + end +end diff --git a/spec/models/forms/bulk_upload_sales/year_spec.rb b/spec/models/forms/bulk_upload_sales/year_spec.rb new file mode 100644 index 000000000..2276b1e4d --- /dev/null +++ b/spec/models/forms/bulk_upload_sales/year_spec.rb @@ -0,0 +1,12 @@ +require "rails_helper" + +RSpec.describe Forms::BulkUploadSales::Year do + subject(:form) { described_class.new } + + describe "#options" do + it "returns correct years" do + expect(form.options.map(&:id)).to eql([2022, 2021]) + expect(form.options.map(&:name)).to eql(%w[2022/2023 2021/2022]) + end + end +end