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
|
- Dockerfile
|
||||||
- Documentation explaining the upgrade process
|
- Documentation explaining the upgrade process
|
||||||
|
|
||||||
|
Fixed
|
||||||
|
=====
|
||||||
|
|
||||||
|
- Fix `PUT api/project/:code/members/:id` API endpoint (#295)
|
||||||
|
|
||||||
Removed
|
Removed
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ class MemberHandler(object):
|
||||||
return 400, form.errors
|
return 400, form.errors
|
||||||
|
|
||||||
def update(self, project, member_id):
|
def update(self, project, member_id):
|
||||||
form = MemberForm(project, meta={'csrf': False})
|
form = MemberForm(project, meta={'csrf': False}, edit=True)
|
||||||
if form.validate():
|
if form.validate():
|
||||||
member = Person.query.get(member_id, project)
|
member = Person.query.get(member_id, project)
|
||||||
form.save(project, member)
|
form.save(project, member)
|
||||||
|
|
|
@ -1155,7 +1155,8 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
# edit this member
|
# edit this member
|
||||||
req = self.client.put("/api/projects/raclette/members/1", data={
|
req = self.client.put("/api/projects/raclette/members/1", data={
|
||||||
"name": "Fred"
|
"name": "Fred",
|
||||||
|
"weight": 2,
|
||||||
}, headers=self.get_auth("raclette"))
|
}, headers=self.get_auth("raclette"))
|
||||||
|
|
||||||
self.assertStatus(200, req)
|
self.assertStatus(200, req)
|
||||||
|
@ -1166,6 +1167,15 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
self.assertStatus(200, req)
|
self.assertStatus(200, req)
|
||||||
self.assertEqual("Fred", json.loads(req.data.decode('utf-8'))["name"])
|
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
|
# delete a member
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue