How to write render expectation in Controller Spec?

Hello All,
I am a rspec beginner and I am trying to find a way out to write
render expectation in controller spec.I used the following ways
render ‘/channels/createchannel.html.erb’
view.should_receive(:render).with(:action => “createchannel”)
ChannelsController.expect_render(:action => “createchannel”)
ChannelsController.render_template(:action => “createchannel”)
controller.expect_render(:action => “createchannel”)
controller.render_template(:action => “createchannel”)

All fail giving a NoMethodError


My spec is as follows

require File.dirname(FILE) + ‘/…/spec_helper’

describe ChannelsController do
it “should re-direct to create channel” do
Channel.stub!(:checkChannel?).and_return(1)
ChannelsController.expect_render(:action => “createchannel”)

#view.should_receive(:render).with(:action => "createchannel")
#render '/channels/createchannel.html.erb'

end

end


Can anyone please let me know how this can be fixed.?

Thanks & Regards
Chandrika

On Jul 12, 4:35am, Chandu80 [email protected] wrote:

ChannelsController.expect_render(:action => “createchannel”)

#view.should_receive(:render).with(:action => “createchannel”)
#render ‘/channels/createchannel.html.erb’
end

end



Can anyone please let me know how this can be fixed.?

Check out http://rspec.info/rails/writing/controllers.html
Basically you need to do a get or post (in your case probably
post :createchannel) and then there’s a response object you can have
expectations on, such as response.should
render_template(‘createchannel.html’).

Note, I’m not really sure what the
ChannelsController.expect_render(…) does, I’m unfamiliar with that
syntax.

Thanks,
\Peter

One good way to see how to write controller specs is to generate one
with script/generate (or rails generate if you’re using Rails 3). For
example, you could create a new rails app (or use your existing one),
and generate an rspec_scaffold. Something like this:

rails generate rspec_scaffold Widget name:string

… that will generate a controller spec that will work out of the box if
you are using default crud methods.

-Bryan