Sha256: 23949b05905efe3e6a8d65467ec454aa20e7d461941412fb00cd575b9a4495bb
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
require 'spec_helper' require 'support/model_test_helpers' require 'multi_json' # require 'gorillib/model' require 'gorillib/builder' require 'gorillib/model/serialization' describe Gorillib::Model, :model_spec, :builder_spec do subject do garage.cars << wildcat garage.cars << ford_39 garage end let :wired_garage_hash do { :cars => [ {:name=>:wildcat, :make_model=>"Buick Wildcat", :year=>1968, :doors=>2, :engine=>{:name=>" engine", :carburetor=>:stock, :volume=>455, :cylinders=>8, :owner=>nil, :_type => "gorillib.test.engine"}, :_type => "gorillib.test.car"}, {:name=>:ford_39, :make_model=>"Ford Tudor Sedan", :year=>1939, :doors=>2, :engine=>nil, :_type => "gorillib.test.car"}, ], :_type => "gorillib.test.garage" } end describe 'to_json' do it 'recursively serializes' do MultiJson.load(wildcat.to_json).should == {"name"=>"wildcat","make_model"=>"Buick Wildcat","year"=>1968,"doors"=>2,"engine"=>{"name"=>" engine","carburetor"=>"stock","volume"=>455,"cylinders"=>8,"owner"=>nil,"_type"=>"gorillib.test.engine"},"_type"=>"gorillib.test.car"} end it 'recursively serializes' do subject.to_json.should == MultiJson.dump(wired_garage_hash) end end describe 'to_wire' do it 'calls to_wire recursively, passing options along' do opts = {:dummy=>'options'} ford_39.should_receive(:to_wire).with(opts) wildcat.engine.should_receive(:to_wire).with(opts) subject.to_wire(opts) end it 'returns a nested hash' do subject.to_wire.should == wired_garage_hash end it 'aliases method as_json' do subject.as_json.should == wired_garage_hash end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gorillib-0.5.0 | spec/gorillib/model/serialization_spec.rb |
gorillib-0.4.2 | spec/gorillib/model/serialization_spec.rb |
gorillib-0.4.2pre | spec/gorillib/model/serialization_spec.rb |