mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-05 12:41:49 +02:00
Fix PUT api/project/:code/members/:id
Before that commit, every PUT *must* change the name of the members, so that was : - no idempotence, - no ability to change only weight fix #295
This commit is contained in:
parent
0189313c1f
commit
9e2a4ce21b
3 changed files with 17 additions and 2 deletions
|
@ -37,6 +37,11 @@ Added
|
|||
- Dockerfile
|
||||
- Documentation explaining the upgrade process
|
||||
|
||||
Fixed
|
||||
=====
|
||||
|
||||
- Fix `PUT api/project/:code/members/:id` API endpoint (#295)
|
||||
|
||||
Removed
|
||||
=======
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ class MemberHandler(object):
|
|||
return 400, form.errors
|
||||
|
||||
def update(self, project, member_id):
|
||||
form = MemberForm(project, meta={'csrf': False})
|
||||
form = MemberForm(project, meta={'csrf': False}, edit=True)
|
||||
if form.validate():
|
||||
member = Person.query.get(member_id, project)
|
||||
form.save(project, member)
|
||||
|
|
|
@ -1155,7 +1155,8 @@ class APITestCase(IhatemoneyTestCase):
|
|||
|
||||
# edit this member
|
||||
req = self.client.put("/api/projects/raclette/members/1", data={
|
||||
"name": "Fred"
|
||||
"name": "Fred",
|
||||
"weight": 2,
|
||||
}, headers=self.get_auth("raclette"))
|
||||
|
||||
self.assertStatus(200, req)
|
||||
|
@ -1166,6 +1167,15 @@ class APITestCase(IhatemoneyTestCase):
|
|||
|
||||
self.assertStatus(200, req)
|
||||
self.assertEqual("Fred", json.loads(req.data.decode('utf-8'))["name"])
|
||||
self.assertEqual(2, json.loads(req.data.decode('utf-8'))["weight"])
|
||||
|
||||
# edit this member with same information
|
||||
# (test PUT idemopotence)
|
||||
req = self.client.put("/api/projects/raclette/members/1", data={
|
||||
"name": "Fred"
|
||||
}, headers=self.get_auth("raclette"))
|
||||
|
||||
self.assertStatus(200, req)
|
||||
|
||||
# delete a member
|
||||
|
||||
|
|
Loading…
Reference in a new issue