class ActiveRecordTest::MachineWithFailureCallbacksTest
Public Instance Methods
after_failure_to_ignite(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1713 def after_failure_to_ignite(*args) notifications << :observer_after_failure_ignite end
after_failure_to_transition(*args)
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1717 def after_failure_to_transition(*args) notifications << :observer_after_failure_transition end
setup()
click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1697 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 {false} @machine.after_failure {@notifications << :callback_after_failure} # Create observer callbacks observer = new_observer(@model) do def after_failure_to_ignite(*args) notifications << :observer_after_failure_ignite end def after_failure_to_transition(*args) notifications << :observer_after_failure_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 1727 def test_should_invoke_callbacks_in_specific_order expected = [ :callback_after_failure, :observer_after_failure_ignite, :observer_after_failure_transition ] assert_equal expected, @notifications end