Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rspec: testing assignment of instance variable

Using Rspec with Factory Girl. Trying to check out what data is being assigned in my controller (and test against it). Every post I've read says I should be able to get something out of assigns() but it keeps returning nill

Controller

def index  @stickies = Sticky.where(:user_id => current_user.id) end 

Spec

it "should assign stickies" do   foo = assigns(:stickies)   puts "foo = #{foo}" end 

Output

foo =  

Am I using the wrong syntax? Is there a better way to do this? Thanks!!

like image 633
jmccartie Avatar asked Jan 18 '11 03:01

jmccartie


1 Answers

You have to invoke the action first

 describe StickiesController do   describe "GET index" do     it "should assign stickies" do       get :index       assigns(:stickies).should_not be_nil     end   end end 
like image 103
David Chelimsky Avatar answered Sep 21 '22 05:09

David Chelimsky