astregs: retrieve association label on linking (#36898)

This commit is contained in:
Serghei Mihai 2019-10-15 09:20:32 +02:00
parent 2d0cc69af0
commit 1c9317f68e
2 changed files with 16 additions and 2 deletions

View File

@ -427,6 +427,7 @@ class AstreGS(BaseResource):
def link(self, request, NameID, association_id):
link, created = Link.objects.get_or_create(resource=self, name_id=NameID,
association_id=association_id)
link.get_label()
return {'link': link.id, 'created': created, 'association_id': link.association_id}

View File

@ -171,13 +171,20 @@ def test_association_linking_means(mocked_post, mocked_get, client, connector, a
@mock.patch('passerelle.utils.Request.get', side_effect=search_wsdl_side_effect)
@mock.patch('passerelle.utils.Request.post', side_effect=contact_search_side_effect)
def test_link_user_to_association(mocked_post, mocked_get, client, connector, app):
def test_link_user_to_association(mocked_post, mocked_get, client, recherche_tiers_details_wsdl,
recherche_tiers_details_result, connector, app):
assert Link.objects.count() == 0
resp = app.get('/astregs/test/get-association-link-means', params={'association_id': '42'})
assert len(resp.json['data']) == 2
mocked_get.side_effect = None
mocked_post.side_effect = None
mocked_get.return_value = mock.Mock(content=recherche_tiers_details_wsdl)
mocked_post.return_value = mock.Mock(content=recherche_tiers_details_result, status_code=200,
headers={'Content-Type': 'text/xml'})
resp = app.get('/astregs/test/link', params={'association_id': '42', 'NameID': 'user_name_id'})
assert Link.objects.filter(name_id='user_name_id', association_id='42').count() == 1
link = Link.objects.get(name_id='user_name_id', association_id='42')
assert link.association_label == '50043390900016 - ASSOCIATION OMNISPORTS DES MONTS D AZUR'
assert resp.json['association_id'] == link.association_id
assert resp.json['link'] == link.pk
assert resp.json['created'] == True
@ -187,8 +194,14 @@ def test_link_user_to_association(mocked_post, mocked_get, client, connector, ap
@mock.patch('passerelle.utils.Request.get', side_effect=search_wsdl_side_effect)
@mock.patch('passerelle.utils.Request.post', side_effect=contact_search_side_effect)
def test_unlink_user_from_association(mocked_post, mocked_get, connector, app):
def test_unlink_user_from_association(mocked_post, mocked_get, connector, recherche_tiers_details_wsdl,
recherche_tiers_details_result, app):
resp = app.get('/astregs/test/get-association-link-means', params={'association_id': '42'})
mocked_get.side_effect = None
mocked_post.side_effect = None
mocked_get.return_value = mock.Mock(content=recherche_tiers_details_wsdl)
mocked_post.return_value = mock.Mock(content=recherche_tiers_details_result, status_code=200,
headers={'Content-Type': 'text/xml'})
resp = app.get('/astregs/test/link', params={'association_id': '42', 'NameID': 'user_name_id'})
resp = app.get('/astregs/test/unlink', params={'NameID': 'user_name_id', 'association_id': '42'})
assert resp.json['deleted']