[rspec-users] Top level object in model specs
Steven Rogers
srogers1 at gmail.com
Tue May 12 19:08:50 EDT 2009
On May 12, 2009, at 4:15 PM, Ben Mabey wrote:
> Steven Rogers wrote:
>>
>> I want to stub a global method in a model spec, but I can't figure
>> out what's the equivalent in model specs for controller.stub! in
>> controller specs and template.stub! in view specs . . . at least,
>> it seems like I need to do that in order to make acts_as_audited
>> happy in models. Any thoughts?
>>
>> Thanks,
>> Steve
>
> I"m not sure what you mean by global method. Do you mean class
> method? If so then ModelName.stub!(:class_method) should work. If
> you are talking about an instance method then you just need to call
> stub! on the instance (it can be a mock object or a real object.)
>
> What is the exact problem you are running into though? Mocking may
> not be the best option....
acts_as_audited has the line (acts_as_audited/lib/acts_as_audited/
audit_sweeper.rb:73)
controller.send :current_user if controller.respond_to?
(:current_user)
which blows up in my audited models. I assume there's something akin
to "controller" in controller specs and "template" in view specs that
makes it easy to do things like: controller.stub!
(:logged_in?).and_return(true) (vs. a stub on the model itself)
SR
More information about the rspec-users
mailing list