diff --git a/spec/requests/bulk_upload_lettings_results_controller_spec.rb b/spec/requests/bulk_upload_lettings_results_controller_spec.rb index 77ee51d98..91d7a0742 100644 --- a/spec/requests/bulk_upload_lettings_results_controller_spec.rb +++ b/spec/requests/bulk_upload_lettings_results_controller_spec.rb @@ -63,58 +63,6 @@ RSpec.describe BulkUploadLettingsResultsController, type: :request do end end - describe "GET /lettings-logs/bulk-upload-results/:ID/deletion-report" do - it "renders year combo" do - get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include("Bulk upload for lettings (2022/23)") - end - - it "renders the bulk upload filename" do - get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response.body).to include(bulk_upload.filename) - end - - context "when viewed by support user" do - before do - allow(support_user).to receive(:need_two_factor_authentication?).and_return(false) - end - - let(:viewing_user) { support_user } - - it "is accessible" do - get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include(bulk_upload.filename) - end - end - - context "when viewed by some other random user" do - let(:other_user) { create(:user) } - let(:viewing_user) { other_user } - - it "is not accessible" do - get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - expect(response).to be_unauthorized - end - end - - context "when viewed by another user in the same org" do - let(:other_user) { create(:user, organisation: user.organisation) } - let(:viewing_user) { other_user } - - it "is accessible" do - get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include(bulk_upload.filename) - end - end - end - describe "GET /lettings-logs/bulk-upload-results/:ID" do it "renders correct year" do get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}" diff --git a/spec/requests/bulk_upload_lettings_resume_controller_spec.rb b/spec/requests/bulk_upload_lettings_resume_controller_spec.rb index bf1019200..76100dec0 100644 --- a/spec/requests/bulk_upload_lettings_resume_controller_spec.rb +++ b/spec/requests/bulk_upload_lettings_resume_controller_spec.rb @@ -172,4 +172,44 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do expect(response).to redirect_to("/lettings-logs/bulk-upload-results/#{bulk_upload.id}/resume") end end + + describe "GET /lettings-logs/bulk-upload-resume/:ID/deletion-report" do + it "renders the page correctly" do + get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response).to be_successful + + expect(response.body).to include("Bulk upload for lettings") + expect(response.body).to include("2022/23") + expect(response.body).to include("These 2 answers will be deleted if you upload the log") + expect(response.body).to include(bulk_upload.filename) + expect(response.body).to include("Clear this data and upload the logs") + end + + it "sets no cache headers" do + get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response.headers["Cache-Control"]).to eql("no-store") + end + + context "and previously told us to fix inline" do + let(:bulk_upload) { create(:bulk_upload, :lettings, user:, bulk_upload_errors:, choice: "create-fix-inline") } + + it "redirects to chosen" do + get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response).to redirect_to("/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/chosen") + end + end + + context "and previously told us to bulk confirm soft validations" do + let(:bulk_upload) { create(:bulk_upload, :lettings, user:, bulk_upload_errors:, choice: "bulk-confirm-soft-validations") } + + it "redirects to soft validations check chosen" do + get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response).to redirect_to("/lettings-logs/bulk-upload-soft-validations-check/#{bulk_upload.id}/chosen") + end + end + end end diff --git a/spec/requests/bulk_upload_sales_results_controller_spec.rb b/spec/requests/bulk_upload_sales_results_controller_spec.rb index 663e69494..9717396c5 100644 --- a/spec/requests/bulk_upload_sales_results_controller_spec.rb +++ b/spec/requests/bulk_upload_sales_results_controller_spec.rb @@ -11,58 +11,6 @@ RSpec.describe BulkUploadSalesResultsController, type: :request do sign_in viewing_user end - describe "GET /sales-logs/bulk-upload-results/:ID/deletion-report" do - it "renders year combo" do - get "/sales-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include("Bulk upload for sales (2022/23)") - end - - it "renders the bulk upload filename" do - get "/sales-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response.body).to include(bulk_upload.filename) - end - - context "when viewed by support user" do - before do - allow(support_user).to receive(:need_two_factor_authentication?).and_return(false) - end - - let(:viewing_user) { support_user } - - it "is accessible" do - get "/sales-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include(bulk_upload.filename) - end - end - - context "when viewed by some other random user" do - let(:other_user) { create(:user) } - let(:viewing_user) { other_user } - - it "is not accessible" do - get "/sales-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - expect(response).to be_unauthorized - end - end - - context "when viewed by another user in the same org" do - let(:other_user) { create(:user, organisation: user.organisation) } - let(:viewing_user) { other_user } - - it "is accessible" do - get "/sales-logs/bulk-upload-results/#{bulk_upload.id}/deletion-report" - - expect(response).to be_successful - expect(response.body).to include(bulk_upload.filename) - end - end - end - describe "GET /sales-logs/bulk-upload-results/:ID" do it "renders correct year" do get "/sales-logs/bulk-upload-results/#{bulk_upload.id}" diff --git a/spec/requests/bulk_upload_sales_resume_controller_spec.rb b/spec/requests/bulk_upload_sales_resume_controller_spec.rb index 2867283c3..1d964b92d 100644 --- a/spec/requests/bulk_upload_sales_resume_controller_spec.rb +++ b/spec/requests/bulk_upload_sales_resume_controller_spec.rb @@ -162,4 +162,44 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do end end end + + describe "GET /sales-logs/bulk-upload-resume/:ID/deletion-report" do + it "renders the page correctly" do + get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response).to be_successful + + expect(response.body).to include("Bulk upload for sales") + expect(response.body).to include("2022/23") + expect(response.body).to include("These 2 answers will be deleted if you upload the log") + expect(response.body).to include(bulk_upload.filename) + expect(response.body).to include("Clear this data and upload the logs") + end + + it "sets no cache headers" do + get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/deletion-report" + + expect(response.headers["Cache-Control"]).to eql("no-store") + end + + context "and previously told us to fix inline" do + let(:bulk_upload) { create(:bulk_upload, :sales, user:, bulk_upload_errors:, choice: "create-fix-inline") } + + it "redirects to chosen" do + get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice" + + expect(response).to redirect_to("/sales-logs/bulk-upload-resume/#{bulk_upload.id}/chosen") + end + end + + context "and previously told us to bulk confirm soft validations" do + let(:bulk_upload) { create(:bulk_upload, :sales, user:, bulk_upload_errors:, choice: "bulk-confirm-soft-validations") } + + it "redirects to soft validations check chosen" do + get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice" + + expect(response).to redirect_to("/sales-logs/bulk-upload-soft-validations-check/#{bulk_upload.id}/chosen") + end + end + end end