RSpec book help; why won''t this stub method work?

David Zhang
2011-06-23T13:54:54Z

Subscription model--------------------------------------------
class Subscription < ActiveRecord::Base
  has_one :user

  def can_send_message?
    if user.sent_messages.count < limit
      true
    else
      false
    end
  end

end

Subscription model spec--------------------------------------------
require ''spec_helper''

describe Subscription do

  describe "#can_send_message?" do

    before(:each) do
      @subscription = Subscription.new(:limit => 10)
      @zach = User.create! :subscription => @subscription
    end

    context "when a user has not reached the subscription limit for the
month" do
      it "returns true" do
        @zach.sent_messages.stub(:count).and_return(9) # this isn''t
working
        @subscription.can_send_message?.should == true
      end
    end

    context "when a user has reached the subscription limit for the
month"
do
      it "returns false" do
        @zach.sent_messages.stub(:count).and_return(10) # this isn''t
working
        @subscription.can_send_message?.should == false
      end
    end

  end

end

================
When I run rspec spec for these examples, the first example passes
because user.sent_messages.count is ZERO.
The second example fails... Any ideas why?

--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To view this discussion on the web visit