greco: add parameters to create endpoint (#51838)

This commit is contained in:
Nicolas Roche 2021-03-09 14:15:04 +01:00 committed by Frédéric Péters
parent 11d0a41ce9
commit 97a18c3018
2 changed files with 26 additions and 6 deletions

View File

@ -68,6 +68,8 @@ CREATION_SCHEMA = (
'localisation_voiesecante',
'localisation_codefuvvoiesecante',
'localisation_coderivolivoiesecante',
'localisation_xgeoloc',
'localisation_ygeoloc',
'transmetteur_civilite',
'transmetteur_nom',
'transmetteur_prenom',

View File

@ -18,6 +18,7 @@ import os
import pytest
import mock
import utils
import xml.etree.ElementTree as ET
from django.contrib.contenttypes.models import ContentType
from django.urls import reverse
@ -77,7 +78,6 @@ CREATE_PAYLOAD = {
'iddemande': 'MDFGDZRF',
'mediareponse': 'Mail',
'priorite': 'Normal',
'transmetteur_service': 'GNM',
'description': 'Nom de lusager\xa0:\n admin admin\n '
+ 'Carte\xa0:\n 45.75399700317313;4.846451997582336\nNuméro\xa0:\n '
+ '48\n Nom de la voie\xa0:\n Cours Gambetta\n Code postal\xa0:\n '
@ -92,15 +92,15 @@ CREATE_PAYLOAD = {
'beneficiaire_telephone': '',
'beneficiaire_mobile': '0612345678',
'beneficiaire_numerovoie': None,
'beneficiaire_voie': None,
'beneficiaire_complement': None,
'beneficiaire_codepostal': None,
'beneficiaire_commune': None,
'localisation_numerovoie': '48',
'localisation_voie': 'Cours Gambetta',
'localisation_codefuvvoie': '27679',
'localisation_commune': 'lyon 7',
'localisation_complement': None,
'localisation_xgeoloc': '50.89491',
'localisation_ygeoloc': '4.34151',
'transmetteur_service': 'GNM',
'transmetteur_nom': 'Vertommen',
'transmetteur_prenom': 'Agent 15',
}
@ -161,6 +161,24 @@ def test_greco_create_ok(mocked_post, app, conn):
url += '?apikey=grecokey'
resp = app.post_json(url, params=CREATE_PAYLOAD)
assert mocked_post.call_count == 2
def to_json(root):
tag = root.tag[root.tag.find('}') + 1 :]
if len(root) == 0: # text node
return {tag: root.text or None}
childs = {}
for child in root:
childs.update(to_json(child))
return {tag: childs or None}
call_args = to_json(ET.fromstring(mocked_post.call_args[1]['data']))
demande_creation = call_args['Envelope']['Body']['creer']['demandeCreation']
assert demande_creation['localisation']['xgeoloc'] == '50.89491'
assert demande_creation['localisation']['ygeoloc'] == '4.34151'
assert demande_creation['transmetteur']['nom'] == 'Vertommen'
assert demande_creation['transmetteur']['prenom'] == 'Agent 15'
assert not resp.json['err']
assert resp.json['data'] == {
'iddemande': 'MDFGDZRF',