test/test_client.rb in foursquare2-1.4.2 vs test/test_client.rb in foursquare2-1.5.0

- old
+ new

@@ -1,10 +1,10 @@ require 'helper' class TestClient < Test::Unit::TestCase - context "when instantiating a client instance" do + context "when instantiating a client instance" do should "use the correct url for api requests" do @client = Foursquare2::Client.new @client.api_url.should == 'https://api.foursquare.com/v2' end @@ -17,17 +17,36 @@ @client = Foursquare2::Client.new(:client_id => 'awesome', :client_secret => 'sauce') @client.client_id.should == 'awesome' @client.client_secret.should == 'sauce' end + should "retain api version for requests" do + @client = Foursquare2::Client.new(:api_version => '20120505') + @client.api_version.should == "20120505" + end + should "retain SSL option for requests when you don't pass it as param" do @client = Foursquare2::Client.new(:client_id => 'awesome', :client_secret => 'sauce') @client.ssl.should == {} end should "retain SSL option for requests" do @client = Foursquare2::Client.new(:client_id => 'awesome', :client_secret => 'sauce', :ssl => {:ca_file => 'path_to_ca_file'}) @client.ssl[:ca_file].should == 'path_to_ca_file' + end + + should "apply the middleware to the connection" do + middleware = [FaradayMiddleware::Instrumentation, + [FaradayMiddleware::ParseJson, {:content_type => /\bjson$/}]] + client = Foursquare2::Client.new(:connection_middleware => middleware) + + Faraday::Builder.any_instance.expects(:use).at_least_once + Faraday::Builder.any_instance.expects(:use) \ + .with(FaradayMiddleware::Instrumentation) + Faraday::Builder.any_instance.expects(:use) \ + .with(FaradayMiddleware::ParseJson, {:content_type => /\bjson$/}) + + client.connection end end context "When returning a successful response" do should "return the response body as a Hash." do