Estoy intentando probar un método en el controlador de aplicación que se utilizará como filtro anterior. Para hacer esto, configuré un controlador anónimo en mi prueba con el filtro anterior aplicado para garantizar que funcione correctamente.Vista de apilamiento Rspec para controlador anónimo
La prueba actualmente tiene el siguiente aspecto:
describe ApplicationController do
controller do
before_filter :authenticated
def index
end
end
describe "user authenticated" do
let(:session_id){"session_id"}
let(:user){OpenStruct.new(:email => "[email protected]", :name => "Colin Gemmell")}
before do
request.cookies[:session_id] = session_id
UserSession.stub!(:find).with(session_id).and_return(user)
get :index
end
it { should assign_to(:user){user} }
end
end
Y el controlador de aplicación es la siguiente:
class ApplicationController < ActionController::Base
protect_from_forgery
def authenticated
@user = nil
end
end
Mi problema es cuando cada vez que ejecute la prueba de que estoy recibiendo el siguiente error
1) ApplicationController user authenticated
Failure/Error: get :index
ActionView::MissingTemplate:
Missing template stub_resources/index with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml, :haml], :formats=>[:html], :locale=>[:en, :en]} in view paths "#<RSpec::Rails::ViewRendering::PathSetDelegatorResolver:0x984f310>"
Según los documentos, la vista no es rendered when running controller tests, pero esto apunta a que no stub existente para esta acción (que es comprensible ya que la vista no existe)
Cualquier persona tiene una idea de cómo resolver este problema o resueltamente la vista.
Saludos Colin G
Funcionó como un regalo. – pythonandchips