У меня есть вспомогательный метод, который зависит от controller_name
, и я хочу написать для него тесты.
module NavigationHelper
def show_navigation?
!sessions_controller? && !registrations_controller?
end
private
def sessions_controller?
controller_name.eql?('sessions')
end
def registrations_controller?
controller_name.eql?('registrations')
end
end
Это шаги настройки теста, которые я пробовал:
RSpec.describe NavigationHelper, type: :helper do
describe '#show_navigation?' do
it 'is false for pages served by the sessions controller' do
# controller.params[:controller] = 'sessions'
# assign(:controller, 'sessions')
# controller = SessionsController
# helper.stub(:controller_name).and_return('sessions')
# allow(helper).to receive(:controller_name) { 'sessions' }
expect(show_navigation?).to eq(false)
end
end
end
Как я могу соответствующим образом заглушить звонок на controller_name
?