Thanks for the direction. I'm glad to hear that I'm going in the right direction. I just have a final question and I seem to be hitting a stub/mocking road block at the moment. In my controller I have this...
def index @entries = current_user.entries end How would I rspec this out correctly? This is what I have but it looks wrong. before(:each) do @current_user = mock_model(User, :id => 1) @entry = mock_model(Entry, :user_id => 1) controller.stub!(:current_user).and_return(@current_user) controller.stub!(:entries).and_return(@entry) end describe "on the index page" do it "should show all of the current_users entries" do @current_user.should_receive(:entries).with(@entry).and_return(true) end end On Apr 7, 11:31 am, "Bryan Ray" <[EMAIL PROTECTED]> wrote: > Responses shown below... > > Sorry this isn't extremely informative ... in a bit of a rush. Hopefully it > will point you in the appropriate direction. > > > > On Sun, Apr 6, 2008 at 2:17 PM, newbie <[EMAIL PROTECTED]> wrote: > > I'm new to Rspec and I'm having a bit of trouble with this controller > > that I'm testing. I think I'm doing it right but I guess my syntax is > > wrong. > > I'm currently using the "acts_as_authenticated" plug in. > > > What I want to test out is > > > EventController on entering the tickets_page > > - should show the tickets_page if the current_user has NOT entered > > this page today > > > ----------------------------------------------------- > > Below is my event controller > > ----------------------------------------------------- > > > class EventController < ApplicationController > > > before_filter :login_required > > > def tickets_page > > if current_user.has_already_entered_today? > > flash[:notice] = 'Come back tomorrow' > > redirect_to :action => 'home' > > else > > flash[:notice] = 'Welcome' > > end > > end > > end > > > ----------------------------------------------------- > > Below is my rspec for this controller > > ----------------------------------------------------- > > > require File.dirname(__FILE__) + '/../spec_helper' > > describe EventController do > > > before(:each) do > > [EMAIL PROTECTED] = mock_model(User, :id => 1) > > controller.stub!(:current_user).and_return(@current_user) > > controller.stub!(:login_required).and_return(:true) > > end > > > fixtures :users > > > describe "on entering the tickets page" do > > it "should show the tickets_page if the current_user has NOT > > entered this page today" do > > controller.current_user.stub! > > (:has_already_entered_today?).and_return(:false) > > get :tickets_page > > > controller.current_user.should_receive(:has_already_entered_today?).with(:f > > alse).and_return(:false) > > response.should render_template(:tickets_page) > > end > > end > > > end > > > ----------------------------------------------------- > > My errors > > ----------------------------------------------------- > > Mock 'User_1001' received unexpected > > message :has_already_entered_today? with (no args) > > So this is a good start ... it means that the controller action is actually > being mocked out ... you just need to keep moving forward mocking/stubbing > out the rest of your controller actions. it's complaining that it doesn't > know what to do on your *current_user.has_already_entered_today?* method. > > @current_user.stub!(:has_already_entered_today?).and_return(<insert true or > false here>) > > > > > Anyone can help with any direction of what I might be doing wrong? > > > _______________________________________________ > > rspec-users mailing list > > [EMAIL PROTECTED] > >http://rubyforge.org/mailman/listinfo/rspec-users > > -- > Bryan Rayhttp://www.bryanray.net > > "Programming today is a race between software engineers striving to build > bigger and better idiot-proof programs, and the Universe trying to produce > bigger and better idiots. So far, the Universe is winning." > > _______________________________________________ > rspec-users mailing list > [EMAIL PROTECTED]://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users