class TransitionWithPerformArgumentsTest

Public Instance Methods

save() click to toggle source
# File test/unit/transition_test.rb, line 1357
def save
  @saved = true
end
setup() click to toggle source
# File test/unit/transition_test.rb, line 1353
def setup
  @klass = Class.new do
    attr_reader :saved
    
    def save
      @saved = true
    end
  end
  
  @machine = StateMachine::Machine.new(@klass, :action => :save)
  @machine.state :parked, :idling
  @machine.event :ignite
  
  @object = @klass.new
  @object.state = 'parked'
  @transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
end
test_should_have_arguments() click to toggle source
# File test/unit/transition_test.rb, line 1371
def test_should_have_arguments
  @transition.perform(1, 2)
  
  assert_equal [1, 2], @transition.args
  assert @object.saved
end
test_should_not_include_run_action_in_arguments() click to toggle source
# File test/unit/transition_test.rb, line 1378
def test_should_not_include_run_action_in_arguments
  @transition.perform(1, 2, false)
  
  assert_equal [1, 2], @transition.args
  assert !@object.saved
end