From 2862ad701fb6f5c5b852ded915bdc88e86198fb1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 7 Nov 2023 04:15:30 -0500 Subject: [PATCH] Stub controller methods and remove `rubocop:disable` in captcha feature spec (#27743) --- spec/features/captcha_spec.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/spec/features/captcha_spec.rb b/spec/features/captcha_spec.rb index a5c5a44aa..906aec4af 100644 --- a/spec/features/captcha_spec.rb +++ b/spec/features/captcha_spec.rb @@ -7,11 +7,7 @@ describe 'email confirmation flow when captcha is enabled' do let(:client_app) { nil } before do - # rubocop:disable RSpec/AnyInstance -- easiest way to deal with that that I know of - allow_any_instance_of(Auth::ConfirmationsController).to receive(:captcha_enabled?).and_return(true) - allow_any_instance_of(Auth::ConfirmationsController).to receive(:check_captcha!).and_return(true) - allow_any_instance_of(Auth::ConfirmationsController).to receive(:render_captcha).and_return(nil) - # rubocop:enable RSpec/AnyInstance + allow(Auth::ConfirmationsController).to receive(:new).and_return(stubbed_controller) end context 'when the user signed up through an app' do @@ -40,4 +36,12 @@ describe 'email confirmation flow when captcha is enabled' do expect(page).to have_link(I18n.t('auth.confirmations.clicking_this_link'), href: client_app.confirmation_redirect_uri) end end + + private + + def stubbed_controller + Auth::ConfirmationsController.new.tap do |controller| + allow(controller).to receive_messages(captcha_enabled?: true, check_captcha!: true, render_captcha: nil) + end + end end