mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-29 17:52:37 +02:00
Fix PUT api/project/:code/members/:id (#297)
* 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 * Remove redundant comment
This commit is contained in:
parent
0189313c1f
commit
4d359ce11b
3 changed files with 17 additions and 3 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
|
||||||
|
|
||||||
|
@ -1175,7 +1185,6 @@ class APITestCase(IhatemoneyTestCase):
|
||||||
self.assertStatus(200, req)
|
self.assertStatus(200, req)
|
||||||
|
|
||||||
# the list of members should be empty
|
# the list of members should be empty
|
||||||
# get the list of members (should be empty)
|
|
||||||
req = self.client.get("/api/projects/raclette/members",
|
req = self.client.get("/api/projects/raclette/members",
|
||||||
headers=self.get_auth("raclette"))
|
headers=self.get_auth("raclette"))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue