Sha256: 13b35df402055529c67e1cf3e24b0637f3ceb762adf98999e2e2c73ac0709dc9

Contents?: true

Size: 1.67 KB

Versions: 30

Compression:

Stored size: 1.67 KB

Contents

require "spec_helper"

describe Mongoid::Indexes do

  describe ".included" do

    before do
      @class = Class.new do
        include Mongoid::Indexes
      end
    end

    it "adds an indexed accessor" do
      @class.should respond_to(:indexed)
    end

    it "defaults indexed to false" do
      @class.indexed.should be_false
    end

  end

  describe ".add_indexes" do

    before do
      @collection = mock
    end

    context "when indexes have not been added" do

      before do
        @class = Class.new do
          include Mongoid::Indexes
        end
      end

      it "adds the _type index" do
        @class.expects(:_collection).returns(@collection)
        @collection.expects(:create_index).with(:_type, false)
        @class.add_indexes
        @class.indexed.should be_true
      end

    end

    context "when indexes have been added" do

      before do
        @class = Class.new do
          include Mongoid::Indexes
        end
        @class.indexed = true
      end

      it "ignores the request" do
        @class.add_indexes
      end

    end

  end

  describe ".index" do

    before do
      @collection = mock
      @class = Class.new do
        include Mongoid::Indexes
      end
      @class.expects(:collection).returns(@collection)
    end

    context "when unique" do

      it "creates a unique index on the collection" do
        @collection.expects(:create_index).with(:name, true)
        @class.index(:name, :unique => true)
      end

    end

    context "when not unique" do

      it "creates an index on the collection" do
        @collection.expects(:create_index).with(:name, false)
        @class.index(:name)
      end

    end

  end

end

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
mongoid-pre-2.0.0.beta1 spec/unit/mongoid/indexes_spec.rb
mongoid-2.0.0.alpha spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.14 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.13 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.12 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.11 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.10 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.9 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.8 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.7 spec/unit/mongoid/indexes_spec.rb
mongoid-pre-2.0.0.pre spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.6 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.5 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.4 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.3 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.2 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.1 spec/unit/mongoid/indexes_spec.rb
mongoid-1.2.0 spec/unit/mongoid/indexes_spec.rb
mongoid-1.1.4 spec/unit/mongoid/indexes_spec.rb
mongoid-1.1.3 spec/unit/mongoid/indexes_spec.rb