toulouse-maelis: pass basket line to delete into post body (#74193)
This commit is contained in:
parent
f8be527246
commit
e600299331
|
@ -84,3 +84,16 @@ SUBSCRIPTION_SCHEMA = {
|
|||
'end_date',
|
||||
],
|
||||
}
|
||||
|
||||
DELETE_BASKET_LINE_SCHEMA = {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'line_id': {
|
||||
'type': 'string',
|
||||
'pattern': '[A-Za-z0-9]+',
|
||||
},
|
||||
},
|
||||
'required': [
|
||||
'line_id',
|
||||
],
|
||||
}
|
||||
|
|
|
@ -2703,13 +2703,13 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
parameters={
|
||||
'NameID': {'description': 'Publik NameID'},
|
||||
'family_id': {'description': 'Numéro de DUI'},
|
||||
'line_id': {'description': 'Numéro de ligne du panier'},
|
||||
},
|
||||
methods=['post'],
|
||||
post={'request_body': {'schema': {'application/json': activity_schemas.DELETE_BASKET_LINE_SCHEMA}}},
|
||||
)
|
||||
def delete_basket_line(self, request, line_id, NameID=None, family_id=None):
|
||||
def delete_basket_line(self, request, post_data, NameID=None, family_id=None):
|
||||
family_id = family_id or self.get_link(NameID).family_id
|
||||
basket = self.get_basket_raw(family_id)
|
||||
line_id = post_data['line_id']
|
||||
if not basket or not basket.get('id'):
|
||||
raise APIError("no basket on '%s' family" % family_id)
|
||||
for line in basket['lignes']:
|
||||
|
|
|
@ -6084,12 +6084,13 @@ def test_delete_basket_line(activity_service, con, app):
|
|||
'deletePersonUnitBasket', get_xml_file('R_delete_person_unit_basket.xml')
|
||||
)
|
||||
url = get_endpoint('delete-basket-line')
|
||||
params = {'line_id': 'S10053203120'}
|
||||
|
||||
resp = app.post(url + '?family_id=311352&line_id=S10053203120')
|
||||
resp = app.post_json(url + '?family_id=311352', params=params)
|
||||
assert resp.json['err'] == 0
|
||||
Link.objects.create(resource=con, family_id='311352', name_id='local')
|
||||
|
||||
resp = app.post(url + '?NameID=local&line_id=S10053203120')
|
||||
resp = app.post_json(url + '?NameID=local', params=params)
|
||||
assert resp.json['err'] == 0
|
||||
assert len(resp.json['data']['lignes']) == 2
|
||||
assert 'S10053203120' not in [x['id'] for x in resp.json['data']['lignes']]
|
||||
|
@ -6097,7 +6098,8 @@ def test_delete_basket_line(activity_service, con, app):
|
|||
|
||||
def test_delete_basket_line_not_linked_error(con, app):
|
||||
url = get_endpoint('delete-basket-line')
|
||||
resp = app.post(url + '?NameID=local&line_id=S10053203120')
|
||||
params = {'line_id': 'S10053203120'}
|
||||
resp = app.post_json(url + '?NameID=local', params=params)
|
||||
assert resp.json['err'] == 1
|
||||
assert resp.json['err_desc'] == 'User not linked to family'
|
||||
|
||||
|
@ -6105,7 +6107,8 @@ def test_delete_basket_line_not_linked_error(con, app):
|
|||
def test_delete_basket_line_basket_not_found(activity_service, con, app):
|
||||
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket_empty.xml'))
|
||||
url = get_endpoint('delete-basket-line')
|
||||
resp = app.post(url + '?family_id=311352&line_id=S10053203120')
|
||||
params = {'line_id': 'S10053203120'}
|
||||
resp = app.post_json(url + '?family_id=311352', params=params)
|
||||
assert resp.json['err'] == 1
|
||||
assert resp.json['err_desc'] == "no basket on '311352' family"
|
||||
|
||||
|
@ -6113,7 +6116,8 @@ def test_delete_basket_line_basket_not_found(activity_service, con, app):
|
|||
def test_delete_basket_line_line_not_found(activity_service, con, app):
|
||||
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
|
||||
url = get_endpoint('delete-basket-line')
|
||||
resp = app.post(url + '?family_id=311352&line_id=plop')
|
||||
params = {'line_id': 'plop'}
|
||||
resp = app.post_json(url + '?family_id=311352', params=params)
|
||||
assert resp.json['err'] == 1
|
||||
assert resp.json['err_desc'] == "no 'plop' basket line on '311352' family"
|
||||
|
||||
|
|
Loading…
Reference in New Issue