Sha256: 80899ebfac3d7e6320999bd5df7072b7b1e25872642ff274422fd48c5bd8925d
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true RSpec.describe SolidusSubscriptions::Dispatcher::PaymentFailedDispatcher do describe '#dispatch' do it 'marks the installment as payment_failed' do installment = instance_spy(SolidusSubscriptions::Installment) order = create(:order_with_line_items) dispatcher = described_class.new(installment, order) dispatcher.dispatch expect(installment).to have_received(:payment_failed!).with(order) end it 'cancels the order' do if Spree.solidus_gem_version > Gem::Version.new('2.10') skip 'Orders in `cart` state cannot be canceled starting from Solidus 2.11.' end installment = instance_spy(SolidusSubscriptions::Installment) order = create(:order_with_line_items) dispatcher = described_class.new(installment, order) dispatcher.dispatch expect(order.state).to eq('canceled') end it 'fires an installments_failed_payment event' do stub_const('Spree::Event', class_spy(Spree::Event)) installment = instance_spy(SolidusSubscriptions::Installment) order = create(:order_with_line_items) dispatcher = described_class.new(installment, order) dispatcher.dispatch expect(Spree::Event).to have_received(:fire).with( 'solidus_subscriptions.installment_failed_payment', installment: installment, order: order, ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems