1 |
*** Settings *** |
2 |
Documentation Test de task. |
3 |
|
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 |
*** Variables *** |
12 |
${alternate_filestorage} filestorage_plop |
13 |
|
14 |
*** Test Cases *** |
15 |
Activation de l'option 'option_notification_piece_numerisee' |
16 |
[Documentation] Il est nécessaire de faire cette manipulation pour éviter le |
17 |
... FAIL: Element with locator 'dossier_message_id' not found. |
18 |
|
19 |
&{om_param} = Create Dictionary |
20 |
... libelle=option_notification_piece_numerisee |
21 |
... valeur=true |
22 |
... om_collectivite=agglo |
23 |
Gerer le paramètre par WS ${om_param} |
24 |
|
25 |
Depuis la page d'accueil admin admin |
26 |
Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU PCI |
27 |
Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP |
28 |
|
29 |
|
30 |
Verification calcul de l'instruction suivante lors de la récupération des id externes |
31 |
[Documentation] Ce test vérifie que depuis lors de la récuperation des id externes le calcul |
32 |
... le calcul de numero de dossier se fait bien. |
33 |
Depuis la page d'accueil admin admin |
34 |
@{type_di} = Create List PCI - P - Initial |
35 |
@{etat_source} = Create List delai de notification envoye |
36 |
# Création des événements |
37 |
&{args_evenement_ACCORD2} = Create Dictionary |
38 |
... libelle=ACCORD 2 |
39 |
... retour=true |
40 |
... action=accepter un dossier |
41 |
... etat=dossier accepter |
42 |
Ajouter l'événement depuis le menu ${args_evenement_ACCORD2} |
43 |
|
44 |
&{args_evenement_ACCORD1} = Create Dictionary |
45 |
... libelle=ACCORD 1 |
46 |
... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} |
47 |
... dossier_instruction_type=${type_di} |
48 |
... lettretype=arrete ARRETE |
49 |
... evenement_retour_ar=ACCORD 2 |
50 |
... avis_decision=Favorable |
51 |
Ajouter l'événement depuis le menu ${args_evenement_ACCORD1} |
52 |
|
53 |
&{args_demande_auto} = Create Dictionary |
54 |
... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes |
55 |
... demande_type=Dépôt Initial |
56 |
... om_collectivite=MARSEILLE |
57 |
&{args_petitionnaire_auto} = Create Dictionary |
58 |
... particulier_nom=SEPTIM |
59 |
... particulier_prenom=MARTIN |
60 |
... om_collectivite=MARSEILLE |
61 |
${di} = Ajouter la demande par WS ${args_demande_auto} ${args_petitionnaire_auto} |
62 |
|
63 |
# Création du dossier |
64 |
Ajouter une instruction au DI et la finaliser ${di} ${args_evenement_ACCORD1.libelle} |
65 |
|
66 |
Click Element css=#main |
67 |
${numdossier} = Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Get Text css=#dossier_libelle |
68 |
${numdossier_sans_espace} = Sans espace ${numdossier} |
69 |
Depuis l'onglet instruction du dossier d'instruction ${di} |
70 |
&{args_instruction} = Create Dictionary |
71 |
... date_retour_rar=${DATE_FORMAT_DD/MM/YYYY} |
72 |
Modifier le suivi des dates ${di} ACCORD 1 ${args_instruction} |
73 |
Depuis le contexte de la task via numero de dossier et son type sur le moniteur Plat'AU ${numdossier_sans_espace} Décision DI |
74 |
Open Fieldset task json_payload-calculee |
75 |
Element Should Contain css=#json_payload "path" |
76 |
|
77 |
|
78 |
Vérification de l'ajout des tasks creation_DA, creation_DI, depot_DI et qualification_DI lors de l'ajout d'un dossier d'instruction. |
79 |
[Documentation] Permet de vérifier le bon fonctionnement de la création des tâches lié à la création d'un dossier d'instruction |
80 |
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné |
81 |
Depuis la page d'accueil admin admin |
82 |
&{args_dossier} = Create Dictionary |
83 |
... om_collectivite=MARSEILLE |
84 |
... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes |
85 |
... demande_type=Dépôt Initial |
86 |
... terrain_adresse_localite=TEST300AdresseLocalite |
87 |
&{args_petitionnaire1} = Create Dictionary |
88 |
... qualite=particulier |
89 |
... particulier_nom=TEST300TASKNOM01 |
90 |
... particulier_prenom=TEST300TASKPRENOM01 |
91 |
... localite=TEST300Localite |
92 |
... om_collectivite=MARSEILLE |
93 |
${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} |
94 |
|
95 |
&{donnees_techniques_values} = Create Dictionary |
96 |
... enga_decla_lieu=TEST300engadelalieu |
97 |
... enga_decla_date=${DATE_DDMMYYYY} |
98 |
Saisir les données techniques du DI ${di1} ${donnees_techniques_values} |
99 |
|
100 |
Depuis le menu Moniteur Plat'AU |
101 |
|
102 |
${di1_sans_espace} = Sans espace ${di1} |
103 |
${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY} |
104 |
Set Suite Variable ${di1} |
105 |
Set Suite Variable ${di1_sans_espace} |
106 |
Set Suite Variable ${di1_da} |
107 |
# On recherche l'enregistrement |
108 |
# |
109 |
Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier |
110 |
Wait Until Element Is Visible css=div#adv-search-adv-fields select#type |
111 |
# On remplit |
112 |
Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} |
113 |
Select From List By Label css=div#adv-search-adv-fields select#type Création DA |
114 |
# On valide le formulaire de recherche |
115 |
Click On Search Button |
116 |
|
117 |
Element Should Contain css=td.col-1 a.lienTable Création DA |
118 |
Element Should Contain css=td.col-4 a.lienTable ${di1_da} |
119 |
|
120 |
# On remplit |
121 |
Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} |
122 |
Select From List By Label css=div#adv-search-adv-fields select#type Création DI |
123 |
# On valide le formulaire de recherche |
124 |
Click On Search Button |
125 |
|
126 |
Element Should Contain css=td.col-1 a.lienTable Création DI |
127 |
Element Should Contain css=td.col-4 a.lienTable ${di1_da} |
128 |
|
129 |
# On remplit |
130 |
Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} |
131 |
Select From List By Label css=div#adv-search-adv-fields select#type Dépôt DI |
132 |
# On valide le formulaire de recherche |
133 |
Click On Search Button |
134 |
|
135 |
Element Should Contain css=td.col-1 a.lienTable Dépôt DI |
136 |
Element Should Contain css=td.col-4 a.lienTable ${di1_da} |
137 |
|
138 |
# On remplit |
139 |
Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} |
140 |
Select From List By Label css=div#adv-search-adv-fields select#type Qualification DI |
141 |
# On valide le formulaire de recherche |
142 |
Click On Search Button |
143 |
|
144 |
Element Should Contain css=td.col-1 a.lienTable Qualification DI |
145 |
Element Should Contain css=td.col-4 a.lienTable ${di1_da} |
146 |
|
147 |
Click On Link ${di1_sans_espace} |
148 |
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#task |
149 |
${id_depot_DI} = Get Text css=#task |
150 |
${id_next_task} = Evaluate ${id_depot_DI} + 1 |
151 |
Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} |
152 |
|
153 |
|
154 |
Vérification de la mise à jour de la task Création demande lors de l'ajout des données techniques |
155 |
[Documentation] Permet de vérifier que la tâche Création demande est mise à jour sur son state est à "à traiter" lors de la modification du DI |
156 |
... et qu'il n'y a pas de création de tache Modification DI, vérifie aussi que lors que la tache Création demande n'est pas en state "à traiter" |
157 |
... il y a bien une création de la tâche Modification DI. |
158 |
... Vérifie également la création d'une tâche Modification DA lors de la modification des données techniques. |
159 |
Depuis la page d'accueil admin admin |
160 |
|
161 |
&{task_values} = Create Dictionary |
162 |
... type=creation_DA |
163 |
... dossier=${di1_da} |
164 |
... state=new |
165 |
... object_id=${di1_da} |
166 |
... link_dossier=${di1_da} |
167 |
... stream=output |
168 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
169 |
${id_creation_DA} = Get Text css=#task |
170 |
|
171 |
Open Fieldset task json_payload-calculee |
172 |
Element Should Contain css=#json_payload "state": "new", |
173 |
|
174 |
&{task_values} = Create Dictionary |
175 |
... type=creation_DI |
176 |
... dossier=${di1_sans_espace} |
177 |
... state=new |
178 |
... object_id=${di1_sans_espace} |
179 |
... link_dossier=${di1_sans_espace} |
180 |
... stream=output |
181 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
182 |
${id_creation_DI} = Get Text css=#task |
183 |
${time_stamp_log} = Get Text css=#timestamp_log_jsontotab |
184 |
|
185 |
&{donnees_techniques_values} = Create Dictionary |
186 |
... ope_proj_desc=Description test dossier parallele |
187 |
Saisir les données techniques du DI ${di1} ${donnees_techniques_values} |
188 |
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
189 |
${timestamp_log_changed} = Get Text css=#timestamp_log_jsontotab |
190 |
|
191 |
Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed} |
192 |
|
193 |
Click On Back Button |
194 |
|
195 |
# On vérifie qu'il n'y pas de task Modification DI |
196 |
${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Modification DI |
197 |
Run Keyword If ${passed}==False Select From List By Label css=select#type Modification DI |
198 |
Run Keyword If ${passed}==False Click On Search Button |
199 |
Run Keyword If ${passed}==False Element Should Contain css=#tab-task Aucun enregistrement. |
200 |
|
201 |
&{task_values_modif} = Create Dictionary |
202 |
... state=terminé |
203 |
Modifier la task ${id_creation_DI} ${task_values_modif} |
204 |
La page ne doit pas contenir d'erreur |
205 |
Modifier la task ${id_creation_DA} ${task_values_modif} |
206 |
La page ne doit pas contenir d'erreur |
207 |
|
208 |
&{donnees_techniques_values} = Create Dictionary |
209 |
... ope_proj_desc=Description test dossier parallele BIS |
210 |
Saisir les données techniques du DI ${di1} ${donnees_techniques_values} |
211 |
La page ne doit pas contenir d'erreur |
212 |
|
213 |
&{task_values} = Create Dictionary |
214 |
... type=modification_DI |
215 |
... dossier=${di1_sans_espace} |
216 |
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
217 |
|
218 |
# &{task_values} = Create Dictionary |
219 |
# ... type=Modification DA |
220 |
# ... dossier=${di1_da} |
221 |
# Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
222 |
|
223 |
|
224 |
Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction + modification manuelle d'une task |
225 |
[Documentation] Permet de vérifier que la tâche Qualification DI est bien ajoutée lors du changement de l'autorité compétente. |
226 |
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné et que le object_id de la tâche pointe bien vers la |
227 |
... nouvelle instruction. |
228 |
... Dans un second temps, est vérifié la modification manuelle et son impact sur le timestamp_log. |
229 |
Depuis la page d'accueil admin admin |
230 |
${instr_ac} = Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état' |
231 |
&{task_values} = Create Dictionary |
232 |
... type=qualification_DI |
233 |
... dossier=${di1_sans_espace} |
234 |
... state=new |
235 |
... object_id=${instr_ac} |
236 |
... link_dossier=${di1_sans_espace} |
237 |
... stream=output |
238 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
239 |
|
240 |
${status} = Run Keyword And Return Status Open Fieldset task json_payload-calculee |
241 |
Run Keyword If '${status}' != 'True' Open Fieldset task json_payload |
242 |
|
243 |
Element Should Contain css=#json_payload "state": "new", |
244 |
Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE" |
245 |
|
246 |
Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état' |
247 |
${instr_ac} = Evaluate ${instr_ac} - 1 |
248 |
${instr_ac} = Convert to String ${instr_ac} |
249 |
&{task_values} = Create Dictionary |
250 |
... type=qualification_DI |
251 |
... dossier=${di1_sans_espace} |
252 |
... state=new |
253 |
... object_id=${instr_ac} |
254 |
... link_dossier=${di1_sans_espace} |
255 |
... stream=output |
256 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
257 |
${id_task} = Get Text css=#task |
258 |
${time_stamp_log} = Get Value css=#timestamp_log_hidden |
259 |
|
260 |
# Converti la payload JSON en dico python |
261 |
${time_stamp_log_dic}= Evaluate ${time_stamp_log} |
262 |
# Récupérer le nombre d'entrée dans le timestamp_log |
263 |
${nb_entree_timestamp_log} = Get Length ${time_stamp_log_dic} |
264 |
# Récupération du dernier index du timestamp_log |
265 |
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log} - 1 |
266 |
# On récupère la dernière entrée pour comparer les state |
267 |
${before_last_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["state"]} |
268 |
|
269 |
# Modification de la tâche en state = done |
270 |
Click On Form Portlet Action task modifier |
271 |
Wait Until Element Is Visible css=#state |
272 |
Select From List By Label css=div#form-container select#state terminé |
273 |
Click On Submit Button |
274 |
${time_stamp_log_bis} = Get Value css=#timestamp_log_hidden |
275 |
|
276 |
# Modifie le dossier 'a_qualifier' pour le passer en false et vérifier que l'info n'a pas été mise à jour dans la json payload, ce qui montre qu'on a bien figé la json payload |
277 |
Click On Link ${di1_sans_espace} |
278 |
Element should Contain css=#a_qualifier Oui |
279 |
Click On Form Portlet Action dossier_instruction modifier |
280 |
Set Checkbox a_qualifier false |
281 |
Click On Submit Button |
282 |
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées. |
283 |
|
284 |
# On vérifie que la variable 'tax_surf_tot_cstr' des données techniques n'a pas été modifié, car la payload json doit être |
285 |
# figé pour les tâches de type 'output' et de statut 'done' |
286 |
Depuis le contexte de la task ${id_task} |
287 |
|
288 |
${status} = Run Keyword And Return Status Open Fieldset task json_payload |
289 |
Run Keyword If '${status}' != 'True' Open Fieldset task json_payload-calculee |
290 |
|
291 |
Element Should Contain css=#json_payload "state": "done" |
292 |
Element Should Contain css=#json_payload "a_qualifier": "t" |
293 |
|
294 |
# Converti la payload JSON en dico python |
295 |
${time_stamp_log_dic} = Evaluate ${time_stamp_log_bis} |
296 |
# Récupérer le nombre d'entrée dans le timestamp_log |
297 |
${nb_entree_timestamp_log_bis} = Get Length ${time_stamp_log_dic} |
298 |
# Récupération du dernier index du timestamp_log |
299 |
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log_bis} - 1 |
300 |
# On récupère la dernière entrée pour comparer les prev_state et state |
301 |
${last_prev_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["prev_state"]} |
302 |
${last_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["state"]} |
303 |
|
304 |
# On vérifie qu'une entrée supplémentaire à bien été prise en compte dans le timestamp_log |
305 |
Should Not Be Equal As Strings ${nb_entree_timestamp_log} ${nb_entree_timestamp_log_bis} |
306 |
# Comparaison entre le dernier prev_state avec l'avant dernier state |
307 |
Should Be Equal As Strings ${last_prev_state} ${before_last_state} |
308 |
# Vérification que le dernier state est bien à "done" suite à notre modification au-dessus |
309 |
Should Be Equal As Strings ${last_state} done |
310 |
|
311 |
# Modification de la tâche en state = done |
312 |
Click On Form Portlet Action task modifier |
313 |
Wait Until Element Is Visible css=#comment |
314 |
Input Text css=textarea#comment CommentaireTest300 |
315 |
Click On Submit Button |
316 |
|
317 |
Element Text Should Be comment CommentaireTest300 |
318 |
${time_stamp_log_comment} = Get Value css=#timestamp_log_hidden |
319 |
|
320 |
# Converti la payload JSON en dico python |
321 |
${time_stamp_log_dic} = Evaluate ${time_stamp_log_comment} |
322 |
# Récupérer le nombre d'entrée dans le timestamp_log |
323 |
${nb_entree_timestamp_log_comment} = Get Length ${time_stamp_log_dic} |
324 |
# Récupération du dernier index du timestamp_log |
325 |
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log_comment} - 1 |
326 |
# On récupère la dernière entrée pour vérifier la valeur du champs commentaire |
327 |
${last_comment} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["comment"]} |
328 |
|
329 |
# Vérification que le dernier commentaire est bien celui que l'on a ajouté lors de la dernière modification |
330 |
Should Be Equal As Strings ${last_comment} CommentaireTest300 |
331 |
|
332 |
# Modification de la tâche en state = new |
333 |
Click On Form Portlet Action task modifier |
334 |
Wait Until Element Is Visible css=#state |
335 |
Select From List By Label css=div#form-container select#state à traiter |
336 |
Click On Submit Button |
337 |
|
338 |
|
339 |
Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di |
340 |
[Documentation] Permet de vérifier que la tâche Décision DI est bien ajoutée lors de l'ajout de la décision au dossier d'instruction |
341 |
... et que le contenu généré et téléchargé à partir de la tâche est identique. |
342 |
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concernée. |
343 |
... Vérifie également la gestion des mosidifcations d'une tâche en cours de traitement |
344 |
Depuis la page d'accueil admin admin |
345 |
${instr_ad} = Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve true |
346 |
Click On SubForm Portlet Action instruction edition new_window |
347 |
Open PDF ${OM_PDF_TITLE} |
348 |
${link_decision_portlet} = Get Location |
349 |
Close PDF |
350 |
${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/} |
351 |
|
352 |
&{task_values} = Create Dictionary |
353 |
... type=decision_DI |
354 |
... dossier=${di1_sans_espace} |
355 |
... state=new |
356 |
... link_dossier=${di1_sans_espace} |
357 |
... stream=output |
358 |
... object_id=${instr_ad} |
359 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
360 |
${id_decision_DI} = Get Text css=#task |
361 |
|
362 |
${status} = Run Keyword And Return Status Open Fieldset task json_payload-calculee |
363 |
Run Keyword If '${status}' != 'True' Open Fieldset task json_payload |
364 |
|
365 |
Element Should Contain css=#json_payload "state": "new", |
366 |
|
367 |
Element Should Contain css=#json_payload "avis_decision": "7", |
368 |
|
369 |
${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} |
370 |
${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']} |
371 |
${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/} |
372 |
|
373 |
${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet} |
374 |
${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload} |
375 |
Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload} |
376 |
|
377 |
${id_decision_DI} = Get Text css=#task |
378 |
${id_next_task} = Evaluate ${id_decision_DI} + 1 |
379 |
Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} |
380 |
|
381 |
# Task considéré en cours de traitement pour vérifier que l'ajout d'une nouvelle décision, |
382 |
# ajoute une nouvelle tâche et ne modifie pas l'existante |
383 |
|
384 |
# Tâche considérée en cours de traitement |
385 |
&{task_values_modif} = Create Dictionary |
386 |
... state=en cours |
387 |
Modifier la task ${id_decision_DI} ${task_values_modif} |
388 |
&{task_values} = Create Dictionary |
389 |
... type=decision_DI |
390 |
... dossier=${di1_sans_espace} |
391 |
... state=pending |
392 |
... link_dossier=${di1_sans_espace} |
393 |
... stream=output |
394 |
... object_id=${instr_ad} |
395 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
396 |
|
397 |
# Ajout d'un événement de reprise pour ajouter à nouveau un événement de décision |
398 |
@{type_di} = Create List |
399 |
... PCI - P - Initial |
400 |
&{args_action} = Create Dictionary |
401 |
... action=reprise_instruction_300 |
402 |
... libelle=reprise de l'instruction - 300 |
403 |
... regle_etat=etat |
404 |
... regle_accord_tacite=accord_tacite |
405 |
... regle_avis=null |
406 |
... regle_date_validite=null |
407 |
... regle_date_decision=null |
408 |
Ajouter Action ${args_action} |
409 |
@{etats_autorises} = Create List dossier accepter |
410 |
&{args_evenement_para} = Create Dictionary |
411 |
... libelle=Reprise de l'instruction - 300_task |
412 |
... dossier_instruction_type=${type_di} |
413 |
... action=${args_action.libelle} |
414 |
... etats_autorises=${etats_autorises} |
415 |
... etats_depuis_lequel_l_evenement_est_disponible=${etats_autorises} |
416 |
... etat=delai de notification envoye |
417 |
... accord_tacite=Non |
418 |
Ajouter l'événement depuis le menu ${args_evenement_para} |
419 |
${instr_reprise} = Ajouter une instruction au DI ${di1} ${args_evenement_para.libelle} |
420 |
# Vérifie que la reprise de l'instruction n'est pas altérée la tâche de décision |
421 |
# (un bug faisait que l'object_id était modifié par l'id de l'instruction de reprise) |
422 |
&{task_values} = Create Dictionary |
423 |
... task=${id_decision_DI} |
424 |
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
425 |
Element Should Not Contain css=#object_id ${instr_reprise} |
426 |
Element Should Contain css=#object_id ${instr_ad} |
427 |
|
428 |
# Ajoute à nouveau une instruction de décision et vérifie que la task en cours de traitement |
429 |
# n'est pas altérée et qu'une nouvelle task a été ajoutée |
430 |
${instr_ad_2} = Ajouter une instruction au DI ${di1} accepter un dossier sans réserve |
431 |
&{task_values} = Create Dictionary |
432 |
... type=decision_DI |
433 |
... dossier=${di1_sans_espace} |
434 |
... state=pending |
435 |
... link_dossier=${di1_sans_espace} |
436 |
... stream=output |
437 |
... object_id=${instr_ad} |
438 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
439 |
|
440 |
${status} = Run Keyword And Return Status Open Fieldset task json_payload-calculee |
441 |
Run Keyword If '${status}' != 'True' Open Fieldset task json_payload |
442 |
Element Should Contain css=#json_payload "state": "pending", |
443 |
|
444 |
&{task_values} = Create Dictionary |
445 |
... type=decision_DI |
446 |
... dossier=${di1_sans_espace} |
447 |
... state=new |
448 |
... link_dossier=${di1_sans_espace} |
449 |
... stream=output |
450 |
... object_id=${instr_ad_2} |
451 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
452 |
|
453 |
|
454 |
Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di |
455 |
[Documentation] Permet de vérifier que la tâche Décision DI est bien ajoutée lors de l'ajout de la décision tacite au dossier d'instruction |
456 |
... et que la tâche ne contient pas de fichier à télécharger. |
457 |
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné |
458 |
Depuis la page d'accueil admin admin |
459 |
&{args_dossier} = Create Dictionary |
460 |
... om_collectivite=MARSEILLE |
461 |
... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes |
462 |
... demande_type=Dépôt Initial |
463 |
... terrain_adresse_localite=TEST300AdresseLocalite |
464 |
... depot_electronique=true |
465 |
... source_depot=platau |
466 |
&{args_petitionnaire1} = Create Dictionary |
467 |
... qualite=particulier |
468 |
... particulier_nom=TEST300TASKNOM02 |
469 |
... particulier_prenom=TEST300TASKPRENOM02 |
470 |
... localite=TEST300Localite |
471 |
... om_collectivite=MARSEILLE |
472 |
${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} |
473 |
|
474 |
&{donnees_techniques_values} = Create Dictionary |
475 |
... enga_decla_lieu=TEST300engadelalieu |
476 |
... enga_decla_date=${DATE_DDMMYYYY} |
477 |
Saisir les données techniques du DI ${di2} ${donnees_techniques_values} |
478 |
|
479 |
${di2_sans_espace} = Sans espace ${di2} |
480 |
${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY} |
481 |
|
482 |
Ajouter une instruction au DI ${di2} accord tacite (sans arrete) |
483 |
|
484 |
&{task_values} = Create Dictionary |
485 |
... type=decision_DI |
486 |
... dossier=${di2_sans_espace} |
487 |
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
488 |
${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} |
489 |
|
490 |
Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path |
491 |
|
492 |
${id_decision_DI} = Get Text css=#task |
493 |
${id_next_task} = Evaluate ${id_decision_DI} + 1 |
494 |
Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} |
495 |
|
496 |
|
497 |
Vérification de l'ajout et de la consultation d'une tâche de type stream input |
498 |
[Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test |
499 |
... fonctionne correctement |
500 |
|
501 |
# Récupère le template de payload JSON et le transforme en dictionnaire |
502 |
${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt |
503 |
${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-00 |
504 |
${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00 |
505 |
${json_payload} = Replace String ${json_payload} 013055 20 013055 19 |
506 |
${json_payload} = Replace String ${json_payload} 01305520 01305519 |
507 |
${json_payload} = Replace String ${json_payload} 2020 2019 |
508 |
${json_payload} = Replace String ${json_payload} 07777P0 01111P0 |
509 |
${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY} |
510 |
${payload_dict} = To Json ${json_payload} |
511 |
|
512 |
# Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache |
513 |
# Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation |
514 |
${task_values} = Create Dictionary |
515 |
... type=create_DI_for_consultation |
516 |
... json_payload=${json_payload} |
517 |
Ajouter la tâche par WS ${task_values} |
518 |
|
519 |
# ajout manuellement les éléments qui ont du être défini par défaut |
520 |
Set To Dictionary ${task_values} dossier=${payload_dict["dossier"]["dossier"]} |
521 |
Set To Dictionary ${task_values} state=new |
522 |
Set To Dictionary ${task_values} stream=input |
523 |
|
524 |
Depuis la page d'accueil admin admin |
525 |
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
526 |
|
527 |
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
528 |
${status} = Run Keyword And Return Status Open Fieldset task json_payload |
529 |
Run Keyword If '${status}' != 'True' Open Fieldset task json_payload-calculee |
530 |
|
531 |
|
532 |
${json_payload_to_compare} = Get Text css=#json_payload |
533 |
${json_payload_to_compare} = Evaluate json.loads('''${json_payload_to_compare}''') json |
534 |
${json_payload_to_compare} = Set Variable ${json_payload_to_compare["external_uids"]} |
535 |
|
536 |
${json_payload_loaded} = Evaluate json.loads('''${json_payload}''') json |
537 |
${json_payload_loaded} = Set Variable ${json_payload_loaded["external_uids"]} |
538 |
|
539 |
Should Be Equal As Strings ${json_payload_loaded} ${json_payload_to_compare} |
540 |
|
541 |
Element Should Contain css=#json_payload "tax_statut_info": "Déclaré" |
542 |
|
543 |
|
544 |
Rendre les types de dossier d'autorisation détaillés utilisés non transmissible à Plat'AU |
545 |
[Documentation] Il est nécessaire de faire cette manipulation pour revenir à un état normal |
546 |
Depuis la page d'accueil admin admin |
547 |
&{args_type_DA_detaille_modification} = Create Dictionary |
548 |
... dossier_platau=false |
549 |
Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification} |
550 |
Modifier type de dossier d'autorisation détaillé DP ${args_type_DA_detaille_modification} |
551 |
|
552 |
|
553 |
Désactivation de l'option 'option_notification_piece_numerisee' |
554 |
[Documentation] Il est nécessaire de faire cette manipulation pour éviter le |
555 |
... FAIL: Element with locator 'dossier_message_id' not found. |
556 |
|
557 |
&{om_param} = Create Dictionary |
558 |
... libelle=option_notification_piece_numerisee |
559 |
... valeur=false |
560 |
... om_collectivite=agglo |
561 |
Gerer le paramètre par WS ${om_param} |
562 |
|