Esboçando um método auxiliar nas especificações de sua capivara

Em suas especificações de recurso, você pode encontrar uma situação em que precisa criar um método que está localizado em um de seus módulos auxiliares (ou seja, ApplicationHelper).

module ApplicationHelper
def current_company
current_user
.company if current_user
end
end

No exemplo acima, preciso remover o método current_company e retornar um objeto que responde à mensagem de itens.

A tentativa de remover o próprio ApplicationHelper não resolve.

Por exemplo, isso não funcionará:

ApplicationHelper.stub(:current_company){double('company', items: [])}

Para fazer isso funcionar, apenas crie o stub do mesmo método que uma instância do ApplicationController:

ApplicationController.any_instance.stub(:current_company){double('company', items: [])}