Sha256: 3965eacc616523cdfbef124cfcb757fcc93b18ed6fbe1c3d636fa81c23aaf4f8
Contents?: true
Size: 1.53 KB
Versions: 3
Compression:
Stored size: 1.53 KB
Contents
require 'spec_helper' describe Ripple::Serialization do # require 'support/models/invoice' # require 'support/models/note' # require 'support/models/customer' it "should provide JSON serialization" do Invoice.new.should respond_to(:to_json) end context "when serializing" do it "should include attributes" do Note.new(:text => "Dear Jane,...").serializable_hash.should include('text') end it "should include the document key" do doc = Invoice.new doc.key = "1" doc.serializable_hash['key'].should == "1" end it "should be able to exclude the document key" do doc = Invoice.new doc.key = "1" doc.serializable_hash(:except => [:key]).should_not include("key") end it "should include embedded documents by default" do doc = Invoice.new(:note => {:text => "Dear customer,..."}).serializable_hash doc['note'].should eql({'text' => "Dear customer,..."}) end it "should exclude the _type field from embedded documents" do doc = Invoice.new doc.note = Note.new :text => "Dear customer,..." doc.serializable_hash['note'].should_not include("_type") end it "should exclude specified attributes" do hash = Invoice.new.serializable_hash(:except => [:created_at]) hash.should_not include('created_at') end it "should limit to specified attributes" do hash = Invoice.new.serializable_hash(:only => [:created_at]) hash.should include('created_at') hash.should_not include('updated_at') end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
wyngle-ripple-0.1.0 | spec/ripple/serialization_spec.rb |
ripple-1.0.0.beta2 | spec/ripple/serialization_spec.rb |
ripple-1.0.0.beta | spec/ripple/serialization_spec.rb |