From 8db522a116ff3f6e7d7d041ca6d8a8527509a76a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapaj=C3=B3s?= Date: Thu, 3 Sep 2009 00:27:04 -0300 Subject: [PATCH] Fix issue #1. --- lib/couchrest/more/extended_document.rb | 1 + spec/couchrest/more/extended_doc_spec.rb | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/couchrest/more/extended_document.rb b/lib/couchrest/more/extended_document.rb index c1590f1..eb1d68e 100644 --- a/lib/couchrest/more/extended_document.rb +++ b/lib/couchrest/more/extended_document.rb @@ -193,6 +193,7 @@ module CouchRest # if the document is not saved properly. def save! raise "#{self.inspect} failed to save" unless self.save + true end # Deletes the document from the database. Runs the :destroy callbacks. diff --git a/spec/couchrest/more/extended_doc_spec.rb b/spec/couchrest/more/extended_doc_spec.rb index 190baba..cbd1ca5 100644 --- a/spec/couchrest/more/extended_doc_spec.rb +++ b/spec/couchrest/more/extended_doc_spec.rb @@ -1,6 +1,7 @@ require File.dirname(__FILE__) + '/../../spec_helper' require File.join(FIXTURE_PATH, 'more', 'article') require File.join(FIXTURE_PATH, 'more', 'course') +require File.join(FIXTURE_PATH, 'more', 'card') describe "ExtendedDocument" do @@ -339,6 +340,25 @@ describe "ExtendedDocument" do it "should set the type" do @sobj['couchrest-type'].should == 'Basic' end + + describe "save!" do + + before(:each) do + @sobj = Card.new(:first_name => "Marcos", :last_name => "Tapajós") + end + + it "should return true if save the document" do + @sobj.save!.should == true + end + + it "should raise error if don't save the document" do + @sobj.first_name = nil + lambda { @sobj.save!.should == true }.should raise_error(RuntimeError) + end + + end + + end describe "saving a model with a unique_id configured" do