diff options
| author | Alexis Metaireau <alexis@notmyidea.org> | 2011-09-14 22:03:18 +0200 |
|---|---|---|
| committer | Alexis Metaireau <alexis@notmyidea.org> | 2011-09-14 22:03:18 +0200 |
| commit | 20ab40690d74befcd8fc75f24f301759840bf43a (patch) | |
| tree | d92319ad0f5cc6b6b506f8c918fd30549eb81b69 /budget/tests.py | |
| parent | 5721be1d15ba02e47f98fb9a487248adb297a082 (diff) | |
| download | ihatemoney-mirror-20ab40690d74befcd8fc75f24f301759840bf43a.zip ihatemoney-mirror-20ab40690d74befcd8fc75f24f301759840bf43a.tar.gz ihatemoney-mirror-20ab40690d74befcd8fc75f24f301759840bf43a.tar.bz2 | |
Provide a way to edit a project. Fix #17
Diffstat (limited to 'budget/tests.py')
| -rw-r--r-- | budget/tests.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/budget/tests.py b/budget/tests.py index 96ed042..7296803 100644 --- a/budget/tests.py +++ b/budget/tests.py @@ -30,9 +30,8 @@ class TestCase(unittest.TestCase): def login(self, project, password=None, test_client=None): password = password or project - test_client = test_client or self.app - return test_client.post('/authenticate', data=dict( + return self.app.post('/authenticate', data=dict( id=project, password=password), follow_redirects=True) def post_project(self, name): @@ -307,6 +306,31 @@ class BudgetTestCase(TestCase): balance = models.Project.query.get("raclette").get_balance() self.assertEqual(set(balance.values()), set([19.0, -19.0])) + def test_edit_project(self): + # A project should be editable + + self.post_project("raclette") + new_data = { + 'name': 'Super raclette party!', + 'contact_email': 'alexis@notmyidea.org', + 'password': 'didoudida' + } + + resp = self.app.post("/raclette/edit", data=new_data, + follow_redirects=True) + self.assertEqual(resp.status_code, 200) + project = models.Project.query.get("raclette") + + for key, value in new_data.items(): + self.assertEqual(getattr(project, key), value, key) + + # Editing a project with a wrong email address should fail + new_data['contact_email'] = 'wrong_email' + + resp = self.app.post("/raclette/edit", data=new_data, + follow_redirects=True) + self.assertIn("Invalid email address", resp.data) + if __name__ == "__main__": unittest.main() |
