« Return to Thread: How do I mock out the before :login_required method?

How do I mock out the before :login_required method?

by Wes Shaddix :: Rate this Message:

Reply to Author | View in Thread

I have a GroupController class that inherits from a SecuredController
which have a before filter (before_filter :login_required). This is
using the restul authentication system. I want to mock out the
login_required method so that my GroupController actions don't get
redirected to /sessions/new but I cant figure it out. Here is what I
have so far that doesn't work. Any help would be most appreciated.

require File.dirname(__FILE__) + '/../spec_helper'

describe GroupsController do

  before(:each) do

   # mock and stub the Group model methods
   @group = mock_model(Group)
   Group.stub!(:search_with_paginate).and_return(@group)

   

    # since this is a secured controller, we have to mock the security system too

    @current_user = mock_model(User, :id => 1)

    self.stub!(:login_required).and_return(:false)

    self.stub!(:current_user).and_return(@current_user)

  end

 

  def do_get

    get :index  

  end

 

  it "should be successful" do

    assigns[:page] = 1

    assigns[:search] = ""

    do_get

    puts response.headers

    response.should be_success

  end

end

The error I get is
NoMethodError in 'GroupsController should be successful'
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]=


_______________________________________________
rspec-users mailing list
rspec-users@...
http://rubyforge.org/mailman/listinfo/rspec-users

 « Return to Thread: How do I mock out the before :login_required method?