Sha256: abe9d5b46b9e1759c83662a620e01b3432bf4683b286ea2f8b54858348d006d7

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'rails_helper'

module Spree
  module SolidusSixSaferpay
    RSpec.describe PaymentProcessingSuccessHandler do

      let(:controller) { instance_double(SolidusSixSaferpay::CheckoutController) }
      let(:order) { instance_double(Spree::Order, number: "R12345678") }

      subject { described_class.new(controller_context: controller, order: order) }

      describe '.call' do
        it 'calls a new instance with given parameters' do
          expect(described_class).to receive(:new).with(controller_context: controller, order: order).and_return(subject)
          expect(subject).to receive(:call)

          described_class.call(controller_context: controller, order: order)
        end
      end

      describe '#call' do
        context 'when the order is in payment state' do
          let(:order) { instance_double(Spree::Order, number: "R12345678", payment?: true) }

          it 'advances the order to the next state' do
            expect(order).to receive(:next!)

            subject.call
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_six_saferpay-0.5.0 spec/services/spree/solidus_six_saferpay/payment_processing_success_handler_spec.rb
solidus_six_saferpay-0.4.0 spec/services/spree/solidus_six_saferpay/payment_processing_success_handler_spec.rb