mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-05 20:51:49 +02:00
updated project api members list
This commit is contained in:
parent
50eabdeb97
commit
b00a8b1f94
2 changed files with 17 additions and 21 deletions
|
@ -22,15 +22,21 @@ class Project(db.Model):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _to_serialize(self):
|
def _to_serialize(self):
|
||||||
return {
|
obj = {
|
||||||
"id": self.id,
|
"id": self.id,
|
||||||
"name": self.name,
|
"name": self.name,
|
||||||
"contact_email": self.contact_email,
|
"contact_email": self.contact_email,
|
||||||
"members": self.members,
|
"members": [],
|
||||||
"active_members": self.active_members,
|
|
||||||
"balance": self.balance,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
balance = self.balance
|
||||||
|
for member in self.members:
|
||||||
|
member_obj = member._to_serialize
|
||||||
|
member_obj['balance'] = balance.get(member.id, 0)
|
||||||
|
obj['members'].append(member_obj)
|
||||||
|
|
||||||
|
return obj
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def active_members(self):
|
def active_members(self):
|
||||||
return [m for m in self.members if m.activated]
|
return [m for m in self.members if m.activated]
|
||||||
|
|
|
@ -1084,12 +1084,10 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
self.assertTrue(200, resp.status_code)
|
self.assertTrue(200, resp.status_code)
|
||||||
expected = {
|
expected = {
|
||||||
"active_members": [],
|
"members": [],
|
||||||
"name": "raclette",
|
"name": "raclette",
|
||||||
"contact_email": "raclette@notmyidea.org",
|
"contact_email": "raclette@notmyidea.org",
|
||||||
"members": [],
|
|
||||||
"id": "raclette",
|
"id": "raclette",
|
||||||
"balance": {},
|
|
||||||
}
|
}
|
||||||
decoded_resp = json.loads(resp.data.decode('utf-8'))
|
decoded_resp = json.loads(resp.data.decode('utf-8'))
|
||||||
self.assertDictEqual(decoded_resp, expected)
|
self.assertDictEqual(decoded_resp, expected)
|
||||||
|
@ -1108,12 +1106,10 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
expected = {
|
expected = {
|
||||||
"active_members": [],
|
|
||||||
"name": "The raclette party",
|
"name": "The raclette party",
|
||||||
"contact_email": "yeah@notmyidea.org",
|
"contact_email": "yeah@notmyidea.org",
|
||||||
"members": [],
|
"members": [],
|
||||||
"id": "raclette",
|
"id": "raclette",
|
||||||
"balance": {},
|
|
||||||
}
|
}
|
||||||
decoded_resp = json.loads(resp.data.decode('utf-8'))
|
decoded_resp = json.loads(resp.data.decode('utf-8'))
|
||||||
self.assertDictEqual(decoded_resp, expected)
|
self.assertDictEqual(decoded_resp, expected)
|
||||||
|
@ -1449,21 +1445,15 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
headers=self.get_auth("raclette"))
|
headers=self.get_auth("raclette"))
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
"active_members": [
|
"members": [
|
||||||
{"activated": True, "id": 1, "name": "alexis", "weight": 1.0},
|
{"activated": True, "id": 1, "name": "alexis", "weight": 1.0, "balance": 20.0},
|
||||||
{"activated": True, "id": 2, "name": "freddy familly", "weight": 4.0},
|
{"activated": True, "id": 2, "name": "freddy familly", "weight": 4.0, "balance": -20.0},
|
||||||
{"activated": True, "id": 3, "name": "arnaud", "weight": 1.0}
|
{"activated": True, "id": 3, "name": "arnaud", "weight": 1.0, "balance": 0},
|
||||||
],
|
],
|
||||||
"balance": {"1": 20.0, "2": -20.0, "3": 0},
|
|
||||||
"contact_email": "raclette@notmyidea.org",
|
"contact_email": "raclette@notmyidea.org",
|
||||||
"id": "raclette",
|
"id": "raclette",
|
||||||
|
"name": "raclette",
|
||||||
"members": [
|
}
|
||||||
{"activated": True, "id": 1, "name": "alexis", "weight": 1.0},
|
|
||||||
{"activated": True, "id": 2, "name": "freddy familly", "weight": 4.0},
|
|
||||||
{"activated": True, "id": 3, "name": "arnaud", "weight": 1.0}
|
|
||||||
],
|
|
||||||
"name": "raclette"}
|
|
||||||
|
|
||||||
self.assertStatus(200, req)
|
self.assertStatus(200, req)
|
||||||
decoded_req = json.loads(req.data.decode('utf-8'))
|
decoded_req = json.loads(req.data.decode('utf-8'))
|
||||||
|
|
Loading…
Reference in a new issue