Sha256: ff825d70faf3dd400c3a7dcc7cdaba7f230b1541fb02ab3fe1bfc08963fa8e4a

Contents?: true

Size: 945 Bytes

Versions: 1

Compression:

Stored size: 945 Bytes

Contents

require_relative 'test_helper'

class MachineWithInitializedStateTest < BaseTestCase
  def setup
    @model = new_model
    @machine = StateMachines::Machine.new(@model, initial: :parked, integration: :active_model)
    @machine.state :idling
  end

  def test_should_allow_nil_initial_state_when_static
    @machine.state nil

    record = @model.new(state: nil)
    assert_nil record.state
  end

  def test_should_allow_nil_initial_state_when_dynamic
    @machine.state nil

    @machine.initial_state = lambda { :parked }
    record = @model.new(state: nil)
    assert_nil record.state
  end

  def test_should_allow_different_initial_state_when_static
    record = @model.new(state: 'idling')
    assert_equal 'idling', record.state
  end

  def test_should_allow_different_initial_state_when_dynamic
    @machine.initial_state = lambda { :parked }
    record = @model.new(state: 'idling')
    assert_equal 'idling', record.state
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
state_machines-activemodel-0.0.3 test/machine_with_initialized_state_test.rb