opendatasoft: copy id and text original fields (#54768)
This commit is contained in:
parent
d897dc0f55
commit
e741d458ec
|
@ -101,6 +101,8 @@ class OpenDataSoft(BaseResource):
|
|||
for record in result_response.json().get('records'):
|
||||
data = {}
|
||||
for key, value in record.get('fields').items():
|
||||
if key in ('id', 'text'):
|
||||
key = 'original_%s' % key
|
||||
data[key] = value
|
||||
data['id'] = record.get('recordid')
|
||||
data['text'] = render_to_string(text_template, data).strip()
|
||||
|
|
|
@ -318,3 +318,24 @@ def test_opendatasoft_query_unicity(admin_user, app, connector, query):
|
|||
resp.form['name'] = 'Foo Bar'
|
||||
resp = resp.form.submit()
|
||||
assert resp.status_code == 302
|
||||
|
||||
|
||||
@mock.patch('passerelle.utils.Request.get')
|
||||
def test_query_q_having_original_fields(mocked_get, app, query):
|
||||
endpoint = '/opendatasoft/my_connector/q/my_query/'
|
||||
params = {
|
||||
'id': '7cafcd5c692773e8b863587b2d38d6be82e023d8',
|
||||
}
|
||||
content = json.loads(FAKED_CONTENT_ID_SEARCH)
|
||||
content['records'][0]['fields']['id'] = 'original id'
|
||||
content['records'][0]['fields']['text'] = 'original text'
|
||||
query.text_template = '{{id}} - {{original_id}} - {{original_text}}'
|
||||
query.save()
|
||||
mocked_get.return_value = utils.FakedResponse(content=json.dumps(content), status_code=200)
|
||||
resp = app.get(endpoint, params=params, status=200)
|
||||
assert resp.json['data'][0]['original_id'] == 'original id'
|
||||
assert resp.json['data'][0]['original_text'] == 'original text'
|
||||
assert (
|
||||
resp.json['data'][0]['text']
|
||||
== "7cafcd5c692773e8b863587b2d38d6be82e023d8 - original id - original text"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue