astech: forward natifs parameters on demand creation (#69665)

This commit is contained in:
Serghei Mihai 2022-09-28 12:05:07 +02:00
parent 69bffeb84f
commit 982e35a0e7
2 changed files with 13 additions and 0 deletions

View File

@ -377,6 +377,12 @@ class ASTech(BaseResource, HTTPResource):
'sgesdemCpladr3': post_data.get('address3') or '',
}
}
# forward payload parameters matching APIs params name pattern
for key, value in post_data.items():
if key.startswith('sgesdem'):
payload['interface_citoyenne_demande'][key] = value
create = self.call('apicli/interface-citoyenne/demande-intervention', json=payload)
if not isinstance(create, dict) or not create.get('sgesdemNum'):
raise APIError('no sgesdemNum in response: %s' % create)

View File

@ -332,6 +332,13 @@ def test_create_demand(mocked_auth, mocked_request, app, setup):
assert response.json['err'] == 1
assert response.json['err_desc'].startswith('no sgesdemNum in response: ')
# send AsTech named params
demand['sgesdemArbo'] = 1
demand['sgesdemAff'] = 'E'
response = app.post_json(endpoint, params=demand, status=200)
assert mocked_request.call_args[1]['json']['interface_citoyenne_demande']['sgesdemArbo'] == 1
assert mocked_request.call_args[1]['json']['interface_citoyenne_demande']['sgesdemAff'] == 'E'
# test invalid requests
response = app.get(endpoint, status=405)
response = app.post_json(endpoint, status=400)