Sha256: 5feb5d95281d0e644c7bfb6933bc3006d36a73d8bb0013e55ef54ec63669aac2

Contents?: true

Size: 1.04 KB

Versions: 33

Compression:

Stored size: 1.04 KB

Contents

require "spec_helper"

describe Mongoid::Extensions::Array::Accessors do

  describe "#update" do

    context "when the attributes exist" do

      before do
        @array = [{ :_id => 1, :name => "James T. Kirk" }]
      end

      it "overwrites with the new attributes" do
        @array.update({ :_id => 1, :name => "Spock" })
        @array.first[:name].should == "Spock"
      end

    end

    context "when the attributes do not exist" do

      before do
        @array = [{ :_id => 1, :name => "James T. Kirk" }]
      end

      it "appends the new attributes" do
        @array.update({ :_id => 2, :name => "Scotty" })
        @array.size.should == 2
        @array.last[:name].should == "Scotty"
      end

    end

    context "when the new attribtues have no id" do

      before do
        @array = [{ :_id => 1, :name => "James T. Kirk" }]
      end

      it "appends the new attributes" do
        @array.update({:name => "Scotty" })
        @array.size.should == 2
        @array.last[:name].should == "Scotty"
      end

    end

  end

end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
mongoid-1.0.6 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.5 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.4 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.3 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.2 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.1 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-1.0.0 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.12.0 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.9 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.8 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.7 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.6 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.5 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.4 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.3 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.2 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.1 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.11.0 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.10.6 spec/unit/mongoid/extensions/array/accessors_spec.rb
mongoid-0.10.5 spec/unit/mongoid/extensions/array/accessors_spec.rb