Sha256: 4597baba66b6434c15c930691acaa217cb814717ba035aff5fa68606cca69656

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe "StateMachineMongoid integration" do
  before(:all) do
    Mongoid.configure do |config|
      name = "state_machine-mongoid"
      host = "localhost"
      config.allow_dynamic_fields = false
      config.master = Mongo::Connection.new.db(name)
    end
    Mongoid.master.collections.select{ |c| c.name !~ /system\./ }.each { |c| c.drop }
  end

  context "new vehicle" do
    before(:each) do
      @vehicle = Vehicle.new
    end

    it "should be parked" do
      @vehicle.parked?.should be_true
      @vehicle.state.should == "parked"
    end

    context "after igniting" do
      before(:each) do
        @vehicle.ignite
      end

      it "should be ignited" do
        @vehicle.idling?.should be_true
      end
    end
  end

  context "read from database" do
    before(:each) do
      @vehicle = Vehicle.find(Vehicle.create.id)
    end
    it "should has sate" do
      @vehicle.state.should_not nil
    end
    it "should state transition" do
      @vehicle.ignite
      @vehicle.idling?.should be_true
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
state_machine-mongoid-0.1.4 spec/state_machine-mongoid_spec.rb