Skip to content

Commit f2944e8

Browse files
lukel97renchap
andcommitted
Expand subscription latest_invoice.payment_intent
Also upgrade thin so it builds on macOS Co-authored-by: Luke Lau <[email protected]> Co-authored-by: Renaud Chaput <[email protected]>
1 parent a8e5376 commit f2944e8

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

lib/stripe_mock/request_handlers/subscriptions.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,21 @@ def create_subscription(route, method_url, params, headers)
141141
subscription[:canceled_at] = Time.now.utc.to_i
142142
end
143143

144+
if (s = params[:expand]&.first { |s| s.starts_with? 'latest_invoice' })
145+
intent = Data.mock_payment_intent({
146+
status: 'succeeded',
147+
amount: subscription[:plan][:amount],
148+
currency: subscription[:plan][:currency]
149+
})
150+
invoice = nil
151+
if s.include?('latest_invoice.payment_intent')
152+
invoice = Data.mock_invoice([], { payment_intent: intent })
153+
else
154+
invoice = Data.mock_invoice([], { payment_intent: intent.id })
155+
end
156+
subscription[:latest_invoice] = invoice
157+
end
158+
144159
subscriptions[subscription[:id]] = subscription
145160
add_subscription_to_customer(customer, subscription)
146161

spec/shared_stripe_examples/subscription_examples.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,17 @@
684684
expect(subscription.default_tax_rates.first.id).to eq(tax_rate.id)
685685
end
686686
end
687+
688+
it 'expands latest_invoice.payment_intent' do
689+
customer = Stripe::Customer.create(source: gen_card_tk)
690+
subscription = Stripe::Subscription.create({
691+
customer: customer.id,
692+
plan: plan.id,
693+
expand: ['latest_invoice.payment_intent']
694+
})
695+
696+
expect(subscription.latest_invoice.payment_intent.status).to eq('succeeded')
697+
end
687698
end
688699

689700
context "updating a subscription" do

stripe-ruby-mock.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ Gem::Specification.new do |gem|
2828

2929
gem.add_development_dependency 'rspec', '~> 3.7.0'
3030
gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
31-
gem.add_development_dependency 'thin', '~> 1.6.4'
31+
gem.add_development_dependency 'thin', '~> 1.8.1'
3232
end

0 commit comments

Comments
 (0)