Sha256: 44152c646401888be03e5c6f290717d05b4e06773ae46ce80599bad9387328e6

Contents?: true

Size: 1.16 KB

Versions: 25

Compression:

Stored size: 1.16 KB

Contents

require 'spec_helper'

describe "MongoDoc::Associations::DocumentProxy" do
  class Parent
    include MongoDoc::Document
  end

  class Child
    include MongoDoc::Document
  end

  let(:parent) { Parent.new }
  let(:name) {'association_name'}

  subject do
    MongoDoc::Associations::DocumentProxy.new(:assoc_name => name, :root => parent, :parent => parent, :assoc_class => Child)
  end

  describe "#build" do
    it "#build builds a new object" do
      Child.should === subject.build({})
    end
  end

  context "delegated to the document" do
    %w(id to_bson).each do |method|
      it "delegates #{method} to the document" do
        subject.stub(:document => stub)
        subject.document.should_receive(method)
        subject.send(method)
      end
    end
  end

  %w(_modifier_path= _selector_path=).each do |setter|
    describe "##{setter}" do
      it "delegates to the document with our assoc name" do
        subject.stub(:document => stub)
        subject.document.should_receive(setter).with("new.path.#{name}")
        MongoDoc::Associations::ProxyBase.stub(:is_document?).and_return(true)
        subject.send("#{setter}", 'new.path')
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

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