diff --git a/app/controllers/bulk_upload_lettings_logs_controller.rb b/app/controllers/bulk_upload_lettings_logs_controller.rb new file mode 100644 index 000000000..56d35da38 --- /dev/null +++ b/app/controllers/bulk_upload_lettings_logs_controller.rb @@ -0,0 +1,17 @@ +class BulkUploadLettingsLogsController < ApplicationController + before_action :authenticate_user! + + def start + if in_crossover_period? + redirect_to bulk_upload_lettings_log_path(id: "year") + else + redirect_to bulk_upload_lettings_log_path(id: "prepare-your-file") + end + end + +private + + def in_crossover_period? + FormHandler.instance.forms.values.any?(&:in_crossover_period?) + end +end diff --git a/app/controllers/bulk_upload_logs_controller.rb b/app/controllers/bulk_upload_logs_controller.rb deleted file mode 100644 index 248da1927..000000000 --- a/app/controllers/bulk_upload_logs_controller.rb +++ /dev/null @@ -1,37 +0,0 @@ -class BulkUploadLogsController < ApplicationController - before_action :authenticate_user! - - def start - if in_crossover_period? - redirect_to bulk_upload_path(id: "year") - else - redirect_to bulk_upload_path(id: "prepare-your-file") - end - end - -private - - def in_crossover_period? - FormHandler.instance.forms.values.any?(&:in_crossover_period?) - end - - def bulk_upload_path(id:) - case log_type - when "lettings" - bulk_upload_lettings_log_path(id:) - when "sales" - bulk_upload_sales_log_path(id:) - end - end - - def log_type - case request.path.split("/")[1] - when "lettings-logs" - "lettings" - when "sales-logs" - "sales" - else - raise "Log type not handled" - end - end -end diff --git a/app/controllers/bulk_upload_sales_logs_controller.rb b/app/controllers/bulk_upload_sales_logs_controller.rb new file mode 100644 index 000000000..100dff40d --- /dev/null +++ b/app/controllers/bulk_upload_sales_logs_controller.rb @@ -0,0 +1,17 @@ +class BulkUploadSalesLogsController < ApplicationController + before_action :authenticate_user! + + def start + if in_crossover_period? + redirect_to bulk_upload_sales_log_path(id: "year") + else + redirect_to bulk_upload_sales_log_path(id: "prepare-your-file") + end + end + +private + + def in_crossover_period? + FormHandler.instance.forms.values.any?(&:in_crossover_period?) + end +end diff --git a/app/views/bulk_upload_lettings_logs/show.html.erb b/app/views/bulk_upload_lettings_logs/show.html.erb new file mode 100644 index 000000000..6f03ef508 --- /dev/null +++ b/app/views/bulk_upload_lettings_logs/show.html.erb @@ -0,0 +1 @@ +Find me in app/views/bulk_upload_lettings_logs/show.html.erb diff --git a/app/views/bulk_upload_logs/show.html.erb b/app/views/bulk_upload_logs/show.html.erb deleted file mode 100644 index 7c5959ba8..000000000 --- a/app/views/bulk_upload_logs/show.html.erb +++ /dev/null @@ -1 +0,0 @@ -Find me in app/views/bulk_upload_logs/show.html.erb diff --git a/app/views/bulk_upload_sales_logs/show.html.erb b/app/views/bulk_upload_sales_logs/show.html.erb new file mode 100644 index 000000000..86facd42c --- /dev/null +++ b/app/views/bulk_upload_sales_logs/show.html.erb @@ -0,0 +1 @@ +Find me in app/views/bulk_upload_sales_logs/show.html.erb diff --git a/config/routes.rb b/config/routes.rb index 25afcf164..a0c7aad77 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -110,7 +110,7 @@ Rails.application.routes.draw do post "email-csv", to: "lettings_logs#email_csv" get "csv-confirmation", to: "lettings_logs#csv_confirmation" - resources :bulk_upload_logs, path: "bulk-upload-logs", as: "bulk_upload_lettings_logs" do + resources :bulk_upload_lettings_logs, path: "bulk-upload-logs" do collection do get :start end @@ -135,7 +135,7 @@ Rails.application.routes.draw do resources :sales_logs, path: "/sales-logs" do collection do - resources :bulk_upload_logs, path: "bulk-upload-logs", as: "bulk_upload_sales_logs" do + resources :bulk_upload_sales_logs, path: "bulk-upload-logs" do collection do get :start end diff --git a/spec/requests/bulk_upload_logs_controller_spec.rb b/spec/requests/bulk_upload_lettings_logs_controller_spec.rb similarity index 53% rename from spec/requests/bulk_upload_logs_controller_spec.rb rename to spec/requests/bulk_upload_lettings_logs_controller_spec.rb index 411ab81e7..8276075e7 100644 --- a/spec/requests/bulk_upload_logs_controller_spec.rb +++ b/spec/requests/bulk_upload_lettings_logs_controller_spec.rb @@ -1,6 +1,6 @@ require "rails_helper" -RSpec.describe BulkUploadLogsController, type: :request do +RSpec.describe BulkUploadLettingsLogsController, type: :request do let(:user) { FactoryBot.create(:user) } let(:organisation) { user.organisation } @@ -29,26 +29,4 @@ RSpec.describe BulkUploadLogsController, type: :request do end end end - - describe "GET /sales-logs/bulk-upload-logs/start" do - context "when not in crossover period" do - it "redirects to /prepare-your-file" do - Timecop.freeze(2023, 8, 1) do - get "/sales-logs/bulk-upload-logs/start", params: {} - - expect(response).to redirect_to("/sales-logs/bulk-upload-logs/prepare-your-file") - end - end - end - - context "when in crossover period" do - it "redirects to /year" do - Timecop.freeze(2023, 6, 1) do - get "/sales-logs/bulk-upload-logs/start", params: {} - - expect(response).to redirect_to("/sales-logs/bulk-upload-logs/year") - end - end - end - end end diff --git a/spec/requests/bulk_upload_sales_logs_controller_spec.rb b/spec/requests/bulk_upload_sales_logs_controller_spec.rb new file mode 100644 index 000000000..44fb10cbb --- /dev/null +++ b/spec/requests/bulk_upload_sales_logs_controller_spec.rb @@ -0,0 +1,32 @@ +require "rails_helper" + +RSpec.describe BulkUploadSalesLogsController, type: :request do + let(:user) { FactoryBot.create(:user) } + let(:organisation) { user.organisation } + + before do + sign_in user + end + + describe "GET /sales-logs/bulk-upload-logs/start" do + context "when not in crossover period" do + it "redirects to /prepare-your-file" do + Timecop.freeze(2023, 8, 1) do + get "/sales-logs/bulk-upload-logs/start", params: {} + + expect(response).to redirect_to("/sales-logs/bulk-upload-logs/prepare-your-file") + end + end + end + + context "when in crossover period" do + it "redirects to /year" do + Timecop.freeze(2023, 6, 1) do + get "/sales-logs/bulk-upload-logs/start", params: {} + + expect(response).to redirect_to("/sales-logs/bulk-upload-logs/year") + end + end + end + end +end