From 1daae5b5e1607f17ff87a4fe66e0886377faea69 Mon Sep 17 00:00:00 2001 From: baarkerlounger Date: Fri, 3 Dec 2021 10:34:44 +0000 Subject: [PATCH] Authenticate bulk uploads --- app/controllers/bulk_upload_controller.rb | 4 + spec/requests/bulk_upload_controller_spec.rb | 91 +++++++++++++------- 2 files changed, 63 insertions(+), 32 deletions(-) diff --git a/app/controllers/bulk_upload_controller.rb b/app/controllers/bulk_upload_controller.rb index ba552cb49..986f3f3fd 100644 --- a/app/controllers/bulk_upload_controller.rb +++ b/app/controllers/bulk_upload_controller.rb @@ -1,4 +1,6 @@ class BulkUploadController < ApplicationController + before_action :authenticate_user! + def show @bulk_upload = BulkUpload.new(nil, nil) render "case_logs/bulk_upload" @@ -16,6 +18,8 @@ class BulkUploadController < ApplicationController end end +private + def upload_params params.require("bulk_upload")["case_log_bulk_upload"] end diff --git a/spec/requests/bulk_upload_controller_spec.rb b/spec/requests/bulk_upload_controller_spec.rb index 52233906c..e19247162 100644 --- a/spec/requests/bulk_upload_controller_spec.rb +++ b/spec/requests/bulk_upload_controller_spec.rb @@ -2,62 +2,89 @@ require "rails_helper" RSpec.describe BulkUploadController, type: :request do let(:url) { "/case-logs/bulk-upload" } - let(:organisation) { FactoryBot.create(:organisation) } + let(:user) { FactoryBot.create(:user) } + let(:organisation) { user.organisation } before do allow(Organisation).to receive(:find).with(107_242).and_return(organisation) end - describe "GET #show" do - before do - get url, params: {} + context "a not signed in user" do + describe "GET #show" do + it "does not let you see the bulk upload page" do + get url, headers: headers, params: {} + expect(response).to redirect_to("/users/sign-in") + end end - it "returns a success response" do - expect(response).to be_successful - end + describe "POST #bulk upload" do + before do + @file = fixture_file_upload("2021_22_lettings_bulk_upload.xlsx", "application/vnd.ms-excel") + end - it "returns a page with a file upload form" do - expect(response.body).to match(/