updated project api members list

This commit is contained in:
Ullauri 2018-12-25 23:35:29 -05:00
parent 50eabdeb97
commit b00a8b1f94
2 changed files with 17 additions and 21 deletions

View file

@ -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]

View file

@ -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'))