/[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 10211 - (hide annotations)
Tue Jun 29 14:54:02 2021 UTC (3 years, 7 months ago) by softime
Original Path: branches/5.0.0-develop/tests/300_task.robot
File size: 130958 byte(s)
* Création de la branche d'intégration 5.0.0-develop depuis la branche d'intégration 4.14.0-develop

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26