Sha256: f9ec10a7ebd88aaba7873b2145355b0d848df9acabe3d697fad0c84bc2ddfe1b
Contents?: true
Size: 1.28 KB
Versions: 4
Compression:
Stored size: 1.28 KB
Contents
require "spec_helper" describe Mongoid::Commands::Destroy do describe "#execute" do before do @collection = stub_everything @document = stub(:run_callbacks => true, :collection => @collection, :id => "1", :_parent => false) end it "runs the before and after destroy callbacks" do @document.expects(:run_callbacks).with(:before_destroy) @document.expects(:run_callbacks).with(:after_destroy) Mongoid::Commands::Destroy.execute(@document) end it "removes the document from its collection" do @collection.expects(:remove).with({ :_id => @document.id }) Mongoid::Commands::Destroy.execute(@document) end context "when the document is embedded" do before do @parent = Person.new @address = Address.new(:street => "Genoa Pl") @parent.addresses << @address @collection = mock Person.expects(:collection).returns(@collection) end it "removes the document from the parent attributes" do @parent.addresses.should == [@address] @collection.expects(:save).returns(true) Mongoid::Commands::Destroy.execute(@address) @parent.addresses.should be_empty end end end end
Version data entries
4 entries across 4 versions & 1 rubygems