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

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?

count is a class method, so maybe you should try stubbing it on the
Message
class

That did it! Thanks - I didn’t know class methods required that.

Message.stub(:count).and_return(9)