[rspec-users] Observer not calling inside a spec

Mikel Lindsaar raasdnil at gmail.com
Wed Nov 26 05:08:33 EST 2008


OK, I can't figure this out.
RSpec 1.1.8
RSpecRails 1.1.8
Rails 2.1.1

I have a model

 #app/models/person.rb
 class Person < ActiveRecord::Base
   # The model has a lot of code in it, but even deleting
   # all the contents down to an empty model like this
   # still produces the error
 end

 #app/observers/person_observer.rb
 class PersonObserver < ActiveRecord::Observer
   def before_save(person)
     Note.update_associated(person)
   end
 end

 #config/environment.rb
 ...
 config.activerecord.observers = [:person_observer, ...]

The observer is not being called using

 #spec/observers/person_observer_spec.rb
 describe PersonObserver do
   it "should call the observer"
     person = Person.generate
     Note.should_receive(:update_associated)
     person.save
   end

   it "should not call the observer"
     person = Person.generate
     Note.should_receive(:update_associated)
     person.save
   end
 end

This fails, and I can not figure out why.

If I fire up the console and modify a person and save it, the observer fires
and the Note class updates what it needs to.

But the cracker is.... I have other observers that work fine.... I'm at wits
end on this.

Any ideas why the observer might not be called?


-- 
http://lindsaar.net/
Rails, RSpec and Life blog....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081126/89619515/attachment.html>


More information about the rspec-users mailing list