Sha256: b314fc590b2a76fa8fcadd4751dcdfe066ba37c09788d32d3cd1b03bf1d642ec

Contents?: true

Size: 1.09 KB

Versions: 25

Compression:

Stored size: 1.09 KB

Contents

require "spec_helper"

describe Mongoid::Shardable do

  describe ".included" do

    let(:klass) do
      Class.new do
        include Mongoid::Shardable
      end
    end

    it "adds an shard_key_fields accessor" do
      expect(klass).to respond_to(:shard_key_fields)
    end

    it "defaults shard_key_fields to an empty array" do
      expect(klass.shard_key_fields).to be_empty
    end
  end

  describe ".shard_key" do

    let(:klass) do
      Class.new do
        include Mongoid::Shardable
      end
    end

    before do
      klass.shard_key(:name)
    end

    it "specifies a shard key on the collection" do
      expect(klass.shard_key_fields).to eq([:name])
    end
  end

  describe "#shard_key_selector" do

    let(:klass) do
      Class.new do
        include Mongoid::Shardable
        attr_accessor :name
      end
    end

    let(:object) do
      klass.new
    end

    before do
      klass.shard_key(:name)
      object.name = "Jo"
    end

    it "returns a hash of shard key names and values" do
      expect(object.shard_key_selector).to eq({ "name" => "Jo" })
    end
  end
end

Version data entries

25 entries across 23 versions & 6 rubygems

Version Path
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mongoid-4.0.2/spec/mongoid/shardable_spec.rb
mongoid-5.1.2 spec/mongoid/shardable_spec.rb
mongoid-5.1.1 spec/mongoid/shardable_spec.rb
mongoid-5.1.0 spec/mongoid/shardable_spec.rb
tdiary-4.2.1 vendor/bundle/ruby/2.2.0/gems/mongoid-5.0.1/spec/mongoid/shardable_spec.rb
tdiary-4.2.1 vendor/bundle/ruby/2.3.0/gems/mongoid-5.0.2/spec/mongoid/shardable_spec.rb
tdiary-4.2.1 vendor/bundle/ruby/2.2.0/gems/mongoid-5.0.2/spec/mongoid/shardable_spec.rb
mongoid-5.0.2 spec/mongoid/shardable_spec.rb
mongoid-5.0.1 spec/mongoid/shardable_spec.rb
mongoid-5.0.0 spec/mongoid/shardable_spec.rb
mongoid-5.0.0.rc0 spec/mongoid/shardable_spec.rb
mongoid-5.0.0.beta spec/mongoid/shardable_spec.rb
mongoid-4.0.2 spec/mongoid/shardable_spec.rb
mongoid-4.0.1 spec/mongoid/shardable_spec.rb
mongoid-4.0.0 spec/mongoid/shardable_spec.rb
mongoid-4.0.0.rc2 spec/mongoid/shardable_spec.rb
mongoid-4.0.0.rc1 spec/mongoid/shardable_spec.rb
mongoid-4.0.0.beta2 spec/mongoid/shardable_spec.rb
mongoid-4.0.0.beta1 spec/mongoid/shardable_spec.rb
mongoid-4.0.0.alpha2 spec/mongoid/shardable_spec.rb