toulouse-maelis: add DUI to already linked error (#86594)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2024-02-06 11:40:15 +01:00 committed by Nicolas Roche
parent d05217cdc0
commit c3b5707ea6
2 changed files with 34 additions and 4 deletions

View File

@ -1704,7 +1704,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
)
def create_family(self, request, post_data, NameID=None):
if self.link_set.filter(name_id=NameID).exists():
raise APIError('User already linked to family')
raise APIError(
'User already linked to family',
extra_dict={'link': self.link_set.filter(name_id=NameID).values()[0]},
)
self.check_and_adapt_family_payload_in_referential(post_data)
response = self.call('Family', 'createFamily', **post_data)
@ -1753,7 +1756,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
)
def create_rl1(self, request, post_data, NameID=None):
if self.link_set.filter(name_id=NameID).exists():
raise APIError('User already linked to family')
raise APIError(
'User already linked to family',
extra_dict={'link': self.link_set.filter(name_id=NameID).values()[0]},
)
self.check_and_adapt_create_rl1_payload_in_referential(post_data)
response = self.call('Family', 'createFamily', **post_data)

View File

@ -2704,7 +2704,7 @@ def test_create_family_empty_referential_key_error(con, app):
assert resp.json['err_desc'] == "category: '' does not match '.+'"
def test_create_family_already_linked_error(con, app):
def test_create_family_already_linked_error(con, app, freezer):
url = get_endpoint('create-family')
params = {
'category': 'ACCEUI',
@ -2719,10 +2719,22 @@ def test_create_family_already_linked_error(con, app):
'rl1/adresse/zipcode': '75014',
}
freezer.move_to('2024-02-07 10:21:00')
Link.objects.create(resource=con, family_id='1312', name_id='local')
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User already linked to family'
link = resp.json['link']
link['id'] = 'xx'
link['resource_id'] = 'yy'
assert link == {
'id': 'xx',
'resource_id': 'yy',
'name_id': 'local',
'family_id': '1312',
'created': '2024-02-07T10:21:00Z',
'updated': '2024-02-07T10:21:00Z',
}
def test_create_family_maelis_error(family_service, con, app):
@ -3051,7 +3063,7 @@ def test_create_rl1_empty_referential_key_error(con, app):
assert resp.json['err_desc'] == "rl1/civility: '' does not match '.+'"
def test_create_rl1_already_linked_error(con, app):
def test_create_rl1_already_linked_error(con, app, freezer):
url = get_endpoint('create-rl1')
params = {
'category': 'ACCEUI',
@ -3066,10 +3078,22 @@ def test_create_rl1_already_linked_error(con, app):
'rl1/adresse/zipcode': '75014',
}
freezer.move_to('2024-02-07 10:21:00')
Link.objects.create(resource=con, family_id='1312', name_id='local')
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User already linked to family'
link = resp.json['link']
link['id'] = 'xx'
link['resource_id'] = 'yy'
assert link == {
'id': 'xx',
'resource_id': 'yy',
'name_id': 'local',
'family_id': '1312',
'created': '2024-02-07T10:21:00Z',
'updated': '2024-02-07T10:21:00Z',
}
def test_create_rl1_wrong_referential_key_error(con, app):