X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Ftests%2F__init__.py;h=79de0195e99cd1c0acd7427958b35de768fef66c;hb=d24e23a6a01ed245e204c8c29fc10a5fbc6f8bc4;hp=483da968296feaf5c8b83f082fa6989a5d14a06e;hpb=0085e997d7084752d219a07ff83dc1a9536a8db7;p=bluechips.git diff --git a/bluechips/tests/__init__.py b/bluechips/tests/__init__.py index 483da96..79de019 100644 --- a/bluechips/tests/__init__.py +++ b/bluechips/tests/__init__.py @@ -15,10 +15,15 @@ from paste.script.appinstall import SetupCommand from pylons import config from routes import url_for -from bluechips import model +import bluechips.model from bluechips.model import meta +from bluechips.model.types import Currency -__all__ = ['url_for', 'TestController', 'sample_users'] +import random + +__all__ = ['url_for', 'TestController', + 'createUsers', 'createExpenditures', + 'deleteUsers', 'deleteExpenditures'] sample_users = [u'Alice', u'Bob', u'Charlie', u'Dave', u'Eve'] @@ -26,11 +31,8 @@ def setUpPackage(): # Invoke websetup with the current config file SetupCommand('setup-app').run([config['__file__']]) - test_user = model.User() - test_user.username = u'root' - test_user.name = u'Charlie Root' - test_user.resident = True - meta.Session.save(test_user) + test_user = bluechips.model.User(u'root', u'Charlie Root', False) + meta.Session.add(test_user) meta.Session.commit() def tearDownPackage(): @@ -42,3 +44,28 @@ class TestController(TestCase): wsgiapp = loadapp('config:%s' % config['__file__']) self.app = TestApp(wsgiapp) TestCase.__init__(self, *args, **kwargs) + +def createUsers(n=None): + if n is None: + n = random.randint(2, 5) + for i in xrange(n): + u = bluechips.model.User(sample_users[i].lower(), resident=True) + meta.Session.add(u) + meta.Session.commit() + +def createExpenditures(n=None): + if n is None: + n = random.randint(5, 20) + users = meta.Session.query(bluechips.model.User).all() + for i in xrange(n): + e = bluechips.model.Expenditure(random.choice(users), + Currency(random.randint(1000, 100000))) + meta.Session.add(e) + e.even_split() + meta.Session.commit() + +def deleteUsers(): + map(meta.Session.delete, meta.Session.query(bluechips.model.User)) + +def deleteExpenditures(): + map(meta.Session.delete, meta.Session.query(bluechips.model.Expenditure))