class BaseTest::IncludedTest

Public Class Methods

active?() click to toggle source
# File test/unit/integrations/base_test.rb, line 45
def self.active?
  true
end

Public Instance Methods

setup() click to toggle source
# File test/unit/integrations/base_test.rb, line 26
def setup
  @integration = Module.new
  StateMachine::Integrations.const_set('Custom', @integration)
  
  @integration.class_eval do
    include StateMachine::Integrations::Base
  end
end
teardown() click to toggle source
# File test/unit/integrations/base_test.rb, line 95
def teardown
  StateMachine::Integrations.send(:remove_const, 'Custom')
end
test_should_allow_active_versions_to_override_default_behavior() click to toggle source
# File test/unit/integrations/base_test.rb, line 59
def test_should_allow_active_versions_to_override_default_behavior
  @integration.class_eval do
    def version1_included?
      false
    end
    
    def version2_included?
      false
    end
  end
  
  version1 = @integration.version '1.0' do
    def self.active?
      true
    end
    
    def version1_included?
      true
    end
  end
  
  version2 = @integration.version '2.0' do
    def self.active?
      false
    end
    
    def version2_included?
      true
    end
  end
  
  @machine = StateMachine::Machine.new(Class.new, :integration => :custom)
  assert @machine.version1_included?
  assert !@machine.version2_included?
end
test_should_not_have_any_defaults() click to toggle source
# File test/unit/integrations/base_test.rb, line 35
def test_should_not_have_any_defaults
  assert_nil @integration.defaults
end
test_should_not_have_any_versions() click to toggle source
# File test/unit/integrations/base_test.rb, line 39
def test_should_not_have_any_versions
  assert_equal [], @integration.versions
end
test_should_track_version() click to toggle source
# File test/unit/integrations/base_test.rb, line 43
def test_should_track_version
  version1 = @integration.version '1.0' do
    def self.active?
      true
    end
  end
  
  version2 = @integration.version '2.0' do
    def self.active?
      false
    end
  end
  
  assert_equal [version1, version2], @integration.versions
end
version1_included?() click to toggle source
# File test/unit/integrations/base_test.rb, line 61
def version1_included?
  false
end
version2_included?() click to toggle source
# File test/unit/integrations/base_test.rb, line 65
def version2_included?
  false
end