Sha256: 32ac60371d764ea82906b8ef36653cf7ce2d931f917cc5810da6ec9be2bd913d

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

require "spec_helper"

describe PayPal::AdaptivePayments::Request do
  let(:pay_uri) { "#{PayPal::AdaptivePayments::Api.api_endpoint}/#{PayPal::AdaptivePayments::Request::METHODS[:pay]}" }

  describe "#default_headers" do
    subject { PayPal::AdaptivePayments::Request.new.default_headers }

    [
      'X-PAYPAL-SECURITY-USERID',
      'X-PAYPAL-SECURITY-PASSWORD',
      'X-PAYPAL-SECURITY-SIGNATURE',
      'X-PAYPAL-REQUEST-DATA-FORMAT',
      'X-PAYPAL-RESPONSE-DATA-FORMAT',
      'X-PAYPAL-APPLICATION-ID',
      'User-Agent'
    ].each do |key|
      it "has key #{key}" do
        subject.should have_key(key)
      end
    end
  end

  describe "#method_endpoint" do
    it "sets method api endpoint" do
      subject.method_endpoint(:pay).should eql(pay_uri)
    end
  end

  describe "#run" do
    before :all do
      VCR.eject_cassette
      VCR.turn_off!
    end

    after :all do
      VCR.turn_on!
    end

    it "sets body with JSON" do
      stub_request(:post, pay_uri).
        with(:body => MultiJson.dump({:abc => 'ABC', :requestEnvelope => {:errorLanguage => 'en_US', :detailLevel => 'ReturnAll'} })).
        to_return(:status => 200, :body => "", :headers => {})

      subject.run(:pay, {:abc => 'ABC'})
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypal-payment-0.1.2 spec/paypal/adaptive_payments/request_spec.rb