From 8edfa40d0cd7eb7b71fb652357706262f133e858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolo=CC=80=20Rebughini?= Date: Thu, 19 Nov 2020 10:44:30 +0100 Subject: Associate first order to subscription As introduced by an earlier PR, orders were linked back to subscriptions, however that missed to associate the first order because that one is generated in another service object. This adds the aforementioned association also on the first order. --- app/services/solidus_subscriptions/subscription_generator.rb | 5 ++++- .../services/solidus_subscriptions/subscription_generator_spec.rb | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3