Sha256: cecba8dfa3d0fa21823784b7d5bef373db70d8980b5e8f27655238fb051d90c3

Contents?: true

Size: 1.48 KB

Versions: 6

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

describe PensioAPI::Responses::SubscriptionFailureCallback do

  let(:response) { PensioAPI::Callback.parse_failure(file_fixture("subscription_failure_callback.xml")) }

  it "succeeds" do
    expect(response.success?).to be_true
  end
  
  describe ".reservation" do
    it "gets a reservation transaction" do
      expect(response.reservation).to be_an_instance_of(PensioAPI::Transaction)
    end
    it "is not reserved" do
      expect(response.reservation).to_not be_reserved
    end
    it "attempted to reserve a non-zero amount" do
      expect(response.reservation.reserved_amount).to be > 0.0
    end
    it "does not capture any amount" do
      expect(response.reservation.captured_amount).to eq 0.0
    end
    it "receives the submitted billing address" do
      expect(response.reservation.billing_address).to be_an_instance_of PensioAPI::BillingAddress
    end
  end
  
  describe ".charge" do
    it "gets a charge transaction" do
      expect(response.charge).to be_an_instance_of(PensioAPI::Transaction)
    end
    it "is not captured" do
      expect(response.reservation).to_not be_captured
    end
    it "does not reserve any amount" do
      expect(response.charge.reserved_amount).to eq 0.0
    end
    it "does not capture any amount" do
      expect(response.charge.captured_amount).to eq 0.0
    end
    it "receives the submitted billing address" do
      expect(response.charge.billing_address).to be_an_instance_of PensioAPI::BillingAddress
    end
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pensio_api-0.3.3 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb
pensio_api-0.3.2 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb
pensio_api-0.3.1 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb
pensio_api-0.3.0 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb
pensio_api-0.2.3 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb
pensio_api-0.2.2 spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb