X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Ftests%2Ffunctional%2Ftest_transfer.py;h=69eba4668b27fbe4579d3b64d00fb7b28d24b322;hb=9cc05ca9160a9432d037afb9cc22c511e2542947;hp=d9032a45401e83dc107d582b87e1f3349d81bdbd;hpb=c298a9f4e8c4ed9a7f1735ae0998fca0dd346510;p=bluechips.git diff --git a/bluechips/tests/functional/test_transfer.py b/bluechips/tests/functional/test_transfer.py index d9032a4..69eba46 100644 --- a/bluechips/tests/functional/test_transfer.py +++ b/bluechips/tests/functional/test_transfer.py @@ -1,7 +1,9 @@ from datetime import date from decimal import Decimal -from bluechips.tests import * +from webhelpers.html.secure_form import token_key + +from bluechips.tests import * from bluechips import model from bluechips.model import meta @@ -70,6 +72,44 @@ class TestTransferController(TestController): order_by(model.Transfer.id.desc()).first() assert t.description == u'A new description' + def test_edit_nonexistent(self): + response = self.app.get(url_for(controller='transfer', + action='edit', + id=21424), status=404) + + def test_update_nonexistent(self): + response = self.app.get(url_for(controller='transfer', + action='edit')) + params = self.sample_params.copy() + params[token_key] = response.form[token_key].value + self.app.post(url_for(controller='transfer', + action='update', + id=21424), + params=params, + status=404) + + def test_xsrf_protection(self): + self.app.post(url_for(controller='transfer', + action='update'), + params=self.sample_params, + status=403) + + + def test_update_get_redirects(self): + response = self.app.get(url_for(controller='transfer', + action='update'), + status=302) + assert (dict(response.headers)['location'] == + url_for(controller='transfer', action='edit', qualified=True)) + + def setUp(self): + self.sample_params = { + 'debtor_id': '1', + 'creditor_id': '2', + 'amount': '33.98', + 'date': '4/1/2007', + 'description': 'Example transfer params.'} + def tearDown(self): transfers = meta.Session.query(model.Transfer).all() for t in transfers: