You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.4 KiB
Python
77 lines
2.4 KiB
Python
# from api.store import Store, factory
|
|
import api.store as store
|
|
import unittest
|
|
import json
|
|
import stripe
|
|
|
|
class TestStore(unittest.TestCase):
|
|
def setUp(self):
|
|
stripe.api_key = 'sk_test_I16uOM1ZfGALSc03AF0xqN2z'
|
|
def test_getPlans(self):
|
|
|
|
|
|
mystore = store.factory.instance(name='music')
|
|
self.assertTrue(mystore.get.plans())
|
|
|
|
def test_getProducts(self):
|
|
mystore = store.factory.instance(name='smart-top')
|
|
self.assertTrue(mystore.get.products())
|
|
def test_getUser(self):
|
|
"""
|
|
"""
|
|
email='nyemba@gmail.com'
|
|
mystore = store.factory.instance(name='music',email=email)
|
|
# mystore.init('nyemba@gmail.com')
|
|
# self.assertTrue(mystore.get.user.info())
|
|
user = mystore.user
|
|
user.init(email)
|
|
|
|
self.assertTrue(user.info())
|
|
def test_UserPlan(self):
|
|
"""
|
|
For a given product we would like to know what our user's plan is
|
|
"""
|
|
email = 'nyemba@gmail.com'
|
|
mystore = store.factory.instance(name='music',email=email)
|
|
user = mystore.user
|
|
user.init (email)
|
|
user.plan.info()
|
|
|
|
|
|
def _test_CancelUserPlan(self) :
|
|
email = 'nyemba@gmail.com'
|
|
mystore = store.factory.instance(name='music',email=email)
|
|
user = mystore.user
|
|
# mystore.init(email)
|
|
# plan = mystore.get.user.plan()
|
|
user.init(email)
|
|
plan = user.plan.info()
|
|
|
|
self.assertTrue ('id' in plan)
|
|
mystore.plan.cancel(id=plan['id'])
|
|
self.assertTrue ('id' in plan)
|
|
|
|
# pass
|
|
pass
|
|
def test_SubscribeToPlan(self):
|
|
email = 'nyemba@gmail.com'
|
|
mystore = store.factory.instance(name='music',email=email)
|
|
user = mystore.user
|
|
user.init(email)
|
|
plans = mystore.get.plans()
|
|
uplan = user.plan.info()
|
|
# uplan = mystore.get.user.plan()
|
|
ids = [plan['id'] for plan in plans]
|
|
if not uplan :
|
|
id = [item for item in plans if item['amount'] == 0]
|
|
id = id[0]['id']
|
|
mystore.plan.subscribe(id=id,email=email)
|
|
pass
|
|
else:
|
|
|
|
new_id = list(set(ids) - set( [uplan['id']] ))[0]
|
|
mystore.plan.upgrade(new_id,email)
|
|
# mystore.plan.subscribe(new_id,email)
|
|
pass
|
|
if __name__ == '__main__':
|
|
unittest.main() |