aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/tests
diff options
context:
space:
mode:
authorJocelynDelalande <JocelynDelalande@users.noreply.github.com>2018-02-07 00:07:09 +0100
committerGitHub <noreply@github.com>2018-02-07 00:07:09 +0100
commit667e555d6726f1e27e8e5cdcfb79981b413571e9 (patch)
tree161190c22b4c6257d3a6839d610d865e0b63aa09 /ihatemoney/tests
parentcf7bd572489aad17bf60026c6618d0ff49f822a9 (diff)
parentb95ea7f4e68a0794a44e68621a8210bb4db43e67 (diff)
downloadihatemoney-mirror-667e555d6726f1e27e8e5cdcfb79981b413571e9.zip
ihatemoney-mirror-667e555d6726f1e27e8e5cdcfb79981b413571e9.tar.gz
ihatemoney-mirror-667e555d6726f1e27e8e5cdcfb79981b413571e9.tar.bz2
Merge pull request #324 from JocelynDelalande/jd-stats-api
Add an API endpoint for statistics
Diffstat (limited to 'ihatemoney/tests')
-rw-r--r--ihatemoney/tests/tests.py58
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")