/[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 10532 - (hide annotations)
Fri Oct 8 16:58:17 2021 UTC (3 years, 3 months ago) by cgarcin
Original Path: branches/5.0.0-develop/tests/300_task.robot
File size: 167713 byte(s)
* Fusion de la branche 5.0.0-develop_histo_ri dans la branche d'intégration 5.0.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 gmalvolti 10058 *** Variables ***
12     ${alternate_filestorage} filestorage_plop
13    
14 gmalvolti 9672 *** Test Cases ***
15 softime 10510 Vérification de l'ajout des tasks creation_DA, creation_DI, depot_DI et qualification_DI lors de l'ajout d'un dossier d'instruction.
16 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
17     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
18 gmalvolti 9672 Depuis la page d'accueil admin admin
19     &{args_dossier} = Create Dictionary
20     ... om_collectivite=MARSEILLE
21     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
22     ... demande_type=Dépôt Initial
23 softime 9967 ... depot_electronique=true
24 gmalvolti 9672 &{args_petitionnaire1} = Create Dictionary
25     ... qualite=particulier
26     ... particulier_nom=TEST300TASKNOM01
27     ... particulier_prenom=TEST300TASKPRENOM01
28     ... om_collectivite=MARSEILLE
29     ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
30    
31     Depuis le menu Moniteur Plat'AU
32    
33     ${di1_sans_espace} = Sans espace ${di1}
34 gmalvolti 9765 ${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY}
35 gmalvolti 9672 Set Suite Variable ${di1}
36     Set Suite Variable ${di1_sans_espace}
37     Set Suite Variable ${di1_da}
38     # On recherche l'enregistrement
39     Click Element css=#toggle-advanced-display
40     #
41     Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier
42     Wait Until Element Is Visible css=div#adv-search-adv-fields input#type
43     # On remplit
44     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
45     Input Text css=div#adv-search-adv-fields input#type creation_DA
46     # On valide le formulaire de recherche
47     Click On Search Button
48    
49     Element Should Contain css=td.col-1 a.lienTable creation_DA
50     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
51    
52     # On remplit
53     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
54     Input Text css=div#adv-search-adv-fields input#type creation_DI
55     # On valide le formulaire de recherche
56     Click On Search Button
57    
58     Element Should Contain css=td.col-1 a.lienTable creation_DI
59     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
60    
61     # On remplit
62     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
63     Input Text css=div#adv-search-adv-fields input#type depot_DI
64     # On valide le formulaire de recherche
65     Click On Search Button
66    
67     Element Should Contain css=td.col-1 a.lienTable depot_DI
68     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
69 softime 10510
70     # On remplit
71     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
72     Input Text css=div#adv-search-adv-fields input#type qualification_DI
73     # On valide le formulaire de recherche
74     Click On Search Button
75    
76     Element Should Contain css=td.col-1 a.lienTable qualification_DI
77     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
78    
79 gmalvolti 9701 Click On Link ${di1_sans_espace}
80     ${id_depot_DI} = Get Text css=#task
81     ${id_next_task} = Evaluate ${id_depot_DI} + 1
82 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
83 gmalvolti 9672
84 cgarcin 10362
85 gmalvolti 9672 Vérification de la mise à jour de la task creation_DI lors de l'ajout des données techniques
86 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
87     ... 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
88 softime 10356 ... il y a bien une création de la tâche modification_DI.
89     ... Vérifie également la création d'une tâche modification_DA lors de la modification des données techniques.
90 gmalvolti 9672 Depuis la page d'accueil admin admin
91    
92     &{task_values} = Create Dictionary
93 softime 10356 ... type=creation_DA
94     ... dossier=${di1_da}
95     ... state=new
96     ... object_id=${di1_da}
97     ... link_dossier=${di1_da}
98     ... stream=output
99     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
100     ${id_creation_DA} = Get Text css=#task
101    
102     &{task_values} = Create Dictionary
103 gmalvolti 9672 ... type=creation_DI
104     ... dossier=${di1_sans_espace}
105 gmalvolti 9710 ... state=new
106     ... object_id=${di1_sans_espace}
107     ... link_dossier=${di1_sans_espace}
108 gmalvolti 9721 ... stream=output
109 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
110 gmalvolti 9705 ${id_creation_DI} = Get Text css=#task
111 gmalvolti 9672 ${time_stamp_log} = Get Text css=#timestamp_log
112 softime 10356
113 gmalvolti 9672 &{donnees_techniques_values} = Create Dictionary
114 gmalvolti 9675 ... ope_proj_desc=Description test dossier parallele
115 gmalvolti 9672 Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
116     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
117     ${timestamp_log_changed} = Get Text css=#timestamp_log
118    
119     Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed}
120    
121 gmalvolti 9701 Click On Back Button
122    
123 gmalvolti 9710 # On vérifie qu'il n'y pas de task modification_DI
124 gmalvolti 9701 Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
125     Input Text css=div#adv-search-adv-fields input#type modification_DI
126     Click On Search Button
127     Element Should Contain css=.tab-data Aucun enregistrement.
128    
129 gmalvolti 9705 &{task_values_modif} = Create Dictionary
130 gmalvolti 9706 ... state=done
131 gmalvolti 9705 Modifier la task ${id_creation_DI} ${task_values_modif}
132 mbideau 9813 La page ne doit pas contenir d'erreur
133 softime 10356 Modifier la task ${id_creation_DA} ${task_values_modif}
134     La page ne doit pas contenir d'erreur
135 gmalvolti 9701
136 gmalvolti 9705 &{donnees_techniques_values} = Create Dictionary
137     ... ope_proj_desc=Description test dossier parallele BIS
138     Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
139 mbideau 9813 La page ne doit pas contenir d'erreur
140 gmalvolti 9705
141     &{task_values} = Create Dictionary
142     ... type=modification_DI
143     ... dossier=${di1_sans_espace}
144     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
145    
146 softime 10356 &{task_values} = Create Dictionary
147     ... type=modification_DA
148     ... dossier=${di1_da}
149     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
150    
151 gmalvolti 9675 Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction
152 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.
153     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
154 gmalvolti 9675 Depuis la page d'accueil admin admin
155 softime 10356 ${instr_ac} = Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état'
156 gmalvolti 9675 &{task_values} = Create Dictionary
157     ... type=qualification_DI
158     ... dossier=${di1_sans_espace}
159 gmalvolti 9710 ... state=new
160 softime 10356 ... object_id=${instr_ac}
161 gmalvolti 9710 ... link_dossier=${di1_sans_espace}
162 gmalvolti 9721 ... stream=output
163 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
164 gmalvolti 9675 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
165     Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE"
166 gmalvolti 9672
167 gmalvolti 9675 Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état'
168 softime 10356 &{task_values} = Create Dictionary
169     ... type=qualification_DI
170     ... dossier=${di1_sans_espace}
171     ... state=draft
172     ... object_id=${instr_ac}
173     ... link_dossier=${di1_sans_espace}
174     ... stream=output
175 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
176 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
177     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
178 gmalvolti 9672
179 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
180    
181 cgarcin 10532 Vérification qu'il n'y a pas d'ajout de la task ajout_piece lors de l'ajout d'un document de travail au dossier d'instruction
182     [Documentation] Permet de vérifier que la tâche ajout_piece n'est pas ajouté lors de l'ajout d'un document de travail
183     ... au dossier d'instruction.
184    
185     Depuis la page d'accueil admin admin
186     # On ajoute un document de travail
187     &{document_travail_values} = Create Dictionary
188     ... uid_upload=testImportManuel.pdf
189     ... description_type=document de travail
190     ... date_creation=06/06/2001
191     Ajouter un document de travail depuis le dossier d'instruction ${di1} ${document_travail_values}
192    
193     &{task_values} = Create Dictionary
194     ... type=ajout_piece
195     ... dossier=${di1_sans_espace}
196     ... stream=output
197     # On accède au tableau
198     Depuis le menu Moniteur Plat'AU
199     ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple
200     Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display
201     #
202     Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier
203     Wait Until Element Is Visible css=div#adv-search-adv-fields input#type
204     # On remplit
205     Input Text css=#type ajout_piece
206     Input Text css=#dossier ${di1_sans_espace}
207     Select From List By Label css=#stream output
208     # On valide le formulaire de recherche
209     Click On Search Button
210     # Aucune tache d'ajout de pièce ne doit être trouvé
211     Element Should Contain css=#tab-task Aucun enregistrement.
212    
213 gmalvolti 9694 Vérification de l'ajout de la task ajout_piece lors de l'ajout d'une piece au dossier d'instruction
214 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
215     ... et que le contenu ajouté et téléchargé à partir de la tâche est identique.
216     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
217 gmalvolti 9675 Depuis la page d'accueil admin admin
218     # On ajoute un document numérisé par DI
219     &{document_numerise_values} = Create Dictionary
220     ... uid_upload=testImportManuel.pdf
221     ... date_creation=${date_ddmmyyyy}
222     ... document_numerise_type=autres pièces composant le dossier (A0)
223     Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values}
224 gmalvolti 9710
225 gmalvolti 9675 &{task_values} = Create Dictionary
226 gmalvolti 9694 ... type=ajout_piece
227 gmalvolti 9675 ... dossier=${di1_sans_espace}
228 gmalvolti 9710 ... state=new
229     ... link_dossier=${di1_sans_espace}
230 gmalvolti 9721 ... stream=output
231 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
232    
233     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
234 gmalvolti 9701 ${link_piece} = Set Variable ${json_payload_loaded['document_numerise']['path']}
235     ${output_dir} ${output_name}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_piece} ${EXECDIR}${/}binary_files${/}
236 gmalvolti 9710
237 gmalvolti 9701 ${base64_file} = Run base64 ${output_dir}${output_name}
238     ${base64_model} = Run base64 ${EXECDIR}${/}binary_files${/}testImportManuel.pdf
239     Should Be Equal As Strings ${base64_file} ${base64_model}
240 gmalvolti 9710
241 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
242     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
243 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
244 gmalvolti 9694
245 gmalvolti 9701 Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di
246 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
247     ... et que le contenu généré et téléchargé à partir de la tâche est identique.
248     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
249 gmalvolti 9701 Depuis la page d'accueil admin admin
250     Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve
251     Click On SubForm Portlet Action instruction edition new_window
252     Open PDF ${OM_PDF_TITLE}
253     ${link_decision_portlet} = Get Location
254     Close PDF
255     ${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/}
256 gmalvolti 9710
257 gmalvolti 9701 &{task_values} = Create Dictionary
258     ... type=decision_DI
259     ... dossier=${di1_sans_espace}
260 gmalvolti 9710 ... state=new
261     ... link_dossier=${di1_sans_espace}
262 gmalvolti 9721 ... stream=output
263 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
264    
265 gmalvolti 9701 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
266     Element Should Contain css=#json_payload "avis_decision": "7",
267 gmalvolti 9710
268     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
269 gmalvolti 9701 ${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']}
270     ${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/}
271 gmalvolti 9710
272 gmalvolti 9701 ${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet}
273     ${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload}
274     Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload}
275 gmalvolti 9710
276 gmalvolti 9706 ${id_decision_DI} = Get Text css=#task
277     ${id_next_task} = Evaluate ${id_decision_DI} + 1
278 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
279 gmalvolti 9694
280 gmalvolti 9705 Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di
281 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
282     ... et que la tâche ne contient pas de fichier à télécharger.
283     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
284 gmalvolti 9705 Depuis la page d'accueil admin admin
285     &{args_dossier} = Create Dictionary
286     ... om_collectivite=MARSEILLE
287     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
288     ... demande_type=Dépôt Initial
289 softime 9967 ... depot_electronique=true
290 gmalvolti 9705 &{args_petitionnaire1} = Create Dictionary
291     ... qualite=particulier
292     ... particulier_nom=TEST300TASKNOM02
293     ... particulier_prenom=TEST300TASKPRENOM02
294     ... om_collectivite=MARSEILLE
295     ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
296    
297     ${di2_sans_espace} = Sans espace ${di2}
298 gmalvolti 9765 ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY}
299 gmalvolti 9705
300     Ajouter une instruction au DI ${di2} accord tacite (sans arrete)
301    
302     &{task_values} = Create Dictionary
303     ... type=decision_DI
304     ... dossier=${di2_sans_espace}
305     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
306 gmalvolti 9710 ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
307 gmalvolti 9705
308 gmalvolti 9751 Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path
309 gmalvolti 9706
310     ${id_decision_DI} = Get Text css=#task
311     ${id_next_task} = Evaluate ${id_decision_DI} + 1
312 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
313 gmalvolti 9721
314     Vérification de l'ajout et de la consultation d'une tâche de type stream input
315     [Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test
316     ... fonctionne correctement
317 gmalvolti 9765
318     # Récupère le template de payload JSON et le transforme en dictionnaire
319 gmalvolti 9721 ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
320 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-00
321     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00
322 gmalvolti 9765 ${json_payload} = Replace String ${json_payload} 013055 20 013055 19
323     ${json_payload} = Replace String ${json_payload} 01305520 01305519
324     ${json_payload} = Replace String ${json_payload} 2020 2019
325     ${json_payload} = Replace String ${json_payload} 07777P0 01111P0
326     ${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY}
327     ${payload_dict} = To Json ${json_payload}
328    
329 gmalvolti 9721 # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
330     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
331     ${task_values} = Create Dictionary
332 mbroquet 9776 ... type=create_DI_for_consultation
333 gmalvolti 9721 ... json_payload=${json_payload}
334     Ajouter la tâche par WS ${task_values}
335    
336 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
337     Set To Dictionary ${task_values} dossier=${payload_dict["dossier"]["dossier"]}
338     Set To Dictionary ${task_values} state=new
339     Set To Dictionary ${task_values} stream=input
340    
341 gmalvolti 9721 Depuis la page d'accueil admin admin
342     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
343    
344     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
345     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
346     ${json_payload_to_compare} = Get Text css=#json_payload
347    
348     Should Be Equal As Strings ${json_payload} ${json_payload_to_compare}
349 gmalvolti 9751
350 mbideau 9813
351 gmalvolti 9765 Ajout d'une tâche de création de DI via WS, puis traitement
352     [Documentation] Vérifie l'ajout de la tâche via WS et son traitement
353    
354     # En tant qu'admin
355     Depuis la page d'accueil admin admin
356    
357     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
358     &{param_division} = Create Dictionary
359     ... libelle=option_afficher_division
360     ... valeur=true
361     ... om_collectivite=agglo
362 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
363 gmalvolti 9765
364     # desactiver l'option dossier_commune et la saisie complète des numéros
365     &{param_dossier_commune} = Create Dictionary
366     ... libelle=option_dossier_commune
367     ... valeur=false
368     ... om_collectivite=agglo
369     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
370     &{param_saisie_complete} = Create Dictionary
371     ... libelle=option_dossier_saisie_numero_complet
372     ... valeur=false
373     ... om_collectivite=agglo
374     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
375    
376 mbideau 9790 # définir les paramètres de type de demande
377 softime 9963 &{platau_type_demande_initial} = Create Dictionary
378     ... libelle=platau_type_demande_initial_PCI
379 mbideau 9790 ... valeur=DI
380     ... om_collectivite=agglo
381 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
382     &{platau_type_demande_initial} = Create Dictionary
383     ... libelle=platau_type_demande_initial_DP
384     ... valeur=DI
385     ... om_collectivite=agglo
386     Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
387 mbideau 9790 &{param_type_demande_modificatif} = Create Dictionary
388 softime 9963 ... libelle=param_type_demande_modificatif_PCI
389 mbideau 9790 ... valeur=DM
390     ... om_collectivite=agglo
391     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_modificatif}
392     &{param_type_demande_transfert} = Create Dictionary
393 softime 9963 ... libelle=param_type_demande_transfert_PCI
394 mbideau 9790 ... valeur=DT
395     ... om_collectivite=agglo
396     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_transfert}
397    
398 gmalvolti 9765 # isole le contexte du test (création d'une collectivité)
399 mbideau 9773 &{librecom_values} = Create Dictionary
400 gmalvolti 9765 ... om_collectivite_libelle=LIBRECOM_WS
401     ... departement=013
402     ... commune=095
403     ... insee=13095
404     ... direction_code=E
405     ... direction_libelle=Direction de LIBRECOM_WS
406     ... direction_chef=Chef
407     ... division_code=E
408     ... division_libelle=Division E
409     ... division_chef=Chef
410     ... guichet_om_utilisateur_nom=Thom Moht
411     ... [email protected]
412     ... guichet_om_utilisateur_login=tmoth
413     ... guichet_om_utilisateur_pwd=tmoth
414     ... instr_om_utilisateur_nom=Qualdi Idlauq
415     ... [email protected]
416     ... instr_om_utilisateur_login=qidlauq
417     ... instr_om_utilisateur_pwd=qidlauq
418 mbideau 9773 ... code_entite=LBCOM_13
419     ... acteur=LIBRECOM-ACT-013
420     Isolation d'un contexte ${librecom_values}
421     &{loincom_values} = Create Dictionary
422 gmalvolti 9765 ... om_collectivite_libelle=LOINCOM_WS
423     ... departement=796
424     ... commune=095
425     ... insee=79695
426     ... direction_code=F
427     ... direction_libelle=Direction de LOINCOM_WS
428     ... direction_chef=Chef
429     ... division_code=F
430     ... division_libelle=Division F
431     ... division_chef=Chef
432     ... guichet_om_utilisateur_nom=Somar Ramos
433     ... [email protected]
434     ... guichet_om_utilisateur_login=sramos
435     ... guichet_om_utilisateur_pwd=sramos
436     ... instr_om_utilisateur_nom=Bliguet Teugilb
437     ... [email protected]
438     ... instr_om_utilisateur_login=bteugilb
439     ... instr_om_utilisateur_pwd=bteugilb
440 mbideau 9773 Isolation d'un contexte ${loincom_values}
441 gmalvolti 9765
442 mbideau 9790 # Récupère l'identifiant de la collectivité LIBRECOM_WS
443 mbideau 9798 Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
444 mbideau 9790 ${librecom_ws_id} = Get Text css=#om_collectivite
445    
446 gmalvolti 9765 # Récupère le template de payload JSON et le transforme en dictionnaire
447     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
448 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-01
449     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-01
450 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
451 mbideau 9790 ${json_payload} = Replace String ${json_payload} "om_collectivite": "2" "om_collectivite": "${librecom_ws_id}"
452 gmalvolti 9765
453     ${payload_dict} = To Json ${json_payload}
454    
455 mbideau 9773 # sauvegarde le code d'acteur
456 mbideau 9955 ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]}
457 mbideau 9773
458 gmalvolti 9765 # retire le paramètre 'acteur' de la payload JSON
459 mbideau 9955 Remove From Dictionary ${payload_dict["external_uids"]} acteur
460 gmalvolti 9765
461     # (re)Converti la payload JSON en string
462     ${json_string}= evaluate json.dumps(${payload_dict}) json
463    
464     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
465     ${task_values} = Create Dictionary
466 mbroquet 9776 ... type=create_DI_for_consultation
467 gmalvolti 9765 ... json_payload=${json_string}
468     Ajouter la tâche par WS ${task_values}
469    
470     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
471     ${msg} = Déclencher le traitement des tâches par WS
472    
473     # Le libellé du DI créé ne correspondra pas au numéro renseigné
474     # car l'option de saisie complète du numéro de dossier n'est pas activée
475     # Il sera créé avec la séquence, débutant au numéro 1
476     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
477 gmalvolti 9775 ... [^ ]{7}$ 00001P0
478 gmalvolti 9765 ${da_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
479     ... [^ ]{5}$ 00001
480     # Idem pour les numéros DI et DA
481     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
482 gmalvolti 9775 ... [^ ]{7}$ 00001P0
483 gmalvolti 9765 ${da_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation"]}
484 gmalvolti 9775 ... [^ ]{7}$ 00001P0
485 gmalvolti 9765
486     # Extraction du libellé du DI dans le message
487     ${di_regex} = Catenate .*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
488     ... dossier instruction '${di_lib_expected}' .*$
489     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
490     ${di_matches_len} = Get Length ${di_matches}
491     Should Be True "${di_matches_len}" > "0"
492    
493     # Vérifier que le dossier a bien été ajouté
494     Depuis le contexte du dossier d'instruction ${di_lib_expected}
495     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
496     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
497     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
498     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
499     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
500    
501 softime 10087 # Vérifie que les données techniques ont bien été modifiées
502     Depuis le contexte du dossier d'instruction ${di_lib_expected}
503     Click On Form Portlet Action dossier_instruction donnees_techniques modale
504     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm donnees_techniques modifier
505     Open Fieldset In Subform donnees_techniques description-de-la-demande---du-projet
506     Form Static Value Should Be ope_proj_desc Description test dossier parallele BIS
507 gmalvolti 9765
508     # nouvelle itération mais avec la saisie complète des numéros de dossier
509    
510     # activer la complète des numéros de dossiers
511     Set To Dictionary ${param_saisie_complete} valeur=true
512     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
513    
514 mbideau 9790 # modification des externals uids
515     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-02
516     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-02
517    
518     # (re)Converti la payload JSON en string
519     ${json_string}= evaluate json.dumps(${payload_dict}) json
520    
521 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
522     ${task_values} = Create Dictionary
523 mbroquet 9776 ... type=create_DI_for_consultation
524 gmalvolti 9765 ... json_payload=${json_string}
525     Ajouter la tâche par WS ${task_values}
526    
527     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
528     ${msg} = Déclencher le traitement des tâches par WS
529    
530     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier, ou presque
531     # le numéro n'est pas 'P0' mais 'P00' (je ne sais pas pourquoi)
532     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
533     ... P0$ P00
534     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
535     # Idem pour les numéros DI et DA
536     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
537     ... P0$ P00
538     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
539    
540     # Extraction du libellé du DI dans le message
541     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
542     ... dossier instruction '${di_lib_expected}' .*$
543     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
544     ${di_matches_len} = Get Length ${di_matches}
545     Should Be True "${di_matches_len}" > "0"
546    
547     # Vérifier que le dossier a bien été ajouté
548     Depuis le contexte du dossier d'instruction ${di_lib_expected}
549     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
550     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
551     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
552     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
553     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
554    
555    
556     # nouvelle itération mais avec l'option commune et le rattachement via un numéro d'acteur
557    
558     # activer l'option dossier_commune
559     Depuis la page d'accueil admin admin
560     Set To Dictionary ${param_dossier_commune} valeur=true
561     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
562    
563     #-- ajouter manuellement une commune en saisissant une date de validité dans le passé
564 mbideau 9773 &{oldcom_values} = Create Dictionary
565 gmalvolti 9765 ... typecom=COM
566     ... com=45645
567     ... reg=45
568     ... dep=45
569     ... arr=645
570     ... tncc=0
571     ... ncc=LIBRECOM_OLD
572     ... nccenr=LibreCom_old
573 mbideau 9773 ... libelle=LIBRECOM_OLD
574 gmalvolti 9765 ... can=45
575     ... comparent=
576     ... om_validite_debut=01/11/2020
577 mbideau 9773 Ajouter commune avec dates validité ${oldcom_values}
578 gmalvolti 9765
579 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
580 mbideau 9773 Ajouter le paramètre depuis le menu platau_acteur_service_consulte
581     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
582    
583 gmalvolti 9765 # Change le numéro de dossier et le code commune dans la payload JSON
584     ${json_payload} = Replace String ${json_payload} P0 P04
585 mbideau 9773 ${json_payload} = Replace String ${json_payload}
586     ... ${librecom_values["insee"]} ${oldcom_values["com"]}
587     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
588 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
589    
590     # retire le paramètre 'om_collectivite' de la payload JSON
591     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
592    
593 mbideau 9790 # modification des externals uids
594     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-03
595     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-03
596    
597 gmalvolti 9765 # (re)Converti la payload JSON en string
598     ${json_string}= evaluate json.dumps(${payload_dict}) json
599    
600     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
601     ${task_values} = Create Dictionary
602 mbroquet 9776 ... type=create_DI_for_consultation
603 gmalvolti 9765 ... json_payload=${json_string}
604     Ajouter la tâche par WS ${task_values}
605    
606     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
607     ${msg} = Déclencher le traitement des tâches par WS
608    
609     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
610     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
611     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
612     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
613     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
614    
615     # Extraction du libellé du DI dans le message
616     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
617     ... dossier instruction '${di_lib_expected}' .*$
618     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
619     ${di_matches_len} = Get Length ${di_matches}
620     Should Be True "${di_matches_len}" > "0"
621    
622 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
623 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
624    
625     # Vérifier que le dossier a bien été ajouté
626     Depuis le contexte du dossier d'instruction ${di_lib_expected}
627     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
628     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
629     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
630     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
631     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
632    
633    
634     # nouvelle itération avec le même DA pour être sûr qu'il est réutilisé avec succès
635     Depuis la page d'accueil admin admin
636    
637     # Change le numéro de dossier et le code commune dans la payload JSON
638     ${json_payload} = Replace String ${json_payload} P04 P03
639     ${payload_dict} = To Json ${json_payload}
640    
641     # retire le paramètre 'om_collectivite' de la payload JSON
642     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
643    
644 mbideau 9790 # modification des externals uids
645     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-04
646     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-04
647    
648 gmalvolti 9765 # (re)Converti la payload JSON en string
649     ${json_string}= evaluate json.dumps(${payload_dict}) json
650    
651     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
652     ${task_values} = Create Dictionary
653 mbroquet 9776 ... type=create_DI_for_consultation
654 gmalvolti 9765 ... json_payload=${json_string}
655     Ajouter la tâche par WS ${task_values}
656    
657     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
658     ${msg} = Déclencher le traitement des tâches par WS
659    
660     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
661     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
662     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
663     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
664     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
665    
666     # Extraction du libellé du DI dans le message
667     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
668     ... dossier instruction '${di_lib_expected}' .*$
669     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
670     ${di_matches_len} = Get Length ${di_matches}
671     Should Be True "${di_matches_len}" > "0"
672    
673 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
674 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
675    
676     # Vérifier que le dossier a bien été ajouté
677     Depuis le contexte du dossier d'instruction ${di_lib_expected}
678     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
679     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
680     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
681     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
682     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
683    
684    
685 mbideau 9790 # nouvelle itération avec l'option des codes entités
686 gmalvolti 9765 Depuis la page d'accueil admin admin
687    
688 mbideau 9850 # active l'option entité pour la collectivité/le service
689 gmalvolti 9765 &{param_entite} = Create Dictionary
690     ... libelle=option_om_collectivite_entity
691     ... valeur=true
692 mbideau 9773 ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
693 gmalvolti 9765 Ajouter ou modifier le paramètre depuis le menu ${param_entite}
694    
695 mbideau 9850 # ajoute le paramètre 'code_entite' à la collectivité/le service
696 mbideau 9773 Ajouter le paramètre depuis le menu code_entite
697     ... ${librecom_values["code_entite"]} ${librecom_values["om_collectivite_libelle"]}
698 gmalvolti 9765
699 mbideau 9790 # modification des externals uids
700     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-05
701     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-05
702 gmalvolti 9765
703 mbideau 9790 # (re)Converti la payload JSON en string
704     ${json_string}= evaluate json.dumps(${payload_dict}) json
705    
706 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
707     ${task_values} = Create Dictionary
708 mbroquet 9776 ... type=create_DI_for_consultation
709 gmalvolti 9765 ... json_payload=${json_string}
710     Ajouter la tâche par WS ${task_values}
711    
712     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
713     ${msg} = Déclencher le traitement des tâches par WS
714    
715     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
716 mbideau 9773 ${di_lib_expected} = Catenate ${payload_dict["dossier"]["dossier_libelle"]}
717     ... ${librecom_values["code_entite"]}01
718 gmalvolti 9765 ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
719 mbideau 9773 ${di_expected} = Catenate ${payload_dict["dossier"]["dossier"]}
720     ... ${librecom_values["code_entite"]}01
721 gmalvolti 9765 ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
722    
723     # Extraction du libellé du DI dans le message
724     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
725     ... dossier instruction '${di_lib_expected}' .*$
726     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
727     ${di_matches_len} = Get Length ${di_matches}
728     Should Be True "${di_matches_len}" > "0"
729    
730 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
731 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
732    
733     # Vérifier que le dossier a bien été ajouté
734     Depuis le contexte du dossier d'instruction ${di_lib_expected}
735     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
736     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
737     Depuis le contexte du dossier d'autorisation par la recherche ${da_lib_expected}
738     # l'onglet du DA est vide dans le mode MC, mais le simple fait d'arriver à y accéder
739     # montre qu'il existe
740    
741    
742     # nouvelle itération avec une payload JSON minimale
743 mbideau 9813 Depuis la page d'accueil admin admin
744 gmalvolti 9765
745     # Récupère le template de payload JSON et le transforme en dictionnaire
746     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
747    
748     # Remplace certaines valeurs
749 mbideau 9798 ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-06
750     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-06
751 mbideau 9813 ${json_payload} = Replace String ${json_payload} 00009 00009P0
752 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
753     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
754 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
755    
756     # Converti la payload JSON en string
757     ${json_string}= evaluate json.dumps(${payload_dict}) json
758    
759     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
760     ${task_values} = Create Dictionary
761 mbroquet 9776 ... type=create_DI_for_consultation
762 gmalvolti 9765 ... json_payload=${json_string}
763     Ajouter la tâche par WS ${task_values}
764    
765     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
766     ${msg} = Déclencher le traitement des tâches par WS
767    
768     # Extraction du libellé du DI dans le message
769     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
770     ... dossier instruction '([^']+)' .*$
771     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
772    
773 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
774 mbideau 9813 Depuis la page d'accueil tmoth tmoth
775    
776 gmalvolti 9765 # Vérifier que le dossier a bien été ajouté
777     Depuis le contexte du dossier d'instruction ${di_lib}
778     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
779     ... Element Should Contain css=#dossier_libelle ${di_lib}
780    
781 mbideau 9773 # Commune
782     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
783     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
784 gmalvolti 9765
785 mbideau 9773 # Code entité
786 mbideau 9790 ${num_entite_value} = Get Value css=input#numerotation_entite
787     Should Be Equal ${num_entite_value} ${librecom_values["code_entite"]}
788 mbideau 9773
789     # Demandeur principale
790     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
791     ... Element Should Contain css=#dossier_petitionnaire Perry Katy
792    
793     # Date demande = date dépôt
794     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
795     ... Element Should Contain css=#date_depot 23/11/2020
796    
797     # Autres demandeurs
798     Open Fieldset dossier_instruction demandeur
799     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
800     ... Element Should Contain css=#liste_demandeur Madame Perry Katy
801     Element Should Contain css=#liste_demandeur Métropole Construction SA Métropole
802     Element Should Contain css=#liste_demandeur Monsieur Bloom Orlando
803     Element Should Contain css=#liste_demandeur 67 rue de l'espérance
804    
805     # Dépôt électronique
806     Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16
807    
808    
809 mbideau 9813 # nouvelle itération avec deux DI non-réglementaires
810     # générant deux DA/DI différents à cause que 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-07
822     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-07
823     ${json_payload} = Replace String ${json_payload} 00009 7a9eeP0
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     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
845    
846 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
847 mbideau 9813 Depuis la page d'accueil tmoth tmoth
848    
849     # Vérifier que le dossier a bien été ajouté
850     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
851     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
852     ... Element Should Contain css=#dossier_libelle ${di_to_search}
853    
854     # Commune
855     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
856     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
857    
858     # En tant qu'admin
859     Depuis la page d'accueil admin admin
860    
861     # Remplace certaines valeurs
862     #${json_payload} = Replace String ${json_payload} 000-AAA-07 000-AAA-08
863     ${json_payload} = Replace String ${json_payload} AAA-000-07 AAA-000-08
864    
865     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
866     ${task_values} = Create Dictionary
867     ... type=create_DI_for_consultation
868     ... json_payload=${json_payload}
869     Ajouter la tâche par WS ${task_values}
870    
871     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
872     ${msg} = Déclencher le traitement des tâches par WS
873    
874     # Extraction du libellé du DI dans le message
875     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
876     ... dossier instruction '([^']+)' .*$
877     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
878     Log ${di_lib}
879    
880     ${di_lib_no_space} = Sans espace ${di_lib}
881     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
882    
883 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
884 mbideau 9813 Depuis la page d'accueil tmoth tmoth
885    
886     # Vérifier que le dossier a bien été ajouté
887     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
888     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
889     ... Element Should Contain css=#dossier_libelle ${di_to_search}
890    
891    
892     # nouvelle itération avec deux DI non-réglementaires sans l'option code entité
893     Depuis la page d'accueil admin admin
894    
895     # sans l'option de code entité
896     Set To Dictionary ${param_entite} valeur=false
897     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
898    
899     # Récupère le template de payload JSON et le transforme en dictionnaire
900     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
901    
902     # Remplace certaines valeurs
903     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-09
904     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-09
905     ${json_payload} = Replace String ${json_payload} 00009 4d67qsP0
906     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
907     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
908     ${payload_dict} = To Json ${json_payload}
909    
910     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
911     ${task_values} = Create Dictionary
912     ... type=create_DI_for_consultation
913     ... json_payload=${json_payload}
914     Ajouter la tâche par WS ${task_values}
915    
916     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
917     ${msg} = Déclencher le traitement des tâches par WS
918    
919     # Extraction du libellé du DI dans le message
920     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
921     ... dossier instruction '([^']+)' .*$
922     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
923     Log ${di_lib}
924    
925     ${di_lib_no_space} = Sans espace ${di_lib}
926    
927 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
928 mbideau 9813 Depuis la page d'accueil tmoth tmoth
929    
930     # Vérifier que le dossier a bien été ajouté
931     #Depuis le contexte du dossier d'instruction par recherche ${di_lib_no_space}
932     Depuis le contexte du dossier d'instruction ${di_lib_no_space}
933     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
934     ... Element Should Contain css=#dossier_libelle ${di_lib_no_space}
935    
936 softime 9950 # Vérification liste des identifiants externe sur le DI
937     # dossier_consultation
938     Open Fieldset dossier_instruction lien_id_interne_uid_externe
939     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
940     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${payload_dict["external_uids"]["dossier"]}
941     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
942     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${payload_dict["external_uids"]["dossier_consultation"]}
943    
944 mbideau 9813 # En tant qu'admin
945     Depuis la page d'accueil admin admin
946    
947     # Remplace certaines valeurs
948     ${json_payload} = Replace String ${json_payload} AAA-000-09 ZZZ-000-09
949    
950     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
951     ${task_values} = Create Dictionary
952     ... type=create_DI_for_consultation
953     ... json_payload=${json_payload}
954     Ajouter la tâche par WS ${task_values}
955    
956     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
957     ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS
958     Should Be Equal ${passed} ${FALSE}
959    
960 gmalvolti 9765 # fin, suppression des options
961     Depuis la page d'accueil admin admin
962     Set To Dictionary ${param_division} valeur=false
963     Ajouter ou modifier le paramètre depuis le menu ${param_division}
964     Set To Dictionary ${param_saisie_complete} valeur=true
965     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
966     Set To Dictionary ${param_dossier_commune} valeur=false
967     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
968    
969    
970 gmalvolti 10058 Activation de la configuration du filestorage alternatif
971     # On change la configuration du filestorage
972     Move File ..${/}dyn${/}filestorage.inc.php ..${/}dyn${/}filestorage.inc.php.bak
973     Copy File ..${/}tests${/}binary_files${/}alternate_filestorage.inc.php ..${/}dyn${/}
974     Move File ..${/}dyn${/}alternate_filestorage.inc.php ..${/}dyn${/}filestorage.inc.php
975    
976    
977     Ajout d'une tâche ajout_piece en utilisant le filestorage alternatif
978     [Documentation] Ce test case permet de vérifier le bon fonctionnement de l'ajout d'une tâche ajout_piece avec un filesotrage alternatif.
979     ... On ajout tout d'abord la tâche par web service et on vérifie que l'uid contient bien le préfixe fs qui a été configuré dans le fichier
980     ... filesotrage.inc.php. On vérifie ensuite que le fichier a bien été ajouté dans le filestorage alternatif (../var/filestorage_plop)
981     ... et qu'il n'est pas présent dans le filstorage pricipal. On traite la tâche ajout pièce ce qui va lié la pièce à un dossier et on consulte
982     ... la pièce afin de vérifier que l'uid contient bien le préfixe dans le sous titre.
983    
984    
985     # En tant qu'admin
986     Depuis la page d'accueil admin admin
987    
988     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
989     &{param_division} = Create Dictionary
990     ... libelle=option_afficher_division
991     ... valeur=true
992     ... om_collectivite=agglo
993 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
994 gmalvolti 10058
995     # desactiver l'option dossier_commune et la saisie complète des numéros
996     &{param_dossier_commune} = Create Dictionary
997     ... libelle=option_dossier_commune
998     ... valeur=false
999     ... om_collectivite=agglo
1000     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1001     &{param_saisie_complete} = Create Dictionary
1002     ... libelle=option_dossier_saisie_numero_complet
1003     ... valeur=false
1004     ... om_collectivite=agglo
1005     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1006    
1007     # définir les paramètres de type de demande
1008     &{platau_type_demande_initial} = Create Dictionary
1009     ... libelle=platau_type_demande_initial_DP
1010     ... valeur=DI
1011     ... om_collectivite=agglo
1012     Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
1013    
1014     # isole le contexte du test (création d'une collectivité)
1015     &{librecom_values} = Create Dictionary
1016     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_AFS
1017     ... departement=016
1018     ... commune=098
1019     ... insee=16098
1020     ... direction_code=O
1021     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_AFS
1022     ... direction_chef=Chef
1023 softime 10144 ... division_code=OO
1024     ... division_libelle=Division OO
1025 gmalvolti 10058 ... division_chef=Chef
1026     ... guichet_om_utilisateur_nom=KhalilAFS GibrAFS
1027     ... [email protected]
1028     ... guichet_om_utilisateur_login=kgibrafs
1029     ... guichet_om_utilisateur_pwd=kgibrafs
1030     ... instr_om_utilisateur_nom=DomirAFS TambAFS
1031     ... [email protected]
1032     ... instr_om_utilisateur_login=dtambafs
1033     ... instr_om_utilisateur_pwd=dtambafs
1034     ... code_entite=LBCOM_16
1035     ... acteur=LIBRECOM-ACT-016-AFS
1036     Isolation d'un contexte ${librecom_values}
1037    
1038     # ajouter le paramètre 'acteur' à la collectivité/au service
1039     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1040     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
1041    
1042     # Ajouter le type de document avec le code '90' tel qu'il est dans la payload
1043     ${dnt_code} = Set Variable 95
1044     &{dnt_values} = Create Dictionary
1045     ... code=${dnt_code}
1046     ... libelle=Document numérisé Plat'AU AFS
1047     ... document_numerise_type_categorie=Autre
1048     Ajouter le type de pièces ${dnt_values}
1049     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1050    
1051     # Récupère l'identifiant de la collectivité LIBRECOM_WS
1052     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
1053     ${librecom_ws_id} = Get Text css=#om_collectivite
1054    
1055     # Récupère le template de payload JSON et le transforme en dictionnaire
1056     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1057    
1058     # Remplace certaines valeurs
1059     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
1060     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-10
1061     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-10
1062     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
1063     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
1064     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1065    
1066     # Ajoute d'une tâche de création de DI
1067     ${dossier_task_values} = Create Dictionary
1068     ... type=create_DI_for_consultation
1069     ... json_payload=${dossier_json_payload}
1070     Ajouter la tâche par WS ${dossier_task_values}
1071    
1072     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1073     ${dossier_msg} = Déclencher le traitement des tâches par WS
1074    
1075     # Extraction du libellé du DI dans le message
1076     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1077     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1078     ... dossier instruction '([^']+)' .*$
1079     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1080    
1081     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE
1082     Depuis la page d'accueil kgibrafs kgibrafs
1083    
1084     # Vérifier que le dossier a bien été ajouté
1085     Depuis le contexte du dossier d'instruction ${di_lib}
1086     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1087     ... Element Should Contain css=#dossier_libelle ${di_lib}
1088    
1089    
1090     # En tant qu'admin
1091     Depuis la page d'accueil admin admin
1092    
1093     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1094     # json_payload correspondant à la tâche ajout_piece
1095     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1096    
1097     # Remplace certaines valeurs
1098     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
1099     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-10
1100     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-10
1101     ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-10
1102     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "95"
1103     ${piece_payload_dict} = To Json ${json_payload}
1104     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1105    
1106     # Ajoute la tâche d'ajout de pièce
1107     ${task_values} = Create Dictionary
1108     ... type=add_piece
1109     ... json_payload=${json_payload}
1110     ${task_id} = Ajouter la tâche par WS ${task_values}
1111    
1112     # ajout manuellement les éléments qui ont du être défini par défaut
1113     Set To Dictionary ${task_values} task=${task_id}
1114     Set To Dictionary ${task_values} state=new
1115     Set To Dictionary ${task_values} stream=input
1116    
1117     # se rend sur la page de la tâche
1118     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1119     Depuis le contexte de la task ${task_id}
1120    
1121     # vérifie qu'elle a bien été ajoutée
1122     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1123     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1124     Log Dictionary ${json_payload_loaded['document_numerise']}
1125     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1126    
1127     # L'uid doit contenir le préfixe correspondant au filestorage alternatif
1128     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1129     ${prefix} = Get Substring ${uid} 0 5
1130     Should Be Equal As Strings ${prefix} fs://
1131     # On enlève le préfixe de l'uid
1132     ${uid_without_prefix} = Get Substring ${uid} 5
1133     ${path_1} = Get Substring ${uid} 5 7
1134     ${path_2} = Get Substring ${uid} 5 9
1135    
1136     # Vérification dans le filestorage alternatif, le fichier doit être présent
1137     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1138     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1139    
1140     # Vérification dans le filestorage principale, le fichier ne doit pas être présent
1141     File Should Not Exist ..${/}var${/}filstorage${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1142     File Should Not Exist ..${/}var${/}filstorage${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1143    
1144     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1145     ${msg} = Déclencher le traitement des tâches par WS
1146     Log ${msg}
1147    
1148     # Extraction du libellé du DI dans le message
1149     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1150     ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1151     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1152    
1153     # Le DI devrait être le même que celui du dossier
1154     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1155    
1156     # Depuis la pièce
1157     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1158     ... Document numérisé Plat'AU
1159    
1160     # Lors de la consultation de la pièce, on affiche l'uid dans le sous titre.
1161 softime 10192 # Le traitement déplaçant le fichier dans le backend de storage principal, l'uid
1162     # affiché doit être différent
1163     Page Should Not Contain sousform-document_numerise ${uid}
1164 gmalvolti 10058
1165    
1166 mbideau 9798 Vérification de l'ajout de la tâche add_piece par ws, puis traitement
1167 gmalvolti 9751 [Documentation] Permet de vérifier que la tâche ajout_pièce en stream input ajout bien un fichier dans le filestorage
1168     ... à partir du contenu du json payload vérifie aussi que l'uid du fichier ajouté est bien enregistré
1169     ... dans le json payload
1170 gmalvolti 9765
1171 mbideau 9798 # En tant qu'admin
1172     Depuis la page d'accueil admin admin
1173    
1174     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1175     &{param_division} = Create Dictionary
1176     ... libelle=option_afficher_division
1177     ... valeur=true
1178     ... om_collectivite=agglo
1179 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
1180 mbideau 9798
1181     # desactiver l'option dossier_commune et la saisie complète des numéros
1182     &{param_dossier_commune} = Create Dictionary
1183     ... libelle=option_dossier_commune
1184     ... valeur=false
1185     ... om_collectivite=agglo
1186     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1187     &{param_saisie_complete} = Create Dictionary
1188     ... libelle=option_dossier_saisie_numero_complet
1189     ... valeur=false
1190     ... om_collectivite=agglo
1191     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1192    
1193     # définir les paramètres de type de demande
1194 softime 9963 &{platau_type_demande_initial} = Create Dictionary
1195     ... libelle=platau_type_demande_initial_DP
1196 mbideau 9798 ... valeur=DI
1197     ... om_collectivite=agglo
1198 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
1199 mbideau 9798
1200     # isole le contexte du test (création d'une collectivité)
1201     &{librecom_values} = Create Dictionary
1202     ... om_collectivite_libelle=LIBRECOM_WS_PIECE
1203     ... departement=014
1204     ... commune=095
1205     ... insee=14095
1206     ... direction_code=G
1207     ... direction_libelle=Direction de LIBRECOM_WS_PIECE
1208     ... direction_chef=Chef
1209     ... division_code=G
1210     ... division_libelle=Division G
1211     ... division_chef=Chef
1212     ... guichet_om_utilisateur_nom=Khalil Gibran
1213     ... [email protected]
1214     ... guichet_om_utilisateur_login=kgibran
1215     ... guichet_om_utilisateur_pwd=kgibran
1216     ... instr_om_utilisateur_nom=Domir Tambu
1217     ... [email protected]
1218     ... instr_om_utilisateur_login=dtambu
1219     ... instr_om_utilisateur_pwd=dtambu
1220     ... code_entite=LBCOM_14
1221     ... acteur=LIBRECOM-ACT-014
1222     Isolation d'un contexte ${librecom_values}
1223    
1224 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
1225     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1226     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
1227    
1228 softime 10022 # Ajouter le type de document avec le code '90' tel qu'il est dans la payload
1229     ${dnt_code} = Set Variable 90
1230     &{dnt_values} = Create Dictionary
1231     ... code=${dnt_code}
1232     ... libelle=Document numérisé Plat'AU
1233     ... document_numerise_type_categorie=Autre
1234     Ajouter le type de pièces ${dnt_values}
1235     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1236    
1237 mbideau 9798 # Récupère l'identifiant de la collectivité LIBRECOM_WS
1238     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
1239     ${librecom_ws_id} = Get Text css=#om_collectivite
1240    
1241     # Récupère le template de payload JSON et le transforme en dictionnaire
1242     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1243    
1244     # Remplace certaines valeurs
1245 mbideau 9850 ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
1246 mbideau 9813 ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-10
1247     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-10
1248 mbideau 9798 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
1249     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
1250 gmalvolti 10092 # On remplace le code postal par une valeur trop grande
1251     # afin de vérifier si elle va être tronqué
1252     ${dossier_json_payload} = Replace String ${dossier_json_payload}
1253     ... "terrain_adresse_code_postal" : "75001" "terrain_adresse_code_postal" : "7500138432"
1254 mbideau 9798 ${dossier_payload_dict} = To Json ${dossier_json_payload}
1255    
1256     # Ajoute d'une tâche de création de DI
1257     ${dossier_task_values} = Create Dictionary
1258     ... type=create_DI_for_consultation
1259     ... json_payload=${dossier_json_payload}
1260     Ajouter la tâche par WS ${dossier_task_values}
1261    
1262     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1263     ${dossier_msg} = Déclencher le traitement des tâches par WS
1264    
1265     # Extraction du libellé du DI dans le message
1266     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1267     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1268     ... dossier instruction '([^']+)' .*$
1269     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1270    
1271 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE
1272 mbideau 9798 Depuis la page d'accueil kgibran kgibran
1273    
1274     # Vérifier que le dossier a bien été ajouté
1275     Depuis le contexte du dossier d'instruction ${di_lib}
1276     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1277     ... Element Should Contain css=#dossier_libelle ${di_lib}
1278    
1279 gmalvolti 10092 # On vérifie que le code postal a bien été tronqué (7500138432 doit devenir 75001)
1280     Open Fieldset dossier_instruction localisation
1281     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1282     ... Element Should Contain css=#terrain_adresse_code_postal 75001
1283    
1284 mbideau 9798 # En tant qu'admin
1285     Depuis la page d'accueil admin admin
1286    
1287 gmalvolti 9751 # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1288     # json_payload correspondant à la tâche ajout_piece
1289     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1290    
1291 mbideau 9798 # Remplace certaines valeurs
1292 mbideau 9850 ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
1293 mbideau 9813 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-10
1294     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-10
1295 mbideau 9955 ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-10
1296 mbideau 9798 ${piece_payload_dict} = To Json ${json_payload}
1297 softime 9950 ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1298 mbideau 9798
1299     # Ajoute la tâche d'ajout de pièce
1300 gmalvolti 9751 ${task_values} = Create Dictionary
1301 mbideau 9798 ... type=add_piece
1302 gmalvolti 9751 ... json_payload=${json_payload}
1303 mbideau 9813 ${task_id} = Ajouter la tâche par WS ${task_values}
1304 gmalvolti 9751
1305 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
1306 mbideau 9813 Set To Dictionary ${task_values} task=${task_id}
1307 gmalvolti 9765 Set To Dictionary ${task_values} state=new
1308     Set To Dictionary ${task_values} stream=input
1309    
1310 mbideau 9798 # se rend sur la page de la tâche
1311 mbideau 9813 #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1312     Depuis le contexte de la task ${task_id}
1313 gmalvolti 9751
1314 mbideau 9798 # vérifie qu'elle a bien été ajoutée
1315 gmalvolti 9751 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1316     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1317     Log Dictionary ${json_payload_loaded['document_numerise']}
1318     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1319    
1320     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1321 gmalvolti 10058 # On enlève le préfixe de l'uid
1322     ${uid_without_prefix} = Get Substring ${uid} 5
1323     ${path_1} = Get Substring ${uid} 5 7
1324     ${path_2} = Get Substring ${uid} 5 9
1325 gmalvolti 9765
1326 gmalvolti 9751 # Vérification dans le filestorage
1327 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1328     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1329 mbideau 9798
1330     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1331     ${msg} = Déclencher le traitement des tâches par WS
1332     Log ${msg}
1333    
1334     # Extraction du libellé du DI dans le message
1335 mbideau 9813 ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1336 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1337 mbideau 9798 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1338    
1339     # Le DI devrait être le même que celui du dossier
1340     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1341    
1342     # Depuis la page des pièces du dossier
1343     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1344    
1345     # Le nom du fichier doit être présent en tant que pièce
1346     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1347     ... Element Text Should Be
1348 softime 9835 ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1349 mbideau 9798 ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1350    
1351     # Depuis la pièce
1352     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1353 softime 10022 ... Document numérisé Plat'AU
1354 mbideau 9798
1355     # La date de création doit correspondre
1356     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1357     ... Element Text Should Be css=#date_creation 27/11/2020
1358    
1359     # Le type de pièce doit correspondre
1360     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1361     ... Element Text Should Be css=#document_numerise_type
1362 softime 10022 ... Document numérisé Plat'AU
1363 softime 9835
1364    
1365     # ajout d'une seconde pièce au dossier
1366    
1367 softime 10022 # Ajouter le type de document avec le code '91' tel qu'il est dans la payload
1368     ${dnt_code_2} = Set Variable 91
1369     &{dnt_values_2} = Create Dictionary
1370     ... code=${dnt_code_2}
1371     ... libelle=Document numérisé Plat'AU 2
1372     ... document_numerise_type_categorie=Autre
1373     Ajouter le type de pièces ${dnt_values_2}
1374     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1375    
1376 softime 9835 # json_payload correspondant à la tâche ajout_piece, dont on modifie certaines valeurs
1377     ${json_payload} = Replace String ${json_payload}
1378     ... "date_creation": "2020-11-27" "date_creation": "2020-12-04"
1379     ${json_payload} = Replace String ${json_payload}
1380     ... "document_numerise_nature_code": "INIT" "document_numerise_nature_code": "COMP"
1381     ${json_payload} = Replace String ${json_payload}
1382     ... "document_numerise_type_code": "90" "document_numerise_type_code": "91"
1383     ${json_payload} = Replace String ${json_payload}
1384     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "2020120490.pdf"
1385    
1386     # Remplace certaines valeurs
1387     ${json_payload} = Replace String ${json_payload} PPP-000-10 PPP-000-11
1388     ${piece_payload_dict} = To Json ${json_payload}
1389 softime 9950 ${external_uid_piece_2} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1390 softime 9835
1391     # Ajoute la tâche d'ajout de pièce
1392     ${task_values} = Create Dictionary
1393     ... type=add_piece
1394     ... json_payload=${json_payload}
1395     ${task_id} = Ajouter la tâche par WS ${task_values}
1396    
1397     # ajout manuellement les éléments qui ont du être défini par défaut
1398     Set To Dictionary ${task_values} task=${task_id}
1399     Set To Dictionary ${task_values} state=new
1400     Set To Dictionary ${task_values} stream=input
1401    
1402     # se rend sur la page de la tâche
1403     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1404     Depuis le contexte de la task ${task_id}
1405    
1406     # vérifie qu'elle a bien été ajoutée
1407     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1408     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1409     Log Dictionary ${json_payload_loaded['document_numerise']}
1410     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1411    
1412     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1413 gmalvolti 10058 # On enlève le préfixe de l'uid
1414     ${uid_without_prefix} = Get Substring ${uid} 5
1415     ${path_1} = Get Substring ${uid} 5 7
1416     ${path_2} = Get Substring ${uid} 5 9
1417 softime 9835
1418     # Vérification dans le filestorage
1419 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1420     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1421 softime 9835
1422     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1423     ${msg} = Déclencher le traitement des tâches par WS
1424     Log ${msg}
1425    
1426     # Extraction du libellé du DI dans le message
1427     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1428 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1429 softime 9835 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1430    
1431     # Le DI devrait être le même que celui du dossier
1432     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1433    
1434     # Depuis la page des pièces du dossier
1435     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1436    
1437     # Le nom du fichier doit être présent en tant que pièce
1438     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1439     ... Element Text Should Be
1440     ... css=table.document_numerise:nth-child(4) td a.lienDocumentNumerise span[title="Télécharger"]
1441     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1442    
1443     # Depuis la pièce
1444     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1445 softime 10022 ... Document numérisé Plat'AU 2
1446 softime 9835
1447     # La date de création doit correspondre
1448     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1449     ... Element Text Should Be css=#date_creation 04/12/2020
1450    
1451     # Le type de pièce doit correspondre
1452     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1453     ... Element Text Should Be css=#document_numerise_type
1454 softime 10022 ... Document numérisé Plat'AU 2
1455 mbideau 9850
1456 softime 9950 # Vérification liste des identifiants externe sur le DI
1457     # piece
1458     Depuis le contexte du dossier d'instruction ${di_lib}
1459     Open Fieldset dossier_instruction lien_id_interne_uid_externe
1460     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1461     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${piece_payload_dict["external_uids"]["dossier"]}
1462     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1463     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${dossier_payload_dict["external_uids"]["dossier_consultation"]}
1464     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1465     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_1}
1466     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1467     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_2}
1468 mbideau 9850
1469 softime 9950
1470 mbideau 9850 Vérification de l'ajout d'une même pièce sur deux dossiers, le tout ajouté par WS
1471     [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers
1472    
1473     # En tant qu'admin
1474     Depuis la page d'accueil admin admin
1475    
1476     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1477     &{param_division} = Create Dictionary
1478     ... libelle=option_afficher_division
1479     ... valeur=true
1480     ... om_collectivite=agglo
1481 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
1482 mbideau 9850
1483     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1484     &{param_dossier_commune} = Create Dictionary
1485     ... libelle=option_dossier_commune
1486     ... valeur=false
1487     ... om_collectivite=agglo
1488     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1489     &{param_saisie_complete} = Create Dictionary
1490     ... libelle=option_dossier_saisie_numero_complet
1491     ... valeur=true
1492     ... om_collectivite=agglo
1493     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1494    
1495     # définir les paramètres de type de demande
1496 softime 9963 &{platau_type_demande_initial} = Create Dictionary
1497     ... libelle=platau_type_demande_initial_DP
1498 mbideau 9850 ... valeur=DI
1499     ... om_collectivite=agglo
1500 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
1501 mbideau 9850
1502     # isole le contexte du test (création d'une collectivité)
1503     &{librecom_multi_1_values} = Create Dictionary
1504     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_1
1505     ... departement=015
1506     ... commune=085
1507     ... insee=15085
1508     ... direction_code=T
1509     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_1
1510     ... direction_chef=Chef
1511 softime 10144 ... division_code=TT
1512     ... division_libelle=Division TT
1513 mbideau 9850 ... division_chef=Chef
1514     ... guichet_om_utilisateur_nom=Joseph Proudhon
1515     ... [email protected]
1516     ... guichet_om_utilisateur_login=jproudhon
1517     ... guichet_om_utilisateur_pwd=jproudhon
1518     ... instr_om_utilisateur_nom=François Rebalais
1519     ... [email protected]
1520     ... instr_om_utilisateur_login=frebalais
1521     ... instr_om_utilisateur_pwd=frebalais
1522     ... code_entite=LBCOM_15
1523     ... acteur=LIBRECOM-ACT-015
1524     Isolation d'un contexte ${librecom_multi_1_values}
1525    
1526     # ajouter le paramètre 'acteur' à la collectivité/au service
1527     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1528     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1529    
1530     # Active l'option entité pour la collectivité/le service
1531     &{param_entite} = Create Dictionary
1532     ... libelle=option_om_collectivite_entity
1533     ... valeur=true
1534     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
1535     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1536    
1537     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1538     Ajouter le paramètre depuis le menu code_entite
1539     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1540    
1541 softime 10022 # Ajouter le type de document avec le code '92' tel qu'il est dans la payload
1542     ${dnt_code} = Set Variable 92
1543     &{dnt_values} = Create Dictionary
1544     ... code=${dnt_code}
1545     ... libelle=Document numérisé Plat'AU
1546     ... document_numerise_type_categorie=Autre
1547     Ajouter le type de pièces ${dnt_values}
1548     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1549 mbideau 9850
1550     # Ajout d'un dossier
1551    
1552     # Récupère le template de payload JSON et le transforme en dictionnaire
1553     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1554    
1555     # Remplace certaines valeurs
1556     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
1557     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-15
1558     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-15
1559     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000011P0
1560     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
1561     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1562    
1563     # Ajoute d'une tâche de création de DI
1564     ${dossier_task_values} = Create Dictionary
1565     ... type=create_DI_for_consultation
1566     ... json_payload=${dossier_json_payload}
1567     Ajouter la tâche par WS ${dossier_task_values}
1568    
1569     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1570     ${dossier_msg} = Déclencher le traitement des tâches par WS
1571    
1572     # Extraction du libellé du DI dans le message
1573     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1574     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1575     ... dossier instruction '([^']+)' .*$
1576     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1577     ${di_lib_sans_espace} = Sans espace ${di_lib}
1578     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
1579    
1580     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_1
1581     Depuis la page d'accueil jproudhon jproudhon
1582    
1583     # Vérifier que le dossier a bien été ajouté
1584     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1585     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1586     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1587    
1588    
1589     # Ajout de la pièce au dossier
1590    
1591     # En tant qu'admin
1592     Depuis la page d'accueil admin admin
1593    
1594     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1595     # json_payload correspondant à la tâche ajout_piece
1596     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1597    
1598     # Remplace certaines valeurs
1599     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
1600     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1601     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1602 softime 9961 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1603 softime 10022 ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "92"
1604 mbideau 9850 ${piece_payload_dict} = To Json ${json_payload}
1605    
1606     # Ajoute la tâche d'ajout de pièce
1607     ${task_values} = Create Dictionary
1608     ... type=add_piece
1609     ... json_payload=${json_payload}
1610     ${task_id} = Ajouter la tâche par WS ${task_values}
1611    
1612     # ajout manuellement les éléments qui ont du être défini par défaut
1613     Set To Dictionary ${task_values} task=${task_id}
1614     Set To Dictionary ${task_values} state=new
1615     Set To Dictionary ${task_values} stream=input
1616    
1617     # se rend sur la page de la tâche
1618     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1619     Depuis le contexte de la task ${task_id}
1620    
1621     # vérifie qu'elle a bien été ajoutée
1622     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1623     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1624     Log Dictionary ${json_payload_loaded['document_numerise']}
1625     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1626    
1627     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1628 gmalvolti 10058 # On enlève le préfixe de l'uid
1629     ${uid_without_prefix} = Get Substring ${uid} 5
1630     ${path_1} = Get Substring ${uid} 5 7
1631     ${path_2} = Get Substring ${uid} 5 9
1632 mbideau 9850
1633     # Vérification dans le filestorage
1634 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1635     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1636 mbideau 9850
1637     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1638     ${msg} = Déclencher le traitement des tâches par WS
1639     Log ${msg}
1640    
1641     # Extraction du libellé du DI dans le message
1642     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1643 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1644 mbideau 9850 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1645    
1646     # Le DI devrait être le même que celui du dossier
1647     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1648    
1649     # Depuis la page des pièces du dossier
1650     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1651    
1652     # Le nom du fichier doit être présent en tant que pièce
1653     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1654     ... Element Text Should Be
1655     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1656     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1657    
1658     # Depuis la pièce
1659     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1660 softime 10022 ... Document numérisé Plat'AU
1661 mbideau 9850
1662     # La date de création doit correspondre
1663     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1664     ... Element Text Should Be css=#date_creation 27/11/2020
1665    
1666     # Le type de pièce doit correspondre
1667     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1668     ... Element Text Should Be css=#document_numerise_type
1669 softime 10022 ... Document numérisé Plat'AU
1670 mbideau 9850
1671    
1672     # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier)
1673    
1674     # En tant qu'admin
1675     Depuis la page d'accueil admin admin
1676    
1677     # Ajout d'une seconde entité
1678     &{librecom_multi_2_values} = Create Dictionary
1679     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_2
1680     ... departement=016
1681     ... commune=086
1682     ... insee=16086
1683 softime 9854 ... direction_code=C
1684 mbideau 9850 ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_2
1685     ... direction_chef=Chef
1686 softime 9854 ... division_code=C
1687     ... division_libelle=Division C
1688 mbideau 9850 ... division_chef=Chef
1689     ... guichet_om_utilisateur_nom=Peter Kropotkin
1690     ... [email protected]
1691     ... guichet_om_utilisateur_login=pkropotkin
1692     ... guichet_om_utilisateur_pwd=pkropotkin
1693     ... instr_om_utilisateur_nom=Mikhail Bakunin
1694     ... [email protected]
1695     ... instr_om_utilisateur_login=mbakunin
1696     ... instr_om_utilisateur_pwd=mbakunin
1697     ... code_entite=LBCOM_16
1698     ... acteur=LIBRECOM-ACT-016
1699     Isolation d'un contexte ${librecom_multi_2_values}
1700    
1701     # ajouter le paramètre 'acteur' à la collectivité/au service
1702     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1703     ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1704    
1705     # Active l'option entité pour la collectivité/le service
1706     &{param_entite} = Create Dictionary
1707     ... libelle=option_om_collectivite_entity
1708     ... valeur=true
1709     ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]}
1710     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1711    
1712     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1713     Ajouter le paramètre depuis le menu code_entite
1714     ... ${librecom_multi_2_values["code_entite"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1715    
1716    
1717     # Ajout d'un dossier
1718    
1719     # Remplace certaines valeurs, mais conserve le même external_uid pour le dossier
1720     ${dossier_json_payload} = Replace String ${dossier_json_payload} ${librecom_multi_1_values["acteur"]} ${librecom_multi_2_values["acteur"]}
1721     ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-15 AAA-000-16
1722     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1723    
1724     # Ajoute d'une tâche de création de DI
1725     ${dossier_task_values} = Create Dictionary
1726     ... type=create_DI_for_consultation
1727     ... json_payload=${dossier_json_payload}
1728     Ajouter la tâche par WS ${dossier_task_values}
1729    
1730     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1731     ${dossier_msg} = Déclencher le traitement des tâches par WS
1732    
1733     # Extraction du libellé du DI dans le message
1734     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1735     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1736     ... dossier instruction '([^']+)' .*$
1737     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1738     ${di_lib_sans_espace} = Sans espace ${di_lib}
1739     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_2_values["code_entite"]} ${SPACE}${librecom_multi_2_values["code_entite"]}
1740    
1741     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_2
1742     Depuis la page d'accueil pkropotkin pkropotkin
1743    
1744     # Vérifier que le dossier a bien été ajouté
1745     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1746     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1747     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1748    
1749    
1750     # Ajout de la même pièce au second dossier
1751    
1752     # En tant qu'admin
1753     Depuis la page d'accueil admin admin
1754    
1755     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1756     # json_payload correspondant à la tâche ajout_piece
1757     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1758    
1759     # Remplace certaines valeurs, et conserve le même external_uid que la pièce ajoutée au dossier
1760     # précédent
1761     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
1762     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1763     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1764 softime 9961 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1765 mbideau 9850 ${piece_payload_dict} = To Json ${json_payload}
1766    
1767     # Ajoute la tâche d'ajout de pièce
1768     ${task_values} = Create Dictionary
1769     ... type=add_piece
1770     ... json_payload=${json_payload}
1771     ${task_id} = Ajouter la tâche par WS ${task_values}
1772    
1773     # ajout manuellement les éléments qui ont du être défini par défaut
1774     Set To Dictionary ${task_values} task=${task_id}
1775     Set To Dictionary ${task_values} state=new
1776     Set To Dictionary ${task_values} stream=input
1777    
1778     # se rend sur la page de la tâche
1779     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1780     Depuis le contexte de la task ${task_id}
1781    
1782     # vérifie qu'elle a bien été ajoutée
1783     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1784     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1785     Log Dictionary ${json_payload_loaded['document_numerise']}
1786     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1787    
1788     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1789 gmalvolti 10058 # On enlève le préfixe de l'uid
1790     ${uid_without_prefix} = Get Substring ${uid} 5
1791     ${path_1} = Get Substring ${uid} 5 7
1792     ${path_2} = Get Substring ${uid} 5 9
1793 mbideau 9850
1794     # Vérification dans le filestorage
1795 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
1796     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
1797 mbideau 9850
1798     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1799     ${msg} = Déclencher le traitement des tâches par WS
1800     Log ${msg}
1801    
1802     # Extraction du libellé du DI dans le message
1803     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1804 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1805 mbideau 9850 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1806    
1807     # Le DI devrait être le même que celui du dossier
1808     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1809    
1810     # Depuis la page des pièces du dossier
1811     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1812    
1813     # Le nom du fichier doit être présent en tant que pièce
1814     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1815     ... Element Text Should Be
1816     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1817     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1818    
1819     # Depuis la pièce
1820     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1821 softime 10022 ... Document numérisé Plat'AU
1822 mbideau 9850
1823     # La date de création doit correspondre
1824     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1825     ... Element Text Should Be css=#date_creation 27/11/2020
1826    
1827     # Le type de pièce doit correspondre
1828     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1829     ... Element Text Should Be css=#document_numerise_type
1830 softime 10022 ... Document numérisé Plat'AU
1831 mbideau 9850
1832     # desactiver l'option saisie complète des numéros
1833     &{param_saisie_complete} = Create Dictionary
1834     ... libelle=option_dossier_saisie_numero_complet
1835     ... valeur=false
1836     ... om_collectivite=agglo
1837     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1838 softime 9871
1839    
1840 mbideau 9955 Vérification de l'ajout d'une même pièce sur deux dossiers pour le même acteur
1841     [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers
1842     ... avec le même acteur
1843    
1844     # En tant qu'admin
1845     Depuis la page d'accueil admin admin
1846    
1847     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1848     &{param_division} = Create Dictionary
1849     ... libelle=option_afficher_division
1850     ... valeur=true
1851     ... om_collectivite=agglo
1852 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
1853 mbideau 9955
1854     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1855     &{param_dossier_commune} = Create Dictionary
1856     ... libelle=option_dossier_commune
1857     ... valeur=false
1858     ... om_collectivite=agglo
1859     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1860     &{param_saisie_complete} = Create Dictionary
1861     ... libelle=option_dossier_saisie_numero_complet
1862     ... valeur=true
1863     ... om_collectivite=agglo
1864     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1865    
1866     # définir les paramètres de type de demande
1867 softime 9963 &{platau_type_demande_initial} = Create Dictionary
1868     ... libelle=platau_type_demande_initial_DP
1869 mbideau 9955 ... valeur=DI
1870     ... om_collectivite=agglo
1871 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
1872 mbideau 9955
1873     # isole le contexte du test (création d'une collectivité)
1874     &{librecom_multi_3_values} = Create Dictionary
1875     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_3
1876     ... departement=018
1877     ... commune=088
1878     ... insee=18088
1879     ... direction_code=D
1880     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_3
1881     ... direction_chef=Chef
1882     ... division_code=D
1883     ... division_libelle=Division D
1884     ... division_chef=Chef
1885     ... guichet_om_utilisateur_nom=Malcom Ferdinand
1886     ... [email protected]
1887     ... guichet_om_utilisateur_login=mferdinand
1888     ... guichet_om_utilisateur_pwd=mferdinand
1889     ... instr_om_utilisateur_nom=Dominique Bourg
1890     ... [email protected]
1891     ... instr_om_utilisateur_login=dbourg
1892     ... instr_om_utilisateur_pwd=dbourg
1893     ... code_entite=LBCOM_18
1894     ... acteur=LIBRECOM-ACT-018
1895     Isolation d'un contexte ${librecom_multi_3_values}
1896    
1897    
1898     # ajouter le paramètre 'acteur' à la collectivité/au service
1899     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1900     ... ${librecom_multi_3_values["acteur"]} ${librecom_multi_3_values["om_collectivite_libelle"]}
1901    
1902     # Active l'option entité pour la collectivité/le service
1903     &{param_entite} = Create Dictionary
1904     ... libelle=option_om_collectivite_entity
1905     ... valeur=true
1906     ... om_collectivite=${librecom_multi_3_values["om_collectivite_libelle"]}
1907     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1908    
1909     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1910     Ajouter le paramètre depuis le menu code_entite
1911     ... ${librecom_multi_3_values["code_entite"]} ${librecom_multi_3_values["om_collectivite_libelle"]}
1912    
1913 softime 10022 # Ajouter le type de document avec le code '93' tel qu'il est dans la payload
1914     ${dnt_code} = Set Variable 93
1915     &{dnt_values} = Create Dictionary
1916     ... code=${dnt_code}
1917     ... libelle=Document numérisé Plat'AU
1918     ... document_numerise_type_categorie=Autre
1919     Ajouter le type de pièces ${dnt_values}
1920     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1921 mbideau 9955
1922     # Ajout d'un dossier
1923    
1924     # Récupère le template de payload JSON et le transforme en dictionnaire
1925     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1926    
1927     # Remplace certaines valeurs
1928     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_3_values["acteur"]}
1929     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-18
1930     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-18
1931     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000018P0
1932     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_3_values["insee"]}
1933     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1934    
1935     # Ajoute d'une tâche de création de DI
1936     ${dossier_task_values} = Create Dictionary
1937     ... type=create_DI_for_consultation
1938     ... json_payload=${dossier_json_payload}
1939     Ajouter la tâche par WS ${dossier_task_values}
1940    
1941     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1942     ${dossier_msg} = Déclencher le traitement des tâches par WS
1943    
1944     # Extraction du libellé du DI dans le message
1945     ${di_regex_1} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1946     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1947     ... dossier instruction '([^']+)' .*$
1948     ${di_lib_1} = Replace String Using Regexp ${dossier_msg} ${di_regex_1} \\1
1949     ${di_lib_sans_espace_1} = Sans espace ${di_lib_1}
1950     ${di_to_search_1} = Replace String ${di_lib_sans_espace_1} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]}
1951    
1952     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3
1953     Depuis la page d'accueil mferdinand mferdinand
1954    
1955     # Vérifier que le dossier a bien été ajouté
1956     Depuis le contexte du dossier d'instruction par recherche ${di_to_search_1}
1957     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1958     ... Element Should Contain css=#dossier_libelle ${di_to_search_1}
1959    
1960    
1961     # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier)
1962    
1963     # En tant qu'admin
1964     Depuis la page d'accueil admin admin
1965    
1966     # Remplace certaines valeurs
1967     ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-18 BBB-000-18
1968     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1969    
1970     # Ajoute d'une tâche de création de DI
1971     ${dossier_task_values} = Create Dictionary
1972     ... type=create_DI_for_consultation
1973     ... json_payload=${dossier_json_payload}
1974     Ajouter la tâche par WS ${dossier_task_values}
1975    
1976     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1977     ${dossier_msg} = Déclencher le traitement des tâches par WS
1978    
1979     # Extraction du libellé du DI dans le message
1980     ${di_regex_2} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1981     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1982     ... dossier instruction '([^']+)' .*$
1983     ${di_lib_2} = Replace String Using Regexp ${dossier_msg} ${di_regex_2} \\1
1984     ${di_lib_sans_espace_2} = Sans espace ${di_lib_2}
1985     ${di_to_search_2} = Replace String ${di_lib_sans_espace_2} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]}
1986    
1987     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3
1988     Depuis la page d'accueil mferdinand mferdinand
1989    
1990     # Vérifier que le dossier a bien été ajouté
1991     Depuis le contexte du dossier d'instruction par recherche ${di_to_search_2}
1992     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1993     ... Element Should Contain css=#dossier_libelle ${di_to_search_2}
1994    
1995    
1996     # Ajout de la pièce au 1er dossier
1997    
1998     # En tant qu'admin
1999     Depuis la page d'accueil admin admin
2000    
2001     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
2002     # json_payload correspondant à la tâche ajout_piece
2003     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
2004    
2005     # Remplace certaines valeurs
2006     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_3_values["acteur"]}
2007     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-18
2008     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-18
2009     ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-18
2010 softime 10022 ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "93"
2011 mbideau 9955 ${piece_payload_dict} = To Json ${json_payload}
2012    
2013     # Ajoute la tâche d'ajout de pièce
2014     ${task_values} = Create Dictionary
2015     ... type=add_piece
2016     ... json_payload=${json_payload}
2017     ${task_id} = Ajouter la tâche par WS ${task_values}
2018    
2019     # ajout manuellement les éléments qui ont du être défini par défaut
2020     Set To Dictionary ${task_values} task=${task_id}
2021     Set To Dictionary ${task_values} state=new
2022     Set To Dictionary ${task_values} stream=input
2023    
2024     # se rend sur la page de la tâche
2025     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
2026     Depuis le contexte de la task ${task_id}
2027    
2028     # vérifie qu'elle a bien été ajoutée
2029     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2030     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
2031     Log Dictionary ${json_payload_loaded['document_numerise']}
2032     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
2033    
2034     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
2035 gmalvolti 10058 # On enlève le préfixe de l'uid
2036     ${uid_without_prefix} = Get Substring ${uid} 5
2037     ${path_1} = Get Substring ${uid} 5 7
2038     ${path_2} = Get Substring ${uid} 5 9
2039 mbideau 9955
2040     # Vérification dans le filestorage
2041 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
2042     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
2043 mbideau 9955
2044     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2045     ${msg} = Déclencher le traitement des tâches par WS
2046     Log ${msg}
2047    
2048     # Extraction du libellé du DI dans le message
2049     ${piece_di_regex_1} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
2050 softime 9961 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
2051 mbideau 9955 ${piece_di_lib_1} = Replace String Using Regexp ${msg} ${piece_di_regex_1} \\1
2052    
2053     # Le DI devrait être le même que celui du dossier
2054     Should Be Equal ${piece_di_lib_1} ${di_lib_sans_espace_1}
2055    
2056     # Depuis la page des pièces du dossier
2057     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_1}
2058    
2059     # Le nom du fichier doit être présent en tant que pièce
2060     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2061     ... Element Text Should Be
2062     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
2063     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
2064    
2065     # Depuis la pièce
2066     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search_1}
2067 softime 10022 ... Document numérisé Plat'AU
2068 mbideau 9955
2069     # La date de création doit correspondre
2070     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2071     ... Element Text Should Be css=#date_creation 27/11/2020
2072    
2073     # Le type de pièce doit correspondre
2074     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2075     ... Element Text Should Be css=#document_numerise_type
2076 softime 10022 ... Document numérisé Plat'AU
2077 mbideau 9955
2078    
2079     # Ajout de la même pièce au second dossier
2080    
2081     # En tant qu'admin
2082     Depuis la page d'accueil admin admin
2083    
2084     # modifie l'ID de la consultation
2085     ${json_payload} = Replace String ${json_payload} AAA-000-18 BBB-000-18
2086     ${piece_payload_dict} = To Json ${json_payload}
2087    
2088     # Ajoute la tâche d'ajout de pièce
2089     ${task_values} = Create Dictionary
2090     ... type=add_piece
2091     ... json_payload=${json_payload}
2092     ${task_id} = Ajouter la tâche par WS ${task_values}
2093    
2094     # ajout manuellement les éléments qui ont du être défini par défaut
2095     Set To Dictionary ${task_values} task=${task_id}
2096     Set To Dictionary ${task_values} state=new
2097     Set To Dictionary ${task_values} stream=input
2098    
2099     # se rend sur la page de la tâche
2100     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
2101     Depuis le contexte de la task ${task_id}
2102    
2103     # vérifie qu'elle a bien été ajoutée
2104     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2105     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
2106     Log Dictionary ${json_payload_loaded['document_numerise']}
2107     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
2108    
2109     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
2110 gmalvolti 10058 # On enlève le préfixe de l'uid
2111     ${uid_without_prefix} = Get Substring ${uid} 5
2112     ${path_1} = Get Substring ${uid} 5 7
2113     ${path_2} = Get Substring ${uid} 5 9
2114 mbideau 9955
2115     # Vérification dans le filestorage
2116 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
2117     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
2118 mbideau 9955
2119     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2120     ${msg} = Déclencher le traitement des tâches par WS
2121     Log ${msg}
2122    
2123     # Extraction du libellé du DI dans le message
2124     ${piece_di_regex_2} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
2125 softime 9961 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
2126 mbideau 9955 ${piece_di_lib_2} = Replace String Using Regexp ${msg} ${piece_di_regex_2} \\1
2127    
2128     # Le DI devrait être le même que celui du dossier
2129     Should Be Equal ${piece_di_lib_2} ${di_lib_sans_espace_2}
2130    
2131     # Depuis la page des pièces du dossier
2132     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_2}
2133    
2134     # Le nom du fichier doit être présent en tant que pièce
2135     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2136     ... Element Text Should Be
2137     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
2138     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
2139    
2140     # Depuis la pièce
2141     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search_2}
2142 softime 10022 ... Document numérisé Plat'AU
2143 mbideau 9955
2144     # La date de création doit correspondre
2145     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2146     ... Element Text Should Be css=#date_creation 27/11/2020
2147    
2148     # Le type de pièce doit correspondre
2149     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2150     ... Element Text Should Be css=#document_numerise_type
2151 softime 10022 ... Document numérisé Plat'AU
2152 mbideau 9955
2153     # desactiver l'option saisie complète des numéros
2154     &{param_saisie_complete} = Create Dictionary
2155     ... libelle=option_dossier_saisie_numero_complet
2156     ... valeur=false
2157     ... om_collectivite=agglo
2158     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2159    
2160    
2161     Vérification de l'ajout de la tâche add_piece par IHM web, puis traitement
2162     [Documentation] Permet de vérifier que l'ajout d'une pièce via l'IHM fonctionne
2163    
2164     # En tant qu'admin
2165     Depuis la page d'accueil admin admin
2166    
2167     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2168     &{param_division} = Create Dictionary
2169     ... libelle=option_afficher_division
2170     ... valeur=true
2171     ... om_collectivite=agglo
2172 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
2173 mbideau 9955
2174     # desactiver l'option dossier_commune et la saisie complète des numéros
2175     &{param_dossier_commune} = Create Dictionary
2176     ... libelle=option_dossier_commune
2177     ... valeur=false
2178     ... om_collectivite=agglo
2179     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2180     &{param_saisie_complete} = Create Dictionary
2181     ... libelle=option_dossier_saisie_numero_complet
2182     ... valeur=false
2183     ... om_collectivite=agglo
2184     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2185    
2186     # définir les paramètres de type de demande
2187 softime 9963 &{platau_type_demande_initial} = Create Dictionary
2188     ... libelle=platau_type_demande_initial_DP
2189 mbideau 9955 ... valeur=DI
2190     ... om_collectivite=agglo
2191 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
2192 mbideau 9955
2193     # isole le contexte du test (création d'une collectivité)
2194     &{librecom_values} = Create Dictionary
2195     ... om_collectivite_libelle=LIBRECOM_IHM_PIECE
2196     ... departement=017
2197     ... commune=097
2198     ... insee=17097
2199     ... direction_code=Q
2200     ... direction_libelle=Direction de LIBRECOM_IHM_PIECE
2201     ... direction_chef=Chef
2202     ... division_code=Q
2203     ... division_libelle=Division Q
2204     ... division_chef=Chef
2205     ... guichet_om_utilisateur_nom=Emmanuel Kant
2206     ... [email protected]
2207     ... guichet_om_utilisateur_login=ekant
2208     ... guichet_om_utilisateur_pwd=ekant
2209     ... instr_om_utilisateur_nom=Bertrand Russell
2210     ... [email protected]
2211     ... instr_om_utilisateur_login=brussell
2212     ... instr_om_utilisateur_pwd=brussell
2213     ... code_entite=LBCOM_17
2214     ... acteur=LIBRECOM-ACT-017
2215     Isolation d'un contexte ${librecom_values}
2216    
2217     # ajouter le paramètre 'acteur' à la collectivité/au service
2218     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
2219     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
2220    
2221 softime 10022 # Ajouter le type de document avec le code '94' tel qu'il est dans la payload
2222     ${dnt_code} = Set Variable 94
2223     &{dnt_values} = Create Dictionary
2224     ... code=${dnt_code}
2225     ... libelle=Document numérisé Plat'AU
2226     ... document_numerise_type_categorie=Autre
2227     Ajouter le type de pièces ${dnt_values}
2228     Valid Message Should Contain Vos modifications ont bien été enregistrées.
2229    
2230 mbideau 9955 # Récupère l'identifiant de la collectivité LIBRECOM_WS
2231     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
2232     ${librecom_ws_id} = Get Text css=#om_collectivite
2233    
2234     # Récupère le template de payload JSON et le transforme en dictionnaire
2235     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
2236    
2237     # Remplace certaines valeurs
2238     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
2239     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-17
2240     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-17
2241     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
2242     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
2243     ${dossier_payload_dict} = To Json ${dossier_json_payload}
2244    
2245     # Ajoute d'une tâche de création de DI
2246     ${dossier_task_values} = Create Dictionary
2247     ... type=create_DI_for_consultation
2248     ... json_payload=${dossier_json_payload}
2249     Ajouter la tâche par WS ${dossier_task_values}
2250    
2251     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2252     ${dossier_msg} = Déclencher le traitement des tâches par WS
2253    
2254     # Extraction du libellé du DI dans le message
2255     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
2256     ... ${dossier_payload_dict["dossier"]["dossier"]} :
2257     ... dossier instruction '([^']+)' .*$
2258     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
2259    
2260     # En tant qu'instructeur de la collectivité/du service LIBRECOM_IHM_PIECE
2261     Depuis la page d'accueil ekant ekant
2262    
2263     # Vérifier que le dossier a bien été ajouté
2264     Depuis le contexte du dossier d'instruction ${di_lib}
2265     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2266     ... Element Should Contain css=#dossier_libelle ${di_lib}
2267    
2268     # En tant qu'admin
2269     Depuis la page d'accueil admin admin
2270    
2271     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
2272     # json_payload correspondant à la tâche ajout_piece
2273     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
2274    
2275     # Remplace certaines valeurs
2276     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
2277     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-17
2278     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-17
2279 softime 9961 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
2280 softime 10022 ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "94"
2281 mbideau 9955 ${piece_payload_dict} = To Json ${json_payload}
2282    
2283     # Ajoute la tâche via l'IHM
2284     ${task_data_type} = Create List ${NONE} add_piece
2285     ${task_data_payload} = Create List ${NONE} ${json_payload}
2286     ${task_data} = Create Dictionary
2287     ... type=${task_data_type}
2288     ... json_payload=${task_data_payload}
2289     ${COOKIE} = Get Cookie ${SESSION_COOKIE}
2290     ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value}
2291     ${session} = Set Variable ${PROJECT_NAME}_web_ihm
2292     Create Session ${session} ${PROJECT_URL} cookies=${cookies}
2293     ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=996 files=${task_data}
2294    
2295     # get the task ID by parsing the response
2296     ${task_id_msg_matches} = Get Regexp Matches ${response.content} T\xc3\xa2che ([0-9]+) ajout\xc3\xa9e avec succ\xc3\xa8s 1
2297     Length Should Be ${task_id_msg_matches} 1
2298     ${task_id} = Get From List ${task_id_msg_matches} 0
2299    
2300     # créé le dictionnaire qui va permettre de vérifier les infos de la tâche
2301     ${task_values} = Create Dictionary
2302     ... type=add_piece
2303     ... json_payload=${json_payload}
2304     ... task=${task_id}
2305     ... state=new
2306     ... stream=input
2307    
2308     # se rend sur la page de la tâche
2309     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
2310     Depuis le contexte de la task ${task_id}
2311    
2312     # vérifie qu'elle a bien été ajoutée
2313     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2314     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
2315     Log Dictionary ${json_payload_loaded['document_numerise']}
2316     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
2317    
2318     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
2319 gmalvolti 10058 # On enlève le préfixe de l'uid
2320     ${uid_without_prefix} = Get Substring ${uid} 5
2321     ${path_1} = Get Substring ${uid} 5 7
2322     ${path_2} = Get Substring ${uid} 5 9
2323 mbideau 9955
2324     # Vérification dans le filestorage
2325 gmalvolti 10058 File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}
2326     File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info
2327 mbideau 9955
2328     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2329     ${msg} = Déclencher le traitement des tâches par WS
2330     Log ${msg}
2331    
2332     # Extraction du libellé du DI dans le message
2333     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
2334     ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
2335     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
2336    
2337     # Le DI devrait être le même que celui du dossier
2338     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
2339    
2340     # Depuis la page des pièces du dossier
2341     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
2342    
2343     # Le nom du fichier doit être présent en tant que pièce
2344     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2345     ... Element Text Should Be
2346     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
2347     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
2348    
2349     # Depuis la pièce
2350     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
2351 softime 10022 ... Document numérisé Plat'AU
2352 mbideau 9955
2353     # La date de création doit correspondre
2354     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2355     ... Element Text Should Be css=#date_creation 27/11/2020
2356    
2357     # Le type de pièce doit correspondre
2358     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2359     ... Element Text Should Be css=#document_numerise_type
2360 softime 10022 ... Document numérisé Plat'AU
2361 mbideau 9955
2362    
2363 softime 9871 Ajout d'une tâche de création de PeC et d'avis de consultation via WS, puis traitement
2364     [Documentation] Vérification de la création des tâches *pec_metier_consultation* et
2365     ... *avis_consultation* en stream output.
2366    
2367     # En tant qu'admin
2368     Depuis la page d'accueil admin admin
2369    
2370     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2371     &{param_division} = Create Dictionary
2372     ... libelle=option_afficher_division
2373     ... valeur=true
2374     ... om_collectivite=agglo
2375 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
2376 softime 9871
2377     # desactiver l'option dossier_commune et activer la saisie complète des numéros
2378     &{param_dossier_commune} = Create Dictionary
2379     ... libelle=option_dossier_commune
2380     ... valeur=false
2381     ... om_collectivite=agglo
2382     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2383     &{param_saisie_complete} = Create Dictionary
2384     ... libelle=option_dossier_saisie_numero_complet
2385     ... valeur=true
2386     ... om_collectivite=agglo
2387     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2388    
2389     # définir les paramètres de type de demande
2390 softime 9963 &{platau_type_demande_initial} = Create Dictionary
2391     ... libelle=platau_type_demande_initial_DP
2392 softime 9871 ... valeur=DI
2393     ... om_collectivite=agglo
2394 softime 9963 Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
2395 softime 9871
2396     # Active le mode service consulté
2397 softime 10356 &{param_service_consulte} = Create Dictionary
2398 softime 9871 ... libelle=option_mode_service_consulte
2399     ... valeur=true
2400     ... om_collectivite=agglo
2401 softime 10356 Ajouter ou modifier le paramètre depuis le menu ${param_service_consulte}
2402 softime 9871
2403     # isole le contexte du test (création d'une collectivité)
2404     &{librecom_multi_1_values} = Create Dictionary
2405     ... om_collectivite_libelle=LIBRECOM_WS_PEC_AVIS_1
2406     ... departement=06
2407     ... commune=095
2408     ... insee=16095
2409     ... direction_code=U
2410     ... direction_libelle=Direction de LIBRECOM_WS_PEC_AVIS_1
2411     ... direction_chef=Chef
2412     ... division_code=U
2413     ... division_libelle=Division U
2414     ... division_chef=Chef
2415     ... guichet_om_utilisateur_nom=Adrien Caya
2416     ... [email protected]
2417     ... guichet_om_utilisateur_login=acaya
2418     ... guichet_om_utilisateur_pwd=acaya
2419     ... instr_om_utilisateur_nom=Mandel Deslauriers
2420     ... [email protected]
2421     ... instr_om_utilisateur_login=mdeslauriers
2422     ... instr_om_utilisateur_pwd=mdeslauriers
2423 mbideau 9955 ... code_entite=LBCOM_19
2424     ... acteur=LIBRECOM-ACT-019
2425 softime 9871 Isolation d'un contexte ${librecom_multi_1_values}
2426    
2427     # ajouter le paramètre 'acteur' à la collectivité/au service
2428     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
2429     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
2430    
2431     # Active l'option entité pour la collectivité/le service
2432     &{param_entite} = Create Dictionary
2433     ... libelle=option_om_collectivite_entity
2434     ... valeur=true
2435     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
2436     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
2437    
2438     # Ajoute le paramètre 'code_entite' à la collectivité/le service
2439     Ajouter le paramètre depuis le menu code_entite
2440     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
2441    
2442     # Ajoute l'action et l'événement pour changer la prise en compte métier
2443     &{args_action} = Create Dictionary
2444     ... action=changer_pec
2445     ... libelle=Changer PeC
2446     ... regle_pec_metier=pec_metier
2447     Ajouter l'action depuis le menu ${args_action}
2448     @{etat_source} = Create List delai de notification envoye
2449     @{type_di} = Create List DP - P - Initiale
2450     &{args_evenement} = Create Dictionary
2451     ... libelle=300 - Prise en compte métier
2452     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
2453     ... dossier_instruction_type=${type_di}
2454     ... action=Changer PeC
2455     ... etat=delai de notification envoye
2456     ... pec_metier=Pris en compte
2457 cgarcin 10466 ... commentaire=true
2458 softime 9871 Ajouter l'événement depuis le menu ${args_evenement}
2459    
2460     # Ajout d'un dossier
2461    
2462     # Récupère le template de payload JSON et le transforme en dictionnaire
2463     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
2464    
2465     # Remplace certaines valeurs
2466     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
2467 mbideau 9955 ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-19
2468     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-19
2469 softime 9871 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000012P0
2470     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
2471     ${dossier_payload_dict} = To Json ${dossier_json_payload}
2472    
2473     # Ajoute d'une tâche de création de DI
2474     ${dossier_task_values} = Create Dictionary
2475     ... type=create_DI_for_consultation
2476     ... json_payload=${dossier_json_payload}
2477     Ajouter la tâche par WS ${dossier_task_values}
2478    
2479     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2480     ${dossier_msg} = Déclencher le traitement des tâches par WS
2481    
2482     # Extraction du libellé du DI dans le message
2483     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
2484     ... ${dossier_payload_dict["dossier"]["dossier"]} :
2485     ... dossier instruction '([^']+)' .*$
2486     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
2487     ${di_lib_sans_espace} = Sans espace ${di_lib}
2488     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
2489     ${di_to_search_se} = Sans espace ${di_to_search}
2490    
2491     # Ajout d'une instruction de prise en compte et vérification de la modification
2492     # sur le dossier d'instruction, ainsi que de la création de la tâche
2493 cgarcin 10466 ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier null null null null commentaire sur la pec
2494 softime 9871 Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
2495     Form Static Value Should Be pec_metier ${args_evenement.pec_metier}
2496     &{task_values} = Create Dictionary
2497     ... type=pec_metier_consultation
2498     ... dossier=${di_to_search_se}
2499     ... state=new
2500     ... object_id=${instr_pec}
2501     ... link_dossier=${di_to_search_se}
2502     ... stream=output
2503     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2504    
2505 cgarcin 10466 # Vérification que le champ commentaire est bien intégré au json
2506     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
2507     Log Dictionary ${json_payload_loaded['instruction']}
2508     Dictionary Should Contain Key ${json_payload_loaded['instruction']} commentaire
2509    
2510 softime 9871 # Ajoute l'avis de décision et l'événement pour changer l'avis
2511     &{ad_values} = Create Dictionary
2512     ... libelle=Avis favorable
2513     ... typeavis=favorable
2514     ... avis_decision_type=Conforme
2515     ... avis_decision_nature=Favorable
2516     Ajouter l'avis de décision ${ad_values}
2517     @{etat_source} = Create List delai de notification envoye
2518     @{type_di} = Create List DP - P - Initiale
2519     &{args_evenement} = Create Dictionary
2520     ... libelle=300 - Avis favorable
2521     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
2522     ... dossier_instruction_type=${type_di}
2523     ... action=accepter un dossier
2524     ... etat=dossier accepter
2525     ... avis_decision=${ad_values.libelle}
2526     Ajouter l'événement depuis le menu ${args_evenement}
2527    
2528     # Ajout d'une instruction de décision et vérification de la création de la tâche
2529     ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Avis favorable
2530     &{task_values} = Create Dictionary
2531     ... type=avis_consultation
2532     ... dossier=${di_to_search_se}
2533     ... state=new
2534     ... object_id=${instr_pec}
2535     ... link_dossier=${di_to_search_se}
2536     ... stream=output
2537     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2538 gmalvolti 10058
2539 softime 10356 # Désactive le mode service consulté
2540     &{param_service_consulte} = Create Dictionary
2541     ... libelle=option_mode_service_consulte
2542     ... valeur=false
2543     ... om_collectivite=agglo
2544     Ajouter ou modifier le paramètre depuis le menu ${param_service_consulte}
2545 gmalvolti 10058
2546 softime 10356
2547 gmalvolti 10058 Désactivation de la configuration du filestorage alternatif
2548     # On remet la configuration du filestorage par défaut
2549     Move File ..${/}dyn${/}filestorage.inc.php.bak ..${/}dyn${/}filestorage.inc.php
2550    
2551    
2552 softime 10108 Vérification des fiches de synthèse des dossiers d'instruction
2553     [Documentation] Contrôle les affichages spécifiques pour le DI.
2554     ...
2555     ... Les cas d'affichage possibles pour le fieldset "Consultation" :
2556     ... 1/ Avoir le type d'affichage du type de DA avec la valeur
2557     ... "CONSULTATION ENTRANTE" + le dépôt électronique à "Oui".
2558     ... 2/ Dans tous les autres cas le fieldset ne doit pas être affiché.
2559     ...
2560     ... Les cas d'affichage possibles pour le fieldset "Plat'AU : identifiants techniques" :
2561     ... 1/ L'option option_dossier_commune est activée + le dépôt électronique à
2562     ... "Oui" + avoir des valeurs pour le DI en question dans la table
2563     ... lien_id_interne_uid_externe
2564     ... 2/ L'option option_dossier_commune est désactivée + avoir des valeurs pour
2565     ... le DI en question dans la table lien_id_interne_uid_externe
2566     ... 3/ Dans tous les autres cas le fieldset ne doit pas être affiché.
2567    
2568     # En tant qu'admin
2569     Depuis la page d'accueil admin admin
2570    
2571     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2572     &{param_division} = Create Dictionary
2573     ... libelle=option_afficher_division
2574     ... valeur=true
2575     ... om_collectivite=agglo
2576 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
2577 softime 10108
2578     # activer la saisie complète des numéros
2579     &{param_saisie_complete} = Create Dictionary
2580     ... libelle=option_dossier_saisie_numero_complet
2581     ... valeur=true
2582     ... om_collectivite=agglo
2583     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2584    
2585     # isole le contexte du test (création d'une collectivité)
2586     &{librecom_multi_values} = Create Dictionary
2587     ... om_collectivite_libelle=LIBRECOM_WS_AFF_DI
2588     ... departement=016
2589     ... commune=099
2590     ... insee=16099
2591     ... direction_code=V
2592     ... direction_libelle=Direction de LIBRECOM_WS_AFF_DI
2593     ... direction_chef=Chef
2594     ... division_code=V
2595     ... division_libelle=Division V
2596     ... division_chef=Chef
2597     ... guichet_om_utilisateur_nom=Merci Collin
2598     ... [email protected]
2599     ... guichet_om_utilisateur_login=mcollin
2600     ... guichet_om_utilisateur_pwd=mcollin
2601     ... instr_om_utilisateur_nom=Carolos Beauchemin
2602     ... [email protected]
2603     ... instr_om_utilisateur_login=cbeauchemin
2604     ... instr_om_utilisateur_pwd=cbeauchemin
2605     ... code_entite=LBCOM_20
2606     ... acteur=LIBRECOM-ACT-020
2607     Isolation d'un contexte ${librecom_multi_values}
2608    
2609     # ajouter le paramètre 'acteur' à la collectivité/au service
2610     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
2611     ... ${librecom_multi_values["acteur"]} ${librecom_multi_values["om_collectivite_libelle"]}
2612    
2613     # Change le type affichage du type de DA
2614     &{args_da_type} = Create Dictionary
2615     ... affichage_form=CONSULTATION ENTRANTE
2616     Modifier le type de dossier d'autorisation Permis de construire ${args_da_type}
2617    
2618     # Fieldset "Consultation" cas 1/
2619     # Avoir le type d'affichage du type de DA avec la valeur "CONSULTATION ENTRANTE"
2620     # + le dépôt électronique à "Oui".
2621     &{args_dossier} = Create Dictionary
2622     ... om_collectivite=LIBRECOM_WS_AFF_DI
2623     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2624     ... demande_type=Dépôt Initial
2625     ... depot_electronique=true
2626     &{args_petitionnaire1} = Create Dictionary
2627     ... qualite=particulier
2628     ... particulier_nom=TEST300TASKNOM03
2629     ... particulier_prenom=TEST300TASKPRENOM03
2630     ... om_collectivite=LIBRECOM_WS_AFF_DI
2631     ${di_case_1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
2632     Depuis le contexte du dossier d'instruction ${di_case_1}
2633     Page Should Contain Element css=#fieldset-form-dossier_instruction-consultation
2634    
2635     # Fieldset "Consultation" cas 2/
2636     # Dans tous les autres cas le fieldset ne doit pas être affiché
2637    
2638     # Avec le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non"
2639     &{args_dossier} = Create Dictionary
2640     ... om_collectivite=LIBRECOM_WS_AFF_DI
2641     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2642     ... demande_type=Dépôt Initial
2643     ... depot_electronique=false
2644     &{args_petitionnaire1} = Create Dictionary
2645     ... qualite=particulier
2646     ... particulier_nom=TEST300TASKNOM04
2647     ... particulier_prenom=TEST300TASKPRENOM04
2648     ... om_collectivite=LIBRECOM_WS_AFF_DI
2649     ${di_case_2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
2650     Depuis le contexte du dossier d'instruction ${di_case_2}
2651     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
2652    
2653     # Change le type affichage du type de DA
2654     &{args_da_type} = Create Dictionary
2655     ... affichage_form=ADS
2656     Modifier le type de dossier d'autorisation Permis de construire ${args_da_type}
2657    
2658     # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Oui"
2659     Depuis le contexte du dossier d'instruction ${di_case_1}
2660     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
2661    
2662     # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non"
2663     Depuis le contexte du dossier d'instruction ${di_case_2}
2664     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
2665    
2666     # Fieldset "Plat'AU : identifiants techniques" cas 1/
2667     # L'option option_dossier_commune est activée + le dépôt électronique à "Oui"
2668     # + avoir des valeurs pour le DI en question dans la table lien_id_interne_uid_externe
2669    
2670     # Prépare la payload
2671     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
2672     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-CCC-00
2673     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X CCC-000-00
2674     ${json_payload} = Replace String ${json_payload} 013055 20 016099 21
2675     ${json_payload} = Replace String ${json_payload} 01305520 01609921
2676     ${json_payload} = Replace String ${json_payload} 2020 2021
2677     ${json_payload} = Replace String ${json_payload} 07777P0 01111P
2678     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_values["insee"]}
2679     ${json_payload} = Replace String ${json_payload} EF-DSQ-4512 ${librecom_multi_values["acteur"]}
2680     ${payload_dict} = To Json ${json_payload}
2681     # définir les paramètres de type de demande
2682     &{param_type_demande_initial} = Create Dictionary
2683     ... libelle=platau_type_demande_initial_PCI
2684     ... valeur=DI
2685     ... om_collectivite=agglo
2686     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
2687     # Active option_dossier_commune
2688     &{param_dossier_commune} = Create Dictionary
2689     ... libelle=option_dossier_commune
2690     ... valeur=true
2691     ... om_collectivite=agglo
2692     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2693     # Ajoute une commune
2694     &{com_values} = Create Dictionary
2695     ... typecom=COM
2696     ... com=16099
2697     ... reg=16
2698     ... dep=16
2699     ... arr=099
2700     ... tncc=0
2701     ... ncc=LIBRECOM_WS_AFF_DI
2702     ... nccenr=LIBRECOM_WS_AFF_DI
2703     ... libelle=LIBRECOM_WS_AFF_DI
2704     ... can=16
2705     ... comparent=
2706     ... om_validite_debut=01/11/2020
2707     Ajouter commune avec dates validité ${com_values}
2708     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
2709     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
2710     ${task_values} = Create Dictionary
2711     ... type=create_DI_for_consultation
2712     ... json_payload=${json_payload}
2713     Ajouter la tâche par WS ${task_values}
2714     ${msg} = Déclencher le traitement des tâches par WS
2715     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
2716     ... [^ ]{7}$ 01111P0
2717     Depuis le contexte du dossier d'instruction ${di_lib_expected}
2718     Page Should Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2719    
2720     # Fieldset "Plat'AU : identifiants techniques" cas 2/
2721     # L'option option_dossier_commune est désactivée + avoir des valeurs pour le
2722     # DI en question dans la table lien_id_interne_uid_externe
2723     # Désactive option_dossier_commune
2724     &{param_dossier_commune} = Create Dictionary
2725     ... libelle=option_dossier_commune
2726     ... valeur=false
2727     ... om_collectivite=agglo
2728     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2729     Depuis le contexte du dossier d'instruction ${di_lib_expected}
2730     Page Should Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2731    
2732     # Fieldset "Plat'AU : identifiants techniques" cas 3/
2733     # Dans tous les autres cas le fieldset ne doit pas être affiché.
2734    
2735     # option_dossier_commune activée + depot_electrionique à "Oui" + aucune valeur
2736     # dans la table lien_id_interne_uid_externe
2737     &{param_dossier_commune} = Create Dictionary
2738     ... libelle=option_dossier_commune
2739     ... valeur=true
2740     ... om_collectivite=agglo
2741     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2742     Depuis le contexte du dossier d'instruction ${di_case_1}
2743     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2744    
2745     # option_dossier_commune activée + depot_electrionique à "Non" + aucune valeur
2746     # dans la table lien_id_interne_uid_externe
2747     Depuis le contexte du dossier d'instruction ${di_case_2}
2748     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2749    
2750     # option_dossier_commune désactivée + depot_electrionique à "Non" + aucune valeur
2751     # dans la table lien_id_interne_uid_externe
2752     &{param_dossier_commune} = Create Dictionary
2753     ... libelle=option_dossier_commune
2754     ... valeur=false
2755     ... om_collectivite=agglo
2756     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2757     Depuis le contexte du dossier d'instruction ${di_case_1}
2758     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2759    
2760     # option_dossier_commune désactivée + depot_electrionique à "Oui" + aucune valeur
2761     # dans la table lien_id_interne_uid_externe
2762     Depuis le contexte du dossier d'instruction ${di_case_2}
2763     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe
2764    
2765     # Remet les paramètres par défaut
2766     &{param_division} = Create Dictionary
2767     ... libelle=option_afficher_division
2768     ... valeur=false
2769     ... om_collectivite=agglo
2770 softime 10144 Ajouter ou modifier le paramètre depuis le menu ${param_division}
2771 softime 10108 &{param_saisie_complete} = Create Dictionary
2772     ... libelle=option_dossier_saisie_numero_complet
2773     ... valeur=false
2774     ... om_collectivite=agglo
2775     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2776 gmalvolti 10317
2777 softime 10356 Vérification de la suppression d'un objet lié à une tâche non traitée
2778     [Documentation] XXX
2779    
2780     Depuis la page d'accueil admin admin
2781    
2782     # Activer l'option de suppression des dossiers
2783     &{options} = Create Dictionary
2784     ... libelle=option_suppression_dossier_instruction
2785     ... valeur=true
2786     ... om_collectivite=agglo
2787     Ajouter ou modifier le paramètre depuis le menu ${options}
2788    
2789     # Ajouter un service de type plat'au
2790     &{service} = Create Dictionary
2791     ... abrege=DC300
2792     ... libelle=Direction Circulation TEST300
2793     ... edition=Consultation - Pour conformité
2794     ... type_consultation=Pour conformité
2795     ... om_collectivite=MARSEILLE
2796     ... service_type=Plat'AU
2797     ... generate_edition=true
2798     Ajouter le service depuis le listing ${service}
2799    
2800     # Ajouter un dossier : creation_DA + creation_DI + depot_DI
2801     &{args_dossier} = Create Dictionary
2802     ... om_collectivite=MARSEILLE
2803     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2804     ... demande_type=Dépôt Initial
2805     ... depot_electronique=true
2806     &{args_petitionnaire1} = Create Dictionary
2807     ... qualite=particulier
2808     ... particulier_nom=TEST300TASKNOM05
2809     ... particulier_prenom=TEST300TASKPRENOM05
2810     ... om_collectivite=MARSEILLE
2811     ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
2812     ${di_se} = Sans espace ${di}
2813     ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY}
2814    
2815     # Ajouter une pièce numérisée : ajout_piece
2816     &{document_numerise_values} = Create Dictionary
2817     ... uid_upload=testImportManuel.pdf
2818     ... date_creation=${date_ddmmyyyy}
2819     ... document_numerise_type=autres pièces composant le dossier (A0)
2820     Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values}
2821     Depuis le contexte de la pièce par le dossier d'instruction ${di} ${document_numerise_values.document_numerise_type}
2822     ${dn} = Get Value css=input#document_numerise
2823    
2824     # Ajouter une consultation : creation_consultation
2825     Ajouter une consultation depuis un dossier ${di} ${service.abrege} - ${service.libelle}
2826     Depuis le contexte de la consultation ${di} ${service.abrege} - ${service.libelle}
2827     ${consultation} = Get Text css=span#consultation
2828    
2829     # Ajouter une instruction pour la qualification : qualification_DI
2830     ${instr_qualif} = Ajouter une instruction au DI ${di} Changer l'autorité compétente 'commune état'
2831    
2832     # Ajouter une instruction de décision : decision_DI
2833     ${instr_dec} = Ajouter une instruction au DI ${di} accepter un dossier sans réserve
2834    
2835     # Vérification status des tâches
2836     &{task_values} = Create Dictionary
2837     ... type=creation_DA
2838     ... dossier=${da}
2839     ... state=new
2840     ... object_id=${da}
2841     ... link_dossier=${da}
2842     ... stream=output
2843     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2844     &{task_values} = Create Dictionary
2845     ... type=creation_DI
2846     ... dossier=${di_se}
2847     ... state=new
2848     ... object_id=${di_se}
2849     ... link_dossier=${di_se}
2850     ... stream=output
2851     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2852     &{task_values} = Create Dictionary
2853     ... type=depot_DI
2854     ... dossier=${di_se}
2855     ... state=new
2856     ... object_id=${di_se}
2857     ... link_dossier=${di_se}
2858     ... stream=output
2859     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2860     &{task_values} = Create Dictionary
2861     ... type=ajout_piece
2862     ... dossier=${di_se}
2863     ... state=new
2864     ... object_id=${dn}
2865     ... link_dossier=${di_se}
2866     ... stream=output
2867     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2868     &{task_values} = Create Dictionary
2869     ... type=creation_consultation
2870     ... dossier=${di_se}
2871     ... state=new
2872     ... object_id=${consultation}
2873     ... link_dossier=${di_se}
2874     ... stream=output
2875     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2876     &{task_values} = Create Dictionary
2877     ... type=qualification_DI
2878     ... dossier=${di_se}
2879     ... state=new
2880     ... object_id=${instr_qualif}
2881     ... link_dossier=${di_se}
2882     ... stream=output
2883     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2884     &{task_values} = Create Dictionary
2885     ... type=decision_DI
2886     ... dossier=${di_se}
2887     ... state=new
2888     ... object_id=${instr_dec}
2889     ... link_dossier=${di_se}
2890     ... stream=output
2891     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2892    
2893     # Suppression de tous les objets
2894     Supprimer une pièce depuis le dossier d'instruction ${di} ${document_numerise_values.document_numerise_type}
2895     Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${service.abrege} - ${service.libelle}
2896     Supprimer l'instruction ${di} accepter un dossier sans réserve
2897     Supprimer l'instruction ${di} Changer l'autorité compétente 'commune état'
2898     Supprimer le dossier d'instruction ${di}
2899    
2900     # Vérification status des tâches
2901     &{task_values} = Create Dictionary
2902     ... type=creation_DA
2903     ... dossier=${da}
2904     ... state=draft
2905     ... object_id=${da}
2906     ... link_dossier=${da}
2907     ... stream=output
2908     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2909     &{task_values} = Create Dictionary
2910     ... type=creation_DI
2911     ... dossier=${di_se}
2912     ... state=draft
2913     ... object_id=${di_se}
2914     ... link_dossier=${di_se}
2915     ... stream=output
2916     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2917     &{task_values} = Create Dictionary
2918     ... type=depot_DI
2919     ... dossier=${di_se}
2920     ... state=draft
2921     ... object_id=${di_se}
2922     ... link_dossier=${di_se}
2923     ... stream=output
2924     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2925     &{task_values} = Create Dictionary
2926     ... type=ajout_piece
2927     ... dossier=${di_se}
2928     ... state=draft
2929     ... object_id=${dn}
2930     ... link_dossier=${di_se}
2931     ... stream=output
2932     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2933     &{task_values} = Create Dictionary
2934     ... type=creation_consultation
2935     ... dossier=${di_se}
2936     ... state=draft
2937     ... object_id=${consultation}
2938     ... link_dossier=${di_se}
2939     ... stream=output
2940     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2941     &{task_values} = Create Dictionary
2942     ... type=qualification_DI
2943     ... dossier=${di_se}
2944     ... state=draft
2945     ... object_id=${instr_qualif}
2946     ... link_dossier=${di_se}
2947     ... stream=output
2948     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2949     &{task_values} = Create Dictionary
2950     ... type=decision_DI
2951     ... dossier=${di_se}
2952     ... state=draft
2953     ... object_id=${instr_dec}
2954     ... link_dossier=${di_se}
2955     ... stream=output
2956     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2957    
2958     # Désactiver l'option de suppression des dossiers
2959     &{options} = Create Dictionary
2960     ... libelle=option_suppression_dossier_instruction
2961     ... valeur=false
2962     ... om_collectivite=agglo
2963     Ajouter ou modifier le paramètre depuis le menu ${options}
2964    
2965    
2966 gmalvolti 10317 Vérification du traitement de la tâche create_DI
2967     # En tant qu'admin
2968     Depuis la page d'accueil admin admin
2969    
2970     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2971     &{param_division} = Create Dictionary
2972     ... libelle=option_afficher_division
2973     ... valeur=true
2974     ... om_collectivite=agglo
2975     Ajouter ou modifier le paramètre depuis le menu ${param_division}
2976    
2977     &{param_saisie_complete} = Create Dictionary
2978     ... libelle=option_dossier_saisie_numero_complet
2979     ... valeur=false
2980     ... om_collectivite=agglo
2981     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2982    
2983     # Active le mode service consulté
2984     &{param_division} = Create Dictionary
2985     ... libelle=option_mode_service_consulte
2986     ... valeur=false
2987     ... om_collectivite=agglo
2988     Ajouter ou modifier le paramètre depuis le menu ${param_division}
2989    
2990     # isole le contexte du test (création d'une collectivité)
2991     &{librecom_multi_1_values} = Create Dictionary
2992     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_1
2993     ... departement=017
2994     ... commune=100
2995     ... insee=17100
2996     ... direction_code=W
2997     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_1
2998     ... direction_chef=Chef
2999     ... division_code=W
3000     ... division_libelle=Division W
3001     ... division_chef=Chef
3002     ... guichet_om_utilisateur_nom=Derien Bollin
3003     ... [email protected]
3004     ... guichet_om_utilisateur_login=dbollin
3005     ... guichet_om_utilisateur_pwd=dbollin
3006     ... instr_om_utilisateur_nom=Marolos Heauchemin
3007     ... [email protected]
3008     ... instr_om_utilisateur_login=mheauchemin
3009     ... instr_om_utilisateur_pwd=mheauchemin
3010     ... code_entite=LBCOM_21
3011     ... acteur=LIBRECOM-ACT-021
3012     Isolation d'un contexte ${librecom_multi_1_values}
3013    
3014     # ajouter le paramètre 'acteur' à la collectivité/au service
3015     Ajouter le paramètre depuis le menu platau_acteur_service_instructeur
3016     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
3017    
3018     # Récupère le payload de create_DI
3019     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
3020     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-DDD-00
3021     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX DDD-000-00
3022     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]}
3023     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]}
3024     ${payload_dict} = To Json ${json_payload}
3025     # définir les paramètres de type de demande
3026     &{platau_type_demande_initial} = Create Dictionary
3027     ... libelle=platau_type_demande_initial_DP
3028     ... valeur=DI
3029     ... om_collectivite=agglo
3030     Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
3031     # Active option_dossier_commune
3032     &{param_dossier_commune} = Create Dictionary
3033     ... libelle=option_dossier_commune
3034     ... valeur=true
3035     ... om_collectivite=agglo
3036     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
3037     # Ajoute une commune
3038     &{com_values} = Create Dictionary
3039     ... typecom=COM
3040     ... com=17100
3041     ... reg=17
3042     ... dep=17
3043     ... arr=100
3044     ... tncc=0
3045     ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_1
3046     ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_1
3047     ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_1
3048     ... can=17
3049     ... comparent=
3050     ... om_validite_debut=01/11/2020
3051     Ajouter commune avec dates validité ${com_values}
3052     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
3053     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
3054     ${task_values} = Create Dictionary
3055     ... type=create_DI
3056     ... json_payload=${json_payload}
3057     Ajouter la tâche par WS ${task_values}
3058    
3059     # Ajouter le type de document avec le code '90' tel qu'il est dans la payload
3060     ${dnt_code} = Set Variable 96
3061     &{dnt_values} = Create Dictionary
3062     ... code=${dnt_code}
3063     ... libelle=Document numérisé Plat'AU create DI
3064     ... document_numerise_type_categorie=Autre
3065     Ajouter le type de pièces ${dnt_values}
3066     Valid Message Should Contain Vos modifications ont bien été enregistrées.
3067    
3068     # Ajout d'une pièce
3069     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
3070     # json_payload correspondant à la tâche ajout_piece
3071     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
3072    
3073     # Remplace certaines valeurs
3074     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
3075     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00
3076     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-11
3077     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
3078     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
3079     ${json_payload} = Replace String ${json_payload}
3080     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf"
3081     ${piece_payload_dict} = To Json ${json_payload}
3082     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
3083    
3084     # Ajoute la tâche d'ajout de pièce
3085     ${task_values} = Create Dictionary
3086     ... type=add_piece
3087     ... json_payload=${json_payload}
3088     ${task_id} = Ajouter la tâche par WS ${task_values}
3089    
3090     # ajout manuellement les éléments qui ont du être défini par défaut
3091     Set To Dictionary ${task_values} task=${task_id}
3092     Set To Dictionary ${task_values} state=new
3093     Set To Dictionary ${task_values} stream=input
3094    
3095     # Ajout d'une deuxième pièce
3096     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
3097     # json_payload correspondant à la tâche ajout_piece
3098     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
3099    
3100     # Remplace certaines valeurs
3101     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
3102     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00
3103     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-12
3104     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
3105     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
3106     ${piece_payload_dict} = To Json ${json_payload}
3107     ${json_payload} = Replace String ${json_payload}
3108     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf"
3109     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
3110    
3111     # Ajoute la tâche d'ajout de pièce
3112     ${task_values} = Create Dictionary
3113     ... type=add_piece
3114     ... json_payload=${json_payload}
3115     ${task_id} = Ajouter la tâche par WS ${task_values}
3116    
3117     # ajout manuellement les éléments qui ont du être défini par défaut
3118     Set To Dictionary ${task_values} task=${task_id}
3119     Set To Dictionary ${task_values} state=new
3120     Set To Dictionary ${task_values} stream=input
3121    
3122     ${msg} = Déclencher le traitement des tâches par WS
3123    
3124     Depuis la page d'accueil mheauchemin mheauchemin
3125    
3126     Depuis le listing dossier_instruction
3127    
3128     Click Link ${librecom_multi_1_values["om_collectivite_libelle"]}
3129     ${dossier_libelle} = Get Text css=#dossier_libelle
3130     ${dossier_libelle} = Sans espace ${dossier_libelle}
3131    
3132     Depuis la page d'accueil admin admin
3133    
3134     # On vérifie qu'il n'y ait pas de tâche creation_DI
3135     Depuis le menu Moniteur Plat'AU
3136     ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple
3137     Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display
3138    
3139     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3140     Input Text css=div#adv-search-adv-fields input#type creation_DI
3141    
3142     Click On Search Button
3143     Element Should Contain css=.tab-data Aucun enregistrement.
3144    
3145     # On vérifie qu'il n'y ait pas de tâche creation_DA
3146     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3147     Input Text css=div#adv-search-adv-fields input#type creation_DA
3148    
3149     Click On Search Button
3150     Element Should Contain css=.tab-data Aucun enregistrement.
3151    
3152     # On vérifie qu'il n'y ait pas de tâche ajout_piece
3153     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3154     Input Text css=div#adv-search-adv-fields input#type ajout_piece
3155    
3156     Click On Search Button
3157     Element Should Contain css=.tab-data Aucun enregistrement.
3158    
3159     # On vérifie que la tâche modification_DI est bien ajoutée
3160     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3161     Input Text css=div#adv-search-adv-fields input#type modification_DI
3162    
3163     Click On Search Button
3164     Element Should Not Contain css=.tab-data Aucun enregistrement.
3165    
3166     # On vérifie que la tâche depot_DI est bien ajoutée
3167     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3168     Input Text css=div#adv-search-adv-fields input#type depot_DI
3169    
3170     Click On Search Button
3171     Element Should Not Contain css=.tab-data Aucun enregistrement.
3172    
3173 gmalvolti 10380 # On vérifie que la tâche create_DI a bien été mis à jour avec l'identifiant du dossier
3174     Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle}
3175     Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY}
3176     Input Text css=div#adv-search-adv-fields input#type create_DI
3177    
3178     Click On Search Button
3179     Element Should Not Contain css=.tab-data Aucun enregistrement.
3180    
3181 gmalvolti 10317 &{librecom_multi_2_values} = Create Dictionary
3182     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_2
3183     ... departement=018
3184     ... commune=101
3185     ... insee=18101
3186     ... direction_code=X
3187     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_2
3188     ... direction_chef=Chef
3189     ... division_code=X
3190     ... division_libelle=Division X
3191     ... division_chef=Chef
3192     ... guichet_om_utilisateur_nom=Latienne Bollon
3193     ... [email protected]
3194     ... guichet_om_utilisateur_login=lbollon
3195     ... guichet_om_utilisateur_pwd=lbollon
3196     ... instr_om_utilisateur_nom=Marvolos Treauchemin
3197     ... [email protected]
3198     ... instr_om_utilisateur_login=mtreauchemin
3199     ... instr_om_utilisateur_pwd=mtreauchemin
3200     ... code_entite=LBCOM_22
3201     ... acteur=LIBRECOM-ACT-022
3202     Isolation d'un contexte ${librecom_multi_2_values}
3203    
3204     # ajouter le paramètre 'acteur' à la collectivité/au service
3205     Ajouter le paramètre depuis le menu platau_acteur_service_instructeur
3206     ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
3207    
3208     # Récupère le payload de create_DI
3209     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
3210     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-EEE-00
3211     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX EEE-000-00
3212     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_2_values["insee"]}
3213     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_2_values["acteur"]}
3214     ${payload_dict} = To Json ${json_payload}
3215    
3216     # Ajoute une commune
3217     &{com_values} = Create Dictionary
3218     ... typecom=COM
3219     ... com=18101
3220     ... reg=18
3221     ... dep=18
3222     ... arr=101
3223     ... tncc=0
3224     ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_2
3225     ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_2
3226     ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_2
3227     ... can=18
3228     ... comparent=
3229     ... om_validite_debut=01/11/2020
3230     Ajouter commune avec dates validité ${com_values}
3231     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
3232     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
3233     ${task_values} = Create Dictionary
3234     ... type=create_DI
3235     ... json_payload=${json_payload}
3236     Ajouter la tâche par WS ${task_values}
3237    
3238     # Ajout d'une pièce
3239     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
3240     # json_payload correspondant à la tâche ajout_piece
3241     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
3242    
3243     # Remplace certaines valeurs
3244     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
3245     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00
3246     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-13
3247     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
3248     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
3249     ${json_payload} = Replace String ${json_payload}
3250     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf"
3251     ${piece_payload_dict} = To Json ${json_payload}
3252     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
3253    
3254     # Ajoute la tâche d'ajout de pièce
3255     ${task_values} = Create Dictionary
3256     ... type=add_piece
3257     ... json_payload=${json_payload}
3258     ${task_id} = Ajouter la tâche par WS ${task_values}
3259    
3260     # ajout manuellement les éléments qui ont du être défini par défaut
3261     Set To Dictionary ${task_values} task=${task_id}
3262     Set To Dictionary ${task_values} state=new
3263     Set To Dictionary ${task_values} stream=input
3264    
3265     # Ajout d'une deuxième pièce
3266     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
3267     # json_payload correspondant à la tâche ajout_piece
3268     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
3269    
3270     # Remplace certaines valeurs
3271     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
3272     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00
3273     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-14
3274     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
3275     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
3276     ${piece_payload_dict} = To Json ${json_payload}
3277     ${json_payload} = Replace String ${json_payload}
3278     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf"
3279     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
3280    
3281     # Ajoute la tâche d'ajout de pièce
3282     ${task_values} = Create Dictionary
3283     ... type=add_piece
3284     ... json_payload=${json_payload}
3285     ${task_id} = Ajouter la tâche par WS ${task_values}
3286    
3287     # ajout manuellement les éléments qui ont du être défini par défaut
3288     Set To Dictionary ${task_values} task=${task_id}
3289     Set To Dictionary ${task_values} state=new
3290     Set To Dictionary ${task_values} stream=input
3291    
3292     ${msg} = Déclencher le traitement des tâches par WS
3293    
3294     Depuis la page d'accueil mtreauchemin mtreauchemin
3295    
3296     Depuis le listing dossier_instruction
3297    
3298     Click Link ${librecom_multi_2_values["om_collectivite_libelle"]}
3299     ${dossier_libelle} = Get Text css=#dossier_libelle
3300     ${dossier_libelle} = Sans espace ${dossier_libelle}
3301    
3302     Depuis la page d'accueil admin admin
3303    
3304     # On vérifie qu'il n'y ait pas de tâche creation_DI
3305     Depuis le menu Moniteur Plat'AU
3306     ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple
3307     Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display
3308    
3309     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3310     Input Text css=div#adv-search-adv-fields input#type creation_DI
3311    
3312     Click On Search Button
3313     Element Should Contain css=.tab-data Aucun enregistrement.
3314    
3315     # On vérifie qu'il n'y ait pas de tâche creation_DA
3316     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3317     Input Text css=div#adv-search-adv-fields input#type creation_DA
3318    
3319     Click On Search Button
3320     Element Should Contain css=.tab-data Aucun enregistrement.
3321    
3322     # On vérifie qu'il n'y ait pas de tâche ajout_piece
3323     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3324     Input Text css=div#adv-search-adv-fields input#type ajout_piece
3325    
3326     Click On Search Button
3327     Element Should Contain css=.tab-data Aucun enregistrement.
3328    
3329     # On vérifie que la tâche modification_DI est bien ajoutée
3330     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3331     Input Text css=div#adv-search-adv-fields input#type modification_DI
3332    
3333     Click On Search Button
3334     Element Should Not Contain css=.tab-data Aucun enregistrement.
3335    
3336     # On vérifie que la tâche depot_DI est bien ajoutée
3337     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
3338     Input Text css=div#adv-search-adv-fields input#type depot_DI
3339    
3340     Click On Search Button
3341     Element Should Not Contain css=.tab-data Aucun enregistrement.
3342    
3343 gmalvolti 10380 # On vérifie que la tâche create_DI a bien été mis à jour avec l'identifiant du dossier
3344     Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle}
3345     Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY}
3346     Input Text css=div#adv-search-adv-fields input#type create_DI
3347    
3348     Click On Search Button
3349     Element Should Not Contain css=.tab-data Aucun enregistrement.
3350    
3351 gmalvolti 10317 Depuis la page d'accueil admin admin
3352    
3353     ${task_values} = Create Dictionary
3354     ... type=modification_DI
3355     ... dossier=${dossier_libelle}
3356     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
3357    
3358     ${task_values} = Create Dictionary
3359     ... type=depot_DI
3360     ... dossier=${dossier_libelle}
3361     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
3362    
3363     &{param_division} = Create Dictionary
3364     ... libelle=option_afficher_division
3365     ... valeur=false
3366     ... om_collectivite=agglo
3367     Ajouter ou modifier le paramètre depuis le menu ${param_division}
3368    
3369     # Désactive option_dossier_commune
3370     &{param_dossier_commune} = Create Dictionary
3371     ... libelle=option_dossier_commune
3372     ... valeur=false
3373     ... om_collectivite=agglo
3374     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
3375 cgarcin 10362
3376    
3377     Vérification du traitement de la tâche create_message
3378     [Documentation] Vérifie que le traitement de la tâche create_message entraine bien
3379     ... la création d'un message avec toutes les informations nécessaires issues du json
3380     ... payload
3381    
3382     # En tant qu'admin
3383     Depuis la page d'accueil admin admin
3384    
3385     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
3386     &{param_division} = Create Dictionary
3387     ... libelle=option_afficher_division
3388     ... valeur=true
3389     ... om_collectivite=agglo
3390     Ajouter ou modifier le paramètre depuis le menu ${param_division}
3391    
3392     &{param_saisie_complete} = Create Dictionary
3393     ... libelle=option_dossier_saisie_numero_complet
3394     ... valeur=false
3395     ... om_collectivite=agglo
3396     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
3397    
3398     # Active le mode service consulté
3399     &{param_division} = Create Dictionary
3400     ... libelle=option_mode_service_consulte
3401     ... valeur=false
3402     ... om_collectivite=agglo
3403     Ajouter ou modifier le paramètre depuis le menu ${param_division}
3404    
3405     # isole le contexte du test (création d'une collectivité)
3406     &{librecom_multi_1_values} = Create Dictionary
3407     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
3408     ... departement=018
3409     ... commune=100
3410     ... insee=18100
3411     ... direction_code=Y
3412     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
3413     ... direction_chef=Chef
3414     ... division_code=Y
3415     ... division_libelle=Division Y
3416     ... division_chef=Chef
3417     ... guichet_om_utilisateur_nom=Jacquenett Perrault
3418     ... [email protected]
3419     ... guichet_om_utilisateur_login=jperrault
3420     ... guichet_om_utilisateur_pwd=jperrault
3421     ... instr_om_utilisateur_nom=Solaine Grimard
3422     ... [email protected]
3423     ... instr_om_utilisateur_login=sgrimard
3424     ... instr_om_utilisateur_pwd=sgrimard
3425     ... code_entite=LBCOM_23
3426     ... acteur=LIBRECOM-ACT-023
3427     Isolation d'un contexte ${librecom_multi_1_values}
3428    
3429    
3430     # ajouter le paramètre 'acteur' à la collectivité/au service
3431     Ajouter le paramètre depuis le menu platau_acteur_service_instructeur
3432     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
3433    
3434     # Ajoute d'une tâche de création de DI
3435     # Récupère l'identifiant de la collectivité LIBRECOM_WS
3436     Depuis le contexte de la collectivité ${librecom_multi_1_values["om_collectivite_libelle"]}
3437     ${librecom_ws_id} = Get Text css=#om_collectivite
3438    
3439     # Récupère le template de payload JSON et le transforme en dictionnaire
3440     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
3441     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-FFF-00
3442     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX FFF-000-00
3443     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]}
3444     ${json_payload} = Replace String ${json_payload} 00009 00030P0
3445     ${json_payload} = Replace String ${json_payload} "om_collectivite": "3" "om_collectivite": "${librecom_ws_id}"
3446     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]}
3447     ${payload_dict} = To Json ${json_payload}
3448     # définir les paramètres de type de demande
3449     &{platau_type_demande_initial} = Create Dictionary
3450     ... libelle=platau_type_demande_initial_DP
3451     ... valeur=DI
3452     ... om_collectivite=agglo
3453     Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial}
3454    
3455     # Active option_dossier_commune
3456     &{param_dossier_commune} = Create Dictionary
3457     ... libelle=option_dossier_commune
3458     ... valeur=true
3459     ... om_collectivite=agglo
3460     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
3461     # Ajoute une commune
3462     &{com_values} = Create Dictionary
3463     ... typecom=COM
3464     ... com=18100
3465     ... reg=18
3466     ... dep=18
3467     ... arr=100
3468     ... tncc=0
3469     ... ncc=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
3470     ... nccenr=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
3471     ... libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
3472     ... can=18
3473     ... comparent=
3474     ... om_validite_debut=01/11/2020
3475     Ajouter commune avec dates validité ${com_values}
3476    
3477     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
3478     ${task_values} = Create Dictionary
3479     ... type=create_DI
3480     ... json_payload=${json_payload}
3481     Ajouter la tâche par WS ${task_values}
3482    
3483     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
3484     ${msg} = Déclencher le traitement des tâches par WS
3485    
3486     # Récupère le payload de create_message
3487     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_message_payload.txt
3488     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-FFF-00
3489     ${payload_dict} = To Json ${json_payload}
3490     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
3491     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
3492     ${task_values} = Create Dictionary
3493     ... type=create_message
3494     ... json_payload=${json_payload}
3495     ${task_id} = Ajouter la tâche par WS ${task_values}
3496    
3497     # ajout manuellement les éléments qui ont du être défini par défaut
3498     Set To Dictionary ${task_values} task=${task_id}
3499     Set To Dictionary ${task_values} state=new
3500     Set To Dictionary ${task_values} stream=input
3501    
3502     ${msg} = Déclencher le traitement des tâches par WS
3503    
3504     Depuis la page d'accueil sgrimard sgrimard
3505     # Récupération du libellé du dossier
3506     Depuis le listing dossier_instruction
3507     Click Link ${librecom_multi_1_values["om_collectivite_libelle"]}
3508     ${dossier_libelle} = Get Text css=#dossier_libelle
3509    
3510     # Vérifie que le message a bien été créé
3511     Depuis l'onglet des messages du dossier d'instruction ${dossier_libelle}
3512     Click Link Incomplétude|complétude
3513     Wait Until Element Is Visible css=div#sousform-dossier_message span#contenu
3514    
3515     Element Should Contain css=div#sousform-dossier_message span#contenu Le dossier a été déclaré complet|incomplet par la collectivité
3516     Element Should Contain css=div#sousform-dossier_message span#categorie platau
3517    
3518     # Réinitialisation des paramètres
3519     Depuis la page d'accueil admin admin
3520     &{param_division} = Create Dictionary
3521     ... libelle=option_afficher_division
3522     ... valeur=false
3523     ... om_collectivite=agglo
3524     Ajouter ou modifier le paramètre depuis le menu ${param_division}
3525    
3526     # Désactive option_dossier_commune
3527     &{param_dossier_commune} = Create Dictionary
3528     ... libelle=option_dossier_commune
3529     ... valeur=false
3530     ... om_collectivite=agglo
3531     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26