application_controller.rb のrspecの書き方

例えばログインしたユーザーのニックネーム等に不備があった場合まず編集画面にリダイレクトさせたいという処理
application_controller.rb

class ApplicationController < ActionController::Base
  before_action :authenticate_user!
  before_action :invalid_name_redirect_to

  def invalid_name_redirect_to
    redirect_to edit_user_path(current_user) if current_user.invalid_name?
  end
end


こんな感じでrspecがかけた
spec/controllers/application_controller_spec.rb

require "rails_helper"

RSpec.describe ApplicationController, type: :controller do
  let(:user) { create(:user, name: nil) }

  controller do
    def index
      render body: nil
    end
  end

  describe "#invalid_name_redirect_to" do
    before { sign_in user }
    
   example "ニックネームに不備があった場合プロフィール編集画面に遷移する" do
     get :index
     expect(response).to redirect_to(edit_user_path(current_user))
   end
  end
end

controller do の中にモックのような感じでindexを書いてリクエストを投げてやればテストできた