3 changed files with 92 additions and 0 deletions
@ -0,0 +1,37 @@ |
|||||||
|
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 |
||||||
@ -0,0 +1 @@ |
|||||||
|
Find me in app/views/bulk_upload_logs/show.html.erb |
||||||
@ -0,0 +1,54 @@ |
|||||||
|
require "rails_helper" |
||||||
|
|
||||||
|
RSpec.describe BulkUploadLogsController, type: :request do |
||||||
|
let(:user) { FactoryBot.create(:user) } |
||||||
|
let(:organisation) { user.organisation } |
||||||
|
|
||||||
|
before do |
||||||
|
sign_in user |
||||||
|
end |
||||||
|
|
||||||
|
describe "GET /lettings-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 "/lettings-logs/bulk-upload-logs/start", params: {} |
||||||
|
|
||||||
|
expect(response).to redirect_to("/lettings-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 "/lettings-logs/bulk-upload-logs/start", params: {} |
||||||
|
|
||||||
|
expect(response).to redirect_to("/lettings-logs/bulk-upload-logs/year") |
||||||
|
end |
||||||
|
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 |
||||||
Loading…
Reference in new issue