summaryrefslogtreecommitdiff
path: root/spec/jobs/solidus_subscriptions/process_installments_job_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/jobs/solidus_subscriptions/process_installments_job_spec.rb')
-rw-r--r--spec/jobs/solidus_subscriptions/process_installments_job_spec.rb27
1 files changed, 27 insertions, 0 deletions
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