From 7b217f85be3b8a1ea37477a989d845043eae388c Mon Sep 17 00:00:00 2001 From: Scott Torborg Date: Tue, 3 Nov 2009 20:33:05 -1000 Subject: [PATCH] fleshed out functional tests more --- bluechips/tests/functional/test_spend.py | 69 +++++++++++++++++++++ bluechips/tests/functional/test_transfer.py | 38 +++++++----- 2 files changed, 90 insertions(+), 17 deletions(-) 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() diff --git a/bluechips/tests/functional/test_transfer.py b/bluechips/tests/functional/test_transfer.py index f6ed5a8..36a6bb8 100644 --- a/bluechips/tests/functional/test_transfer.py +++ b/bluechips/tests/functional/test_transfer.py @@ -30,35 +30,37 @@ class TestTransferController(TestController): response = response.follow() response.mustcontain('Transfer updated.') - transfer = meta.Session.query(model.Transfer).\ + t = meta.Session.query(model.Transfer).\ order_by(model.Transfer.id.desc()).first() - assert transfer.debtor.name == u'Rich Scheme' - assert transfer.creditor.name == u'Ben Bitdiddle' - assert transfer.amount == 12345 - assert transfer.date == today - assert transfer.description == u'A test transfer from Rich to Ben' + assert t.debtor.name == u'Rich Scheme' + assert t.creditor.name == u'Ben Bitdiddle' + assert t.amount == 12345 + assert t.date == today + assert t.description == u'A test transfer from Rich to Ben' + meta.Session.delete(t) + meta.Session.commit() def test_edit(self): user_rich = meta.Session.query(model.User).\ filter_by(name=u'Rich Scheme').one() user_ben = meta.Session.query(model.User).\ filter_by(name=u'Ben Bitdiddle').one() - transfer = model.Transfer(user_rich, user_ben, 12345) - transfer.description = u'Test transfer' - meta.Session.add(transfer) + t = model.Transfer(user_rich, user_ben, 12345) + t.description = u'Test transfer' + meta.Session.add(t) meta.Session.commit() response = self.app.get(url_for(controller='transfer', action='edit', - id=transfer.id)) + id=t.id)) response.mustcontain('Edit a Transfer') form = response.form - assert int(form['debtor_id'].value) == transfer.debtor_id - assert int(form['creditor_id'].value) == transfer.creditor_id - assert Decimal(form['amount'].value) * 100 == transfer.amount - assert form['date'].value == transfer.date.strftime('%m/%d/%Y') - assert form['description'].value == transfer.description + assert int(form['debtor_id'].value) == t.debtor_id + assert int(form['creditor_id'].value) == t.creditor_id + assert Decimal(form['amount'].value) * 100 == t.amount + assert form['date'].value == t.date.strftime('%m/%d/%Y') + assert form['description'].value == t.description form['description'] = u'A new description' @@ -66,6 +68,8 @@ class TestTransferController(TestController): response = response.follow() response.mustcontain('Transfer updated.') - transfer = meta.Session.query(model.Transfer).\ + t = meta.Session.query(model.Transfer).\ order_by(model.Transfer.id.desc()).first() - assert transfer.description == u'A new description' + assert t.description == u'A new description' + meta.Session.delete(t) + meta.Session.commit() -- 2.45.2