class DataMapperTest::MachineWithMixedCallbacksTest
Public Instance Methods
setup()
click to toggle source
# File test/unit/integrations/data_mapper_test.rb, line 1733 def setup @resource = new_resource @machine = StateMachine::Machine.new(@resource) @machine.state :parked, :idling @machine.event :ignite @record = @resource.new(:state => 'parked') @transition = StateMachine::Transition.new(@record, @machine, :ignite, :parked, :idling) @notifications = 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_around_after_transition end observer = new_observer(@resource) do before_transition do notifications << :observer_before_transition end after_transition do notifications << :observer_after_transition end around_transition do |block| notifications << :observer_around_before_transition block.call notifications << :observer_around_after_transition end end @transition.perform end
test_should_invoke_callbacks_in_specific_order()
click to toggle source
# File test/unit/integrations/data_mapper_test.rb, line 1771 def test_should_invoke_callbacks_in_specific_order expected = [ :callback_before_transition, :callback_around_before_transition, :observer_before_transition, :observer_around_before_transition, :observer_around_after_transition, :callback_around_after_transition, :callback_after_transition, :observer_after_transition ] assert_equal expected, @notifications end