astech: add endpoint to get view columns (#82416)
This commit is contained in:
parent
94184d9c5e
commit
2bbc835787
|
@ -454,3 +454,24 @@ class ASTech(BaseResource, HTTPResource):
|
|||
view['id'] = view['apivId']
|
||||
view['text'] = view['apivNom']
|
||||
return {'data': astech_views}
|
||||
|
||||
@endpoint(
|
||||
name='get-view-columns',
|
||||
display_order=2,
|
||||
description=_('Get view columns'),
|
||||
display_category=_('Referential'),
|
||||
parameters={
|
||||
'code': {
|
||||
'description': _('View code'),
|
||||
'example_value': 'ASTECH_BIENS',
|
||||
},
|
||||
},
|
||||
)
|
||||
def get_view_columns(self, request, code):
|
||||
endpoint = 'apicli/data/%s/columns' % code
|
||||
results = self.call(endpoint)
|
||||
columns = results.get('columns', [])
|
||||
for column in columns:
|
||||
column['id'] = column['code']
|
||||
column['text'] = column['des']
|
||||
return {'data': columns}
|
||||
|
|
|
@ -83,6 +83,11 @@ VIEWS_RESPONSE = """
|
|||
{"apivId":"1","apivCode":"ASTECH_BIENS","apivNom":"Liste des biens"}]}
|
||||
"""
|
||||
|
||||
COLUMNS_RESPONSE = """
|
||||
{"columns":[{"code":"BIEN_ID","des":"Identifiant du bien AS-TECH","type":"NUM","length":"18"},
|
||||
{"code":"ANCETREID","des":"Identifiant de l\u0027anc\u00eatre du bien","type":"NUM","length":""}]}
|
||||
"""
|
||||
|
||||
|
||||
@mock.patch('passerelle.utils.Request.request')
|
||||
def test_connections(mocked_request, app, setup):
|
||||
|
@ -459,3 +464,22 @@ def test_list_views(mocked_auth, mocked_request, app, setup):
|
|||
for r in response.json['data']:
|
||||
assert 'id' in r
|
||||
assert 'text' in r
|
||||
|
||||
|
||||
@mock.patch('passerelle.utils.Request.request')
|
||||
@mock.patch('passerelle.apps.astech.models.ASTech.get_authorization')
|
||||
def test_view_columns(mocked_auth, mocked_request, app, setup):
|
||||
mocked_auth.return_value = {'access_token': '4242', 'connection_id': 'TEST'}
|
||||
|
||||
endpoint = reverse(
|
||||
'generic-endpoint',
|
||||
kwargs={'connector': 'astech', 'slug': setup.slug, 'endpoint': 'get-view-columns'},
|
||||
)
|
||||
mocked_request.return_value = tests.utils.FakedResponse(content=COLUMNS_RESPONSE, status_code=200)
|
||||
response = app.get(endpoint, params={'code': 'ASTECH_BIENS'})
|
||||
assert mocked_request.call_args[0][0] == 'get'
|
||||
assert mocked_request.call_args[0][1].endswith('apicli/data/ASTECH_BIENS/columns')
|
||||
assert response.json['data']
|
||||
for r in response.json['data']:
|
||||
assert 'id' in r
|
||||
assert 'text' in r
|
||||
|
|
Loading…
Reference in New Issue