Sha256: f8bae84c3e7590c4ba77f40a1c4e61ac9b8b08e91f81e1b42769917c1716d6c2
Contents?: true
Size: 1.68 KB
Versions: 16
Compression:
Stored size: 1.68 KB
Contents
require 'spec_helper' describe ActiveRemote::Serialization do describe "#add_errors_from_response" do let(:error) { Generic::Error.new(:field => 'name', :message => 'Boom!') } let(:response) { tag = Generic::Remote::Tag.new tag.errors << error tag } subject { Tag.new } context "when the response has errors" do it "adds the errors to the active remote object" do subject.add_errors_from_response(response) subject.errors[:name].should =~ ['Boom!'] end end context "when the response doesn't respond to errors" do let(:response) { Generic::Remote::Tag.new } it "doesn't add errors" do subject.add_errors_from_response(response) subject.errors.empty?.should be_true end end context "when no response is given" do before { subject.stub(:last_response).and_return(response) } it "uses the last response" do subject.add_errors_from_response subject.errors[:name].should =~ ['Boom!'] end end end describe "#serialize_records" do let(:last_response) { MessageWithOptions.new(:records => records) } let(:records) { [ { :foo => 'bar' } ] } subject { Tag.new } context "when the last response has records" do before { subject.stub(:last_response).and_return(last_response) } it "serializes records into active remote objects" do subject.serialize_records.each do |record| record.should be_a Tag end end end context "when the last response doesn't respond to records" do it "returns nil" do subject.serialize_records.should be_nil end end end end
Version data entries
16 entries across 16 versions & 1 rubygems