From 9050d2aab63da6afabb8ef354ba984c4a6f846d9 Mon Sep 17 00:00:00 2001 From: Brendan Deere Date: Fri, 23 Sep 2016 15:04:11 -0700 Subject: Add ProcessInstallmentsJob This job is responsible for creating a consolidated installment from a list of installments and processing it. --- .../process_installments_job_spec.rb | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 spec/jobs/solidus_subscriptions/process_installments_job_spec.rb (limited to 'spec/jobs') diff --git a/spec/jobs/solidus_subscriptions/process_installments_job_spec.rb b/spec/jobs/solidus_subscriptions/process_installments_job_spec.rb new file mode 100644 index 0000000..31a9af6 --- /dev/null +++ b/spec/jobs/solidus_subscriptions/process_installments_job_spec.rb @@ -0,0 +1,27 @@ +require 'rails_helper' + +RSpec.describe SolidusSubscriptions::ProcessInstallmentsJob do + let(:root_order) { create :completed_order_with_pending_payment } + let(:installments) do + traits = { + subscription_traits: [{ + line_item_traits: [{ + spree_line_item: root_order.line_items.first + }] + }] + } + + create_list(:installment, 2, traits) + end + + describe '#perform' do + subject { described_class.new.perform(installments) } + + it 'processes the consolidated installment' do + expect_any_instance_of(SolidusSubscriptions::ConsolidatedInstallment). + to receive(:process).once + + subject + end + end +end -- cgit v1.2.3