[rspec-users] Can't access actions of a singular nested resource

Bastien bastien.vaucher at gmail.com
Thu Jul 31 10:06:41 EDT 2008


I can't figure out what I do wrong there, I have a nested controller
which is defined as a singular resource, the routing works properly,
but inside my specs the request never goes through the show action.

I keep on getting this error :

Spec::Mocks::MockExpectationError in 'Surveys::ReportController should
return the survey corresponding to the report'
Mock 'Class' expected :find with (any args) once, but received it 0
times

In my specs :
require File.expand_path(File.dirname(__FILE__) + '/../../
spec_helper')
describe Surveys::ReportController do

  it "should return the survey corresponding to the report" do
    Survey.should_receive(:find)
    get :show, :survey_id=>"34"
  end

end

In route.rb :
map.resources :surveys do |survey|
    survey.resource :report, :controller =>'surveys/report'
end

In controller/surveys/report_controller.rb :
class Surveys::ReportController < ApplicationController

  def show
    @survey = Survey.find(params[:survey_id])

    respond_to do |format|
      format.html
      format.xml
    end
  end

end


More information about the rspec-users mailing list