Froze rails gems
[depot.git] / vendor / rails / activerecord / test / cases / callbacks_observers_test.rb
1 require "cases/helper"
2
3 class Comment < ActiveRecord::Base
4 attr_accessor :callers
5
6 before_validation :record_callers
7
8 def after_validation
9 record_callers
10 end
11
12 def record_callers
13 callers << self.class if callers
14 end
15 end
16
17 class CommentObserver < ActiveRecord::Observer
18 attr_accessor :callers
19
20 def after_validation(model)
21 callers << self.class if callers
22 end
23 end
24
25 class CallbacksObserversTest < ActiveRecord::TestCase
26 def test_model_callbacks_fire_before_observers_are_notified
27 callers = []
28
29 comment = Comment.new
30 comment.callers = callers
31
32 CommentObserver.instance.callers = callers
33
34 comment.valid?
35
36 assert_equal [Comment, Comment, CommentObserver], callers, "model callbacks did not fire before observers were notified"
37 end
38 end