Sha256: c68558e8595446ce241bffcd525cd416afd5ff24706f7a9ef663460f7541d9ad

Contents?: true

Size: 862 Bytes

Versions: 2

Compression:

Stored size: 862 Bytes

Contents

require 'test_helper'

class MongoIDTest < Test::Unit::TestCase
  PhonyError = Class.new(StandardError)
  
  class Phony
    def to_s
      raise PhonyError
    end
  end
  
  context "mm_typecast" do
    should "return value if object id" do
      id = XGen::Mongo::Driver::ObjectID.new
      MongoID.mm_typecast(id).should == id
    end
    
    should "return object id if string" do
      id = XGen::Mongo::Driver::ObjectID.new
      MongoID.mm_typecast(id.to_s).should == id
    end
    
    should_eventually "raise MongoMapper::IllegalID if invalid id" do
      lambda {
        MongoID.mm_typecast(1234)
      }.should raise_error(MongoMapper::IllegalID)
    end
    
    should "raise exception if message does not match illegal object id" do
      lambda {
        MongoID.mm_typecast(Phony.new)
      }.should raise_error(PhonyError)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
djsun-mongomapper-0.3.1.1 test/unit/test_mongo_id.rb
djsun-mongomapper-0.3.1 test/unit/test_mongo_id.rb