spec/ripple/embedded_document/finders_spec.rb in ripple-0.9.5 vs spec/ripple/embedded_document/finders_spec.rb in ripple-1.0.0.beta

- old
+ new

@@ -1,36 +1,29 @@ -# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -require File.expand_path("../../../spec_helper", __FILE__) +require 'spec_helper' describe Ripple::EmbeddedDocument::Finders do - require 'support/models/address' - require 'support/models/favorite' + # require 'support/models/address' + # require 'support/models/favorite' before :each do - @addr = Address.new + @address = Address.new end it "should instantiate a document" do Address.stub!(:new).and_return(@address) Address.instantiate('_type' => 'Address').should == @address end - + it "should instantiate a class of _type if present in attrs" do Favorite.instantiate('_type' => 'Address').class.should == Address end - + it "should use self if being called from a class including Ripple::EmbeddedDocument and _type is not present" do Address.instantiate({}).class.should == Address + end + + it 'initializes the document with no changes' do + a = Address.instantiate('_type' => 'Address', 'street' => 'Pine St') + a.should_not be_changed + a.changes.should be_empty end end