X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Ftests%2F__init__.py;h=79de0195e99cd1c0acd7427958b35de768fef66c;hb=d24e23a6a01ed245e204c8c29fc10a5fbc6f8bc4;hp=c1d5e8483185bd6b45bd4e4707c5698bed678479;hpb=9f118f97f97d0cafd359f7f5e11d7931922032b7;p=bluechips.git diff --git a/bluechips/tests/__init__.py b/bluechips/tests/__init__.py index c1d5e84..79de019 100644 --- a/bluechips/tests/__init__.py +++ b/bluechips/tests/__init__.py @@ -15,25 +15,27 @@ 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'] -def setup(): +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 teardown(): +def tearDownPackage(): meta.metadata.drop_all() class TestController(TestCase): @@ -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))