Sha256: 75ad84c4574f9750563b0c40abb8fa22df65ca139eab9a23b02983dce7ffd1ca

Contents?: true

Size: 1.22 KB

Versions: 29

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'

describe "MongoDoc::Contexts::Ids" do

  class Address
    include MongoDoc::Document
    include MongoDoc::Matchers

    attr_accessor :number
    attr_accessor :street
  end

  let(:criteria) { Mongoid::Criteria.new(Address) }
  let(:context) { criteria.context }

  context "#id_criteria" do
    context "single id" do
      let(:id) { 'a' * 24 }
      let(:obj_id) { BSON::ObjectID.from_string(id) }

      it "converts strings to an object id" do
        criteria.should_receive(:id).with(obj_id)
        context.stub(:one)
        context.id_criteria(id)
      end

      it "delegates to one if passed a string or ObjectID" do
        context.should_receive(:one)
        context.id_criteria(id)
      end
    end

    context "mutliple ids" do
      let(:ids) { ['a' * 24, 'b' * 24] }
      let(:obj_ids) { [BSON::ObjectID.from_string(ids.first), BSON::ObjectID.from_string(ids.last)] }

      it "converts strings to an object id" do
        criteria.should_receive(:id).with(obj_ids)
        criteria.stub(:entries)
        context.id_criteria(ids)
      end

      it "delegates to entries if passed an array" do
        criteria.should_receive(:entries)
        context.id_criteria(ids)
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 2 rubygems

Version Path
mongo_doc-0.6.26 spec/contexts/ids_spec.rb
mongo_doc-0.6.25 spec/contexts/ids_spec.rb
mongo_doc-0.6.23 spec/contexts/ids_spec.rb
mongo_doc-0.6.22 spec/contexts/ids_spec.rb
mongo_doc-0.6.21 spec/contexts/ids_spec.rb
mongo_doc-0.6.20 spec/contexts/ids_spec.rb
mongo_doc-0.6.19 spec/contexts/ids_spec.rb
mongo_doc-0.6.18 spec/contexts/ids_spec.rb
mongo_doc-0.6.17 spec/contexts/ids_spec.rb
mongo_doc-0.6.16 spec/contexts/ids_spec.rb
mongo_doc-0.6.15 spec/contexts/ids_spec.rb
mongo_doc-0.6.14 spec/contexts/ids_spec.rb
mongo_doc-0.6.13 spec/contexts/ids_spec.rb
mongo_doc-0.6.12 spec/contexts/ids_spec.rb
mongo_doc-0.6.11 spec/contexts/ids_spec.rb
mongo_doc-0.6.10 spec/contexts/ids_spec.rb
mongo_doc-0.6.9 spec/contexts/ids_spec.rb
mongo_doc-0.6.8 spec/contexts/ids_spec.rb
mongo_doc-0.6.7 spec/contexts/ids_spec.rb
mongo_doc-0.6.6 spec/contexts/ids_spec.rb