greco: send an empty string when a param is missing (#77681) #252

Merged
ecazenave merged 1 commits from wip/77681-greco-rest-empty-string into main 2023-05-17 11:24:17 +02:00
2 changed files with 11 additions and 7 deletions

View File

@ -117,13 +117,15 @@ class FormData:
self.fields[fieldname] = value
if isinstance(value, datetime):
value = value.strftime('%Y-%m-%dT%H:%M:%S')
if '_' not in fieldname:
self.json[fieldname] = value
continue
key, subkey = fieldname.split('_')
if key not in self.json:
self.json[key] = {}
self.json[key][subkey] = value
else:
value = ''
if '_' not in fieldname:
self.json[fieldname] = value
continue
key, subkey = fieldname.split('_')
if key not in self.json:
self.json[key] = {}
self.json[key][subkey] = value
# https://dev.entrouvert.org/issues/75259
danger = self.json.get('danger', '')

View File

@ -246,6 +246,8 @@ def test_greco_rest_create_ok(app, rest_conn):
assert json_part.headers[b'Content-Type'] == b'application/json'
demande_creation = json.loads(json_part.content)
assert demande_creation['application'] == '69999'
assert demande_creation['beneficiaire']['fax'] == ''
Outdated
Review

Peut-être tester aussi que le beneficiaire_numerovoie envoyé explicitement en None est aussi présent et envoyé comme chaine vide... histoire de.

Peut-être tester aussi que le beneficiaire_numerovoie envoyé explicitement en None est aussi présent et envoyé comme chaine vide... histoire de.

Tenu compte.

Tenu compte.
assert demande_creation['beneficiaire']['numerovoie'] == ''
assert demande_creation['localisation']['xgeoloc'] == '50.89491'
assert demande_creation['localisation']['ygeoloc'] == '4.34151'
assert demande_creation['transmetteur']['nom'] == 'Vertommen'