Sha256: 8bf0e3e3625b8300e3f89ffa2ae65db5e6331e931bdfd2aab01e9725cf9a23c2
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
require 'spec_helper' require 'espago/client' require "helpers/fake_response" class StubbedApiConnection def initialize(enviroment,headers); end def authenticate(app_id, app_password); end def create(path, method, params= {}) 'returned api data' end end describe Espago::Client do subject { Espago::Client.new( app_id: 'app_id_test', app_password: 'secret', connection: stubbed_api_connection, api_version: 2) } let(:stubbed_api_connection) { StubbedApiConnection } let(:response) { FakeResponse.new(200, {id: 1, status: "2012"}.to_json) } it { subject.should respond_to :app_id } it { subject.should respond_to :app_password } it { subject.should respond_to :public_key } it { subject.should respond_to :api_version } context "#send_request" do let(:method) { :get } let(:path) { :new_client } let(:params) { { name: "Jan Kowalski"} } it "should create an api request" do subject.send_request(path, method, params).should eq('returned api data') end context "with no credentials" do subject { Espago::Client.new } it "should raise error" do expect { subject.send_request(path, method, params)}.to raise_error(Espago::Client::NotAuthenticated) end end end context "#send_request_with_app_id_and_password" do subject { Espago::Client.new(connection: stubbed_api_connection, api_version: 2) } let(:method) { :get } let(:path) { :new_client } let(:params) { { name: "Jan Kowalski", app_id: 'app_id_test', app_password: 'secret'} } it "should create an api request" do subject.send_request(path, method, params).should eq('returned api data') end end context "#parse_response" do subject { Espago::Client.new } it "should delegate work to parser" do Espago::Response.should_receive(:new).with(response) subject.parse_response(response) end it "should parse response into object" do subject.parse_response(response).class.should eq(Espago::Response) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
espago-0.1.8 | spec/espago/client_spec.rb |