Browse Source

split upload controller into 2

pull/1024/head
Phil Lee 4 years ago
parent
commit
bec1bde294
  1. 17
      app/controllers/bulk_upload_lettings_logs_controller.rb
  2. 37
      app/controllers/bulk_upload_logs_controller.rb
  3. 17
      app/controllers/bulk_upload_sales_logs_controller.rb
  4. 1
      app/views/bulk_upload_lettings_logs/show.html.erb
  5. 1
      app/views/bulk_upload_logs/show.html.erb
  6. 1
      app/views/bulk_upload_sales_logs/show.html.erb
  7. 4
      config/routes.rb
  8. 24
      spec/requests/bulk_upload_lettings_logs_controller_spec.rb
  9. 32
      spec/requests/bulk_upload_sales_logs_controller_spec.rb

17
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

37
app/controllers/bulk_upload_logs_controller.rb

@ -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

17
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

1
app/views/bulk_upload_lettings_logs/show.html.erb

@ -0,0 +1 @@
Find me in app/views/bulk_upload_lettings_logs/show.html.erb

1
app/views/bulk_upload_logs/show.html.erb

@ -1 +0,0 @@
Find me in app/views/bulk_upload_logs/show.html.erb

1
app/views/bulk_upload_sales_logs/show.html.erb

@ -0,0 +1 @@
Find me in app/views/bulk_upload_sales_logs/show.html.erb

4
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

24
spec/requests/bulk_upload_logs_controller_spec.rb → 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

32
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
Loading…
Cancel
Save