From 2ec4fb589fdc0fa14297263fd9357c796689dee9 Mon Sep 17 00:00:00 2001 From: 0livd Date: Mon, 21 Aug 2017 23:51:32 +0200 Subject: Add a statistics tab (#257) --- ihatemoney/tests/tests.py | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'ihatemoney/tests/tests.py') diff --git a/ihatemoney/tests/tests.py b/ihatemoney/tests/tests.py index 86f11f3..ac3551c 100644 --- a/ihatemoney/tests/tests.py +++ b/ihatemoney/tests/tests.py @@ -627,6 +627,68 @@ class BudgetTestCase(IhatemoneyTestCase): response = self.client.get("/dashboard") self.assertEqual(response.status_code, 200) + def test_statistics_page(self): + self.post_project("raclette") + response = self.client.get("/raclette/statistics") + self.assertEqual(response.status_code, 200) + + def test_statistics(self): + self.post_project("raclette") + + # add members + self.client.post("/raclette/members/add", data={'name': 'alexis', 'weight': 2}) + self.client.post("/raclette/members/add", data={'name': 'fred'}) + self.client.post("/raclette/members/add", data={'name': 'tata'}) + # Add a member with a balance=0 : + self.client.post("/raclette/members/add", data={'name': 'toto'}) + + # create bills + self.client.post("/raclette/add", data={ + 'date': '2011-08-10', + 'what': 'fromage à raclette', + 'payer': 1, + 'payed_for': [1, 2, 3], + 'amount': '10.0', + }) + + self.client.post("/raclette/add", data={ + 'date': '2011-08-10', + 'what': 'red wine', + 'payer': 2, + 'payed_for': [1], + 'amount': '20', + }) + + self.client.post("/raclette/add", data={ + 'date': '2011-08-10', + 'what': 'delicatessen', + 'payer': 1, + 'payed_for': [1, 2], + 'amount': '10', + }) + + response = self.client.get("/raclette/statistics") + self.assertIn("alexis\n " + + "20.00\n " + + "31.67\n " + + "-11.67\n", + response.data.decode('utf-8')) + self.assertIn("fred\n " + + "20.00\n " + + "5.83\n " + + "14.17\n", + response.data.decode('utf-8')) + self.assertIn("tata\n " + + "0.00\n " + + "2.50\n " + + "-2.50\n", + response.data.decode('utf-8')) + self.assertIn("toto\n " + + "0.00\n " + + "0.00\n " + + "0.00\n", + response.data.decode('utf-8')) + def test_settle_page(self): self.post_project("raclette") response = self.client.get("/raclette/settle_bills") -- cgit v1.1