Sha256: d20b445a4a58a045a3682152c9eb50ee14f331ce3a6a2ace10234cf2c57388bc

Contents?: true

Size: 1018 Bytes

Versions: 1

Compression:

Stored size: 1018 Bytes

Contents

require "spec_helper"

module ShipCompliant
  describe GetSalesOrderExtended do

    before { savon.mock! }
    after { savon.unmock! }

    let(:message) do
      {
        'Request' => {
          'Security' => {
            'PartnerKey' => 'abc-123',
            'Username' => 'bob@example.com',
            'Password' => 'secret'
          },
          'SalesOrderKey' => 'SomeOrderId'
        }
      }
    end

    let(:success_response) { File.read('spec/fixtures/void_order_success.xml') }

    context "by_order_key" do
      it "queries the client" do
        savon.expects(:get_sales_order_extended)
          .with(message: message).returns(success_response)
        
        GetSalesOrderExtended.by_order_key('SomeOrderId')
      end

      it "returns GetSalesOrderExtendedResult" do
        allow(ShipCompliant.client).to receive(:call) { {} }
        result = GetSalesOrderExtended.by_order_key('order-id')
        expect(result).to be_kind_of(GetSalesOrderExtendedResult)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ship_compliant-0.2.1 spec/lib/ship_compliant/get_sales_order_extended_spec.rb