Sha256: 765fac69ad3bd69214406e552cbcf33b9352c79440a22d359cc1acdceb5ac25e
Contents?: true
Size: 1.56 KB
Versions: 4
Compression:
Stored size: 1.56 KB
Contents
require 'spec_helper' require 'cuba_api/write_aspect' require 'cuba_api/config' require 'cuba_api/response_status' class E def id 4711 end def initialize( args = nil ) @errors = (args || {}).delete( :errors ) || {} # ruby18 workaround def @errors.to_s inspect end @attributes = args end def deleted? @attrbutes.nil? end def errors @errors end def to_s @attributes.inspect + @errors.inspect end end describe CubaApi::ResponseStatus do before do Cuba.reset! Cuba.plugin CubaApi::Config Cuba.plugin CubaApi::WriteAspect Cuba.plugin CubaApi::ResponseStatus Cuba.define do on get do write E.new :errors => { :name => 'missing name' } end on post do write E.new :message => 'be happy' end on put do write E.new :message => 'be happy' end on delete do write E.new end end end it 'status 200' do status, _, resp = Cuba.call({'REQUEST_METHOD' => 'PUT'}) status.must.eq 200 resp.join.must.eq "{:message=>\"be happy\"}{}" end it 'status 201' do status, _, resp = Cuba.call({'REQUEST_METHOD' => 'POST'}) status.must.eq 201 resp.join.must.eq "{:message=>\"be happy\"}{}" end it 'status 204' do status, _, resp = Cuba.call({'REQUEST_METHOD' => 'DELETE'}) status.must.eq 204 resp.join.must_be :empty? end it 'status 412' do status, _, resp = Cuba.call({'REQUEST_METHOD' => 'GET'}) status.must.eq 412 resp.join.must.eq "{:name=>\"missing name\"}" end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cuba-api-0.3.2 | spec/response_status_spec.rb |
cuba-api-0.3.1 | spec/response_status_spec.rb |
cuba-api-0.3.0 | spec/response_status_spec.rb |
cuba-api-0.2.0 | spec/response_status_spec.rb |