/[openfoncier]/branches/5.5.0-develop/tests/300_task.robot
ViewVC logotype

Annotation of /branches/5.5.0-develop/tests/300_task.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9871 - (hide annotations)
Fri Jan 22 09:43:34 2021 UTC (4 years ago) by softime
Original Path: branches/4.14.0-develop/tests/300_task.robot
File size: 79525 byte(s)
* Fusion de la branche de développement 4.14.0-develop_pec_avis dans la branche d'intégration 4.14.0-develop

1 gmalvolti 9672 *** Settings ***
2 gmalvolti 9710 Documentation Test de task.
3 gmalvolti 9672
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9    
10    
11     *** Test Cases ***
12     Vérification de l'ajout des tasks creation_DA et creation_DI et depot_DI lors de l'ajout d'un dossier d'instruction.
13 gmalvolti 9694 [Documentation] Permet de vérifier le bon fonctionnement de la création des tâches lié à la création d'un dossier d'instruction
14     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
15 gmalvolti 9672 Depuis la page d'accueil admin admin
16     &{args_dossier} = Create Dictionary
17     ... om_collectivite=MARSEILLE
18     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
19     ... demande_type=Dépôt Initial
20     &{args_petitionnaire1} = Create Dictionary
21     ... qualite=particulier
22     ... particulier_nom=TEST300TASKNOM01
23     ... particulier_prenom=TEST300TASKPRENOM01
24     ... om_collectivite=MARSEILLE
25     ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
26    
27     Depuis le menu Moniteur Plat'AU
28    
29     ${di1_sans_espace} = Sans espace ${di1}
30 gmalvolti 9765 ${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY}
31 gmalvolti 9672 Set Suite Variable ${di1}
32     Set Suite Variable ${di1_sans_espace}
33     Set Suite Variable ${di1_da}
34     # On recherche l'enregistrement
35     Click Element css=#toggle-advanced-display
36     #
37     Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier
38     Wait Until Element Is Visible css=div#adv-search-adv-fields input#type
39     # On remplit
40     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
41     Input Text css=div#adv-search-adv-fields input#type creation_DA
42     # On valide le formulaire de recherche
43     Click On Search Button
44    
45     Element Should Contain css=td.col-1 a.lienTable creation_DA
46     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
47    
48     # On remplit
49     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
50     Input Text css=div#adv-search-adv-fields input#type creation_DI
51     # On valide le formulaire de recherche
52     Click On Search Button
53    
54     Element Should Contain css=td.col-1 a.lienTable creation_DI
55     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
56    
57     # On remplit
58     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
59     Input Text css=div#adv-search-adv-fields input#type depot_DI
60     # On valide le formulaire de recherche
61     Click On Search Button
62    
63     Element Should Contain css=td.col-1 a.lienTable depot_DI
64     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
65 gmalvolti 9701 Click On Link ${di1_sans_espace}
66     ${id_depot_DI} = Get Text css=#task
67     ${id_next_task} = Evaluate ${id_depot_DI} + 1
68 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
69 gmalvolti 9672
70     Vérification de la mise à jour de la task creation_DI lors de l'ajout des données techniques
71 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche creation_DI est mise à jour sur son state est à new lors de la modification du DI
72     ... et qu'il n'y a pas de création de tache modification_DI, vérifie aussi que lors que la tache creation_DI n'est pas en state new
73     ... il y a bien une création de la tâche modification_DI
74 gmalvolti 9672 Depuis la page d'accueil admin admin
75    
76     &{task_values} = Create Dictionary
77     ... type=creation_DI
78     ... dossier=${di1_sans_espace}
79 gmalvolti 9710 ... state=new
80     ... object_id=${di1_sans_espace}
81     ... link_dossier=${di1_sans_espace}
82 gmalvolti 9721 ... stream=output
83 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
84 gmalvolti 9672
85 gmalvolti 9705 ${id_creation_DI} = Get Text css=#task
86 gmalvolti 9672 ${time_stamp_log} = Get Text css=#timestamp_log
87     &{donnees_techniques_values} = Create Dictionary
88 gmalvolti 9675 ... ope_proj_desc=Description test dossier parallele
89 gmalvolti 9672 Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
90     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
91     ${timestamp_log_changed} = Get Text css=#timestamp_log
92    
93     Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed}
94    
95 gmalvolti 9701 Click On Back Button
96    
97 gmalvolti 9710 # On vérifie qu'il n'y pas de task modification_DI
98 gmalvolti 9701 Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
99     Input Text css=div#adv-search-adv-fields input#type modification_DI
100     Click On Search Button
101     Element Should Contain css=.tab-data Aucun enregistrement.
102    
103 gmalvolti 9705 &{task_values_modif} = Create Dictionary
104 gmalvolti 9706 ... state=done
105 gmalvolti 9705 Modifier la task ${id_creation_DI} ${task_values_modif}
106 mbideau 9813 La page ne doit pas contenir d'erreur
107 gmalvolti 9701
108 gmalvolti 9705 &{donnees_techniques_values} = Create Dictionary
109     ... ope_proj_desc=Description test dossier parallele BIS
110     Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
111 mbideau 9813 La page ne doit pas contenir d'erreur
112 gmalvolti 9705
113     &{task_values} = Create Dictionary
114     ... type=modification_DI
115     ... dossier=${di1_sans_espace}
116     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
117    
118 gmalvolti 9675 Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction
119 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche qualification_DI est bien ajoutée lors du changement de l'autorité compétente.
120     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
121 gmalvolti 9675 Depuis la page d'accueil admin admin
122     Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état'
123     &{task_values} = Create Dictionary
124     ... type=qualification_DI
125     ... dossier=${di1_sans_espace}
126 gmalvolti 9710 ... state=new
127     ... object_id=${di1_sans_espace}
128     ... link_dossier=${di1_sans_espace}
129 gmalvolti 9721 ... stream=output
130 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
131 gmalvolti 9675 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
132     Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE"
133 gmalvolti 9672
134 gmalvolti 9675 Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état'
135 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
136     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
137     Element Should Not Contain css=#json_payload "autorite_competente_code": "ETATMAIRE"
138 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
139     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
140 gmalvolti 9672
141 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
142    
143 gmalvolti 9694 Vérification de l'ajout de la task ajout_piece lors de l'ajout d'une piece au dossier d'instruction
144 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche ajout_piece est bien ajouté lors de l'ajout du pièce au dossier d'instruction
145     ... et que le contenu ajouté et téléchargé à partir de la tâche est identique.
146     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
147 gmalvolti 9675 Depuis la page d'accueil admin admin
148     # On ajoute un document numérisé par DI
149     &{document_numerise_values} = Create Dictionary
150     ... uid_upload=testImportManuel.pdf
151     ... date_creation=${date_ddmmyyyy}
152     ... document_numerise_type=autres pièces composant le dossier (A0)
153     Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values}
154 gmalvolti 9710
155 gmalvolti 9675 &{task_values} = Create Dictionary
156 gmalvolti 9694 ... type=ajout_piece
157 gmalvolti 9675 ... dossier=${di1_sans_espace}
158 gmalvolti 9710 ... state=new
159     ... link_dossier=${di1_sans_espace}
160 gmalvolti 9721 ... stream=output
161 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
162    
163     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
164 gmalvolti 9701 ${link_piece} = Set Variable ${json_payload_loaded['document_numerise']['path']}
165     ${output_dir} ${output_name}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_piece} ${EXECDIR}${/}binary_files${/}
166 gmalvolti 9710
167 gmalvolti 9701 ${base64_file} = Run base64 ${output_dir}${output_name}
168     ${base64_model} = Run base64 ${EXECDIR}${/}binary_files${/}testImportManuel.pdf
169     Should Be Equal As Strings ${base64_file} ${base64_model}
170 gmalvolti 9710
171 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
172     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
173 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
174 gmalvolti 9694
175 gmalvolti 9701 Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di
176 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision au dossier d'instruction
177     ... et que le contenu généré et téléchargé à partir de la tâche est identique.
178     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
179 gmalvolti 9701 Depuis la page d'accueil admin admin
180     Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve
181     Click On SubForm Portlet Action instruction edition new_window
182     Open PDF ${OM_PDF_TITLE}
183     ${link_decision_portlet} = Get Location
184     Close PDF
185     ${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/}
186 gmalvolti 9710
187 gmalvolti 9701 &{task_values} = Create Dictionary
188     ... type=decision_DI
189     ... dossier=${di1_sans_espace}
190 gmalvolti 9710 ... state=new
191     ... link_dossier=${di1_sans_espace}
192 gmalvolti 9721 ... stream=output
193 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
194    
195 gmalvolti 9701 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
196     Element Should Contain css=#json_payload "avis_decision": "7",
197 gmalvolti 9710
198     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
199 gmalvolti 9701 ${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']}
200     ${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/}
201 gmalvolti 9710
202 gmalvolti 9701 ${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet}
203     ${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload}
204     Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload}
205 gmalvolti 9710
206 gmalvolti 9706 ${id_decision_DI} = Get Text css=#task
207     ${id_next_task} = Evaluate ${id_decision_DI} + 1
208 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
209 gmalvolti 9694
210 gmalvolti 9705 Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di
211 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision tacite au dossier d'instruction
212     ... et que la tâche ne contient pas de fichier à télécharger.
213     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
214 gmalvolti 9705 Depuis la page d'accueil admin admin
215     &{args_dossier} = Create Dictionary
216     ... om_collectivite=MARSEILLE
217     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
218     ... demande_type=Dépôt Initial
219     &{args_petitionnaire1} = Create Dictionary
220     ... qualite=particulier
221     ... particulier_nom=TEST300TASKNOM02
222     ... particulier_prenom=TEST300TASKPRENOM02
223     ... om_collectivite=MARSEILLE
224     ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
225    
226     ${di2_sans_espace} = Sans espace ${di2}
227 gmalvolti 9765 ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY}
228 gmalvolti 9705
229     Ajouter une instruction au DI ${di2} accord tacite (sans arrete)
230    
231     &{task_values} = Create Dictionary
232     ... type=decision_DI
233     ... dossier=${di2_sans_espace}
234     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
235 gmalvolti 9710 ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
236 gmalvolti 9705
237 gmalvolti 9751 Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path
238 gmalvolti 9706
239     ${id_decision_DI} = Get Text css=#task
240     ${id_next_task} = Evaluate ${id_decision_DI} + 1
241 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
242 gmalvolti 9721
243     Vérification de l'ajout et de la consultation d'une tâche de type stream input
244     [Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test
245     ... fonctionne correctement
246 gmalvolti 9765
247     # Récupère le template de payload JSON et le transforme en dictionnaire
248 gmalvolti 9721 ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
249 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-00
250     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00
251 gmalvolti 9765 ${json_payload} = Replace String ${json_payload} 013055 20 013055 19
252     ${json_payload} = Replace String ${json_payload} 01305520 01305519
253     ${json_payload} = Replace String ${json_payload} 2020 2019
254     ${json_payload} = Replace String ${json_payload} 07777P0 01111P0
255     ${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY}
256     ${payload_dict} = To Json ${json_payload}
257    
258 gmalvolti 9721 # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
259     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
260     ${task_values} = Create Dictionary
261 mbroquet 9776 ... type=create_DI_for_consultation
262 gmalvolti 9721 ... json_payload=${json_payload}
263     Ajouter la tâche par WS ${task_values}
264    
265 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
266     Set To Dictionary ${task_values} dossier=${payload_dict["dossier"]["dossier"]}
267     Set To Dictionary ${task_values} state=new
268     Set To Dictionary ${task_values} stream=input
269    
270 gmalvolti 9721 Depuis la page d'accueil admin admin
271     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
272    
273     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
274     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
275     ${json_payload_to_compare} = Get Text css=#json_payload
276    
277     Should Be Equal As Strings ${json_payload} ${json_payload_to_compare}
278 gmalvolti 9751
279 mbideau 9813
280 gmalvolti 9765 Ajout d'une tâche de création de DI via WS, puis traitement
281     [Documentation] Vérifie l'ajout de la tâche via WS et son traitement
282    
283     # En tant qu'admin
284     Depuis la page d'accueil admin admin
285    
286     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
287     &{param_division} = Create Dictionary
288     ... libelle=option_afficher_division
289     ... valeur=true
290     ... om_collectivite=agglo
291     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
292    
293     # desactiver l'option dossier_commune et la saisie complète des numéros
294     &{param_dossier_commune} = Create Dictionary
295     ... libelle=option_dossier_commune
296     ... valeur=false
297     ... om_collectivite=agglo
298     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
299     &{param_saisie_complete} = Create Dictionary
300     ... libelle=option_dossier_saisie_numero_complet
301     ... valeur=false
302     ... om_collectivite=agglo
303     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
304    
305 mbideau 9790 # définir les paramètres de type de demande
306     &{param_type_demande_initial} = Create Dictionary
307     ... libelle=param_type_demande_initial
308     ... valeur=DI
309     ... om_collectivite=agglo
310     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
311     &{param_type_demande_modificatif} = Create Dictionary
312     ... libelle=param_type_demande_modificatif
313     ... valeur=DM
314     ... om_collectivite=agglo
315     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_modificatif}
316     &{param_type_demande_transfert} = Create Dictionary
317     ... libelle=param_type_demande_transfert
318     ... valeur=DT
319     ... om_collectivite=agglo
320     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_transfert}
321    
322 gmalvolti 9765 # isole le contexte du test (création d'une collectivité)
323 mbideau 9773 &{librecom_values} = Create Dictionary
324 gmalvolti 9765 ... om_collectivite_libelle=LIBRECOM_WS
325     ... departement=013
326     ... commune=095
327     ... insee=13095
328     ... direction_code=E
329     ... direction_libelle=Direction de LIBRECOM_WS
330     ... direction_chef=Chef
331     ... division_code=E
332     ... division_libelle=Division E
333     ... division_chef=Chef
334     ... guichet_om_utilisateur_nom=Thom Moht
335     ... [email protected]
336     ... guichet_om_utilisateur_login=tmoth
337     ... guichet_om_utilisateur_pwd=tmoth
338     ... instr_om_utilisateur_nom=Qualdi Idlauq
339     ... [email protected]
340     ... instr_om_utilisateur_login=qidlauq
341     ... instr_om_utilisateur_pwd=qidlauq
342 mbideau 9773 ... code_entite=LBCOM_13
343     ... acteur=LIBRECOM-ACT-013
344     Isolation d'un contexte ${librecom_values}
345     &{loincom_values} = Create Dictionary
346 gmalvolti 9765 ... om_collectivite_libelle=LOINCOM_WS
347     ... departement=796
348     ... commune=095
349     ... insee=79695
350     ... direction_code=F
351     ... direction_libelle=Direction de LOINCOM_WS
352     ... direction_chef=Chef
353     ... division_code=F
354     ... division_libelle=Division F
355     ... division_chef=Chef
356     ... guichet_om_utilisateur_nom=Somar Ramos
357     ... [email protected]
358     ... guichet_om_utilisateur_login=sramos
359     ... guichet_om_utilisateur_pwd=sramos
360     ... instr_om_utilisateur_nom=Bliguet Teugilb
361     ... [email protected]
362     ... instr_om_utilisateur_login=bteugilb
363     ... instr_om_utilisateur_pwd=bteugilb
364 mbideau 9773 Isolation d'un contexte ${loincom_values}
365 gmalvolti 9765
366 mbideau 9790 # Récupère l'identifiant de la collectivité LIBRECOM_WS
367 mbideau 9798 Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
368 mbideau 9790 ${librecom_ws_id} = Get Text css=#om_collectivite
369    
370 gmalvolti 9765 # Récupère le template de payload JSON et le transforme en dictionnaire
371     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
372 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-01
373     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-01
374 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
375 mbideau 9790 ${json_payload} = Replace String ${json_payload} "om_collectivite": "2" "om_collectivite": "${librecom_ws_id}"
376 gmalvolti 9765
377     ${payload_dict} = To Json ${json_payload}
378    
379 mbideau 9773 # sauvegarde le code d'acteur
380     ${acteur_code} = Set Variable ${payload_dict["dossier"]["acteur"]}
381    
382 gmalvolti 9765 # retire le paramètre 'acteur' de la payload JSON
383     Remove From Dictionary ${payload_dict["dossier"]} acteur
384    
385     # (re)Converti la payload JSON en string
386     ${json_string}= evaluate json.dumps(${payload_dict}) json
387    
388     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
389     ${task_values} = Create Dictionary
390 mbroquet 9776 ... type=create_DI_for_consultation
391 gmalvolti 9765 ... json_payload=${json_string}
392     Ajouter la tâche par WS ${task_values}
393    
394     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
395     ${msg} = Déclencher le traitement des tâches par WS
396    
397     # Le libellé du DI créé ne correspondra pas au numéro renseigné
398     # car l'option de saisie complète du numéro de dossier n'est pas activée
399     # Il sera créé avec la séquence, débutant au numéro 1
400     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
401 gmalvolti 9775 ... [^ ]{7}$ 00001P0
402 gmalvolti 9765 ${da_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
403     ... [^ ]{5}$ 00001
404     # Idem pour les numéros DI et DA
405     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
406 gmalvolti 9775 ... [^ ]{7}$ 00001P0
407 gmalvolti 9765 ${da_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation"]}
408 gmalvolti 9775 ... [^ ]{7}$ 00001P0
409 gmalvolti 9765
410     # Extraction du libellé du DI dans le message
411     ${di_regex} = Catenate .*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
412     ... dossier instruction '${di_lib_expected}' .*$
413     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
414     ${di_matches_len} = Get Length ${di_matches}
415     Should Be True "${di_matches_len}" > "0"
416    
417     # Vérifier que le dossier a bien été ajouté
418     Depuis le contexte du dossier d'instruction ${di_lib_expected}
419     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
420     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
421     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
422     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
423     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
424    
425    
426     # nouvelle itération mais avec la saisie complète des numéros de dossier
427    
428     # activer la complète des numéros de dossiers
429     Set To Dictionary ${param_saisie_complete} valeur=true
430     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
431    
432 mbideau 9790 # modification des externals uids
433     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-02
434     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-02
435    
436     # (re)Converti la payload JSON en string
437     ${json_string}= evaluate json.dumps(${payload_dict}) json
438    
439 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
440     ${task_values} = Create Dictionary
441 mbroquet 9776 ... type=create_DI_for_consultation
442 gmalvolti 9765 ... json_payload=${json_string}
443     Ajouter la tâche par WS ${task_values}
444    
445     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
446     ${msg} = Déclencher le traitement des tâches par WS
447    
448     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier, ou presque
449     # le numéro n'est pas 'P0' mais 'P00' (je ne sais pas pourquoi)
450     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
451     ... P0$ P00
452     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
453     # Idem pour les numéros DI et DA
454     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
455     ... P0$ P00
456     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
457    
458     # Extraction du libellé du DI dans le message
459     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
460     ... dossier instruction '${di_lib_expected}' .*$
461     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
462     ${di_matches_len} = Get Length ${di_matches}
463     Should Be True "${di_matches_len}" > "0"
464    
465     # Vérifier que le dossier a bien été ajouté
466     Depuis le contexte du dossier d'instruction ${di_lib_expected}
467     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
468     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
469     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
470     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
471     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
472    
473    
474     # nouvelle itération mais avec l'option commune et le rattachement via un numéro d'acteur
475    
476     # activer l'option dossier_commune
477     Depuis la page d'accueil admin admin
478     Set To Dictionary ${param_dossier_commune} valeur=true
479     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
480    
481     #-- ajouter manuellement une commune en saisissant une date de validité dans le passé
482 mbideau 9773 &{oldcom_values} = Create Dictionary
483 gmalvolti 9765 ... typecom=COM
484     ... com=45645
485     ... reg=45
486     ... dep=45
487     ... arr=645
488     ... tncc=0
489     ... ncc=LIBRECOM_OLD
490     ... nccenr=LibreCom_old
491 mbideau 9773 ... libelle=LIBRECOM_OLD
492 gmalvolti 9765 ... can=45
493     ... comparent=
494     ... om_validite_debut=01/11/2020
495 mbideau 9773 Ajouter commune avec dates validité ${oldcom_values}
496 gmalvolti 9765
497 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
498 mbideau 9773 Ajouter le paramètre depuis le menu platau_acteur_service_consulte
499     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
500    
501 gmalvolti 9765 # Change le numéro de dossier et le code commune dans la payload JSON
502     ${json_payload} = Replace String ${json_payload} P0 P04
503 mbideau 9773 ${json_payload} = Replace String ${json_payload}
504     ... ${librecom_values["insee"]} ${oldcom_values["com"]}
505     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
506 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
507    
508     # retire le paramètre 'om_collectivite' de la payload JSON
509     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
510    
511 mbideau 9790 # modification des externals uids
512     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-03
513     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-03
514    
515 gmalvolti 9765 # (re)Converti la payload JSON en string
516     ${json_string}= evaluate json.dumps(${payload_dict}) json
517    
518     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
519     ${task_values} = Create Dictionary
520 mbroquet 9776 ... type=create_DI_for_consultation
521 gmalvolti 9765 ... json_payload=${json_string}
522     Ajouter la tâche par WS ${task_values}
523    
524     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
525     ${msg} = Déclencher le traitement des tâches par WS
526    
527     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
528     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
529     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
530     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
531     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
532    
533     # Extraction du libellé du DI dans le message
534     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
535     ... dossier instruction '${di_lib_expected}' .*$
536     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
537     ${di_matches_len} = Get Length ${di_matches}
538     Should Be True "${di_matches_len}" > "0"
539    
540 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
541 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
542    
543     # Vérifier que le dossier a bien été ajouté
544     Depuis le contexte du dossier d'instruction ${di_lib_expected}
545     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
546     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
547     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
548     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
549     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
550    
551    
552     # nouvelle itération avec le même DA pour être sûr qu'il est réutilisé avec succès
553     Depuis la page d'accueil admin admin
554    
555     # Change le numéro de dossier et le code commune dans la payload JSON
556     ${json_payload} = Replace String ${json_payload} P04 P03
557     ${payload_dict} = To Json ${json_payload}
558    
559     # retire le paramètre 'om_collectivite' de la payload JSON
560     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
561    
562 mbideau 9790 # modification des externals uids
563     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-04
564     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-04
565    
566 gmalvolti 9765 # (re)Converti la payload JSON en string
567     ${json_string}= evaluate json.dumps(${payload_dict}) json
568    
569     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
570     ${task_values} = Create Dictionary
571 mbroquet 9776 ... type=create_DI_for_consultation
572 gmalvolti 9765 ... json_payload=${json_string}
573     Ajouter la tâche par WS ${task_values}
574    
575     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
576     ${msg} = Déclencher le traitement des tâches par WS
577    
578     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
579     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
580     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
581     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
582     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
583    
584     # Extraction du libellé du DI dans le message
585     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
586     ... dossier instruction '${di_lib_expected}' .*$
587     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
588     ${di_matches_len} = Get Length ${di_matches}
589     Should Be True "${di_matches_len}" > "0"
590    
591 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
592 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
593    
594     # Vérifier que le dossier a bien été ajouté
595     Depuis le contexte du dossier d'instruction ${di_lib_expected}
596     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
597     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
598     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
599     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
600     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
601    
602    
603 mbideau 9790 # nouvelle itération avec l'option des codes entités
604 gmalvolti 9765 Depuis la page d'accueil admin admin
605    
606 mbideau 9850 # active l'option entité pour la collectivité/le service
607 gmalvolti 9765 &{param_entite} = Create Dictionary
608     ... libelle=option_om_collectivite_entity
609     ... valeur=true
610 mbideau 9773 ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
611 gmalvolti 9765 Ajouter ou modifier le paramètre depuis le menu ${param_entite}
612    
613 mbideau 9850 # ajoute le paramètre 'code_entite' à la collectivité/le service
614 mbideau 9773 Ajouter le paramètre depuis le menu code_entite
615     ... ${librecom_values["code_entite"]} ${librecom_values["om_collectivite_libelle"]}
616 gmalvolti 9765
617 mbideau 9790 # modification des externals uids
618     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-05
619     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-05
620 gmalvolti 9765
621 mbideau 9790 # (re)Converti la payload JSON en string
622     ${json_string}= evaluate json.dumps(${payload_dict}) json
623    
624 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
625     ${task_values} = Create Dictionary
626 mbroquet 9776 ... type=create_DI_for_consultation
627 gmalvolti 9765 ... json_payload=${json_string}
628     Ajouter la tâche par WS ${task_values}
629    
630     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
631     ${msg} = Déclencher le traitement des tâches par WS
632    
633     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
634 mbideau 9773 ${di_lib_expected} = Catenate ${payload_dict["dossier"]["dossier_libelle"]}
635     ... ${librecom_values["code_entite"]}01
636 gmalvolti 9765 ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
637 mbideau 9773 ${di_expected} = Catenate ${payload_dict["dossier"]["dossier"]}
638     ... ${librecom_values["code_entite"]}01
639 gmalvolti 9765 ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
640    
641     # Extraction du libellé du DI dans le message
642     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
643     ... dossier instruction '${di_lib_expected}' .*$
644     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
645     ${di_matches_len} = Get Length ${di_matches}
646     Should Be True "${di_matches_len}" > "0"
647    
648 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
649 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
650    
651     # Vérifier que le dossier a bien été ajouté
652     Depuis le contexte du dossier d'instruction ${di_lib_expected}
653     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
654     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
655     Depuis le contexte du dossier d'autorisation par la recherche ${da_lib_expected}
656     # l'onglet du DA est vide dans le mode MC, mais le simple fait d'arriver à y accéder
657     # montre qu'il existe
658    
659    
660     # nouvelle itération avec une payload JSON minimale
661 mbideau 9813 Depuis la page d'accueil admin admin
662 gmalvolti 9765
663     # Récupère le template de payload JSON et le transforme en dictionnaire
664     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
665    
666     # Remplace certaines valeurs
667 mbideau 9798 ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-06
668     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-06
669 mbideau 9813 ${json_payload} = Replace String ${json_payload} 00009 00009P0
670 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
671     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
672 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
673    
674     # Converti la payload JSON en string
675     ${json_string}= evaluate json.dumps(${payload_dict}) json
676    
677     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
678     ${task_values} = Create Dictionary
679 mbroquet 9776 ... type=create_DI_for_consultation
680 gmalvolti 9765 ... json_payload=${json_string}
681     Ajouter la tâche par WS ${task_values}
682    
683     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
684     ${msg} = Déclencher le traitement des tâches par WS
685    
686     # Extraction du libellé du DI dans le message
687     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
688     ... dossier instruction '([^']+)' .*$
689     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
690    
691 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
692 mbideau 9813 Depuis la page d'accueil tmoth tmoth
693    
694 gmalvolti 9765 # Vérifier que le dossier a bien été ajouté
695     Depuis le contexte du dossier d'instruction ${di_lib}
696     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
697     ... Element Should Contain css=#dossier_libelle ${di_lib}
698    
699 mbideau 9773 # Commune
700     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
701     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
702 gmalvolti 9765
703 mbideau 9773 # Code entité
704 mbideau 9790 ${num_entite_value} = Get Value css=input#numerotation_entite
705     Should Be Equal ${num_entite_value} ${librecom_values["code_entite"]}
706 mbideau 9773
707     # Demandeur principale
708     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
709     ... Element Should Contain css=#dossier_petitionnaire Perry Katy
710    
711     # Date demande = date dépôt
712     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
713     ... Element Should Contain css=#date_depot 23/11/2020
714    
715     # Autres demandeurs
716     Open Fieldset dossier_instruction demandeur
717     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
718     ... Element Should Contain css=#liste_demandeur Madame Perry Katy
719     Element Should Contain css=#liste_demandeur Métropole Construction SA Métropole
720     Element Should Contain css=#liste_demandeur Monsieur Bloom Orlando
721     Element Should Contain css=#liste_demandeur 67 rue de l'espérance
722    
723     # Dépôt électronique
724     Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16
725    
726    
727 mbideau 9813 # nouvelle itération avec deux DI non-réglementaires
728     # générant deux DA/DI différents à cause que l'option code entité
729     Depuis la page d'accueil admin admin
730    
731     # # sans l'option de code entité
732     # Set To Dictionary ${param_entite} valeur=false
733     # Ajouter ou modifier le paramètre depuis le menu ${param_entite}
734    
735     # Récupère le template de payload JSON et le transforme en dictionnaire
736     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
737    
738     # Remplace certaines valeurs
739     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-07
740     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-07
741     ${json_payload} = Replace String ${json_payload} 00009 7a9eeP0
742     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
743     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
744     ${payload_dict} = To Json ${json_payload}
745    
746     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
747     ${task_values} = Create Dictionary
748     ... type=create_DI_for_consultation
749     ... json_payload=${json_payload}
750     Ajouter la tâche par WS ${task_values}
751    
752     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
753     ${msg} = Déclencher le traitement des tâches par WS
754    
755     # Extraction du libellé du DI dans le message
756     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
757     ... dossier instruction '([^']+)' .*$
758     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
759     Log ${di_lib}
760    
761     ${di_lib_no_space} = Sans espace ${di_lib}
762     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
763    
764 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
765 mbideau 9813 Depuis la page d'accueil tmoth tmoth
766    
767     # Vérifier que le dossier a bien été ajouté
768     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
769     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
770     ... Element Should Contain css=#dossier_libelle ${di_to_search}
771    
772     # Commune
773     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
774     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
775    
776     # En tant qu'admin
777     Depuis la page d'accueil admin admin
778    
779     # Remplace certaines valeurs
780     #${json_payload} = Replace String ${json_payload} 000-AAA-07 000-AAA-08
781     ${json_payload} = Replace String ${json_payload} AAA-000-07 AAA-000-08
782    
783     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
784     ${task_values} = Create Dictionary
785     ... type=create_DI_for_consultation
786     ... json_payload=${json_payload}
787     Ajouter la tâche par WS ${task_values}
788    
789     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
790     ${msg} = Déclencher le traitement des tâches par WS
791    
792     # Extraction du libellé du DI dans le message
793     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
794     ... dossier instruction '([^']+)' .*$
795     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
796     Log ${di_lib}
797    
798     ${di_lib_no_space} = Sans espace ${di_lib}
799     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
800    
801 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
802 mbideau 9813 Depuis la page d'accueil tmoth tmoth
803    
804     # Vérifier que le dossier a bien été ajouté
805     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
806     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
807     ... Element Should Contain css=#dossier_libelle ${di_to_search}
808    
809    
810     # nouvelle itération avec deux DI non-réglementaires sans l'option code entité
811     Depuis la page d'accueil admin admin
812    
813     # sans l'option de code entité
814     Set To Dictionary ${param_entite} valeur=false
815     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
816    
817     # Récupère le template de payload JSON et le transforme en dictionnaire
818     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
819    
820     # Remplace certaines valeurs
821     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-09
822     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-09
823     ${json_payload} = Replace String ${json_payload} 00009 4d67qsP0
824     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
825     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
826     ${payload_dict} = To Json ${json_payload}
827    
828     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
829     ${task_values} = Create Dictionary
830     ... type=create_DI_for_consultation
831     ... json_payload=${json_payload}
832     Ajouter la tâche par WS ${task_values}
833    
834     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
835     ${msg} = Déclencher le traitement des tâches par WS
836    
837     # Extraction du libellé du DI dans le message
838     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
839     ... dossier instruction '([^']+)' .*$
840     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
841     Log ${di_lib}
842    
843     ${di_lib_no_space} = Sans espace ${di_lib}
844    
845 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
846 mbideau 9813 Depuis la page d'accueil tmoth tmoth
847    
848     # Vérifier que le dossier a bien été ajouté
849     #Depuis le contexte du dossier d'instruction par recherche ${di_lib_no_space}
850     Depuis le contexte du dossier d'instruction ${di_lib_no_space}
851     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
852     ... Element Should Contain css=#dossier_libelle ${di_lib_no_space}
853    
854     # En tant qu'admin
855     Depuis la page d'accueil admin admin
856    
857     # Remplace certaines valeurs
858     ${json_payload} = Replace String ${json_payload} AAA-000-09 ZZZ-000-09
859    
860     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
861     ${task_values} = Create Dictionary
862     ... type=create_DI_for_consultation
863     ... json_payload=${json_payload}
864     Ajouter la tâche par WS ${task_values}
865    
866     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
867     ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS
868     Should Be Equal ${passed} ${FALSE}
869    
870 gmalvolti 9765 # fin, suppression des options
871     Depuis la page d'accueil admin admin
872     Set To Dictionary ${param_division} valeur=false
873     Ajouter ou modifier le paramètre depuis le menu ${param_division}
874     Set To Dictionary ${param_saisie_complete} valeur=true
875     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
876     Set To Dictionary ${param_dossier_commune} valeur=false
877     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
878    
879    
880 mbideau 9798 Vérification de l'ajout de la tâche add_piece par ws, puis traitement
881 gmalvolti 9751 [Documentation] Permet de vérifier que la tâche ajout_pièce en stream input ajout bien un fichier dans le filestorage
882     ... à partir du contenu du json payload vérifie aussi que l'uid du fichier ajouté est bien enregistré
883     ... dans le json payload
884 gmalvolti 9765
885 mbideau 9798 # En tant qu'admin
886     Depuis la page d'accueil admin admin
887    
888     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
889     &{param_division} = Create Dictionary
890     ... libelle=option_afficher_division
891     ... valeur=true
892     ... om_collectivite=agglo
893     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
894    
895     # desactiver l'option dossier_commune et la saisie complète des numéros
896     &{param_dossier_commune} = Create Dictionary
897     ... libelle=option_dossier_commune
898     ... valeur=false
899     ... om_collectivite=agglo
900     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
901     &{param_saisie_complete} = Create Dictionary
902     ... libelle=option_dossier_saisie_numero_complet
903     ... valeur=false
904     ... om_collectivite=agglo
905     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
906    
907     # définir les paramètres de type de demande
908     &{param_type_demande_initial} = Create Dictionary
909     ... libelle=param_type_demande_initial
910     ... valeur=DI
911     ... om_collectivite=agglo
912     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
913    
914     # isole le contexte du test (création d'une collectivité)
915     &{librecom_values} = Create Dictionary
916     ... om_collectivite_libelle=LIBRECOM_WS_PIECE
917     ... departement=014
918     ... commune=095
919     ... insee=14095
920     ... direction_code=G
921     ... direction_libelle=Direction de LIBRECOM_WS_PIECE
922     ... direction_chef=Chef
923     ... division_code=G
924     ... division_libelle=Division G
925     ... division_chef=Chef
926     ... guichet_om_utilisateur_nom=Khalil Gibran
927     ... [email protected]
928     ... guichet_om_utilisateur_login=kgibran
929     ... guichet_om_utilisateur_pwd=kgibran
930     ... instr_om_utilisateur_nom=Domir Tambu
931     ... [email protected]
932     ... instr_om_utilisateur_login=dtambu
933     ... instr_om_utilisateur_pwd=dtambu
934     ... code_entite=LBCOM_14
935     ... acteur=LIBRECOM-ACT-014
936     Isolation d'un contexte ${librecom_values}
937    
938 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
939     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
940     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
941    
942 mbideau 9798 # Récupère l'identifiant de la collectivité LIBRECOM_WS
943     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
944     ${librecom_ws_id} = Get Text css=#om_collectivite
945    
946     # Récupère le template de payload JSON et le transforme en dictionnaire
947     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
948    
949     # Remplace certaines valeurs
950 mbideau 9850 ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
951 mbideau 9813 ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-10
952     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-10
953 mbideau 9798 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
954     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
955     ${dossier_payload_dict} = To Json ${dossier_json_payload}
956    
957     # Ajoute d'une tâche de création de DI
958     ${dossier_task_values} = Create Dictionary
959     ... type=create_DI_for_consultation
960     ... json_payload=${dossier_json_payload}
961     Ajouter la tâche par WS ${dossier_task_values}
962    
963     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
964     ${dossier_msg} = Déclencher le traitement des tâches par WS
965    
966     # Extraction du libellé du DI dans le message
967     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
968     ... ${dossier_payload_dict["dossier"]["dossier"]} :
969     ... dossier instruction '([^']+)' .*$
970     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
971    
972 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE
973 mbideau 9798 Depuis la page d'accueil kgibran kgibran
974    
975     # Vérifier que le dossier a bien été ajouté
976     Depuis le contexte du dossier d'instruction ${di_lib}
977     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
978     ... Element Should Contain css=#dossier_libelle ${di_lib}
979    
980     # En tant qu'admin
981     Depuis la page d'accueil admin admin
982    
983 gmalvolti 9751 # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
984     # json_payload correspondant à la tâche ajout_piece
985     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
986    
987 mbideau 9798 # Remplace certaines valeurs
988 mbideau 9850 ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
989 mbideau 9813 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-10
990     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-10
991 mbideau 9798 ${piece_payload_dict} = To Json ${json_payload}
992    
993     # Ajoute la tâche d'ajout de pièce
994 gmalvolti 9751 ${task_values} = Create Dictionary
995 mbideau 9798 ... type=add_piece
996 gmalvolti 9751 ... json_payload=${json_payload}
997 mbideau 9813 ${task_id} = Ajouter la tâche par WS ${task_values}
998 gmalvolti 9751
999 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
1000 mbideau 9813 Set To Dictionary ${task_values} task=${task_id}
1001 gmalvolti 9765 Set To Dictionary ${task_values} state=new
1002     Set To Dictionary ${task_values} stream=input
1003    
1004 mbideau 9798 # se rend sur la page de la tâche
1005 mbideau 9813 #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1006     Depuis le contexte de la task ${task_id}
1007 gmalvolti 9751
1008 mbideau 9798 # vérifie qu'elle a bien été ajoutée
1009 gmalvolti 9751 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1010     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1011     Log Dictionary ${json_payload_loaded['document_numerise']}
1012     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1013    
1014     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1015     ${path_1} = Get Substring ${uid} 0 2
1016     ${path_2} = Get Substring ${uid} 0 4
1017 gmalvolti 9765
1018 gmalvolti 9751 # Vérification dans le filestorage
1019     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1020     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1021 mbideau 9798
1022     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1023     ${msg} = Déclencher le traitement des tâches par WS
1024     Log ${msg}
1025    
1026     # Extraction du libellé du DI dans le message
1027 mbideau 9813 ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1028     ... : pièce : '([^']+)' .*$
1029 mbideau 9798 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1030    
1031     # Le DI devrait être le même que celui du dossier
1032     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1033    
1034     # Depuis la page des pièces du dossier
1035     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1036    
1037     # Le nom du fichier doit être présent en tant que pièce
1038     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1039     ... Element Text Should Be
1040 softime 9835 ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1041 mbideau 9798 ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1042    
1043     # Depuis la pièce
1044     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1045 mbideau 9803 ... photographie du terrain dans l'environnement proche
1046 mbideau 9798
1047     # La date de création doit correspondre
1048     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1049     ... Element Text Should Be css=#date_creation 27/11/2020
1050    
1051     # Le type de pièce doit correspondre
1052     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1053     ... Element Text Should Be css=#document_numerise_type
1054     ... photographie du terrain dans l'environnement proche
1055 softime 9835
1056    
1057     # ajout d'une seconde pièce au dossier
1058    
1059     # json_payload correspondant à la tâche ajout_piece, dont on modifie certaines valeurs
1060     ${json_payload} = Replace String ${json_payload}
1061     ... "date_creation": "2020-11-27" "date_creation": "2020-12-04"
1062     ${json_payload} = Replace String ${json_payload}
1063     ... "document_numerise_nature_code": "INIT" "document_numerise_nature_code": "COMP"
1064     ${json_payload} = Replace String ${json_payload}
1065     ... "document_numerise_type_code": "90" "document_numerise_type_code": "91"
1066     ${json_payload} = Replace String ${json_payload}
1067     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "2020120490.pdf"
1068    
1069     # Remplace certaines valeurs
1070     ${json_payload} = Replace String ${json_payload} PPP-000-10 PPP-000-11
1071     ${piece_payload_dict} = To Json ${json_payload}
1072    
1073     # Ajoute la tâche d'ajout de pièce
1074     ${task_values} = Create Dictionary
1075     ... type=add_piece
1076     ... json_payload=${json_payload}
1077     ${task_id} = Ajouter la tâche par WS ${task_values}
1078    
1079     # ajout manuellement les éléments qui ont du être défini par défaut
1080     Set To Dictionary ${task_values} task=${task_id}
1081     Set To Dictionary ${task_values} state=new
1082     Set To Dictionary ${task_values} stream=input
1083    
1084     # se rend sur la page de la tâche
1085     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1086     Depuis le contexte de la task ${task_id}
1087    
1088     # vérifie qu'elle a bien été ajoutée
1089     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1090     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1091     Log Dictionary ${json_payload_loaded['document_numerise']}
1092     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1093    
1094     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1095     ${path_1} = Get Substring ${uid} 0 2
1096     ${path_2} = Get Substring ${uid} 0 4
1097    
1098     # Vérification dans le filestorage
1099     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1100     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1101    
1102     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1103     ${msg} = Déclencher le traitement des tâches par WS
1104     Log ${msg}
1105    
1106     # Extraction du libellé du DI dans le message
1107     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1108     ... : pièce : '([^']+)' .*$
1109     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1110    
1111     # Le DI devrait être le même que celui du dossier
1112     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1113    
1114     # Depuis la page des pièces du dossier
1115     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1116    
1117     # Le nom du fichier doit être présent en tant que pièce
1118     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1119     ... Element Text Should Be
1120     ... css=table.document_numerise:nth-child(4) td a.lienDocumentNumerise span[title="Télécharger"]
1121     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1122    
1123     # Depuis la pièce
1124     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1125     ... photographie du terrain dans le paysage lointain
1126    
1127     # La date de création doit correspondre
1128     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1129     ... Element Text Should Be css=#date_creation 04/12/2020
1130    
1131     # Le type de pièce doit correspondre
1132     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1133     ... Element Text Should Be css=#document_numerise_type
1134     ... photographie du terrain dans le paysage lointain
1135 mbideau 9850
1136    
1137     Vérification de l'ajout d'une même pièce sur deux dossiers, le tout ajouté par WS
1138     [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers
1139    
1140     # En tant qu'admin
1141     Depuis la page d'accueil admin admin
1142    
1143     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1144     &{param_division} = Create Dictionary
1145     ... libelle=option_afficher_division
1146     ... valeur=true
1147     ... om_collectivite=agglo
1148     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1149    
1150     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1151     &{param_dossier_commune} = Create Dictionary
1152     ... libelle=option_dossier_commune
1153     ... valeur=false
1154     ... om_collectivite=agglo
1155     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1156     &{param_saisie_complete} = Create Dictionary
1157     ... libelle=option_dossier_saisie_numero_complet
1158     ... valeur=true
1159     ... om_collectivite=agglo
1160     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1161    
1162     # définir les paramètres de type de demande
1163     &{param_type_demande_initial} = Create Dictionary
1164     ... libelle=param_type_demande_initial
1165     ... valeur=DI
1166     ... om_collectivite=agglo
1167     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
1168    
1169     # isole le contexte du test (création d'une collectivité)
1170     &{librecom_multi_1_values} = Create Dictionary
1171     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_1
1172     ... departement=015
1173     ... commune=085
1174     ... insee=15085
1175     ... direction_code=T
1176     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_1
1177     ... direction_chef=Chef
1178     ... division_code=T
1179     ... division_libelle=Division T
1180     ... division_chef=Chef
1181     ... guichet_om_utilisateur_nom=Joseph Proudhon
1182     ... [email protected]
1183     ... guichet_om_utilisateur_login=jproudhon
1184     ... guichet_om_utilisateur_pwd=jproudhon
1185     ... instr_om_utilisateur_nom=François Rebalais
1186     ... [email protected]
1187     ... instr_om_utilisateur_login=frebalais
1188     ... instr_om_utilisateur_pwd=frebalais
1189     ... code_entite=LBCOM_15
1190     ... acteur=LIBRECOM-ACT-015
1191     Isolation d'un contexte ${librecom_multi_1_values}
1192    
1193     # ajouter le paramètre 'acteur' à la collectivité/au service
1194     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1195     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1196    
1197     # Active l'option entité pour la collectivité/le service
1198     &{param_entite} = Create Dictionary
1199     ... libelle=option_om_collectivite_entity
1200     ... valeur=true
1201     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
1202     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1203    
1204     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1205     Ajouter le paramètre depuis le menu code_entite
1206     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1207    
1208    
1209     # Ajout d'un dossier
1210    
1211     # Récupère le template de payload JSON et le transforme en dictionnaire
1212     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1213    
1214     # Remplace certaines valeurs
1215     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
1216     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-15
1217     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-15
1218     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000011P0
1219     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
1220     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1221    
1222     # Ajoute d'une tâche de création de DI
1223     ${dossier_task_values} = Create Dictionary
1224     ... type=create_DI_for_consultation
1225     ... json_payload=${dossier_json_payload}
1226     Ajouter la tâche par WS ${dossier_task_values}
1227    
1228     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1229     ${dossier_msg} = Déclencher le traitement des tâches par WS
1230    
1231     # Extraction du libellé du DI dans le message
1232     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1233     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1234     ... dossier instruction '([^']+)' .*$
1235     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1236     ${di_lib_sans_espace} = Sans espace ${di_lib}
1237     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
1238    
1239     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_1
1240     Depuis la page d'accueil jproudhon jproudhon
1241    
1242     # Vérifier que le dossier a bien été ajouté
1243     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1244     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1245     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1246    
1247    
1248     # Ajout de la pièce au dossier
1249    
1250     # En tant qu'admin
1251     Depuis la page d'accueil admin admin
1252    
1253     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1254     # json_payload correspondant à la tâche ajout_piece
1255     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1256    
1257     # Remplace certaines valeurs
1258     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
1259     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1260     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1261     ${piece_payload_dict} = To Json ${json_payload}
1262    
1263     # Ajoute la tâche d'ajout de pièce
1264     ${task_values} = Create Dictionary
1265     ... type=add_piece
1266     ... json_payload=${json_payload}
1267     ${task_id} = Ajouter la tâche par WS ${task_values}
1268    
1269     # ajout manuellement les éléments qui ont du être défini par défaut
1270     Set To Dictionary ${task_values} task=${task_id}
1271     Set To Dictionary ${task_values} state=new
1272     Set To Dictionary ${task_values} stream=input
1273    
1274     # se rend sur la page de la tâche
1275     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1276     Depuis le contexte de la task ${task_id}
1277    
1278     # vérifie qu'elle a bien été ajoutée
1279     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1280     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1281     Log Dictionary ${json_payload_loaded['document_numerise']}
1282     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1283    
1284     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1285     ${path_1} = Get Substring ${uid} 0 2
1286     ${path_2} = Get Substring ${uid} 0 4
1287    
1288     # Vérification dans le filestorage
1289     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1290     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1291    
1292     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1293     ${msg} = Déclencher le traitement des tâches par WS
1294     Log ${msg}
1295    
1296     # Extraction du libellé du DI dans le message
1297     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1298     ... : pièce : '([^']+)' .*$
1299     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1300    
1301     # Le DI devrait être le même que celui du dossier
1302     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1303    
1304     # Depuis la page des pièces du dossier
1305     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1306    
1307     # Le nom du fichier doit être présent en tant que pièce
1308     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1309     ... Element Text Should Be
1310     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1311     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1312    
1313     # Depuis la pièce
1314     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1315     ... photographie du terrain dans l'environnement proche
1316    
1317     # La date de création doit correspondre
1318     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1319     ... Element Text Should Be css=#date_creation 27/11/2020
1320    
1321     # Le type de pièce doit correspondre
1322     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1323     ... Element Text Should Be css=#document_numerise_type
1324     ... photographie du terrain dans l'environnement proche
1325    
1326    
1327     # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier)
1328    
1329     # En tant qu'admin
1330     Depuis la page d'accueil admin admin
1331    
1332     # Ajout d'une seconde entité
1333     &{librecom_multi_2_values} = Create Dictionary
1334     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_2
1335     ... departement=016
1336     ... commune=086
1337     ... insee=16086
1338 softime 9854 ... direction_code=C
1339 mbideau 9850 ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_2
1340     ... direction_chef=Chef
1341 softime 9854 ... division_code=C
1342     ... division_libelle=Division C
1343 mbideau 9850 ... division_chef=Chef
1344     ... guichet_om_utilisateur_nom=Peter Kropotkin
1345     ... [email protected]
1346     ... guichet_om_utilisateur_login=pkropotkin
1347     ... guichet_om_utilisateur_pwd=pkropotkin
1348     ... instr_om_utilisateur_nom=Mikhail Bakunin
1349     ... [email protected]
1350     ... instr_om_utilisateur_login=mbakunin
1351     ... instr_om_utilisateur_pwd=mbakunin
1352     ... code_entite=LBCOM_16
1353     ... acteur=LIBRECOM-ACT-016
1354     Isolation d'un contexte ${librecom_multi_2_values}
1355    
1356     # ajouter le paramètre 'acteur' à la collectivité/au service
1357     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1358     ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1359    
1360     # Active l'option entité pour la collectivité/le service
1361     &{param_entite} = Create Dictionary
1362     ... libelle=option_om_collectivite_entity
1363     ... valeur=true
1364     ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]}
1365     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1366    
1367     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1368     Ajouter le paramètre depuis le menu code_entite
1369     ... ${librecom_multi_2_values["code_entite"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1370    
1371    
1372     # Ajout d'un dossier
1373    
1374     # Remplace certaines valeurs, mais conserve le même external_uid pour le dossier
1375     ${dossier_json_payload} = Replace String ${dossier_json_payload} ${librecom_multi_1_values["acteur"]} ${librecom_multi_2_values["acteur"]}
1376     ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-15 AAA-000-16
1377     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1378    
1379     # Ajoute d'une tâche de création de DI
1380     ${dossier_task_values} = Create Dictionary
1381     ... type=create_DI_for_consultation
1382     ... json_payload=${dossier_json_payload}
1383     Ajouter la tâche par WS ${dossier_task_values}
1384    
1385     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1386     ${dossier_msg} = Déclencher le traitement des tâches par WS
1387    
1388     # Extraction du libellé du DI dans le message
1389     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1390     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1391     ... dossier instruction '([^']+)' .*$
1392     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1393     ${di_lib_sans_espace} = Sans espace ${di_lib}
1394     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_2_values["code_entite"]} ${SPACE}${librecom_multi_2_values["code_entite"]}
1395    
1396     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_2
1397     Depuis la page d'accueil pkropotkin pkropotkin
1398    
1399     # Vérifier que le dossier a bien été ajouté
1400     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1401     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1402     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1403    
1404    
1405     # Ajout de la même pièce au second dossier
1406    
1407     # En tant qu'admin
1408     Depuis la page d'accueil admin admin
1409    
1410     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1411     # json_payload correspondant à la tâche ajout_piece
1412     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1413    
1414     # Remplace certaines valeurs, et conserve le même external_uid que la pièce ajoutée au dossier
1415     # précédent
1416     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
1417     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1418     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1419     ${piece_payload_dict} = To Json ${json_payload}
1420    
1421     # Ajoute la tâche d'ajout de pièce
1422     ${task_values} = Create Dictionary
1423     ... type=add_piece
1424     ... json_payload=${json_payload}
1425     ${task_id} = Ajouter la tâche par WS ${task_values}
1426    
1427     # ajout manuellement les éléments qui ont du être défini par défaut
1428     Set To Dictionary ${task_values} task=${task_id}
1429     Set To Dictionary ${task_values} state=new
1430     Set To Dictionary ${task_values} stream=input
1431    
1432     # se rend sur la page de la tâche
1433     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1434     Depuis le contexte de la task ${task_id}
1435    
1436     # vérifie qu'elle a bien été ajoutée
1437     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1438     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1439     Log Dictionary ${json_payload_loaded['document_numerise']}
1440     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1441    
1442     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1443     ${path_1} = Get Substring ${uid} 0 2
1444     ${path_2} = Get Substring ${uid} 0 4
1445    
1446     # Vérification dans le filestorage
1447     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1448     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1449    
1450     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1451     ${msg} = Déclencher le traitement des tâches par WS
1452     Log ${msg}
1453    
1454     # Extraction du libellé du DI dans le message
1455     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1456     ... : pièce : '([^']+)' .*$
1457     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1458    
1459     # Le DI devrait être le même que celui du dossier
1460     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1461    
1462     # Depuis la page des pièces du dossier
1463     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1464    
1465     # Le nom du fichier doit être présent en tant que pièce
1466     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1467     ... Element Text Should Be
1468     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1469     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1470    
1471     # Depuis la pièce
1472     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1473     ... photographie du terrain dans l'environnement proche
1474    
1475     # La date de création doit correspondre
1476     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1477     ... Element Text Should Be css=#date_creation 27/11/2020
1478    
1479     # Le type de pièce doit correspondre
1480     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1481     ... Element Text Should Be css=#document_numerise_type
1482     ... photographie du terrain dans l'environnement proche
1483    
1484     # desactiver l'option saisie complète des numéros
1485     &{param_saisie_complete} = Create Dictionary
1486     ... libelle=option_dossier_saisie_numero_complet
1487     ... valeur=false
1488     ... om_collectivite=agglo
1489     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1490 softime 9871
1491    
1492     Ajout d'une tâche de création de PeC et d'avis de consultation via WS, puis traitement
1493     [Documentation] Vérification de la création des tâches *pec_metier_consultation* et
1494     ... *avis_consultation* en stream output.
1495    
1496     # En tant qu'admin
1497     Depuis la page d'accueil admin admin
1498    
1499     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1500     &{param_division} = Create Dictionary
1501     ... libelle=option_afficher_division
1502     ... valeur=true
1503     ... om_collectivite=agglo
1504     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1505    
1506     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1507     &{param_dossier_commune} = Create Dictionary
1508     ... libelle=option_dossier_commune
1509     ... valeur=false
1510     ... om_collectivite=agglo
1511     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1512     &{param_saisie_complete} = Create Dictionary
1513     ... libelle=option_dossier_saisie_numero_complet
1514     ... valeur=true
1515     ... om_collectivite=agglo
1516     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1517    
1518     # définir les paramètres de type de demande
1519     &{param_type_demande_initial} = Create Dictionary
1520     ... libelle=param_type_demande_initial
1521     ... valeur=DI
1522     ... om_collectivite=agglo
1523     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
1524    
1525     # Active le mode service consulté
1526     &{param_division} = Create Dictionary
1527     ... libelle=option_mode_service_consulte
1528     ... valeur=true
1529     ... om_collectivite=agglo
1530     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1531    
1532     # isole le contexte du test (création d'une collectivité)
1533     &{librecom_multi_1_values} = Create Dictionary
1534     ... om_collectivite_libelle=LIBRECOM_WS_PEC_AVIS_1
1535     ... departement=06
1536     ... commune=095
1537     ... insee=16095
1538     ... direction_code=U
1539     ... direction_libelle=Direction de LIBRECOM_WS_PEC_AVIS_1
1540     ... direction_chef=Chef
1541     ... division_code=U
1542     ... division_libelle=Division U
1543     ... division_chef=Chef
1544     ... guichet_om_utilisateur_nom=Adrien Caya
1545     ... [email protected]
1546     ... guichet_om_utilisateur_login=acaya
1547     ... guichet_om_utilisateur_pwd=acaya
1548     ... instr_om_utilisateur_nom=Mandel Deslauriers
1549     ... [email protected]
1550     ... instr_om_utilisateur_login=mdeslauriers
1551     ... instr_om_utilisateur_pwd=mdeslauriers
1552     ... code_entite=LBCOM_17
1553     ... acteur=LIBRECOM-ACT-017
1554     Isolation d'un contexte ${librecom_multi_1_values}
1555    
1556     # ajouter le paramètre 'acteur' à la collectivité/au service
1557     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1558     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1559    
1560     # Active l'option entité pour la collectivité/le service
1561     &{param_entite} = Create Dictionary
1562     ... libelle=option_om_collectivite_entity
1563     ... valeur=true
1564     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
1565     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1566    
1567     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1568     Ajouter le paramètre depuis le menu code_entite
1569     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1570    
1571     # Ajoute l'action et l'événement pour changer la prise en compte métier
1572     &{args_action} = Create Dictionary
1573     ... action=changer_pec
1574     ... libelle=Changer PeC
1575     ... regle_pec_metier=pec_metier
1576     Ajouter l'action depuis le menu ${args_action}
1577     @{etat_source} = Create List delai de notification envoye
1578     @{type_di} = Create List DP - P - Initiale
1579     &{args_evenement} = Create Dictionary
1580     ... libelle=300 - Prise en compte métier
1581     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1582     ... dossier_instruction_type=${type_di}
1583     ... action=Changer PeC
1584     ... etat=delai de notification envoye
1585     ... pec_metier=Pris en compte
1586     Ajouter l'événement depuis le menu ${args_evenement}
1587    
1588     # Ajout d'un dossier
1589    
1590     # Récupère le template de payload JSON et le transforme en dictionnaire
1591     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1592    
1593     # Remplace certaines valeurs
1594     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
1595     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-17
1596     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-17
1597     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000012P0
1598     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
1599     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1600    
1601     # Ajoute d'une tâche de création de DI
1602     ${dossier_task_values} = Create Dictionary
1603     ... type=create_DI_for_consultation
1604     ... json_payload=${dossier_json_payload}
1605     Ajouter la tâche par WS ${dossier_task_values}
1606    
1607     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1608     ${dossier_msg} = Déclencher le traitement des tâches par WS
1609    
1610     # Extraction du libellé du DI dans le message
1611     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1612     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1613     ... dossier instruction '([^']+)' .*$
1614     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1615     ${di_lib_sans_espace} = Sans espace ${di_lib}
1616     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
1617     ${di_to_search_se} = Sans espace ${di_to_search}
1618    
1619     # Ajout d'une instruction de prise en compte et vérification de la modification
1620     # sur le dossier d'instruction, ainsi que de la création de la tâche
1621     ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier
1622     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1623     Form Static Value Should Be pec_metier ${args_evenement.pec_metier}
1624     &{task_values} = Create Dictionary
1625     ... type=pec_metier_consultation
1626     ... dossier=${di_to_search_se}
1627     ... state=new
1628     ... object_id=${instr_pec}
1629     ... link_dossier=${di_to_search_se}
1630     ... stream=output
1631     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1632    
1633     # Ajoute l'avis de décision et l'événement pour changer l'avis
1634     &{ad_values} = Create Dictionary
1635     ... libelle=Avis favorable
1636     ... typeavis=favorable
1637     ... avis_decision_type=Conforme
1638     ... avis_decision_nature=Favorable
1639     Ajouter l'avis de décision ${ad_values}
1640     @{etat_source} = Create List delai de notification envoye
1641     @{type_di} = Create List DP - P - Initiale
1642     &{args_evenement} = Create Dictionary
1643     ... libelle=300 - Avis favorable
1644     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1645     ... dossier_instruction_type=${type_di}
1646     ... action=accepter un dossier
1647     ... etat=dossier accepter
1648     ... avis_decision=${ad_values.libelle}
1649     Ajouter l'événement depuis le menu ${args_evenement}
1650    
1651     # Ajout d'une instruction de décision et vérification de la création de la tâche
1652     ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Avis favorable
1653     &{task_values} = Create Dictionary
1654     ... type=avis_consultation
1655     ... dossier=${di_to_search_se}
1656     ... state=new
1657     ... object_id=${instr_pec}
1658     ... link_dossier=${di_to_search_se}
1659     ... stream=output
1660     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26