Sha256: 460c14b5fe3cabcde0651f1be8912f8811b7208793957e46baa2b3cc703964ec
Contents?: true
Size: 1.83 KB
Versions: 2
Compression:
Stored size: 1.83 KB
Contents
require File.expand_path('../../spec_helper', __FILE__) require 'rest-assured/routes/response' describe Response do [:get, :post, :put, :delete].each do |verb| it "processes an unknown request" do Response.should_receive(:perform).with(an_instance_of(RestAssured::Application)) send verb, '/some/path' end end let(:request) { double('Request', :request_method => 'GET', :fullpath => '/api', :env => stub(:to_json => 'env'), :body => stub(:read => 'body').as_null_object, :params => stub(:to_json => 'params') ) } let(:rest_assured_app) { double('App', :request => request).as_null_object } it "returns double content if an active one found with the same fullpath and the same method as request" do d = Double.create :fullpath => '/some/path', :content => 'content' request.stub(:fullpath).and_return(d.fullpath) rest_assured_app.should_receive(:body).with(d.content) Response.perform(rest_assured_app) end it "redirects if double not hit but there is redirect that matches request" do r = Redirect.create :to => 'http://exmple.com/api', :pattern => '.*' fullpath = '/some/other/path' request.stub(:fullpath).and_return(fullpath) rest_assured_app.should_receive(:redirect).with(r.to + fullpath) Response.perform(rest_assured_app) end it "returns 404 if neither double nor redirect matches the request" do rest_assured_app.should_receive(:status).with(404) Response.perform(rest_assured_app) end it 'records request if double matches' do requests = double Double.stub_chain('where.first').and_return(double(:requests => requests).as_null_object) requests.should_receive(:create!).with(:rack_env => 'env', :body => 'body', :params => 'params') Response.perform(rest_assured_app) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rest-assured-0.2.0.rc2 | spec/functional/response_spec.rb |
rest-assured-0.2.0.rc1 | spec/functional/response_spec.rb |