aboutsummaryrefslogtreecommitdiff
path: root/budget/tests.py
diff options
context:
space:
mode:
authorAlexis Metaireau <alexis@notmyidea.org>2011-09-14 22:03:18 +0200
committerAlexis Metaireau <alexis@notmyidea.org>2011-09-14 22:03:18 +0200
commit20ab40690d74befcd8fc75f24f301759840bf43a (patch)
treed92319ad0f5cc6b6b506f8c918fd30549eb81b69 /budget/tests.py
parent5721be1d15ba02e47f98fb9a487248adb297a082 (diff)
downloadihatemoney-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.py28
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()