spec/paymill_spec.rb in paymill-0.4.0 vs spec/paymill_spec.rb in paymill-0.5.0

- old
+ new

@@ -2,32 +2,66 @@ describe Paymill do describe ".request" do context "given no api key exists" do it "raises an authentication error" do + WebMock.stub_request(:get, /#{Paymill.api_base}/).to_return(:body => "{}", :status => 401) expect { Paymill.request(:get, "clients", {}) }.to raise_error(Paymill::AuthenticationError) end end context "with an invalid api key" do before(:each) do - WebMock.stub_request(:any, /#{Paymill::API_BASE}/).to_return(:body => "{}") + WebMock.stub_request(:any, /#{Paymill.api_base}/).to_return(:body => "{}") Paymill.api_key = "your-api-key" end it "attempts to get a url with one param" do Paymill.request(:get, "transactions", { param_name: "param_value" }) - WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::API_BASE}/#{Paymill::API_VERSION}/transactions?param_name=param_value") + WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::api_base}/#{Paymill::api_version}/transactions?param_name=param_value") end it "attempts to get a url with more than one param" do Paymill.request(:get, "transactions", { client: "client_id", order: "created_at_desc" }) - WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::API_BASE}/#{Paymill::API_VERSION}/transactions?client=client_id&order=created_at_desc") + WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::api_base}/#{Paymill::api_version}/transactions?client=client_id&order=created_at_desc") end it "doesn't add a question mark if no params" do Paymill.request(:get, "transactions", {}) - WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::API_BASE}/#{Paymill::API_VERSION}/transactions") + WebMock.should have_requested(:get, "https://#{Paymill::api_key}:@#{Paymill::api_base}/#{Paymill::api_version}/transactions") end + end + end + + describe 'configurations' do + it 'allows you to set an api key' do + Paymill.api_key = 'xpto' + expect(Paymill.api_key).to eq 'xpto' + end + + it 'allows you to set an api base endpoint' do + Paymill.api_base = 'xpto' + expect(Paymill.api_base).to eq 'xpto' + end + + it 'allows you to set an api version' do + Paymill.api_version = 'v1' + expect(Paymill.api_version).to eq 'v1' + end + + it 'allows you to set an api port' do + Paymill.api_port = 3000 + expect(Paymill.api_port).to eq 3000 + end + + it 'allows to turn on development mode' do + Paymill.development = true + expect(Paymill.development?).to eql(true) + end + + it 'allows to choose a logger' do + logger = double(:logger) + Paymill.logger = logger + expect(Paymill.logger).to eq logger end end end