Ver Fonte

Stub controller methods and remove `rubocop:disable` in captcha feature spec (#27743)

Matt Jankowski há 6 meses atrás
pai
commit
2862ad701f
1 ficheiros alterados com 9 adições e 5 exclusões
  1. 9 5
      spec/features/captcha_spec.rb

+ 9 - 5
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