/[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 9955 - (hide annotations)
Wed Feb 24 11:25:33 2021 UTC (3 years, 11 months ago) by mbideau
Original Path: branches/4.14.0-develop/tests/300_task.robot
File size: 104936 byte(s)
Fusion de la branche de développement '4.14.0-develop_fix_tests' dans la branche d'intégration '4.14.0-develop_demat'
1 gmalvolti 9672 *** Settings ***
2 gmalvolti 9710 Documentation Test de task.
3 gmalvolti 9672
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9    
10    
11     *** Test Cases ***
12     Vérification de l'ajout des tasks creation_DA et creation_DI et depot_DI lors de l'ajout d'un dossier d'instruction.
13 gmalvolti 9694 [Documentation] Permet de vérifier le bon fonctionnement de la création des tâches lié à la création d'un dossier d'instruction
14     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
15 gmalvolti 9672 Depuis la page d'accueil admin admin
16     &{args_dossier} = Create Dictionary
17     ... om_collectivite=MARSEILLE
18     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
19     ... demande_type=Dépôt Initial
20     &{args_petitionnaire1} = Create Dictionary
21     ... qualite=particulier
22     ... particulier_nom=TEST300TASKNOM01
23     ... particulier_prenom=TEST300TASKPRENOM01
24     ... om_collectivite=MARSEILLE
25     ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
26    
27     Depuis le menu Moniteur Plat'AU
28    
29     ${di1_sans_espace} = Sans espace ${di1}
30 gmalvolti 9765 ${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY}
31 gmalvolti 9672 Set Suite Variable ${di1}
32     Set Suite Variable ${di1_sans_espace}
33     Set Suite Variable ${di1_da}
34     # On recherche l'enregistrement
35     Click Element css=#toggle-advanced-display
36     #
37     Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier
38     Wait Until Element Is Visible css=div#adv-search-adv-fields input#type
39     # On remplit
40     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
41     Input Text css=div#adv-search-adv-fields input#type creation_DA
42     # On valide le formulaire de recherche
43     Click On Search Button
44    
45     Element Should Contain css=td.col-1 a.lienTable creation_DA
46     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
47    
48     # On remplit
49     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
50     Input Text css=div#adv-search-adv-fields input#type creation_DI
51     # On valide le formulaire de recherche
52     Click On Search Button
53    
54     Element Should Contain css=td.col-1 a.lienTable creation_DI
55     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
56    
57     # On remplit
58     Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
59     Input Text css=div#adv-search-adv-fields input#type depot_DI
60     # On valide le formulaire de recherche
61     Click On Search Button
62    
63     Element Should Contain css=td.col-1 a.lienTable depot_DI
64     Element Should Contain css=td.col-4 a.lienTable ${di1_da}
65 gmalvolti 9701 Click On Link ${di1_sans_espace}
66     ${id_depot_DI} = Get Text css=#task
67     ${id_next_task} = Evaluate ${id_depot_DI} + 1
68 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
69 gmalvolti 9672
70     Vérification de la mise à jour de la task creation_DI lors de l'ajout des données techniques
71 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche creation_DI est mise à jour sur son state est à new lors de la modification du DI
72     ... et qu'il n'y a pas de création de tache modification_DI, vérifie aussi que lors que la tache creation_DI n'est pas en state new
73     ... il y a bien une création de la tâche modification_DI
74 gmalvolti 9672 Depuis la page d'accueil admin admin
75    
76     &{task_values} = Create Dictionary
77     ... type=creation_DI
78     ... dossier=${di1_sans_espace}
79 gmalvolti 9710 ... state=new
80     ... object_id=${di1_sans_espace}
81     ... link_dossier=${di1_sans_espace}
82 gmalvolti 9721 ... stream=output
83 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
84 gmalvolti 9672
85 gmalvolti 9705 ${id_creation_DI} = Get Text css=#task
86 gmalvolti 9672 ${time_stamp_log} = Get Text css=#timestamp_log
87     &{donnees_techniques_values} = Create Dictionary
88 gmalvolti 9675 ... ope_proj_desc=Description test dossier parallele
89 gmalvolti 9672 Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
90     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
91     ${timestamp_log_changed} = Get Text css=#timestamp_log
92    
93     Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed}
94    
95 gmalvolti 9701 Click On Back Button
96    
97 gmalvolti 9710 # On vérifie qu'il n'y pas de task modification_DI
98 gmalvolti 9701 Input Text css=div#adv-search-adv-fields input#dossier ${di1_da}
99     Input Text css=div#adv-search-adv-fields input#type modification_DI
100     Click On Search Button
101     Element Should Contain css=.tab-data Aucun enregistrement.
102    
103 gmalvolti 9705 &{task_values_modif} = Create Dictionary
104 gmalvolti 9706 ... state=done
105 gmalvolti 9705 Modifier la task ${id_creation_DI} ${task_values_modif}
106 mbideau 9813 La page ne doit pas contenir d'erreur
107 gmalvolti 9701
108 gmalvolti 9705 &{donnees_techniques_values} = Create Dictionary
109     ... ope_proj_desc=Description test dossier parallele BIS
110     Saisir les données techniques du DI ${di1} ${donnees_techniques_values}
111 mbideau 9813 La page ne doit pas contenir d'erreur
112 gmalvolti 9705
113     &{task_values} = Create Dictionary
114     ... type=modification_DI
115     ... dossier=${di1_sans_espace}
116     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
117    
118 gmalvolti 9675 Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction
119 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche qualification_DI est bien ajoutée lors du changement de l'autorité compétente.
120     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
121 gmalvolti 9675 Depuis la page d'accueil admin admin
122     Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état'
123     &{task_values} = Create Dictionary
124     ... type=qualification_DI
125     ... dossier=${di1_sans_espace}
126 gmalvolti 9710 ... state=new
127     ... object_id=${di1_sans_espace}
128     ... link_dossier=${di1_sans_espace}
129 gmalvolti 9721 ... stream=output
130 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
131 gmalvolti 9675 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
132     Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE"
133 gmalvolti 9672
134 gmalvolti 9675 Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état'
135 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
136     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
137     Element Should Not Contain css=#json_payload "autorite_competente_code": "ETATMAIRE"
138 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
139     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
140 gmalvolti 9672
141 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
142    
143 gmalvolti 9694 Vérification de l'ajout de la task ajout_piece lors de l'ajout d'une piece au dossier d'instruction
144 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche ajout_piece est bien ajouté lors de l'ajout du pièce au dossier d'instruction
145     ... et que le contenu ajouté et téléchargé à partir de la tâche est identique.
146     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
147 gmalvolti 9675 Depuis la page d'accueil admin admin
148     # On ajoute un document numérisé par DI
149     &{document_numerise_values} = Create Dictionary
150     ... uid_upload=testImportManuel.pdf
151     ... date_creation=${date_ddmmyyyy}
152     ... document_numerise_type=autres pièces composant le dossier (A0)
153     Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values}
154 gmalvolti 9710
155 gmalvolti 9675 &{task_values} = Create Dictionary
156 gmalvolti 9694 ... type=ajout_piece
157 gmalvolti 9675 ... dossier=${di1_sans_espace}
158 gmalvolti 9710 ... state=new
159     ... link_dossier=${di1_sans_espace}
160 gmalvolti 9721 ... stream=output
161 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
162    
163     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
164 gmalvolti 9701 ${link_piece} = Set Variable ${json_payload_loaded['document_numerise']['path']}
165     ${output_dir} ${output_name}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_piece} ${EXECDIR}${/}binary_files${/}
166 gmalvolti 9710
167 gmalvolti 9701 ${base64_file} = Run base64 ${output_dir}${output_name}
168     ${base64_model} = Run base64 ${EXECDIR}${/}binary_files${/}testImportManuel.pdf
169     Should Be Equal As Strings ${base64_file} ${base64_model}
170 gmalvolti 9710
171 gmalvolti 9705 ${id_qualification_DI} = Get Text css=#task
172     ${id_next_task} = Evaluate ${id_qualification_DI} + 1
173 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
174 gmalvolti 9694
175 gmalvolti 9701 Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di
176 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision au dossier d'instruction
177     ... et que le contenu généré et téléchargé à partir de la tâche est identique.
178     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
179 gmalvolti 9701 Depuis la page d'accueil admin admin
180     Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve
181     Click On SubForm Portlet Action instruction edition new_window
182     Open PDF ${OM_PDF_TITLE}
183     ${link_decision_portlet} = Get Location
184     Close PDF
185     ${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/}
186 gmalvolti 9710
187 gmalvolti 9701 &{task_values} = Create Dictionary
188     ... type=decision_DI
189     ... dossier=${di1_sans_espace}
190 gmalvolti 9710 ... state=new
191     ... link_dossier=${di1_sans_espace}
192 gmalvolti 9721 ... stream=output
193 gmalvolti 9710 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
194    
195 gmalvolti 9701 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
196     Element Should Contain css=#json_payload "avis_decision": "7",
197 gmalvolti 9710
198     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
199 gmalvolti 9701 ${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']}
200     ${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/}
201 gmalvolti 9710
202 gmalvolti 9701 ${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet}
203     ${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload}
204     Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload}
205 gmalvolti 9710
206 gmalvolti 9706 ${id_decision_DI} = Get Text css=#task
207     ${id_next_task} = Evaluate ${id_decision_DI} + 1
208 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
209 gmalvolti 9694
210 gmalvolti 9705 Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di
211 gmalvolti 9706 [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision tacite au dossier d'instruction
212     ... et que la tâche ne contient pas de fichier à télécharger.
213     ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné
214 gmalvolti 9705 Depuis la page d'accueil admin admin
215     &{args_dossier} = Create Dictionary
216     ... om_collectivite=MARSEILLE
217     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
218     ... demande_type=Dépôt Initial
219     &{args_petitionnaire1} = Create Dictionary
220     ... qualite=particulier
221     ... particulier_nom=TEST300TASKNOM02
222     ... particulier_prenom=TEST300TASKPRENOM02
223     ... om_collectivite=MARSEILLE
224     ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
225    
226     ${di2_sans_espace} = Sans espace ${di2}
227 gmalvolti 9765 ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY}
228 gmalvolti 9705
229     Ajouter une instruction au DI ${di2} accord tacite (sans arrete)
230    
231     &{task_values} = Create Dictionary
232     ... type=decision_DI
233     ... dossier=${di2_sans_espace}
234     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
235 gmalvolti 9710 ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
236 gmalvolti 9705
237 gmalvolti 9751 Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path
238 gmalvolti 9706
239     ${id_decision_DI} = Get Text css=#task
240     ${id_next_task} = Evaluate ${id_decision_DI} + 1
241 gmalvolti 9710 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da}
242 gmalvolti 9721
243     Vérification de l'ajout et de la consultation d'une tâche de type stream input
244     [Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test
245     ... fonctionne correctement
246 gmalvolti 9765
247     # Récupère le template de payload JSON et le transforme en dictionnaire
248 gmalvolti 9721 ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
249 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-00
250     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00
251 gmalvolti 9765 ${json_payload} = Replace String ${json_payload} 013055 20 013055 19
252     ${json_payload} = Replace String ${json_payload} 01305520 01305519
253     ${json_payload} = Replace String ${json_payload} 2020 2019
254     ${json_payload} = Replace String ${json_payload} 07777P0 01111P0
255     ${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY}
256     ${payload_dict} = To Json ${json_payload}
257    
258 gmalvolti 9721 # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
259     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
260     ${task_values} = Create Dictionary
261 mbroquet 9776 ... type=create_DI_for_consultation
262 gmalvolti 9721 ... json_payload=${json_payload}
263     Ajouter la tâche par WS ${task_values}
264    
265 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
266     Set To Dictionary ${task_values} dossier=${payload_dict["dossier"]["dossier"]}
267     Set To Dictionary ${task_values} state=new
268     Set To Dictionary ${task_values} stream=input
269    
270 gmalvolti 9721 Depuis la page d'accueil admin admin
271     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
272    
273     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
274     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend
275     ${json_payload_to_compare} = Get Text css=#json_payload
276    
277     Should Be Equal As Strings ${json_payload} ${json_payload_to_compare}
278 gmalvolti 9751
279 mbideau 9813
280 gmalvolti 9765 Ajout d'une tâche de création de DI via WS, puis traitement
281     [Documentation] Vérifie l'ajout de la tâche via WS et son traitement
282    
283     # En tant qu'admin
284     Depuis la page d'accueil admin admin
285    
286     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
287     &{param_division} = Create Dictionary
288     ... libelle=option_afficher_division
289     ... valeur=true
290     ... om_collectivite=agglo
291     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
292    
293     # desactiver l'option dossier_commune et la saisie complète des numéros
294     &{param_dossier_commune} = Create Dictionary
295     ... libelle=option_dossier_commune
296     ... valeur=false
297     ... om_collectivite=agglo
298     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
299     &{param_saisie_complete} = Create Dictionary
300     ... libelle=option_dossier_saisie_numero_complet
301     ... valeur=false
302     ... om_collectivite=agglo
303     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
304    
305 mbideau 9790 # définir les paramètres de type de demande
306     &{param_type_demande_initial} = Create Dictionary
307     ... libelle=param_type_demande_initial
308     ... valeur=DI
309     ... om_collectivite=agglo
310     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
311     &{param_type_demande_modificatif} = Create Dictionary
312     ... libelle=param_type_demande_modificatif
313     ... valeur=DM
314     ... om_collectivite=agglo
315     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_modificatif}
316     &{param_type_demande_transfert} = Create Dictionary
317     ... libelle=param_type_demande_transfert
318     ... valeur=DT
319     ... om_collectivite=agglo
320     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_transfert}
321    
322 gmalvolti 9765 # isole le contexte du test (création d'une collectivité)
323 mbideau 9773 &{librecom_values} = Create Dictionary
324 gmalvolti 9765 ... om_collectivite_libelle=LIBRECOM_WS
325     ... departement=013
326     ... commune=095
327     ... insee=13095
328     ... direction_code=E
329     ... direction_libelle=Direction de LIBRECOM_WS
330     ... direction_chef=Chef
331     ... division_code=E
332     ... division_libelle=Division E
333     ... division_chef=Chef
334     ... guichet_om_utilisateur_nom=Thom Moht
335     ... [email protected]
336     ... guichet_om_utilisateur_login=tmoth
337     ... guichet_om_utilisateur_pwd=tmoth
338     ... instr_om_utilisateur_nom=Qualdi Idlauq
339     ... [email protected]
340     ... instr_om_utilisateur_login=qidlauq
341     ... instr_om_utilisateur_pwd=qidlauq
342 mbideau 9773 ... code_entite=LBCOM_13
343     ... acteur=LIBRECOM-ACT-013
344     Isolation d'un contexte ${librecom_values}
345     &{loincom_values} = Create Dictionary
346 gmalvolti 9765 ... om_collectivite_libelle=LOINCOM_WS
347     ... departement=796
348     ... commune=095
349     ... insee=79695
350     ... direction_code=F
351     ... direction_libelle=Direction de LOINCOM_WS
352     ... direction_chef=Chef
353     ... division_code=F
354     ... division_libelle=Division F
355     ... division_chef=Chef
356     ... guichet_om_utilisateur_nom=Somar Ramos
357     ... [email protected]
358     ... guichet_om_utilisateur_login=sramos
359     ... guichet_om_utilisateur_pwd=sramos
360     ... instr_om_utilisateur_nom=Bliguet Teugilb
361     ... [email protected]
362     ... instr_om_utilisateur_login=bteugilb
363     ... instr_om_utilisateur_pwd=bteugilb
364 mbideau 9773 Isolation d'un contexte ${loincom_values}
365 gmalvolti 9765
366 mbideau 9790 # Récupère l'identifiant de la collectivité LIBRECOM_WS
367 mbideau 9798 Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
368 mbideau 9790 ${librecom_ws_id} = Get Text css=#om_collectivite
369    
370 gmalvolti 9765 # Récupère le template de payload JSON et le transforme en dictionnaire
371     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
372 mbideau 9790 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-01
373     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-01
374 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
375 mbideau 9790 ${json_payload} = Replace String ${json_payload} "om_collectivite": "2" "om_collectivite": "${librecom_ws_id}"
376 gmalvolti 9765
377     ${payload_dict} = To Json ${json_payload}
378    
379 mbideau 9773 # sauvegarde le code d'acteur
380 mbideau 9955 ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]}
381 mbideau 9773
382 gmalvolti 9765 # retire le paramètre 'acteur' de la payload JSON
383 mbideau 9955 Remove From Dictionary ${payload_dict["external_uids"]} acteur
384 gmalvolti 9765
385     # (re)Converti la payload JSON en string
386     ${json_string}= evaluate json.dumps(${payload_dict}) json
387    
388     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
389     ${task_values} = Create Dictionary
390 mbroquet 9776 ... type=create_DI_for_consultation
391 gmalvolti 9765 ... json_payload=${json_string}
392     Ajouter la tâche par WS ${task_values}
393    
394     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
395     ${msg} = Déclencher le traitement des tâches par WS
396    
397     # Le libellé du DI créé ne correspondra pas au numéro renseigné
398     # car l'option de saisie complète du numéro de dossier n'est pas activée
399     # Il sera créé avec la séquence, débutant au numéro 1
400     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
401 gmalvolti 9775 ... [^ ]{7}$ 00001P0
402 gmalvolti 9765 ${da_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
403     ... [^ ]{5}$ 00001
404     # Idem pour les numéros DI et DA
405     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
406 gmalvolti 9775 ... [^ ]{7}$ 00001P0
407 gmalvolti 9765 ${da_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation"]}
408 gmalvolti 9775 ... [^ ]{7}$ 00001P0
409 gmalvolti 9765
410     # Extraction du libellé du DI dans le message
411     ${di_regex} = Catenate .*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
412     ... dossier instruction '${di_lib_expected}' .*$
413     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
414     ${di_matches_len} = Get Length ${di_matches}
415     Should Be True "${di_matches_len}" > "0"
416    
417     # Vérifier que le dossier a bien été ajouté
418     Depuis le contexte du dossier d'instruction ${di_lib_expected}
419     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
420     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
421     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
422     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
423     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
424    
425    
426     # nouvelle itération mais avec la saisie complète des numéros de dossier
427    
428     # activer la complète des numéros de dossiers
429     Set To Dictionary ${param_saisie_complete} valeur=true
430     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
431    
432 mbideau 9790 # modification des externals uids
433     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-02
434     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-02
435    
436     # (re)Converti la payload JSON en string
437     ${json_string}= evaluate json.dumps(${payload_dict}) json
438    
439 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
440     ${task_values} = Create Dictionary
441 mbroquet 9776 ... type=create_DI_for_consultation
442 gmalvolti 9765 ... json_payload=${json_string}
443     Ajouter la tâche par WS ${task_values}
444    
445     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
446     ${msg} = Déclencher le traitement des tâches par WS
447    
448     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier, ou presque
449     # le numéro n'est pas 'P0' mais 'P00' (je ne sais pas pourquoi)
450     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
451     ... P0$ P00
452     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
453     # Idem pour les numéros DI et DA
454     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
455     ... P0$ P00
456     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
457    
458     # Extraction du libellé du DI dans le message
459     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
460     ... dossier instruction '${di_lib_expected}' .*$
461     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
462     ${di_matches_len} = Get Length ${di_matches}
463     Should Be True "${di_matches_len}" > "0"
464    
465     # Vérifier que le dossier a bien été ajouté
466     Depuis le contexte du dossier d'instruction ${di_lib_expected}
467     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
468     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
469     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
470     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
471     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
472    
473    
474     # nouvelle itération mais avec l'option commune et le rattachement via un numéro d'acteur
475    
476     # activer l'option dossier_commune
477     Depuis la page d'accueil admin admin
478     Set To Dictionary ${param_dossier_commune} valeur=true
479     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
480    
481     #-- ajouter manuellement une commune en saisissant une date de validité dans le passé
482 mbideau 9773 &{oldcom_values} = Create Dictionary
483 gmalvolti 9765 ... typecom=COM
484     ... com=45645
485     ... reg=45
486     ... dep=45
487     ... arr=645
488     ... tncc=0
489     ... ncc=LIBRECOM_OLD
490     ... nccenr=LibreCom_old
491 mbideau 9773 ... libelle=LIBRECOM_OLD
492 gmalvolti 9765 ... can=45
493     ... comparent=
494     ... om_validite_debut=01/11/2020
495 mbideau 9773 Ajouter commune avec dates validité ${oldcom_values}
496 gmalvolti 9765
497 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
498 mbideau 9773 Ajouter le paramètre depuis le menu platau_acteur_service_consulte
499     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
500    
501 gmalvolti 9765 # Change le numéro de dossier et le code commune dans la payload JSON
502     ${json_payload} = Replace String ${json_payload} P0 P04
503 mbideau 9773 ${json_payload} = Replace String ${json_payload}
504     ... ${librecom_values["insee"]} ${oldcom_values["com"]}
505     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
506 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
507    
508     # retire le paramètre 'om_collectivite' de la payload JSON
509     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
510    
511 mbideau 9790 # modification des externals uids
512     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-03
513     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-03
514    
515 gmalvolti 9765 # (re)Converti la payload JSON en string
516     ${json_string}= evaluate json.dumps(${payload_dict}) json
517    
518     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
519     ${task_values} = Create Dictionary
520 mbroquet 9776 ... type=create_DI_for_consultation
521 gmalvolti 9765 ... json_payload=${json_string}
522     Ajouter la tâche par WS ${task_values}
523    
524     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
525     ${msg} = Déclencher le traitement des tâches par WS
526    
527     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
528     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
529     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
530     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
531     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
532    
533     # Extraction du libellé du DI dans le message
534     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
535     ... dossier instruction '${di_lib_expected}' .*$
536     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
537     ${di_matches_len} = Get Length ${di_matches}
538     Should Be True "${di_matches_len}" > "0"
539    
540 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
541 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
542    
543     # Vérifier que le dossier a bien été ajouté
544     Depuis le contexte du dossier d'instruction ${di_lib_expected}
545     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
546     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
547     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
548     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
549     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
550    
551    
552     # nouvelle itération avec le même DA pour être sûr qu'il est réutilisé avec succès
553     Depuis la page d'accueil admin admin
554    
555     # Change le numéro de dossier et le code commune dans la payload JSON
556     ${json_payload} = Replace String ${json_payload} P04 P03
557     ${payload_dict} = To Json ${json_payload}
558    
559     # retire le paramètre 'om_collectivite' de la payload JSON
560     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
561    
562 mbideau 9790 # modification des externals uids
563     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-04
564     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-04
565    
566 gmalvolti 9765 # (re)Converti la payload JSON en string
567     ${json_string}= evaluate json.dumps(${payload_dict}) json
568    
569     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
570     ${task_values} = Create Dictionary
571 mbroquet 9776 ... type=create_DI_for_consultation
572 gmalvolti 9765 ... json_payload=${json_string}
573     Ajouter la tâche par WS ${task_values}
574    
575     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
576     ${msg} = Déclencher le traitement des tâches par WS
577    
578     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
579     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
580     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
581     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
582     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
583    
584     # Extraction du libellé du DI dans le message
585     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
586     ... dossier instruction '${di_lib_expected}' .*$
587     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
588     ${di_matches_len} = Get Length ${di_matches}
589     Should Be True "${di_matches_len}" > "0"
590    
591 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
592 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
593    
594     # Vérifier que le dossier a bien été ajouté
595     Depuis le contexte du dossier d'instruction ${di_lib_expected}
596     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
597     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
598     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
599     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
600     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
601    
602    
603 mbideau 9790 # nouvelle itération avec l'option des codes entités
604 gmalvolti 9765 Depuis la page d'accueil admin admin
605    
606 mbideau 9850 # active l'option entité pour la collectivité/le service
607 gmalvolti 9765 &{param_entite} = Create Dictionary
608     ... libelle=option_om_collectivite_entity
609     ... valeur=true
610 mbideau 9773 ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
611 gmalvolti 9765 Ajouter ou modifier le paramètre depuis le menu ${param_entite}
612    
613 mbideau 9850 # ajoute le paramètre 'code_entite' à la collectivité/le service
614 mbideau 9773 Ajouter le paramètre depuis le menu code_entite
615     ... ${librecom_values["code_entite"]} ${librecom_values["om_collectivite_libelle"]}
616 gmalvolti 9765
617 mbideau 9790 # modification des externals uids
618     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-05
619     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-05
620 gmalvolti 9765
621 mbideau 9790 # (re)Converti la payload JSON en string
622     ${json_string}= evaluate json.dumps(${payload_dict}) json
623    
624 gmalvolti 9765 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
625     ${task_values} = Create Dictionary
626 mbroquet 9776 ... type=create_DI_for_consultation
627 gmalvolti 9765 ... json_payload=${json_string}
628     Ajouter la tâche par WS ${task_values}
629    
630     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
631     ${msg} = Déclencher le traitement des tâches par WS
632    
633     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
634 mbideau 9773 ${di_lib_expected} = Catenate ${payload_dict["dossier"]["dossier_libelle"]}
635     ... ${librecom_values["code_entite"]}01
636 gmalvolti 9765 ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
637 mbideau 9773 ${di_expected} = Catenate ${payload_dict["dossier"]["dossier"]}
638     ... ${librecom_values["code_entite"]}01
639 gmalvolti 9765 ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
640    
641     # Extraction du libellé du DI dans le message
642     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
643     ... dossier instruction '${di_lib_expected}' .*$
644     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
645     ${di_matches_len} = Get Length ${di_matches}
646     Should Be True "${di_matches_len}" > "0"
647    
648 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
649 gmalvolti 9765 Depuis la page d'accueil tmoth tmoth
650    
651     # Vérifier que le dossier a bien été ajouté
652     Depuis le contexte du dossier d'instruction ${di_lib_expected}
653     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
654     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
655     Depuis le contexte du dossier d'autorisation par la recherche ${da_lib_expected}
656     # l'onglet du DA est vide dans le mode MC, mais le simple fait d'arriver à y accéder
657     # montre qu'il existe
658    
659    
660     # nouvelle itération avec une payload JSON minimale
661 mbideau 9813 Depuis la page d'accueil admin admin
662 gmalvolti 9765
663     # Récupère le template de payload JSON et le transforme en dictionnaire
664     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
665    
666     # Remplace certaines valeurs
667 mbideau 9798 ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-06
668     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-06
669 mbideau 9813 ${json_payload} = Replace String ${json_payload} 00009 00009P0
670 mbideau 9773 ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
671     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
672 gmalvolti 9765 ${payload_dict} = To Json ${json_payload}
673    
674     # Converti la payload JSON en string
675     ${json_string}= evaluate json.dumps(${payload_dict}) json
676    
677     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
678     ${task_values} = Create Dictionary
679 mbroquet 9776 ... type=create_DI_for_consultation
680 gmalvolti 9765 ... json_payload=${json_string}
681     Ajouter la tâche par WS ${task_values}
682    
683     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
684     ${msg} = Déclencher le traitement des tâches par WS
685    
686     # Extraction du libellé du DI dans le message
687     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
688     ... dossier instruction '([^']+)' .*$
689     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
690    
691 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
692 mbideau 9813 Depuis la page d'accueil tmoth tmoth
693    
694 gmalvolti 9765 # Vérifier que le dossier a bien été ajouté
695     Depuis le contexte du dossier d'instruction ${di_lib}
696     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
697     ... Element Should Contain css=#dossier_libelle ${di_lib}
698    
699 mbideau 9773 # Commune
700     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
701     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
702 gmalvolti 9765
703 mbideau 9773 # Code entité
704 mbideau 9790 ${num_entite_value} = Get Value css=input#numerotation_entite
705     Should Be Equal ${num_entite_value} ${librecom_values["code_entite"]}
706 mbideau 9773
707     # Demandeur principale
708     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
709     ... Element Should Contain css=#dossier_petitionnaire Perry Katy
710    
711     # Date demande = date dépôt
712     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
713     ... Element Should Contain css=#date_depot 23/11/2020
714    
715     # Autres demandeurs
716     Open Fieldset dossier_instruction demandeur
717     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
718     ... Element Should Contain css=#liste_demandeur Madame Perry Katy
719     Element Should Contain css=#liste_demandeur Métropole Construction SA Métropole
720     Element Should Contain css=#liste_demandeur Monsieur Bloom Orlando
721     Element Should Contain css=#liste_demandeur 67 rue de l'espérance
722    
723     # Dépôt électronique
724     Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16
725    
726    
727 mbideau 9813 # nouvelle itération avec deux DI non-réglementaires
728     # générant deux DA/DI différents à cause que l'option code entité
729     Depuis la page d'accueil admin admin
730    
731     # # sans l'option de code entité
732     # Set To Dictionary ${param_entite} valeur=false
733     # Ajouter ou modifier le paramètre depuis le menu ${param_entite}
734    
735     # Récupère le template de payload JSON et le transforme en dictionnaire
736     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
737    
738     # Remplace certaines valeurs
739     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-07
740     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-07
741     ${json_payload} = Replace String ${json_payload} 00009 7a9eeP0
742     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
743     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
744     ${payload_dict} = To Json ${json_payload}
745    
746     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
747     ${task_values} = Create Dictionary
748     ... type=create_DI_for_consultation
749     ... json_payload=${json_payload}
750     Ajouter la tâche par WS ${task_values}
751    
752     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
753     ${msg} = Déclencher le traitement des tâches par WS
754    
755     # Extraction du libellé du DI dans le message
756     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
757     ... dossier instruction '([^']+)' .*$
758     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
759     Log ${di_lib}
760    
761     ${di_lib_no_space} = Sans espace ${di_lib}
762     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
763    
764 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
765 mbideau 9813 Depuis la page d'accueil tmoth tmoth
766    
767     # Vérifier que le dossier a bien été ajouté
768     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
769     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
770     ... Element Should Contain css=#dossier_libelle ${di_to_search}
771    
772     # Commune
773     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
774     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
775    
776     # En tant qu'admin
777     Depuis la page d'accueil admin admin
778    
779     # Remplace certaines valeurs
780     #${json_payload} = Replace String ${json_payload} 000-AAA-07 000-AAA-08
781     ${json_payload} = Replace String ${json_payload} AAA-000-07 AAA-000-08
782    
783     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
784     ${task_values} = Create Dictionary
785     ... type=create_DI_for_consultation
786     ... json_payload=${json_payload}
787     Ajouter la tâche par WS ${task_values}
788    
789     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
790     ${msg} = Déclencher le traitement des tâches par WS
791    
792     # Extraction du libellé du DI dans le message
793     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
794     ... dossier instruction '([^']+)' .*$
795     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
796     Log ${di_lib}
797    
798     ${di_lib_no_space} = Sans espace ${di_lib}
799     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
800    
801 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
802 mbideau 9813 Depuis la page d'accueil tmoth tmoth
803    
804     # Vérifier que le dossier a bien été ajouté
805     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
806     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
807     ... Element Should Contain css=#dossier_libelle ${di_to_search}
808    
809    
810     # nouvelle itération avec deux DI non-réglementaires sans l'option code entité
811     Depuis la page d'accueil admin admin
812    
813     # sans l'option de code entité
814     Set To Dictionary ${param_entite} valeur=false
815     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
816    
817     # Récupère le template de payload JSON et le transforme en dictionnaire
818     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
819    
820     # Remplace certaines valeurs
821     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-09
822     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-09
823     ${json_payload} = Replace String ${json_payload} 00009 4d67qsP0
824     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
825     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
826     ${payload_dict} = To Json ${json_payload}
827    
828     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
829     ${task_values} = Create Dictionary
830     ... type=create_DI_for_consultation
831     ... json_payload=${json_payload}
832     Ajouter la tâche par WS ${task_values}
833    
834     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
835     ${msg} = Déclencher le traitement des tâches par WS
836    
837     # Extraction du libellé du DI dans le message
838     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
839     ... dossier instruction '([^']+)' .*$
840     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
841     Log ${di_lib}
842    
843     ${di_lib_no_space} = Sans espace ${di_lib}
844    
845 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM
846 mbideau 9813 Depuis la page d'accueil tmoth tmoth
847    
848     # Vérifier que le dossier a bien été ajouté
849     #Depuis le contexte du dossier d'instruction par recherche ${di_lib_no_space}
850     Depuis le contexte du dossier d'instruction ${di_lib_no_space}
851     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
852     ... Element Should Contain css=#dossier_libelle ${di_lib_no_space}
853    
854 softime 9950 # Vérification liste des identifiants externe sur le DI
855     # dossier_consultation
856     Open Fieldset dossier_instruction lien_id_interne_uid_externe
857     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
858     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${payload_dict["external_uids"]["dossier"]}
859     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
860     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${payload_dict["external_uids"]["dossier_consultation"]}
861    
862 mbideau 9813 # En tant qu'admin
863     Depuis la page d'accueil admin admin
864    
865     # Remplace certaines valeurs
866     ${json_payload} = Replace String ${json_payload} AAA-000-09 ZZZ-000-09
867    
868     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
869     ${task_values} = Create Dictionary
870     ... type=create_DI_for_consultation
871     ... json_payload=${json_payload}
872     Ajouter la tâche par WS ${task_values}
873    
874     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
875     ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS
876     Should Be Equal ${passed} ${FALSE}
877    
878 gmalvolti 9765 # fin, suppression des options
879     Depuis la page d'accueil admin admin
880     Set To Dictionary ${param_division} valeur=false
881     Ajouter ou modifier le paramètre depuis le menu ${param_division}
882     Set To Dictionary ${param_saisie_complete} valeur=true
883     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
884     Set To Dictionary ${param_dossier_commune} valeur=false
885     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
886    
887    
888 mbideau 9798 Vérification de l'ajout de la tâche add_piece par ws, puis traitement
889 gmalvolti 9751 [Documentation] Permet de vérifier que la tâche ajout_pièce en stream input ajout bien un fichier dans le filestorage
890     ... à partir du contenu du json payload vérifie aussi que l'uid du fichier ajouté est bien enregistré
891     ... dans le json payload
892 gmalvolti 9765
893 mbideau 9798 # En tant qu'admin
894     Depuis la page d'accueil admin admin
895    
896     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
897     &{param_division} = Create Dictionary
898     ... libelle=option_afficher_division
899     ... valeur=true
900     ... om_collectivite=agglo
901     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
902    
903     # desactiver l'option dossier_commune et la saisie complète des numéros
904     &{param_dossier_commune} = Create Dictionary
905     ... libelle=option_dossier_commune
906     ... valeur=false
907     ... om_collectivite=agglo
908     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
909     &{param_saisie_complete} = Create Dictionary
910     ... libelle=option_dossier_saisie_numero_complet
911     ... valeur=false
912     ... om_collectivite=agglo
913     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
914    
915     # définir les paramètres de type de demande
916     &{param_type_demande_initial} = Create Dictionary
917     ... libelle=param_type_demande_initial
918     ... valeur=DI
919     ... om_collectivite=agglo
920     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
921    
922     # isole le contexte du test (création d'une collectivité)
923     &{librecom_values} = Create Dictionary
924     ... om_collectivite_libelle=LIBRECOM_WS_PIECE
925     ... departement=014
926     ... commune=095
927     ... insee=14095
928     ... direction_code=G
929     ... direction_libelle=Direction de LIBRECOM_WS_PIECE
930     ... direction_chef=Chef
931     ... division_code=G
932     ... division_libelle=Division G
933     ... division_chef=Chef
934     ... guichet_om_utilisateur_nom=Khalil Gibran
935     ... [email protected]
936     ... guichet_om_utilisateur_login=kgibran
937     ... guichet_om_utilisateur_pwd=kgibran
938     ... instr_om_utilisateur_nom=Domir Tambu
939     ... [email protected]
940     ... instr_om_utilisateur_login=dtambu
941     ... instr_om_utilisateur_pwd=dtambu
942     ... code_entite=LBCOM_14
943     ... acteur=LIBRECOM-ACT-014
944     Isolation d'un contexte ${librecom_values}
945    
946 mbideau 9850 # ajouter le paramètre 'acteur' à la collectivité/au service
947     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
948     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
949    
950 mbideau 9798 # Récupère l'identifiant de la collectivité LIBRECOM_WS
951     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
952     ${librecom_ws_id} = Get Text css=#om_collectivite
953    
954     # Récupère le template de payload JSON et le transforme en dictionnaire
955     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
956    
957     # Remplace certaines valeurs
958 mbideau 9850 ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
959 mbideau 9813 ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-10
960     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-10
961 mbideau 9798 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
962     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
963     ${dossier_payload_dict} = To Json ${dossier_json_payload}
964    
965     # Ajoute d'une tâche de création de DI
966     ${dossier_task_values} = Create Dictionary
967     ... type=create_DI_for_consultation
968     ... json_payload=${dossier_json_payload}
969     Ajouter la tâche par WS ${dossier_task_values}
970    
971     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
972     ${dossier_msg} = Déclencher le traitement des tâches par WS
973    
974     # Extraction du libellé du DI dans le message
975     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
976     ... ${dossier_payload_dict["dossier"]["dossier"]} :
977     ... dossier instruction '([^']+)' .*$
978     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
979    
980 mbideau 9850 # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE
981 mbideau 9798 Depuis la page d'accueil kgibran kgibran
982    
983     # Vérifier que le dossier a bien été ajouté
984     Depuis le contexte du dossier d'instruction ${di_lib}
985     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
986     ... Element Should Contain css=#dossier_libelle ${di_lib}
987    
988     # En tant qu'admin
989     Depuis la page d'accueil admin admin
990    
991 gmalvolti 9751 # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
992     # json_payload correspondant à la tâche ajout_piece
993     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
994    
995 mbideau 9798 # Remplace certaines valeurs
996 mbideau 9850 ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
997 mbideau 9813 ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-10
998     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-10
999 mbideau 9955 ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-10
1000 mbideau 9798 ${piece_payload_dict} = To Json ${json_payload}
1001 softime 9950 ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1002 mbideau 9798
1003     # Ajoute la tâche d'ajout de pièce
1004 gmalvolti 9751 ${task_values} = Create Dictionary
1005 mbideau 9798 ... type=add_piece
1006 gmalvolti 9751 ... json_payload=${json_payload}
1007 mbideau 9813 ${task_id} = Ajouter la tâche par WS ${task_values}
1008 gmalvolti 9751
1009 gmalvolti 9765 # ajout manuellement les éléments qui ont du être défini par défaut
1010 mbideau 9813 Set To Dictionary ${task_values} task=${task_id}
1011 gmalvolti 9765 Set To Dictionary ${task_values} state=new
1012     Set To Dictionary ${task_values} stream=input
1013    
1014 mbideau 9798 # se rend sur la page de la tâche
1015 mbideau 9813 #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1016     Depuis le contexte de la task ${task_id}
1017 gmalvolti 9751
1018 mbideau 9798 # vérifie qu'elle a bien été ajoutée
1019 gmalvolti 9751 Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1020     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1021     Log Dictionary ${json_payload_loaded['document_numerise']}
1022     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1023    
1024     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1025     ${path_1} = Get Substring ${uid} 0 2
1026     ${path_2} = Get Substring ${uid} 0 4
1027 gmalvolti 9765
1028 gmalvolti 9751 # Vérification dans le filestorage
1029     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1030     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1031 mbideau 9798
1032     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1033     ${msg} = Déclencher le traitement des tâches par WS
1034     Log ${msg}
1035    
1036     # Extraction du libellé du DI dans le message
1037 mbideau 9813 ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1038 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1039 mbideau 9798 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1040    
1041     # Le DI devrait être le même que celui du dossier
1042     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1043    
1044     # Depuis la page des pièces du dossier
1045     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1046    
1047     # Le nom du fichier doit être présent en tant que pièce
1048     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1049     ... Element Text Should Be
1050 softime 9835 ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1051 mbideau 9798 ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1052    
1053     # Depuis la pièce
1054     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1055 mbideau 9803 ... photographie du terrain dans l'environnement proche
1056 mbideau 9798
1057     # La date de création doit correspondre
1058     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1059     ... Element Text Should Be css=#date_creation 27/11/2020
1060    
1061     # Le type de pièce doit correspondre
1062     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1063     ... Element Text Should Be css=#document_numerise_type
1064     ... photographie du terrain dans l'environnement proche
1065 softime 9835
1066    
1067     # ajout d'une seconde pièce au dossier
1068    
1069     # json_payload correspondant à la tâche ajout_piece, dont on modifie certaines valeurs
1070     ${json_payload} = Replace String ${json_payload}
1071     ... "date_creation": "2020-11-27" "date_creation": "2020-12-04"
1072     ${json_payload} = Replace String ${json_payload}
1073     ... "document_numerise_nature_code": "INIT" "document_numerise_nature_code": "COMP"
1074     ${json_payload} = Replace String ${json_payload}
1075     ... "document_numerise_type_code": "90" "document_numerise_type_code": "91"
1076     ${json_payload} = Replace String ${json_payload}
1077     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "2020120490.pdf"
1078    
1079     # Remplace certaines valeurs
1080     ${json_payload} = Replace String ${json_payload} PPP-000-10 PPP-000-11
1081     ${piece_payload_dict} = To Json ${json_payload}
1082 softime 9950 ${external_uid_piece_2} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1083 softime 9835
1084     # Ajoute la tâche d'ajout de pièce
1085     ${task_values} = Create Dictionary
1086     ... type=add_piece
1087     ... json_payload=${json_payload}
1088     ${task_id} = Ajouter la tâche par WS ${task_values}
1089    
1090     # ajout manuellement les éléments qui ont du être défini par défaut
1091     Set To Dictionary ${task_values} task=${task_id}
1092     Set To Dictionary ${task_values} state=new
1093     Set To Dictionary ${task_values} stream=input
1094    
1095     # se rend sur la page de la tâche
1096     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1097     Depuis le contexte de la task ${task_id}
1098    
1099     # vérifie qu'elle a bien été ajoutée
1100     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1101     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1102     Log Dictionary ${json_payload_loaded['document_numerise']}
1103     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1104    
1105     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1106     ${path_1} = Get Substring ${uid} 0 2
1107     ${path_2} = Get Substring ${uid} 0 4
1108    
1109     # Vérification dans le filestorage
1110     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1111     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1112    
1113     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1114     ${msg} = Déclencher le traitement des tâches par WS
1115     Log ${msg}
1116    
1117     # Extraction du libellé du DI dans le message
1118     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1119 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1120 softime 9835 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1121    
1122     # Le DI devrait être le même que celui du dossier
1123     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1124    
1125     # Depuis la page des pièces du dossier
1126     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1127    
1128     # Le nom du fichier doit être présent en tant que pièce
1129     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1130     ... Element Text Should Be
1131     ... css=table.document_numerise:nth-child(4) td a.lienDocumentNumerise span[title="Télécharger"]
1132     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1133    
1134     # Depuis la pièce
1135     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
1136     ... photographie du terrain dans le paysage lointain
1137    
1138     # La date de création doit correspondre
1139     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1140     ... Element Text Should Be css=#date_creation 04/12/2020
1141    
1142     # Le type de pièce doit correspondre
1143     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1144     ... Element Text Should Be css=#document_numerise_type
1145     ... photographie du terrain dans le paysage lointain
1146 mbideau 9850
1147 softime 9950 # Vérification liste des identifiants externe sur le DI
1148     # piece
1149     Depuis le contexte du dossier d'instruction ${di_lib}
1150     Open Fieldset dossier_instruction lien_id_interne_uid_externe
1151     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1152     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${piece_payload_dict["external_uids"]["dossier"]}
1153     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1154     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${dossier_payload_dict["external_uids"]["dossier_consultation"]}
1155     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1156     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_1}
1157     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1158     ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_2}
1159 mbideau 9850
1160 softime 9950
1161 mbideau 9850 Vérification de l'ajout d'une même pièce sur deux dossiers, le tout ajouté par WS
1162     [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers
1163    
1164     # En tant qu'admin
1165     Depuis la page d'accueil admin admin
1166    
1167     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1168     &{param_division} = Create Dictionary
1169     ... libelle=option_afficher_division
1170     ... valeur=true
1171     ... om_collectivite=agglo
1172     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1173    
1174     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1175     &{param_dossier_commune} = Create Dictionary
1176     ... libelle=option_dossier_commune
1177     ... valeur=false
1178     ... om_collectivite=agglo
1179     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1180     &{param_saisie_complete} = Create Dictionary
1181     ... libelle=option_dossier_saisie_numero_complet
1182     ... valeur=true
1183     ... om_collectivite=agglo
1184     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1185    
1186     # définir les paramètres de type de demande
1187     &{param_type_demande_initial} = Create Dictionary
1188     ... libelle=param_type_demande_initial
1189     ... valeur=DI
1190     ... om_collectivite=agglo
1191     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
1192    
1193     # isole le contexte du test (création d'une collectivité)
1194     &{librecom_multi_1_values} = Create Dictionary
1195     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_1
1196     ... departement=015
1197     ... commune=085
1198     ... insee=15085
1199     ... direction_code=T
1200     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_1
1201     ... direction_chef=Chef
1202     ... division_code=T
1203     ... division_libelle=Division T
1204     ... division_chef=Chef
1205     ... guichet_om_utilisateur_nom=Joseph Proudhon
1206     ... [email protected]
1207     ... guichet_om_utilisateur_login=jproudhon
1208     ... guichet_om_utilisateur_pwd=jproudhon
1209     ... instr_om_utilisateur_nom=François Rebalais
1210     ... [email protected]
1211     ... instr_om_utilisateur_login=frebalais
1212     ... instr_om_utilisateur_pwd=frebalais
1213     ... code_entite=LBCOM_15
1214     ... acteur=LIBRECOM-ACT-015
1215     Isolation d'un contexte ${librecom_multi_1_values}
1216    
1217     # ajouter le paramètre 'acteur' à la collectivité/au service
1218     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1219     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1220    
1221     # Active l'option entité pour la collectivité/le service
1222     &{param_entite} = Create Dictionary
1223     ... libelle=option_om_collectivite_entity
1224     ... valeur=true
1225     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
1226     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1227    
1228     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1229     Ajouter le paramètre depuis le menu code_entite
1230     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1231    
1232    
1233     # Ajout d'un dossier
1234    
1235     # Récupère le template de payload JSON et le transforme en dictionnaire
1236     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1237    
1238     # Remplace certaines valeurs
1239     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
1240     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-15
1241     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-15
1242     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000011P0
1243     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
1244     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1245    
1246     # Ajoute d'une tâche de création de DI
1247     ${dossier_task_values} = Create Dictionary
1248     ... type=create_DI_for_consultation
1249     ... json_payload=${dossier_json_payload}
1250     Ajouter la tâche par WS ${dossier_task_values}
1251    
1252     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1253     ${dossier_msg} = Déclencher le traitement des tâches par WS
1254    
1255     # Extraction du libellé du DI dans le message
1256     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1257     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1258     ... dossier instruction '([^']+)' .*$
1259     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1260     ${di_lib_sans_espace} = Sans espace ${di_lib}
1261     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
1262    
1263     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_1
1264     Depuis la page d'accueil jproudhon jproudhon
1265    
1266     # Vérifier que le dossier a bien été ajouté
1267     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1268     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1269     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1270    
1271    
1272     # Ajout de la pièce au dossier
1273    
1274     # En tant qu'admin
1275     Depuis la page d'accueil admin admin
1276    
1277     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1278     # json_payload correspondant à la tâche ajout_piece
1279     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1280    
1281     # Remplace certaines valeurs
1282     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
1283     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1284     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1285 mbideau 9955 ${json_payload} = Replace String ${json_payload} "consultation": "FE4-JR5-8W", ${EMPTY}
1286 mbideau 9850 ${piece_payload_dict} = To Json ${json_payload}
1287    
1288     # Ajoute la tâche d'ajout de pièce
1289     ${task_values} = Create Dictionary
1290     ... type=add_piece
1291     ... json_payload=${json_payload}
1292     ${task_id} = Ajouter la tâche par WS ${task_values}
1293    
1294     # ajout manuellement les éléments qui ont du être défini par défaut
1295     Set To Dictionary ${task_values} task=${task_id}
1296     Set To Dictionary ${task_values} state=new
1297     Set To Dictionary ${task_values} stream=input
1298    
1299     # se rend sur la page de la tâche
1300     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1301     Depuis le contexte de la task ${task_id}
1302    
1303     # vérifie qu'elle a bien été ajoutée
1304     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1305     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1306     Log Dictionary ${json_payload_loaded['document_numerise']}
1307     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1308    
1309     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1310     ${path_1} = Get Substring ${uid} 0 2
1311     ${path_2} = Get Substring ${uid} 0 4
1312    
1313     # Vérification dans le filestorage
1314     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1315     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1316    
1317     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1318     ${msg} = Déclencher le traitement des tâches par WS
1319     Log ${msg}
1320    
1321     # Extraction du libellé du DI dans le message
1322     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1323 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1324 mbideau 9850 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1325    
1326     # Le DI devrait être le même que celui du dossier
1327     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1328    
1329     # Depuis la page des pièces du dossier
1330     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1331    
1332     # Le nom du fichier doit être présent en tant que pièce
1333     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1334     ... Element Text Should Be
1335     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1336     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1337    
1338     # Depuis la pièce
1339     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1340     ... photographie du terrain dans l'environnement proche
1341    
1342     # La date de création doit correspondre
1343     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1344     ... Element Text Should Be css=#date_creation 27/11/2020
1345    
1346     # Le type de pièce doit correspondre
1347     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1348     ... Element Text Should Be css=#document_numerise_type
1349     ... photographie du terrain dans l'environnement proche
1350    
1351    
1352     # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier)
1353    
1354     # En tant qu'admin
1355     Depuis la page d'accueil admin admin
1356    
1357     # Ajout d'une seconde entité
1358     &{librecom_multi_2_values} = Create Dictionary
1359     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_2
1360     ... departement=016
1361     ... commune=086
1362     ... insee=16086
1363 softime 9854 ... direction_code=C
1364 mbideau 9850 ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_2
1365     ... direction_chef=Chef
1366 softime 9854 ... division_code=C
1367     ... division_libelle=Division C
1368 mbideau 9850 ... division_chef=Chef
1369     ... guichet_om_utilisateur_nom=Peter Kropotkin
1370     ... [email protected]
1371     ... guichet_om_utilisateur_login=pkropotkin
1372     ... guichet_om_utilisateur_pwd=pkropotkin
1373     ... instr_om_utilisateur_nom=Mikhail Bakunin
1374     ... [email protected]
1375     ... instr_om_utilisateur_login=mbakunin
1376     ... instr_om_utilisateur_pwd=mbakunin
1377     ... code_entite=LBCOM_16
1378     ... acteur=LIBRECOM-ACT-016
1379     Isolation d'un contexte ${librecom_multi_2_values}
1380    
1381     # ajouter le paramètre 'acteur' à la collectivité/au service
1382     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1383     ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1384    
1385     # Active l'option entité pour la collectivité/le service
1386     &{param_entite} = Create Dictionary
1387     ... libelle=option_om_collectivite_entity
1388     ... valeur=true
1389     ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]}
1390     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1391    
1392     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1393     Ajouter le paramètre depuis le menu code_entite
1394     ... ${librecom_multi_2_values["code_entite"]} ${librecom_multi_2_values["om_collectivite_libelle"]}
1395    
1396    
1397     # Ajout d'un dossier
1398    
1399     # Remplace certaines valeurs, mais conserve le même external_uid pour le dossier
1400     ${dossier_json_payload} = Replace String ${dossier_json_payload} ${librecom_multi_1_values["acteur"]} ${librecom_multi_2_values["acteur"]}
1401     ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-15 AAA-000-16
1402     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1403    
1404     # Ajoute d'une tâche de création de DI
1405     ${dossier_task_values} = Create Dictionary
1406     ... type=create_DI_for_consultation
1407     ... json_payload=${dossier_json_payload}
1408     Ajouter la tâche par WS ${dossier_task_values}
1409    
1410     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1411     ${dossier_msg} = Déclencher le traitement des tâches par WS
1412    
1413     # Extraction du libellé du DI dans le message
1414     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1415     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1416     ... dossier instruction '([^']+)' .*$
1417     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1418     ${di_lib_sans_espace} = Sans espace ${di_lib}
1419     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_2_values["code_entite"]} ${SPACE}${librecom_multi_2_values["code_entite"]}
1420    
1421     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_2
1422     Depuis la page d'accueil pkropotkin pkropotkin
1423    
1424     # Vérifier que le dossier a bien été ajouté
1425     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
1426     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1427     ... Element Should Contain css=#dossier_libelle ${di_to_search}
1428    
1429    
1430     # Ajout de la même pièce au second dossier
1431    
1432     # En tant qu'admin
1433     Depuis la page d'accueil admin admin
1434    
1435     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1436     # json_payload correspondant à la tâche ajout_piece
1437     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1438    
1439     # Remplace certaines valeurs, et conserve le même external_uid que la pièce ajoutée au dossier
1440     # précédent
1441     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
1442     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15
1443     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15
1444 mbideau 9955 ${json_payload} = Replace String ${json_payload} "consultation": "FE4-JR5-8W", ${EMPTY}
1445 mbideau 9850 ${piece_payload_dict} = To Json ${json_payload}
1446    
1447     # Ajoute la tâche d'ajout de pièce
1448     ${task_values} = Create Dictionary
1449     ... type=add_piece
1450     ... json_payload=${json_payload}
1451     ${task_id} = Ajouter la tâche par WS ${task_values}
1452    
1453     # ajout manuellement les éléments qui ont du être défini par défaut
1454     Set To Dictionary ${task_values} task=${task_id}
1455     Set To Dictionary ${task_values} state=new
1456     Set To Dictionary ${task_values} stream=input
1457    
1458     # se rend sur la page de la tâche
1459     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1460     Depuis le contexte de la task ${task_id}
1461    
1462     # vérifie qu'elle a bien été ajoutée
1463     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1464     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1465     Log Dictionary ${json_payload_loaded['document_numerise']}
1466     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1467    
1468     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1469     ${path_1} = Get Substring ${uid} 0 2
1470     ${path_2} = Get Substring ${uid} 0 4
1471    
1472     # Vérification dans le filestorage
1473     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1474     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1475    
1476     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1477     ${msg} = Déclencher le traitement des tâches par WS
1478     Log ${msg}
1479    
1480     # Extraction du libellé du DI dans le message
1481     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1482 softime 9950 ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1483 mbideau 9850 ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1484    
1485     # Le DI devrait être le même que celui du dossier
1486     Should Be Equal ${piece_di_lib} ${di_lib_sans_espace}
1487    
1488     # Depuis la page des pièces du dossier
1489     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search}
1490    
1491     # Le nom du fichier doit être présent en tant que pièce
1492     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1493     ... Element Text Should Be
1494     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1495     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1496    
1497     # Depuis la pièce
1498     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search}
1499     ... photographie du terrain dans l'environnement proche
1500    
1501     # La date de création doit correspondre
1502     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1503     ... Element Text Should Be css=#date_creation 27/11/2020
1504    
1505     # Le type de pièce doit correspondre
1506     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1507     ... Element Text Should Be css=#document_numerise_type
1508     ... photographie du terrain dans l'environnement proche
1509    
1510     # desactiver l'option saisie complète des numéros
1511     &{param_saisie_complete} = Create Dictionary
1512     ... libelle=option_dossier_saisie_numero_complet
1513     ... valeur=false
1514     ... om_collectivite=agglo
1515     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1516 softime 9871
1517    
1518 mbideau 9955 Vérification de l'ajout d'une même pièce sur deux dossiers pour le même acteur
1519     [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers
1520     ... avec le même acteur
1521    
1522     # En tant qu'admin
1523     Depuis la page d'accueil admin admin
1524    
1525     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1526     &{param_division} = Create Dictionary
1527     ... libelle=option_afficher_division
1528     ... valeur=true
1529     ... om_collectivite=agglo
1530     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1531    
1532     # desactiver l'option dossier_commune et activer la saisie complète des numéros
1533     &{param_dossier_commune} = Create Dictionary
1534     ... libelle=option_dossier_commune
1535     ... valeur=false
1536     ... om_collectivite=agglo
1537     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1538     &{param_saisie_complete} = Create Dictionary
1539     ... libelle=option_dossier_saisie_numero_complet
1540     ... valeur=true
1541     ... om_collectivite=agglo
1542     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1543    
1544     # définir les paramètres de type de demande
1545     &{param_type_demande_initial} = Create Dictionary
1546     ... libelle=param_type_demande_initial
1547     ... valeur=DI
1548     ... om_collectivite=agglo
1549     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
1550    
1551     # isole le contexte du test (création d'une collectivité)
1552     &{librecom_multi_3_values} = Create Dictionary
1553     ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_3
1554     ... departement=018
1555     ... commune=088
1556     ... insee=18088
1557     ... direction_code=D
1558     ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_3
1559     ... direction_chef=Chef
1560     ... division_code=D
1561     ... division_libelle=Division D
1562     ... division_chef=Chef
1563     ... guichet_om_utilisateur_nom=Malcom Ferdinand
1564     ... [email protected]
1565     ... guichet_om_utilisateur_login=mferdinand
1566     ... guichet_om_utilisateur_pwd=mferdinand
1567     ... instr_om_utilisateur_nom=Dominique Bourg
1568     ... [email protected]
1569     ... instr_om_utilisateur_login=dbourg
1570     ... instr_om_utilisateur_pwd=dbourg
1571     ... code_entite=LBCOM_18
1572     ... acteur=LIBRECOM-ACT-018
1573     Isolation d'un contexte ${librecom_multi_3_values}
1574    
1575    
1576     # ajouter le paramètre 'acteur' à la collectivité/au service
1577     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1578     ... ${librecom_multi_3_values["acteur"]} ${librecom_multi_3_values["om_collectivite_libelle"]}
1579    
1580     # Active l'option entité pour la collectivité/le service
1581     &{param_entite} = Create Dictionary
1582     ... libelle=option_om_collectivite_entity
1583     ... valeur=true
1584     ... om_collectivite=${librecom_multi_3_values["om_collectivite_libelle"]}
1585     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
1586    
1587     # Ajoute le paramètre 'code_entite' à la collectivité/le service
1588     Ajouter le paramètre depuis le menu code_entite
1589     ... ${librecom_multi_3_values["code_entite"]} ${librecom_multi_3_values["om_collectivite_libelle"]}
1590    
1591    
1592     # Ajout d'un dossier
1593    
1594     # Récupère le template de payload JSON et le transforme en dictionnaire
1595     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1596    
1597     # Remplace certaines valeurs
1598     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_3_values["acteur"]}
1599     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-18
1600     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-18
1601     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000018P0
1602     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_3_values["insee"]}
1603     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1604    
1605     # Ajoute d'une tâche de création de DI
1606     ${dossier_task_values} = Create Dictionary
1607     ... type=create_DI_for_consultation
1608     ... json_payload=${dossier_json_payload}
1609     Ajouter la tâche par WS ${dossier_task_values}
1610    
1611     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1612     ${dossier_msg} = Déclencher le traitement des tâches par WS
1613    
1614     # Extraction du libellé du DI dans le message
1615     ${di_regex_1} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1616     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1617     ... dossier instruction '([^']+)' .*$
1618     ${di_lib_1} = Replace String Using Regexp ${dossier_msg} ${di_regex_1} \\1
1619     ${di_lib_sans_espace_1} = Sans espace ${di_lib_1}
1620     ${di_to_search_1} = Replace String ${di_lib_sans_espace_1} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]}
1621    
1622     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3
1623     Depuis la page d'accueil mferdinand mferdinand
1624    
1625     # Vérifier que le dossier a bien été ajouté
1626     Depuis le contexte du dossier d'instruction par recherche ${di_to_search_1}
1627     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1628     ... Element Should Contain css=#dossier_libelle ${di_to_search_1}
1629    
1630    
1631     # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier)
1632    
1633     # En tant qu'admin
1634     Depuis la page d'accueil admin admin
1635    
1636     # Remplace certaines valeurs
1637     ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-18 BBB-000-18
1638     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1639    
1640     # Ajoute d'une tâche de création de DI
1641     ${dossier_task_values} = Create Dictionary
1642     ... type=create_DI_for_consultation
1643     ... json_payload=${dossier_json_payload}
1644     Ajouter la tâche par WS ${dossier_task_values}
1645    
1646     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1647     ${dossier_msg} = Déclencher le traitement des tâches par WS
1648    
1649     # Extraction du libellé du DI dans le message
1650     ${di_regex_2} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1651     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1652     ... dossier instruction '([^']+)' .*$
1653     ${di_lib_2} = Replace String Using Regexp ${dossier_msg} ${di_regex_2} \\1
1654     ${di_lib_sans_espace_2} = Sans espace ${di_lib_2}
1655     ${di_to_search_2} = Replace String ${di_lib_sans_espace_2} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]}
1656    
1657     # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3
1658     Depuis la page d'accueil mferdinand mferdinand
1659    
1660     # Vérifier que le dossier a bien été ajouté
1661     Depuis le contexte du dossier d'instruction par recherche ${di_to_search_2}
1662     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1663     ... Element Should Contain css=#dossier_libelle ${di_to_search_2}
1664    
1665    
1666     # Ajout de la pièce au 1er dossier
1667    
1668     # En tant qu'admin
1669     Depuis la page d'accueil admin admin
1670    
1671     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1672     # json_payload correspondant à la tâche ajout_piece
1673     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1674    
1675     # Remplace certaines valeurs
1676     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_3_values["acteur"]}
1677     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-18
1678     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-18
1679     ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-18
1680     ${piece_payload_dict} = To Json ${json_payload}
1681    
1682     # Ajoute la tâche d'ajout de pièce
1683     ${task_values} = Create Dictionary
1684     ... type=add_piece
1685     ... json_payload=${json_payload}
1686     ${task_id} = Ajouter la tâche par WS ${task_values}
1687    
1688     # ajout manuellement les éléments qui ont du être défini par défaut
1689     Set To Dictionary ${task_values} task=${task_id}
1690     Set To Dictionary ${task_values} state=new
1691     Set To Dictionary ${task_values} stream=input
1692    
1693     # se rend sur la page de la tâche
1694     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1695     Depuis le contexte de la task ${task_id}
1696    
1697     # vérifie qu'elle a bien été ajoutée
1698     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1699     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1700     Log Dictionary ${json_payload_loaded['document_numerise']}
1701     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1702    
1703     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1704     ${path_1} = Get Substring ${uid} 0 2
1705     ${path_2} = Get Substring ${uid} 0 4
1706    
1707     # Vérification dans le filestorage
1708     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1709     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1710    
1711     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1712     ${msg} = Déclencher le traitement des tâches par WS
1713     Log ${msg}
1714    
1715     # Extraction du libellé du DI dans le message
1716     ${piece_di_regex_1} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1717     ... : pièce : '([^']+)' .*$
1718     ${piece_di_lib_1} = Replace String Using Regexp ${msg} ${piece_di_regex_1} \\1
1719    
1720     # Le DI devrait être le même que celui du dossier
1721     Should Be Equal ${piece_di_lib_1} ${di_lib_sans_espace_1}
1722    
1723     # Depuis la page des pièces du dossier
1724     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_1}
1725    
1726     # Le nom du fichier doit être présent en tant que pièce
1727     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1728     ... Element Text Should Be
1729     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1730     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1731    
1732     # Depuis la pièce
1733     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search_1}
1734     ... photographie du terrain dans l'environnement proche
1735    
1736     # La date de création doit correspondre
1737     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1738     ... Element Text Should Be css=#date_creation 27/11/2020
1739    
1740     # Le type de pièce doit correspondre
1741     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1742     ... Element Text Should Be css=#document_numerise_type
1743     ... photographie du terrain dans l'environnement proche
1744    
1745    
1746     # Ajout de la même pièce au second dossier
1747    
1748     # En tant qu'admin
1749     Depuis la page d'accueil admin admin
1750    
1751     # modifie l'ID de la consultation
1752     ${json_payload} = Replace String ${json_payload} AAA-000-18 BBB-000-18
1753     ${piece_payload_dict} = To Json ${json_payload}
1754    
1755     # Ajoute la tâche d'ajout de pièce
1756     ${task_values} = Create Dictionary
1757     ... type=add_piece
1758     ... json_payload=${json_payload}
1759     ${task_id} = Ajouter la tâche par WS ${task_values}
1760    
1761     # ajout manuellement les éléments qui ont du être défini par défaut
1762     Set To Dictionary ${task_values} task=${task_id}
1763     Set To Dictionary ${task_values} state=new
1764     Set To Dictionary ${task_values} stream=input
1765    
1766     # se rend sur la page de la tâche
1767     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1768     Depuis le contexte de la task ${task_id}
1769    
1770     # vérifie qu'elle a bien été ajoutée
1771     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1772     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1773     Log Dictionary ${json_payload_loaded['document_numerise']}
1774     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1775    
1776     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1777     ${path_1} = Get Substring ${uid} 0 2
1778     ${path_2} = Get Substring ${uid} 0 4
1779    
1780     # Vérification dans le filestorage
1781     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1782     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1783    
1784     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1785     ${msg} = Déclencher le traitement des tâches par WS
1786     Log ${msg}
1787    
1788     # Extraction du libellé du DI dans le message
1789     ${piece_di_regex_2} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1790     ... : pièce : '([^']+)' .*$
1791     ${piece_di_lib_2} = Replace String Using Regexp ${msg} ${piece_di_regex_2} \\1
1792    
1793     # Le DI devrait être le même que celui du dossier
1794     Should Be Equal ${piece_di_lib_2} ${di_lib_sans_espace_2}
1795    
1796     # Depuis la page des pièces du dossier
1797     Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_2}
1798    
1799     # Le nom du fichier doit être présent en tant que pièce
1800     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1801     ... Element Text Should Be
1802     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
1803     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
1804    
1805     # Depuis la pièce
1806     Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search_2}
1807     ... photographie du terrain dans l'environnement proche
1808    
1809     # La date de création doit correspondre
1810     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1811     ... Element Text Should Be css=#date_creation 27/11/2020
1812    
1813     # Le type de pièce doit correspondre
1814     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1815     ... Element Text Should Be css=#document_numerise_type
1816     ... photographie du terrain dans l'environnement proche
1817    
1818     # desactiver l'option saisie complète des numéros
1819     &{param_saisie_complete} = Create Dictionary
1820     ... libelle=option_dossier_saisie_numero_complet
1821     ... valeur=false
1822     ... om_collectivite=agglo
1823     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1824    
1825    
1826     Vérification de l'ajout de la tâche add_piece par IHM web, puis traitement
1827     [Documentation] Permet de vérifier que l'ajout d'une pièce via l'IHM fonctionne
1828    
1829     # En tant qu'admin
1830     Depuis la page d'accueil admin admin
1831    
1832     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1833     &{param_division} = Create Dictionary
1834     ... libelle=option_afficher_division
1835     ... valeur=true
1836     ... om_collectivite=agglo
1837     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
1838    
1839     # desactiver l'option dossier_commune et la saisie complète des numéros
1840     &{param_dossier_commune} = Create Dictionary
1841     ... libelle=option_dossier_commune
1842     ... valeur=false
1843     ... om_collectivite=agglo
1844     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
1845     &{param_saisie_complete} = Create Dictionary
1846     ... libelle=option_dossier_saisie_numero_complet
1847     ... valeur=false
1848     ... om_collectivite=agglo
1849     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
1850    
1851     # définir les paramètres de type de demande
1852     &{param_type_demande_initial} = Create Dictionary
1853     ... libelle=param_type_demande_initial
1854     ... valeur=DI
1855     ... om_collectivite=agglo
1856     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
1857    
1858     # isole le contexte du test (création d'une collectivité)
1859     &{librecom_values} = Create Dictionary
1860     ... om_collectivite_libelle=LIBRECOM_IHM_PIECE
1861     ... departement=017
1862     ... commune=097
1863     ... insee=17097
1864     ... direction_code=Q
1865     ... direction_libelle=Direction de LIBRECOM_IHM_PIECE
1866     ... direction_chef=Chef
1867     ... division_code=Q
1868     ... division_libelle=Division Q
1869     ... division_chef=Chef
1870     ... guichet_om_utilisateur_nom=Emmanuel Kant
1871     ... [email protected]
1872     ... guichet_om_utilisateur_login=ekant
1873     ... guichet_om_utilisateur_pwd=ekant
1874     ... instr_om_utilisateur_nom=Bertrand Russell
1875     ... [email protected]
1876     ... instr_om_utilisateur_login=brussell
1877     ... instr_om_utilisateur_pwd=brussell
1878     ... code_entite=LBCOM_17
1879     ... acteur=LIBRECOM-ACT-017
1880     Isolation d'un contexte ${librecom_values}
1881    
1882     # ajouter le paramètre 'acteur' à la collectivité/au service
1883     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
1884     ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]}
1885    
1886     # Récupère l'identifiant de la collectivité LIBRECOM_WS
1887     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
1888     ${librecom_ws_id} = Get Text css=#om_collectivite
1889    
1890     # Récupère le template de payload JSON et le transforme en dictionnaire
1891     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
1892    
1893     # Remplace certaines valeurs
1894     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]}
1895     ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-17
1896     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-17
1897     ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0
1898     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]}
1899     ${dossier_payload_dict} = To Json ${dossier_json_payload}
1900    
1901     # Ajoute d'une tâche de création de DI
1902     ${dossier_task_values} = Create Dictionary
1903     ... type=create_DI_for_consultation
1904     ... json_payload=${dossier_json_payload}
1905     Ajouter la tâche par WS ${dossier_task_values}
1906    
1907     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1908     ${dossier_msg} = Déclencher le traitement des tâches par WS
1909    
1910     # Extraction du libellé du DI dans le message
1911     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
1912     ... ${dossier_payload_dict["dossier"]["dossier"]} :
1913     ... dossier instruction '([^']+)' .*$
1914     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
1915    
1916     # En tant qu'instructeur de la collectivité/du service LIBRECOM_IHM_PIECE
1917     Depuis la page d'accueil ekant ekant
1918    
1919     # Vérifier que le dossier a bien été ajouté
1920     Depuis le contexte du dossier d'instruction ${di_lib}
1921     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1922     ... Element Should Contain css=#dossier_libelle ${di_lib}
1923    
1924     # En tant qu'admin
1925     Depuis la page d'accueil admin admin
1926    
1927     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1928     # json_payload correspondant à la tâche ajout_piece
1929     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1930    
1931     # Remplace certaines valeurs
1932     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_values["acteur"]}
1933     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-17
1934     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-17
1935     ${json_payload} = Replace String ${json_payload} "consultation": "FE4-JR5-8W", ${EMPTY}
1936     ${piece_payload_dict} = To Json ${json_payload}
1937    
1938     # Ajoute la tâche via l'IHM
1939     ${task_data_type} = Create List ${NONE} add_piece
1940     ${task_data_payload} = Create List ${NONE} ${json_payload}
1941     ${task_data} = Create Dictionary
1942     ... type=${task_data_type}
1943     ... json_payload=${task_data_payload}
1944     ${COOKIE} = Get Cookie ${SESSION_COOKIE}
1945     ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value}
1946     ${session} = Set Variable ${PROJECT_NAME}_web_ihm
1947     Create Session ${session} ${PROJECT_URL} cookies=${cookies}
1948     ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=996 files=${task_data}
1949    
1950     # get the task ID by parsing the response
1951     ${task_id_msg_matches} = Get Regexp Matches ${response.content} T\xc3\xa2che ([0-9]+) ajout\xc3\xa9e avec succ\xc3\xa8s 1
1952     Length Should Be ${task_id_msg_matches} 1
1953     ${task_id} = Get From List ${task_id_msg_matches} 0
1954    
1955     # créé le dictionnaire qui va permettre de vérifier les infos de la tâche
1956     ${task_values} = Create Dictionary
1957     ... type=add_piece
1958     ... json_payload=${json_payload}
1959     ... task=${task_id}
1960     ... state=new
1961     ... stream=input
1962    
1963     # se rend sur la page de la tâche
1964     #Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1965     Depuis le contexte de la task ${task_id}
1966    
1967     # vérifie qu'elle a bien été ajoutée
1968     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1969     ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values}
1970     Log Dictionary ${json_payload_loaded['document_numerise']}
1971     Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid
1972    
1973     ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']}
1974     ${path_1} = Get Substring ${uid} 0 2
1975     ${path_2} = Get Substring ${uid} 0 4
1976    
1977     # Vérification dans le filestorage
1978     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1979     File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1980    
1981     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
1982     ${msg} = Déclencher le traitement des tâches par WS
1983     Log ${msg}
1984    
1985     # Extraction du libellé du DI dans le message
1986     ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} *
1987     ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$
1988     ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1
1989    
1990     # Le DI devrait être le même que celui du dossier
1991     Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]}
1992    
1993     # Depuis la page des pièces du dossier
1994     Depuis l'onglet des pièces du dossier d'instruction ${di_lib}
1995    
1996     # Le nom du fichier doit être présent en tant que pièce
1997     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1998     ... Element Text Should Be
1999     ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"]
2000     ... ${piece_payload_dict["document_numerise"]["nom_fichier"]}
2001    
2002     # Depuis la pièce
2003     Depuis le contexte de la pièce par le dossier d'instruction ${di_lib}
2004     ... photographie du terrain dans l'environnement proche
2005    
2006     # La date de création doit correspondre
2007     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2008     ... Element Text Should Be css=#date_creation 27/11/2020
2009    
2010     # Le type de pièce doit correspondre
2011     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
2012     ... Element Text Should Be css=#document_numerise_type
2013     ... photographie du terrain dans l'environnement proche
2014    
2015    
2016 softime 9871 Ajout d'une tâche de création de PeC et d'avis de consultation via WS, puis traitement
2017     [Documentation] Vérification de la création des tâches *pec_metier_consultation* et
2018     ... *avis_consultation* en stream output.
2019    
2020     # En tant qu'admin
2021     Depuis la page d'accueil admin admin
2022    
2023     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2024     &{param_division} = Create Dictionary
2025     ... libelle=option_afficher_division
2026     ... valeur=true
2027     ... om_collectivite=agglo
2028     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
2029    
2030     # desactiver l'option dossier_commune et activer la saisie complète des numéros
2031     &{param_dossier_commune} = Create Dictionary
2032     ... libelle=option_dossier_commune
2033     ... valeur=false
2034     ... om_collectivite=agglo
2035     Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune}
2036     &{param_saisie_complete} = Create Dictionary
2037     ... libelle=option_dossier_saisie_numero_complet
2038     ... valeur=true
2039     ... om_collectivite=agglo
2040     Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete}
2041    
2042     # définir les paramètres de type de demande
2043     &{param_type_demande_initial} = Create Dictionary
2044     ... libelle=param_type_demande_initial
2045     ... valeur=DI
2046     ... om_collectivite=agglo
2047     Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial}
2048    
2049     # Active le mode service consulté
2050     &{param_division} = Create Dictionary
2051     ... libelle=option_mode_service_consulte
2052     ... valeur=true
2053     ... om_collectivite=agglo
2054     Ajouter le paramètre depuis le menu (surcharge) ${param_division}
2055    
2056     # isole le contexte du test (création d'une collectivité)
2057     &{librecom_multi_1_values} = Create Dictionary
2058     ... om_collectivite_libelle=LIBRECOM_WS_PEC_AVIS_1
2059     ... departement=06
2060     ... commune=095
2061     ... insee=16095
2062     ... direction_code=U
2063     ... direction_libelle=Direction de LIBRECOM_WS_PEC_AVIS_1
2064     ... direction_chef=Chef
2065     ... division_code=U
2066     ... division_libelle=Division U
2067     ... division_chef=Chef
2068     ... guichet_om_utilisateur_nom=Adrien Caya
2069     ... [email protected]
2070     ... guichet_om_utilisateur_login=acaya
2071     ... guichet_om_utilisateur_pwd=acaya
2072     ... instr_om_utilisateur_nom=Mandel Deslauriers
2073     ... [email protected]
2074     ... instr_om_utilisateur_login=mdeslauriers
2075     ... instr_om_utilisateur_pwd=mdeslauriers
2076 mbideau 9955 ... code_entite=LBCOM_19
2077     ... acteur=LIBRECOM-ACT-019
2078 softime 9871 Isolation d'un contexte ${librecom_multi_1_values}
2079    
2080     # ajouter le paramètre 'acteur' à la collectivité/au service
2081     Ajouter le paramètre depuis le menu platau_acteur_service_consulte
2082     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
2083    
2084     # Active l'option entité pour la collectivité/le service
2085     &{param_entite} = Create Dictionary
2086     ... libelle=option_om_collectivite_entity
2087     ... valeur=true
2088     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
2089     Ajouter ou modifier le paramètre depuis le menu ${param_entite}
2090    
2091     # Ajoute le paramètre 'code_entite' à la collectivité/le service
2092     Ajouter le paramètre depuis le menu code_entite
2093     ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
2094    
2095     # Ajoute l'action et l'événement pour changer la prise en compte métier
2096     &{args_action} = Create Dictionary
2097     ... action=changer_pec
2098     ... libelle=Changer PeC
2099     ... regle_pec_metier=pec_metier
2100     Ajouter l'action depuis le menu ${args_action}
2101     @{etat_source} = Create List delai de notification envoye
2102     @{type_di} = Create List DP - P - Initiale
2103     &{args_evenement} = Create Dictionary
2104     ... libelle=300 - Prise en compte métier
2105     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
2106     ... dossier_instruction_type=${type_di}
2107     ... action=Changer PeC
2108     ... etat=delai de notification envoye
2109     ... pec_metier=Pris en compte
2110     Ajouter l'événement depuis le menu ${args_evenement}
2111    
2112     # Ajout d'un dossier
2113    
2114     # Récupère le template de payload JSON et le transforme en dictionnaire
2115     ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
2116    
2117     # Remplace certaines valeurs
2118     ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]}
2119 mbideau 9955 ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-19
2120     ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-19
2121 softime 9871 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000012P0
2122     ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]}
2123     ${dossier_payload_dict} = To Json ${dossier_json_payload}
2124    
2125     # Ajoute d'une tâche de création de DI
2126     ${dossier_task_values} = Create Dictionary
2127     ... type=create_DI_for_consultation
2128     ... json_payload=${dossier_json_payload}
2129     Ajouter la tâche par WS ${dossier_task_values}
2130    
2131     # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut)
2132     ${dossier_msg} = Déclencher le traitement des tâches par WS
2133    
2134     # Extraction du libellé du DI dans le message
2135     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]}
2136     ... ${dossier_payload_dict["dossier"]["dossier"]} :
2137     ... dossier instruction '([^']+)' .*$
2138     ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1
2139     ${di_lib_sans_espace} = Sans espace ${di_lib}
2140     ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]}
2141     ${di_to_search_se} = Sans espace ${di_to_search}
2142    
2143     # Ajout d'une instruction de prise en compte et vérification de la modification
2144     # sur le dossier d'instruction, ainsi que de la création de la tâche
2145     ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier
2146     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
2147     Form Static Value Should Be pec_metier ${args_evenement.pec_metier}
2148     &{task_values} = Create Dictionary
2149     ... type=pec_metier_consultation
2150     ... dossier=${di_to_search_se}
2151     ... state=new
2152     ... object_id=${instr_pec}
2153     ... link_dossier=${di_to_search_se}
2154     ... stream=output
2155     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2156    
2157     # Ajoute l'avis de décision et l'événement pour changer l'avis
2158     &{ad_values} = Create Dictionary
2159     ... libelle=Avis favorable
2160     ... typeavis=favorable
2161     ... avis_decision_type=Conforme
2162     ... avis_decision_nature=Favorable
2163     Ajouter l'avis de décision ${ad_values}
2164     @{etat_source} = Create List delai de notification envoye
2165     @{type_di} = Create List DP - P - Initiale
2166     &{args_evenement} = Create Dictionary
2167     ... libelle=300 - Avis favorable
2168     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
2169     ... dossier_instruction_type=${type_di}
2170     ... action=accepter un dossier
2171     ... etat=dossier accepter
2172     ... avis_decision=${ad_values.libelle}
2173     Ajouter l'événement depuis le menu ${args_evenement}
2174    
2175     # Ajout d'une instruction de décision et vérification de la création de la tâche
2176     ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Avis favorable
2177     &{task_values} = Create Dictionary
2178     ... type=avis_consultation
2179     ... dossier=${di_to_search_se}
2180     ... state=new
2181     ... object_id=${instr_pec}
2182     ... link_dossier=${di_to_search_se}
2183     ... stream=output
2184     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26