Sha256: b7fb8530a6c728337d5626a6309d8bf8d0ec1887b51cb302ee0aca069ff50c69
Contents?: true
Size: 1.62 KB
Versions: 3
Compression:
Stored size: 1.62 KB
Contents
require "spec_helper" describe Mongoid::Relations::Constraint do describe "#convert" do context "when the id's class stores object ids" do before(:all) do Person.field( :_id, type: Moped::BSON::ObjectId, pre_processed: true, default: ->{ Moped::BSON::ObjectId.new } ) end let(:metadata) do Mongoid::Relations::Metadata.new( class_name: "Person", name: :person, inverse_class_name: "Post", relation: Mongoid::Relations::Referenced::In ) end let(:constraint) do described_class.new(metadata) end context "when provided an object id" do let(:object) do Moped::BSON::ObjectId.new end it "returns the object id" do constraint.convert(object).should eq(object) end end context "when provided a string" do let(:object) do Moped::BSON::ObjectId.new end it "returns an object id from the string" do constraint.convert(object.to_s).should eq(object) end end end context "when the id's class does not store object ids" do let(:metadata) do Mongoid::Relations::Metadata.new( class_name: "Account", name: :account, inverse_class_name: "Alert", relation: Mongoid::Relations::Referenced::In ) end let(:constraint) do described_class.new(metadata) end it "returns the object" do constraint.convert("testing").should eq("testing") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoid-3.1.7 | spec/mongoid/relations/constraint_spec.rb |
mongoid-3.1.6 | spec/mongoid/relations/constraint_spec.rb |
mongoid-3.1.5 | spec/mongoid/relations/constraint_spec.rb |