Undefined method `post' and 'assigns'

Hi,

I have an error of undefined method.
can anyone help me to solve it.
I follow the tutorial to practicing testing controller of rails, and
now i got stuck with the error… plz help

error:
undefined method post' for #<Spec::Example::ExampleGroup::Subclass_1:0xb7754114> undefined methodassigns’ for
#Spec::Example::ExampleGroup::Subclass_1:0xb785d1b4

Test file

describe “GET Index” do
def mock_product(stubs={})
@mock_user ||= mock_model(User, stubs).as_null_object
end

def setup
@user = User.new
end

it "assigns all users as @users" do
@user.stub(:all){[mock_user]}
post 'index'
assigns(:users).should eq([mock_user])
end

end

please give me some help …

thanks
Yennie

On Jul 6, 3:19pm, Yennie [email protected] wrote:

undefined method `assigns’ for
@user = User.new
end

it “assigns all users as @users” do
@user.stub(:all){[mock_user]}
post ‘index’
I change it as get ‘index’
it still gives me undefined method

On Jul 6, 3:34pm, Frederick C. [email protected]
wrote:

if your spec file looks like

require ‘spec_helper’

describe SomeController do

end
I did like that

require ‘spec_helper’

describe “UserController” do
describe “GET index” do
it “should be successful” do
get ‘index’
response.should be_success
end

it "render the index template" do
  get :index
  response.should render_template('index')
end

 it "assigns all users as @users" do
   u =  Factory(:user)
   get :index
   assigns[:users].should == [p]
 end

end
end

it gives the the require error. However. I have a spec_helper.rb in
the spec dicrectory… kind of confusing

plz help me

On Jul 6, 8:19pm, Yennie [email protected] wrote:

Hi,

I have an error of undefined method.
can anyone help me to solve it.
I follow the tutorial to practicing testing controller of rails, and
now i got stuck with the error… plz help

rspec probably doesn’t understand that you’re testing a controller.

if your spec file looks like

require ‘spec_helper’

describe SomeController do

end

then it should detect that you’re speccing a controller
Fred

On Jul 6, 9:18pm, Yennie [email protected] wrote:

end
end

but i gives me error of require (first line), However I have
spec_helper.rb in spec directory

How are you running the spec ? either the rake task or running

rspec spec/…/my_spec.rb

should setup the load path correctly for you

Fred

On Jul 6, 3:34pm, Frederick C. [email protected]
wrote:

if your spec file looks like

require ‘spec_helper’

describe SomeController do

end

I did like that

require ‘spec_helper’

describe “UserController” do
describe “GET index” do
it “should be successful” do
get ‘index’
response.should be_success
end

it "render the index template" do
  get :index
  response.should render_template('index')
end

 it "assigns all users as @users" do
   u =  Factory(:user)
   get :index
   assigns[:users].should == [p]
 end

end
end

but i gives me error of require (first line), However I have
spec_helper.rb in spec directory

plzz help