Sha256: 771d28025f09dae1b05896a73fefdb17f9e8d28ea48698c5d5323019d92bb4c4

Contents?: true

Size: 1.19 KB

Versions: 5

Compression:

Stored size: 1.19 KB

Contents

require 'test_helper'

class InspectTest < Test::Unit::TestCase
  context "#inspect" do
    setup do
      @document = Doc('User') do
        key :name,  String
        key :age,   Integer
        key :email, String
      end

      @doc = @document.new(:name => 'John', :age => 29)
    end

    should "print out non-nil attributes in alpha sorted order" do
      @doc.inspect.should =~ /_id:.*, age: 29, name: "John"/
    end
    
    should "print out all attributes when (optional) include_super argument is true" do
      @doc.inspect(true).should =~ /_id:.*, age: 29, email: nil, name: "John"/
    end

    should "include class name" do
      @doc.inspect.should =~ /^#<User/
    end
    
    should "include embedded documents" do
      klass = Doc()
      pets = EDoc()

      klass.many :pets, :class => pets

      doc = klass.new(:pets => [{:name => "Kitten"}])
      doc.inspect.should =~ /_id:.*, pets: \[.*_id.*, name: "Kitten".*\]/
    end
    
    should "include embedded document" do
      klass = Doc()
      pet = EDoc()

      klass.one :pet, :class => pet

      doc = klass.new(:pet => {:name => "Kitten"})
      doc.inspect.should =~ /_id:.*, pet: .*_id.*, name: "Kitten".*/
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
mongo_mapper-0.12.0 test/unit/test_inspect.rb
lookout-mongo_mapper-0.11.3 test/unit/test_inspect.rb
mongo_mapper-0.11.2 test/unit/test_inspect.rb
jamieorc-mongo_mapper-0.11.1.1 test/unit/test_inspect.rb
mongo_mapper-0.11.1 test/unit/test_inspect.rb