X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Ftests%2Ffunctional%2Ftest_spend.py;h=940a015d0300c9d348704cfcf77525c993638411;hb=7b217f85be3b8a1ea37477a989d845043eae388c;hp=2b6603a8a778e0c69ff066f80f6c756843b84741;hpb=237aafc5731be090e003a15c146d967f890b870f;p=bluechips.git diff --git a/bluechips/tests/functional/test_spend.py b/bluechips/tests/functional/test_spend.py index 2b6603a..940a015 100644 --- a/bluechips/tests/functional/test_spend.py +++ b/bluechips/tests/functional/test_spend.py @@ -1,7 +1,76 @@ +from datetime import date from bluechips.tests import * +from bluechips import model +from bluechips.model import meta + class TestSpendController(TestController): def test_index(self): response = self.app.get(url_for(controller='spend')) # Test response... + response.mustcontain('Add a New Expenditure') + form = response.form + + user = meta.Session.query(model.User).\ + filter_by(name=u'Charlie Root').one() + + form['spender_id'] = user.id + form['amount'] = '66.78' + # Make sure date is today. + today = date.today() + assert form['date'].value == today.strftime('%m/%d/%Y') + form['description'] = 'A test expenditure' + form['shares-0.amount'] = '1' + form['shares-1.amount'] = '2' + form['shares-2.amount'] = '3' + form['shares-3.amount'] = '4' + + response = form.submit() + response = response.follow() + response.mustcontain('Expenditure updated.') + + e = meta.Session.query(model.Expenditure).\ + order_by(model.Expenditure.id.desc()).first() + assert e.spender.name == u'Charlie Root' + assert e.amount == 6678 + assert e.date == today + assert e.description == u'A test expenditure' + meta.Session.delete(e) + meta.Session.commit() + + # Test the split. + + + def test_edit(self): + user = meta.Session.query(model.User).\ + filter_by(name=u'Charlie Root').one() + e = model.Expenditure(user, 53812, u'Lemon bundt cake', None) + e.even_split() + meta.Session.add(e) + meta.Session.commit() + + response = self.app.get(url_for(controller='spend', + action='edit', + id=e.id)) + response.mustcontain('Edit an Expenditure') + form = response.form + + assert int(form['spender_id'].value) == user.id + assert form['amount'].value == '538.12' + assert form['date'].value == date.today().strftime('%m/%d/%Y') + assert form['description'].value == u'Lemon bundt cake' + + form['description'] = u'Updated bundt cake' + + # Update the split too. + + response = form.submit() + response = response.follow() + response.mustcontain('Expenditure updated.') + + e = meta.Session.query(model.Expenditure).\ + order_by(model.Expenditure.id.desc()).first() + assert e.description == u'Updated bundt cake' + meta.Session.delete(e) + meta.Session.commit()