spec/ripple/associations/proxy_spec.rb in ripple-0.9.5 vs spec/ripple/associations/proxy_spec.rb in ripple-1.0.0.beta
- old
+ new
@@ -1,19 +1,6 @@
-# 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::Associations::Proxy do
require 'support/associations/proxies'
before :each do
@@ -73,6 +60,25 @@
subject { @blank_proxy }
it { should_not be_nil }
it { should be_blank }
it { should_not be_present }
end
-end
\ No newline at end of file
+
+ describe "#has_changed_documents?" do
+ before(:each) { @proxy.respond_to?(:loaded_documents).should be_true }
+
+ it "returns true if any of the loaded documents return true from #changed?" do
+ @proxy.stub(:loaded_documents => [stub(:changed? => false), stub(:changed? => true)])
+ @proxy.has_changed_documents?.should be_true
+ end
+
+ it "returns false if none of the loaded documents return true from #changed?" do
+ @proxy.stub(:loaded_documents => [stub(:changed? => false), stub(:changed? => false)])
+ @proxy.has_changed_documents?.should be_false
+ end
+
+ it "returns false if it has no loaded documents" do
+ @proxy.stub(:loaded_documents => [])
+ @proxy.has_changed_documents?.should be_false
+ end
+ end
+end