mirror of
https://github.com/gooba42/adventureland.git
synced 2026-10-15 02:49:28 -05:00
117 lines
3.3 KiB
Python
Executable File
117 lines
3.3 KiB
Python
Executable File
import datetime
|
|
import time
|
|
|
|
import libraries.stripe
|
|
from libraries.stripe.test.helper import (
|
|
StripeResourceTest, DUMMY_PLAN
|
|
)
|
|
|
|
|
|
class SubscriptionTest(StripeResourceTest):
|
|
|
|
def test_list_subscriptions(self):
|
|
libraries.stripe.Subscription.all(customer="test_cus", plan=DUMMY_PLAN['id'],
|
|
limit=3)
|
|
self.requestor_mock.request.assert_called_with(
|
|
'get',
|
|
'/v1/subscriptions',
|
|
{
|
|
'customer': 'test_cus',
|
|
'plan': DUMMY_PLAN['id'],
|
|
'limit': 3,
|
|
},
|
|
)
|
|
|
|
def test_retrieve_subscription(self):
|
|
libraries.stripe.Subscription.retrieve('test_sub')
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'get',
|
|
'/v1/subscriptions/test_sub',
|
|
{},
|
|
None
|
|
)
|
|
|
|
def test_create_subscription(self):
|
|
libraries.stripe.Subscription.create(customer="test_cus", plan=DUMMY_PLAN['id'])
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'post',
|
|
'/v1/subscriptions',
|
|
{
|
|
'customer': 'test_cus',
|
|
'plan': DUMMY_PLAN['id']
|
|
},
|
|
None
|
|
)
|
|
|
|
def test_update_subscription(self):
|
|
subscription = libraries.stripe.Subscription.construct_from({
|
|
'id': 'test_sub',
|
|
'customer': 'test_cus',
|
|
}, 'api_key')
|
|
|
|
trial_end_dttm = datetime.datetime.now() + datetime.timedelta(days=15)
|
|
trial_end_int = int(time.mktime(trial_end_dttm.timetuple()))
|
|
|
|
subscription.plan = DUMMY_PLAN['id']
|
|
subscription.trial_end = trial_end_int
|
|
subscription.save()
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'post',
|
|
'/v1/subscriptions/test_sub',
|
|
{
|
|
'plan': DUMMY_PLAN['id'],
|
|
'trial_end': trial_end_int
|
|
},
|
|
None
|
|
)
|
|
|
|
def test_modify_subscription(self):
|
|
trial_end_dttm = datetime.datetime.now() + datetime.timedelta(days=15)
|
|
trial_end_int = int(time.mktime(trial_end_dttm.timetuple()))
|
|
|
|
libraries.stripe.Subscription.modify('test_sub',
|
|
plan=DUMMY_PLAN['id'],
|
|
trial_end=trial_end_int)
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'post',
|
|
'/v1/subscriptions/test_sub',
|
|
{
|
|
'plan': DUMMY_PLAN['id'],
|
|
'trial_end': trial_end_int
|
|
},
|
|
None
|
|
)
|
|
|
|
def test_delete_subscription(self):
|
|
subscription = libraries.stripe.Subscription.construct_from({
|
|
'id': 'test_sub',
|
|
'customer': 'test_cus',
|
|
}, 'api_key')
|
|
|
|
subscription.delete()
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'delete',
|
|
'/v1/subscriptions/test_sub',
|
|
{},
|
|
None
|
|
)
|
|
|
|
def test_delete_subscription_discount(self):
|
|
subscription = libraries.stripe.Subscription.construct_from({
|
|
'id': 'test_sub',
|
|
'customer': 'test_cus',
|
|
'coupon': 'test_discount'
|
|
}, 'api_key')
|
|
|
|
subscription.delete_discount()
|
|
|
|
self.requestor_mock.request.assert_called_with(
|
|
'delete',
|
|
'/v1/subscriptions/test_sub/discount'
|
|
)
|