diff options
Diffstat (limited to 'ihatemoney/tests')
| -rw-r--r-- | ihatemoney/tests/tests.py | 58 |
1 files changed, 46 insertions, 12 deletions
diff --git a/ihatemoney/tests/tests.py b/ihatemoney/tests/tests.py index c13131c..3797f09 100644 --- a/ihatemoney/tests/tests.py +++ b/ihatemoney/tests/tests.py @@ -750,24 +750,24 @@ class BudgetTestCase(IhatemoneyTestCase): }) response = self.client.get("/raclette/statistics") - self.assertIn("<td>alexis</td>\n " - + "<td>20.00</td>\n " - + "<td>31.67</td>\n " + self.assertIn("<td>alexis</td>\n " + + "<td>20.00</td>\n " + + "<td>31.67</td>\n " + "<td>-11.67</td>\n", response.data.decode('utf-8')) - self.assertIn("<td>fred</td>\n " - + "<td>20.00</td>\n " - + "<td>5.83</td>\n " + self.assertIn("<td>fred</td>\n " + + "<td>20.00</td>\n " + + "<td>5.83</td>\n " + "<td>14.17</td>\n", response.data.decode('utf-8')) - self.assertIn("<td>tata</td>\n " - + "<td>0.00</td>\n " - + "<td>2.50</td>\n " + self.assertIn("<td>tata</td>\n " + + "<td>0.00</td>\n " + + "<td>2.50</td>\n " + "<td>-2.50</td>\n", response.data.decode('utf-8')) - self.assertIn("<td>toto</td>\n " - + "<td>0.00</td>\n " - + "<td>0.00</td>\n " + self.assertIn("<td>toto</td>\n " + + "<td>0.00</td>\n " + + "<td>0.00</td>\n " + "<td>0.00</td>\n", response.data.decode('utf-8')) @@ -1325,6 +1325,40 @@ class APITestCase(IhatemoneyTestCase): headers=self.get_auth("raclette")) self.assertStatus(404, req) + def test_statistics(self): + # create a project + self.api_create("raclette") + + # add members + self.api_add_member("raclette", "alexis") + self.api_add_member("raclette", "fred") + + # add a bill + req = self.client.post("/api/projects/raclette/bills", data={ + 'date': '2011-08-10', + 'what': 'fromage', + 'payer': "1", + 'payed_for': ["1", "2"], + 'amount': '25', + }, headers=self.get_auth("raclette")) + + # get the list of bills (should be empty) + req = self.client.get("/api/projects/raclette/statistics", + headers=self.get_auth("raclette")) + self.assertStatus(200, req) + self.assertEqual([ + {'balance': 12.5, + 'member': {'activated': True, 'id': 1, + 'name': 'alexis', 'weight': 1.0}, + 'paid': 25.0, + 'spent': 12.5}, + {'balance': -12.5, + 'member': {'activated': True, 'id': 2, + 'name': 'fred', 'weight': 1.0}, + 'paid': 0, + 'spent': 12.5}], + json.loads(req.data.decode('utf-8'))) + def test_username_xss(self): # create a project # self.api_create("raclette") |
