class MongoMapperTest::MachineWithStaticInitialStateTest
Public Instance Methods
setup()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 110 def setup @model = new_model do attr_accessor :value end @machine = StateMachine::Machine.new(@model, :initial => :parked) end
test_should_not_allow_initialize_blocks()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 132 def test_should_not_allow_initialize_blocks block_args = nil record = @model.new do |*args| block_args = args end assert_nil block_args end
test_should_not_set_initial_state_after_already_initialized()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 154 def test_should_not_set_initial_state_after_already_initialized record = @model.new(:value => 1) assert_equal 'parked', record.state record.state = 'idling' record.attributes = {} assert_equal 'idling', record.state end
test_should_set_initial_state_before_setting_attributes()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 141 def test_should_set_initial_state_before_setting_attributes @model.class_eval do attr_accessor :state_during_setter define_method(:value=) do |value| self.state_during_setter = state end end record = @model.new(:value => 1) assert_equal 'parked', record.state_during_setter end
test_should_set_initial_state_on_created_object()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 117 def test_should_set_initial_state_on_created_object record = @model.new assert_equal 'parked', record.state end
test_should_set_initial_state_with_nil_attributes()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 122 def test_should_set_initial_state_with_nil_attributes record = @model.new(nil) assert_equal 'parked', record.state end
test_should_still_set_attributes()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 127 def test_should_still_set_attributes record = @model.new(:value => 1) assert_equal 1, record.value end
test_should_use_stored_values_when_loading_from_database()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 163 def test_should_use_stored_values_when_loading_from_database @machine.state :idling record = @model.find(@model.create(:state => 'idling').id) assert_equal 'idling', record.state end
test_should_use_stored_values_when_loading_from_database_with_nil_state()
click to toggle source
# File test/unit/integrations/mongo_mapper_test.rb, line 170 def test_should_use_stored_values_when_loading_from_database_with_nil_state @machine.state nil record = @model.find(@model.create(:state => nil).id) assert_nil record.state end