class ActiveRecordTest::MachineWithScopesTest

Public Instance Methods

setup() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1800
def setup
  @model = new_model
  @machine = StateMachine::Machine.new(@model)
  @machine.state :parked, :first_gear
  @machine.state :idling, :value => lambda {'idling'}
end
test_should_allow_chaining_scopes() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1859
def test_should_allow_chaining_scopes
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  
  assert_equal [idling], @model.without_state(:parked).with_state(:idling).find(:all)
end
test_should_allow_lookup_by_string_name() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1829
def test_should_allow_lookup_by_string_name
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  
  assert_equal [parked, idling], @model.with_states('parked', 'idling').find(:all)
end
test_should_create_plural_with_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1818
def test_should_create_plural_with_scope
  assert @model.respond_to?(:with_states)
end
test_should_create_plural_without_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1847
def test_should_create_plural_without_scope
  assert @model.respond_to?(:without_states)
end
test_should_create_singular_with_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1807
def test_should_create_singular_with_scope
  assert @model.respond_to?(:with_state)
end
test_should_create_singular_without_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1836
def test_should_create_singular_without_scope
  assert @model.respond_to?(:without_state)
end
test_should_only_include_records_with_state_in_singular_with_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1811
def test_should_only_include_records_with_state_in_singular_with_scope
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  
  assert_equal [parked], @model.with_state(:parked).find(:all)
end
test_should_only_include_records_with_states_in_plural_with_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1822
def test_should_only_include_records_with_states_in_plural_with_scope
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  
  assert_equal [parked, idling], @model.with_states(:parked, :idling).find(:all)
end
test_should_only_include_records_without_state_in_singular_without_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1840
def test_should_only_include_records_without_state_in_singular_without_scope
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  
  assert_equal [parked], @model.without_state(:idling).find(:all)
end
test_should_only_include_records_without_states_in_plural_without_scope() click to toggle source
# File test/unit/integrations/active_record_test.rb, line 1851
def test_should_only_include_records_without_states_in_plural_without_scope
  parked = @model.create :state => 'parked'
  idling = @model.create :state => 'idling'
  first_gear = @model.create :state => 'first_gear'
  
  assert_equal [parked, idling], @model.without_states(:first_gear).find(:all)
end