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