From 9c9021ce233b91bdf04c15b39d6328b7ae91a452 Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 8 Oct 2024 19:10:24 +0100 Subject: [PATCH] Update some tests --- spec/features/accessibility_spec.rb | 3 +++ spec/features/lettings_log_spec.rb | 7 +++++++ spec/features/notifications_spec.rb | 6 ++++++ spec/features/organisation_spec.rb | 3 +++ spec/features/start_page_spec.rb | 6 ++++++ spec/features/test_spec.rb | 7 +++++++ spec/features/user_spec.rb | 3 +++ spec/requests/auth/passwords_controller_spec.rb | 3 +++ spec/requests/maintenance_controller_spec.rb | 3 +++ spec/requests/rails_admin_controller_spec.rb | 3 +++ spec/requests/start_controller_spec.rb | 3 +++ spec/requests/users_controller_spec.rb | 3 +++ 12 files changed, 50 insertions(+) diff --git a/spec/features/accessibility_spec.rb b/spec/features/accessibility_spec.rb index 97f632d92..6f950cffc 100644 --- a/spec/features/accessibility_spec.rb +++ b/spec/features/accessibility_spec.rb @@ -3,6 +3,7 @@ require "rails_helper" RSpec.describe "Accessibility", js: true do let(:user) { create(:user, :support) } let!(:other_user) { create(:user, name: "new user", organisation: user.organisation, email: "new_user@example.com", confirmation_token: "abc") } + let(:storage_service) { instance_double(Storage::S3Service) } def find_routes(type, resource, subresource) routes = Rails.application.routes.routes.select do |route| @@ -20,6 +21,8 @@ RSpec.describe "Accessibility", js: true do end before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) allow(user).to receive(:need_two_factor_authentication?).and_return(false) sign_in(user) end diff --git a/spec/features/lettings_log_spec.rb b/spec/features/lettings_log_spec.rb index ac9a1e4a8..b1d6f8dae 100644 --- a/spec/features/lettings_log_spec.rb +++ b/spec/features/lettings_log_spec.rb @@ -1,6 +1,13 @@ require "rails_helper" RSpec.describe "Lettings Log Features" do + let(:storage_service) { instance_double(Storage::S3Service) } + + before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) + end + context "when searching for specific logs" do context "when I am signed in and there are logs in the database" do let(:user) { create(:user, last_sign_in_at: Time.zone.now) } diff --git a/spec/features/notifications_spec.rb b/spec/features/notifications_spec.rb index e2bd4b151..360569dbb 100644 --- a/spec/features/notifications_spec.rb +++ b/spec/features/notifications_spec.rb @@ -3,6 +3,12 @@ require_relative "form/helpers" RSpec.describe "Notifications Features" do include Helpers + let(:storage_service) { instance_double(Storage::S3Service) } + + before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) + end context "when there are notifications" do let!(:user) { FactoryBot.create(:user) } diff --git a/spec/features/organisation_spec.rb b/spec/features/organisation_spec.rb index 3d65cda87..1e3f89b72 100644 --- a/spec/features/organisation_spec.rb +++ b/spec/features/organisation_spec.rb @@ -10,8 +10,11 @@ RSpec.describe "User Features" do let(:notify_client) { instance_double(Notifications::Client) } let(:confirmation_token) { "MCDH5y6Km-U7CFPgAMVS" } let(:devise_notify_mailer) { DeviseNotifyMailer.new } + let(:storage_service) { instance_double(Storage::S3Service) } before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer) allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client) allow(Devise).to receive(:friendly_token).and_return(confirmation_token) diff --git a/spec/features/start_page_spec.rb b/spec/features/start_page_spec.rb index ab09fd446..3f1102869 100644 --- a/spec/features/start_page_spec.rb +++ b/spec/features/start_page_spec.rb @@ -4,6 +4,12 @@ require_relative "form/helpers" RSpec.describe "Start Page Features" do include Helpers let(:user) { FactoryBot.create(:user) } + let(:storage_service) { instance_double(Storage::S3Service) } + + before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) + end context "when the user is signed in" do before do diff --git a/spec/features/test_spec.rb b/spec/features/test_spec.rb index 6dc977a9b..7ea2eebc9 100644 --- a/spec/features/test_spec.rb +++ b/spec/features/test_spec.rb @@ -1,5 +1,12 @@ require "rails_helper" RSpec.describe "Test Features" do + let(:storage_service) { instance_double(Storage::S3Service) } + + before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) + end + it "Displays the name of the app" do visit(root_path) expect(page).to have_content("Submit social housing lettings and sales data (CORE)") diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb index 119dbfa52..a2680fb95 100644 --- a/spec/features/user_spec.rb +++ b/spec/features/user_spec.rb @@ -6,12 +6,15 @@ RSpec.describe "User Features" do let(:notify_client) { instance_double(Notifications::Client) } let(:reset_password_token) { "MCDH5y6Km-U7CFPgAMVS" } let(:devise_notify_mailer) { DeviseNotifyMailer.new } + let(:storage_service) { instance_double(Storage::S3Service) } before do allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer) allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client) allow(notify_client).to receive(:send_email).and_return(true) allow(Devise.token_generator).to receive(:generate).and_return(reset_password_token) + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) end context "when the user navigates to lettings logs" do diff --git a/spec/requests/auth/passwords_controller_spec.rb b/spec/requests/auth/passwords_controller_spec.rb index 333985d9e..544dedab5 100644 --- a/spec/requests/auth/passwords_controller_spec.rb +++ b/spec/requests/auth/passwords_controller_spec.rb @@ -5,11 +5,14 @@ RSpec.describe Auth::PasswordsController, type: :request do let(:page) { Capybara::Node::Simple.new(response.body) } let(:notify_client) { instance_double(Notifications::Client) } let(:devise_notify_mailer) { DeviseNotifyMailer.new } + let(:storage_service) { instance_double(Storage::S3Service) } before do allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer) allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client) allow(notify_client).to receive(:send_email).and_return(true) + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) end context "when a regular user" do diff --git a/spec/requests/maintenance_controller_spec.rb b/spec/requests/maintenance_controller_spec.rb index 39e587302..fa5b47fd0 100644 --- a/spec/requests/maintenance_controller_spec.rb +++ b/spec/requests/maintenance_controller_spec.rb @@ -3,8 +3,11 @@ require "rails_helper" RSpec.describe MaintenanceController, type: :request do let(:page) { Capybara::Node::Simple.new(response.body) } let(:user) { FactoryBot.create(:user) } + let(:storage_service) { instance_double(Storage::S3Service) } before do + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) sign_in user end diff --git a/spec/requests/rails_admin_controller_spec.rb b/spec/requests/rails_admin_controller_spec.rb index 4d0bbb7c2..3f83896d0 100644 --- a/spec/requests/rails_admin_controller_spec.rb +++ b/spec/requests/rails_admin_controller_spec.rb @@ -4,9 +4,12 @@ RSpec.describe "RailsAdmin", type: :request do let(:user) { create(:user) } let(:support_user) { create(:user, :support) } let(:page) { Capybara::Node::Simple.new(response.body) } + let(:storage_service) { instance_double(Storage::S3Service) } before do allow(support_user).to receive(:need_two_factor_authentication?).and_return(false) + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) end describe "GET /admin" do diff --git a/spec/requests/start_controller_spec.rb b/spec/requests/start_controller_spec.rb index 699bdfa9c..77c8e27f8 100644 --- a/spec/requests/start_controller_spec.rb +++ b/spec/requests/start_controller_spec.rb @@ -5,11 +5,14 @@ RSpec.describe StartController, type: :request do let(:page) { Capybara::Node::Simple.new(response.body) } let(:notify_client) { instance_double(Notifications::Client) } let(:devise_notify_mailer) { DeviseNotifyMailer.new } + let(:storage_service) { instance_double(Storage::S3Service) } before do allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer) allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client) allow(notify_client).to receive(:send_email).and_return(true) + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) end describe "GET" do diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb index 1ab5aa9d4..95239b658 100644 --- a/spec/requests/users_controller_spec.rb +++ b/spec/requests/users_controller_spec.rb @@ -10,11 +10,14 @@ RSpec.describe UsersController, type: :request do let(:params) { { id: user.id, user: { name: new_name } } } let(:notify_client) { instance_double(Notifications::Client) } let(:devise_notify_mailer) { DeviseNotifyMailer.new } + let(:storage_service) { instance_double(Storage::S3Service) } before do allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer) allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client) allow(notify_client).to receive(:send_email).and_return(true) + allow(Storage::S3Service).to receive(:new).and_return(storage_service) + allow(storage_service).to receive(:configuration).and_return(OpenStruct.new(bucket_name: "core-test-collection-resources")) end context "when user is not signed in" do