class ActiveRecordTest::MachineWithMixedCallbacksTest
Public Instance Methods
after_ignite(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1768 def after_ignite(*args) notifications << :observer_after_ignite end
after_transition(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1772 def after_transition(*args) notifications << :observer_after_transition end
before_ignite(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1760 def before_ignite(*args) notifications << :observer_before_ignite end
before_transition(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1764 def before_transition(*args) notifications << :observer_before_transition end
setup()
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1739 def setup @model = new_model @machine = StateMachine::Machine.new(@model) @machine.state :parked, :idling @machine.event :ignite @record = @model.new(:state => 'parked') @transition = StateMachine::Transition.new(@record, @machine, :ignite, :parked, :idling) @notifications = [] # Create callbacks @machine.before_transition {@notifications << :callback_before_transition} @machine.after_transition {@notifications << :callback_after_transition} @machine.around_transition do |block| @notifications << :callback_around_before_transition block.call @notifications << :callback_arond_after_transition end # Create observer callbacks observer = new_observer(@model) do def before_ignite(*args) notifications << :observer_before_ignite end def before_transition(*args) notifications << :observer_before_transition end def after_ignite(*args) notifications << :observer_after_ignite end def after_transition(*args) notifications << :observer_after_transition end end instance = observer.instance instance.notifications = @notifications @transition.perform end
test_should_invoke_callbacks_in_specific_order()
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1782 def test_should_invoke_callbacks_in_specific_order expected = [ :callback_before_transition, :callback_around_before_transition, :observer_before_ignite, :observer_before_transition, :callback_arond_after_transition, :callback_after_transition, :observer_after_ignite, :observer_after_transition ] assert_equal expected, @notifications end