Sha256: 3891461530266b5f099539d51f58d91427935260bca2b4bc9ff5d9ca93909118

Contents?: true

Size: 1.12 KB

Versions: 14

Compression:

Stored size: 1.12 KB

Contents

require_relative '../../test_helper'

class MachineWithPrivateActionTest < StateMachinesTest
  def setup
    @superclass = Class.new do
      private
      def save
      end
    end
    @klass = Class.new(@superclass)

    @machine = StateMachines::Machine.new(@klass, action: :save)
    @object = @klass.new
  end

  def test_should_define_an_event_attribute_reader
    assert @object.respond_to?(:state_event)
  end

  def test_should_define_an_event_attribute_writer
    assert @object.respond_to?(:state_event=)
  end

  def test_should_define_an_event_transition_attribute_reader
    assert @object.respond_to?(:state_event_transition, true)
  end

  def test_should_define_an_event_transition_attribute_writer
    assert @object.respond_to?(:state_event_transition=, true)
  end

  def test_should_define_action
    assert @klass.ancestors.any? { |ancestor| ![@klass, @superclass].include?(ancestor) && ancestor.private_method_defined?(:save) }
  end

  def test_should_keep_action_private
    assert @klass.private_method_defined?(:save)
  end

  def test_should_mark_action_hook_as_defined
    assert @machine.action_hook?
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
state_machines-0.5.0 test/unit/machine/machine_with_private_action_test.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/state_machines-0.2.2/test/unit/machine/machine_with_private_action_test.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/state_machines-0.2.2/test/unit/machine/machine_with_private_action_test.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/state_machines-0.2.2/test/unit/machine/machine_with_private_action_test.rb
state_machines-0.4.0 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.3.0 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.2.2 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.2.1 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.2.0 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.1.4 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.1.3 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.1.2 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.1.1 test/unit/machine/machine_with_private_action_test.rb
state_machines-0.1.0 test/unit/machine/machine_with_private_action_test.rb