mirror of
https://github.com/discourse/discourse-subscriptions.git
synced 2025-03-06 09:39:51 +00:00
delete customer record
This commit is contained in:
parent
e5753095d8
commit
298e70b32a
@ -21,6 +21,13 @@ module DiscoursePatrons
|
||||
begin
|
||||
subscription = ::Stripe::Subscription.delete(params[:id])
|
||||
|
||||
customer = DiscoursePatrons::Customer.find_by(
|
||||
product_id: subscription[:plan][:product][:id],
|
||||
customer_id: subscription[:customer]
|
||||
)
|
||||
|
||||
customer.delete if customer
|
||||
|
||||
render_json_dump subscription
|
||||
|
||||
rescue ::Stripe::InvalidRequestError => e
|
||||
|
@ -3,6 +3,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.user'}}</th>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.subscription_id'}}</th>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.customer'}}</th>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.product'}}</th>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.plan'}}</th>
|
||||
@ -20,6 +21,7 @@
|
||||
</a>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>{{subscription.id}}</td>
|
||||
<td>{{subscription.customer}}</td>
|
||||
<td>{{subscription.plan.product.name}}</td>
|
||||
<td>{{subscription.plan.nickname}}</td>
|
||||
|
@ -22,6 +22,7 @@ module DiscoursePatrons
|
||||
end
|
||||
|
||||
context 'authenticated' do
|
||||
let(:user) { Fabricate(:user) }
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
|
||||
before { sign_in(admin) }
|
||||
@ -35,9 +36,23 @@ module DiscoursePatrons
|
||||
end
|
||||
|
||||
describe "destroy" do
|
||||
it "deletes a subscription" do
|
||||
::Stripe::Subscription.expects(:delete).with('sub_12345')
|
||||
delete "/patrons/admin/subscriptions/sub_12345.json"
|
||||
before do
|
||||
DiscoursePatrons::Customer.create(
|
||||
user_id: user.id,
|
||||
customer_id: 'c_123',
|
||||
product_id: 'pr_34578'
|
||||
)
|
||||
end
|
||||
|
||||
it "deletes a customer" do
|
||||
::Stripe::Subscription
|
||||
.expects(:delete)
|
||||
.with('sub_12345')
|
||||
.returns(customer: 'c_123', plan: { product: { id: 'pr_34578' } })
|
||||
|
||||
expect {
|
||||
delete "/patrons/admin/subscriptions/sub_12345.json"
|
||||
}.to change { DiscoursePatrons::Customer.count }.by(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user