summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/solidus_subscriptions/subscription_generator.rb5
-rw-r--r--spec/services/solidus_subscriptions/subscription_generator_spec.rb8
2 files changed, 12 insertions, 1 deletions
diff --git a/app/services/solidus_subscriptions/subscription_generator.rb b/app/services/solidus_subscriptions/subscription_generator.rb
index 8153912..9f61935 100644
--- a/app/services/solidus_subscriptions/subscription_generator.rb
+++ b/app/services/solidus_subscriptions/subscription_generator.rb
@@ -32,9 +32,12 @@ module SolidusSubscriptions
**configuration.to_h
}
- Subscription.create!(subscription_attributes) do |sub|
+ subscription = Subscription.create!(subscription_attributes) do |sub|
sub.actionable_date = sub.next_actionable_date
end
+ order.update!(subscription: subscription)
+
+ subscription
end
# Group a collection of line items by common subscription configuration
diff --git a/spec/services/solidus_subscriptions/subscription_generator_spec.rb b/spec/services/solidus_subscriptions/subscription_generator_spec.rb
index b7d73b8..0640c26 100644
--- a/spec/services/solidus_subscriptions/subscription_generator_spec.rb
+++ b/spec/services/solidus_subscriptions/subscription_generator_spec.rb
@@ -44,6 +44,14 @@ RSpec.describe SolidusSubscriptions::SubscriptionGenerator do
payment_source: payment_source,
)
end
+
+ it 'associates the order to the subscription' do
+ subscription_line_item = build(:subscription_line_item)
+
+ subscription = described_class.activate([subscription_line_item])
+
+ expect(subscription_line_item.order.subscription).to eq(subscription)
+ end
end
describe '.group' do