1 |
ejpritchard |
18765 |
*** 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 |
|
|
&{task_values} = Create Dictionary |
172 |
|
|
... type=creation_DI |
173 |
|
|
... dossier=${di1_sans_espace} |
174 |
|
|
... state=new |
175 |
|
|
... object_id=${di1_sans_espace} |
176 |
|
|
... link_dossier=${di1_sans_espace} |
177 |
|
|
... stream=output |
178 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
179 |
|
|
${id_creation_DI} = Get Text css=#task |
180 |
|
|
${time_stamp_log} = Get Text css=#timestamp_log_jsontotab |
181 |
|
|
|
182 |
|
|
&{donnees_techniques_values} = Create Dictionary |
183 |
|
|
... ope_proj_desc=Description test dossier parallele |
184 |
|
|
Saisir les données techniques du DI ${di1} ${donnees_techniques_values} |
185 |
|
|
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
186 |
|
|
${timestamp_log_changed} = Get Text css=#timestamp_log_jsontotab |
187 |
|
|
|
188 |
|
|
Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed} |
189 |
|
|
|
190 |
|
|
Click On Back Button |
191 |
|
|
|
192 |
|
|
# On vérifie qu'il n'y pas de task Modification DI |
193 |
|
|
${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Modification DI |
194 |
|
|
Run Keyword If ${passed}==False Select From List By Label css=select#type Modification DI |
195 |
|
|
Run Keyword If ${passed}==False Click On Search Button |
196 |
|
|
Run Keyword If ${passed}==False Element Should Contain css=#tab-task Aucun enregistrement. |
197 |
|
|
|
198 |
|
|
&{task_values_modif} = Create Dictionary |
199 |
|
|
... state=terminé |
200 |
|
|
Modifier la task ${id_creation_DI} ${task_values_modif} |
201 |
|
|
La page ne doit pas contenir d'erreur |
202 |
|
|
Modifier la task ${id_creation_DA} ${task_values_modif} |
203 |
|
|
La page ne doit pas contenir d'erreur |
204 |
|
|
|
205 |
|
|
&{donnees_techniques_values} = Create Dictionary |
206 |
|
|
... ope_proj_desc=Description test dossier parallele BIS |
207 |
|
|
Saisir les données techniques du DI ${di1} ${donnees_techniques_values} |
208 |
|
|
La page ne doit pas contenir d'erreur |
209 |
|
|
|
210 |
|
|
&{task_values} = Create Dictionary |
211 |
|
|
... type=modification_DI |
212 |
|
|
... dossier=${di1_sans_espace} |
213 |
|
|
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
214 |
|
|
|
215 |
|
|
# &{task_values} = Create Dictionary |
216 |
|
|
# ... type=Modification DA |
217 |
|
|
# ... dossier=${di1_da} |
218 |
|
|
# Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
219 |
|
|
|
220 |
|
|
|
221 |
|
|
Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction + modification manuelle d'une task |
222 |
|
|
[Documentation] Permet de vérifier que la tâche Qualification DI est bien ajoutée lors du changement de l'autorité compétente. |
223 |
|
|
... 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 |
224 |
|
|
... nouvelle instruction. |
225 |
|
|
... Dans un second temps, est vérifié la modification manuelle et son impact sur le timestamp_log. |
226 |
|
|
Depuis la page d'accueil admin admin |
227 |
|
|
${instr_ac} = Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état' |
228 |
|
|
&{task_values} = Create Dictionary |
229 |
|
|
... type=qualification_DI |
230 |
|
|
... dossier=${di1_sans_espace} |
231 |
|
|
... state=new |
232 |
|
|
... object_id=${instr_ac} |
233 |
|
|
... link_dossier=${di1_sans_espace} |
234 |
|
|
... stream=output |
235 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
236 |
|
|
${status} = Run Keyword And Return Status Click Element Until New Element css=fieldset#fieldset-form-task-json_payload>legend css=#json_payload |
237 |
|
|
Run Keyword If '${status}' != 'True' Click Element Until New Element css=fieldset#fieldset-form-task-json_payload-calculee>legend css=#json_payload |
238 |
|
|
Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE" |
239 |
|
|
|
240 |
|
|
Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état' |
241 |
|
|
${instr_ac} = Evaluate ${instr_ac} - 1 |
242 |
|
|
${instr_ac} = Convert to String ${instr_ac} |
243 |
|
|
&{task_values} = Create Dictionary |
244 |
|
|
... type=qualification_DI |
245 |
|
|
... dossier=${di1_sans_espace} |
246 |
|
|
... state=new |
247 |
|
|
... object_id=${instr_ac} |
248 |
|
|
... link_dossier=${di1_sans_espace} |
249 |
|
|
... stream=output |
250 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
251 |
|
|
${id_task} = Get Text css=#task |
252 |
|
|
${time_stamp_log} = Get Value css=#timestamp_log_hidden |
253 |
|
|
|
254 |
|
|
# Converti la payload JSON en dico python |
255 |
|
|
${time_stamp_log_dic}= Evaluate ${time_stamp_log} |
256 |
|
|
# Récupérer le nombre d'entrée dans le timestamp_log |
257 |
|
|
${nb_entree_timestamp_log} = Get Length ${time_stamp_log_dic} |
258 |
|
|
# Récupération du dernier index du timestamp_log |
259 |
|
|
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log} - 1 |
260 |
|
|
# On récupère la dernière entrée pour comparer les state |
261 |
|
|
${before_last_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["state"]} |
262 |
|
|
|
263 |
|
|
# Modification de la tâche en state = done |
264 |
|
|
Click On Form Portlet Action task modifier |
265 |
|
|
Wait Until Element Is Visible css=#state |
266 |
|
|
Select From List By Label css=div#form-container select#state terminé |
267 |
|
|
Click On Submit Button |
268 |
|
|
${time_stamp_log_bis} = Get Value css=#timestamp_log_hidden |
269 |
|
|
|
270 |
|
|
# 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 |
271 |
|
|
Click On Link ${di1_sans_espace} |
272 |
|
|
Element should Contain css=#a_qualifier Oui |
273 |
|
|
Click On Form Portlet Action dossier_instruction modifier |
274 |
|
|
Set Checkbox a_qualifier false |
275 |
|
|
Click On Submit Button |
276 |
|
|
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées. |
277 |
|
|
|
278 |
|
|
# 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 |
279 |
|
|
# figé pour les tâches de type 'output' et de statut 'done' |
280 |
|
|
Depuis le contexte de la task ${id_task} |
281 |
|
|
${status} = Run Keyword And Return Status Click Element Until New Element css=fieldset#fieldset-form-task-json_payload>legend css=#json_payload |
282 |
|
|
Run Keyword If '${status}' != 'True' Click Element Until New Element css=fieldset#fieldset-form-task-json_payload-calculee>legend css=#json_payload |
283 |
|
|
Element Should Contain css=#json_payload "a_qualifier": "t" |
284 |
|
|
|
285 |
|
|
# Converti la payload JSON en dico python |
286 |
|
|
${time_stamp_log_dic} = Evaluate ${time_stamp_log_bis} |
287 |
|
|
# Récupérer le nombre d'entrée dans le timestamp_log |
288 |
|
|
${nb_entree_timestamp_log_bis} = Get Length ${time_stamp_log_dic} |
289 |
|
|
# Récupération du dernier index du timestamp_log |
290 |
|
|
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log_bis} - 1 |
291 |
|
|
# On récupère la dernière entrée pour comparer les prev_state et state |
292 |
|
|
${last_prev_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["prev_state"]} |
293 |
|
|
${last_state} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["state"]} |
294 |
|
|
|
295 |
|
|
# On vérifie qu'une entrée supplémentaire à bien été prise en compte dans le timestamp_log |
296 |
|
|
Should Not Be Equal As Strings ${nb_entree_timestamp_log} ${nb_entree_timestamp_log_bis} |
297 |
|
|
# Comparaison entre le dernier prev_state avec l'avant dernier state |
298 |
|
|
Should Be Equal As Strings ${last_prev_state} ${before_last_state} |
299 |
|
|
# Vérification que le dernier state est bien à "done" suite à notre modification au-dessus |
300 |
|
|
Should Be Equal As Strings ${last_state} done |
301 |
|
|
|
302 |
|
|
# Modification de la tâche en state = done |
303 |
|
|
Click On Form Portlet Action task modifier |
304 |
|
|
Wait Until Element Is Visible css=#comment |
305 |
|
|
Input Text css=textarea#comment CommentaireTest300 |
306 |
|
|
Click On Submit Button |
307 |
|
|
|
308 |
|
|
Element Text Should Be comment CommentaireTest300 |
309 |
|
|
${time_stamp_log_comment} = Get Value css=#timestamp_log_hidden |
310 |
|
|
|
311 |
|
|
# Converti la payload JSON en dico python |
312 |
|
|
${time_stamp_log_dic} = Evaluate ${time_stamp_log_comment} |
313 |
|
|
# Récupérer le nombre d'entrée dans le timestamp_log |
314 |
|
|
${nb_entree_timestamp_log_comment} = Get Length ${time_stamp_log_dic} |
315 |
|
|
# Récupération du dernier index du timestamp_log |
316 |
|
|
${last_index_timestamp_log} = Evaluate ${nb_entree_timestamp_log_comment} - 1 |
317 |
|
|
# On récupère la dernière entrée pour vérifier la valeur du champs commentaire |
318 |
|
|
${last_comment} = Set Variable ${time_stamp_log_dic[${last_index_timestamp_log}]["comment"]} |
319 |
|
|
|
320 |
|
|
# Vérification que le dernier commentaire est bien celui que l'on a ajouté lors de la dernière modification |
321 |
|
|
Should Be Equal As Strings ${last_comment} CommentaireTest300 |
322 |
|
|
|
323 |
|
|
# Modification de la tâche en state = new |
324 |
|
|
Click On Form Portlet Action task modifier |
325 |
|
|
Wait Until Element Is Visible css=#state |
326 |
|
|
Select From List By Label css=div#form-container select#state à traiter |
327 |
|
|
Click On Submit Button |
328 |
|
|
|
329 |
|
|
|
330 |
|
|
Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di |
331 |
|
|
[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 |
332 |
|
|
... et que le contenu généré et téléchargé à partir de la tâche est identique. |
333 |
|
|
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concernée. |
334 |
|
|
... Vérifie également la gestion des mosidifcations d'une tâche en cours de traitement |
335 |
|
|
Depuis la page d'accueil admin admin |
336 |
|
|
${instr_ad} = Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve true |
337 |
|
|
Click On SubForm Portlet Action instruction edition new_window |
338 |
|
|
Open PDF ${OM_PDF_TITLE} |
339 |
|
|
${link_decision_portlet} = Get Location |
340 |
|
|
Close PDF |
341 |
|
|
${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/} |
342 |
|
|
|
343 |
|
|
&{task_values} = Create Dictionary |
344 |
|
|
... type=decision_DI |
345 |
|
|
... dossier=${di1_sans_espace} |
346 |
|
|
... state=new |
347 |
|
|
... link_dossier=${di1_sans_espace} |
348 |
|
|
... stream=output |
349 |
|
|
... object_id=${instr_ad} |
350 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
351 |
|
|
${id_decision_DI} = Get Text css=#task |
352 |
|
|
|
353 |
|
|
${status} = Run Keyword And Return Status Click Element Until New Element css=fieldset#fieldset-form-task-json_payload>legend css=#json_payload |
354 |
|
|
Run Keyword If '${status}' != 'True' Click Element Until New Element css=fieldset#fieldset-form-task-json_payload-calculee>legend css=#json_payload |
355 |
|
|
Element Should Contain css=#json_payload "avis_decision": "7", |
356 |
|
|
|
357 |
|
|
${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} |
358 |
|
|
${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']} |
359 |
|
|
${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/} |
360 |
|
|
|
361 |
|
|
${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet} |
362 |
|
|
${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload} |
363 |
|
|
Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload} |
364 |
|
|
|
365 |
|
|
${id_decision_DI} = Get Text css=#task |
366 |
|
|
${id_next_task} = Evaluate ${id_decision_DI} + 1 |
367 |
|
|
Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} |
368 |
|
|
|
369 |
|
|
# Task considéré en cours de traitement pour vérifier que l'ajout d'une nouvelle décision, |
370 |
|
|
# ajoute une nouvelle tâche et ne modifie pas l'existante |
371 |
|
|
|
372 |
|
|
# Tâche considérée en cours de traitement |
373 |
|
|
&{task_values_modif} = Create Dictionary |
374 |
|
|
... state=en cours |
375 |
|
|
Modifier la task ${id_decision_DI} ${task_values_modif} |
376 |
|
|
&{task_values} = Create Dictionary |
377 |
|
|
... type=decision_DI |
378 |
|
|
... dossier=${di1_sans_espace} |
379 |
|
|
... state=pending |
380 |
|
|
... link_dossier=${di1_sans_espace} |
381 |
|
|
... stream=output |
382 |
|
|
... object_id=${instr_ad} |
383 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
384 |
|
|
|
385 |
|
|
# Ajout d'un événement de reprise pour ajouter à nouveau un événement de décision |
386 |
|
|
@{type_di} = Create List |
387 |
|
|
... PCI - P - Initial |
388 |
|
|
&{args_action} = Create Dictionary |
389 |
|
|
... action=reprise_instruction_300 |
390 |
|
|
... libelle=reprise de l'instruction - 300 |
391 |
|
|
... regle_etat=etat |
392 |
|
|
... regle_accord_tacite=accord_tacite |
393 |
|
|
... regle_avis=null |
394 |
|
|
... regle_date_validite=null |
395 |
|
|
... regle_date_decision=null |
396 |
|
|
Ajouter Action ${args_action} |
397 |
|
|
@{etats_autorises} = Create List dossier accepter |
398 |
|
|
&{args_evenement_para} = Create Dictionary |
399 |
|
|
... libelle=Reprise de l'instruction - 300_task |
400 |
|
|
... dossier_instruction_type=${type_di} |
401 |
|
|
... action=${args_action.libelle} |
402 |
|
|
... etats_autorises=${etats_autorises} |
403 |
|
|
... etats_depuis_lequel_l_evenement_est_disponible=${etats_autorises} |
404 |
|
|
... etat=delai de notification envoye |
405 |
|
|
... accord_tacite=Non |
406 |
|
|
Ajouter l'événement depuis le menu ${args_evenement_para} |
407 |
|
|
${instr_reprise} = Ajouter une instruction au DI ${di1} ${args_evenement_para.libelle} |
408 |
|
|
# Vérifie que la reprise de l'instruction n'est pas altérée la tâche de décision |
409 |
|
|
# (un bug faisait que l'object_id était modifié par l'id de l'instruction de reprise) |
410 |
|
|
&{task_values} = Create Dictionary |
411 |
|
|
... task=${id_decision_DI} |
412 |
|
|
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
413 |
|
|
Element Should Not Contain css=#object_id ${instr_reprise} |
414 |
|
|
Element Should Contain css=#object_id ${instr_ad} |
415 |
|
|
|
416 |
|
|
# Ajoute à nouveau une instruction de décision et vérifie que la task en cours de traitement |
417 |
|
|
# n'est pas altérée et qu'une nouvelle task a été ajoutée |
418 |
|
|
${instr_ad_2} = Ajouter une instruction au DI ${di1} accepter un dossier sans réserve |
419 |
|
|
&{task_values} = Create Dictionary |
420 |
|
|
... type=decision_DI |
421 |
|
|
... dossier=${di1_sans_espace} |
422 |
|
|
... state=pending |
423 |
|
|
... link_dossier=${di1_sans_espace} |
424 |
|
|
... stream=output |
425 |
|
|
... object_id=${instr_ad} |
426 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
427 |
|
|
&{task_values} = Create Dictionary |
428 |
|
|
... type=decision_DI |
429 |
|
|
... dossier=${di1_sans_espace} |
430 |
|
|
... state=new |
431 |
|
|
... link_dossier=${di1_sans_espace} |
432 |
|
|
... stream=output |
433 |
|
|
... object_id=${instr_ad_2} |
434 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
435 |
|
|
|
436 |
|
|
|
437 |
|
|
Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di |
438 |
|
|
[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 |
439 |
|
|
... et que la tâche ne contient pas de fichier à télécharger. |
440 |
|
|
... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné |
441 |
|
|
Depuis la page d'accueil admin admin |
442 |
|
|
&{args_dossier} = Create Dictionary |
443 |
|
|
... om_collectivite=MARSEILLE |
444 |
|
|
... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes |
445 |
|
|
... demande_type=Dépôt Initial |
446 |
|
|
... terrain_adresse_localite=TEST300AdresseLocalite |
447 |
|
|
... depot_electronique=true |
448 |
|
|
... source_depot=platau |
449 |
|
|
&{args_petitionnaire1} = Create Dictionary |
450 |
|
|
... qualite=particulier |
451 |
|
|
... particulier_nom=TEST300TASKNOM02 |
452 |
|
|
... particulier_prenom=TEST300TASKPRENOM02 |
453 |
|
|
... localite=TEST300Localite |
454 |
|
|
... om_collectivite=MARSEILLE |
455 |
|
|
${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} |
456 |
|
|
|
457 |
|
|
&{donnees_techniques_values} = Create Dictionary |
458 |
|
|
... enga_decla_lieu=TEST300engadelalieu |
459 |
|
|
... enga_decla_date=${date_ddmmyyyy} |
460 |
|
|
Saisir les données techniques du DI ${di2} ${donnees_techniques_values} |
461 |
|
|
|
462 |
|
|
${di2_sans_espace} = Sans espace ${di2} |
463 |
|
|
${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY} |
464 |
|
|
|
465 |
|
|
Ajouter une instruction au DI ${di2} accord tacite (sans arrete) |
466 |
|
|
|
467 |
|
|
&{task_values} = Create Dictionary |
468 |
|
|
... type=decision_DI |
469 |
|
|
... dossier=${di2_sans_espace} |
470 |
|
|
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
471 |
|
|
${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} |
472 |
|
|
|
473 |
|
|
Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path |
474 |
|
|
|
475 |
|
|
${id_decision_DI} = Get Text css=#task |
476 |
|
|
${id_next_task} = Evaluate ${id_decision_DI} + 1 |
477 |
|
|
Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} |
478 |
|
|
|
479 |
|
|
|
480 |
|
|
Vérification de l'ajout et de la consultation d'une tâche de type stream input |
481 |
|
|
[Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test |
482 |
|
|
... fonctionne correctement |
483 |
|
|
|
484 |
|
|
# Récupère le template de payload JSON et le transforme en dictionnaire |
485 |
|
|
${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt |
486 |
|
|
${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-00 |
487 |
|
|
${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00 |
488 |
|
|
${json_payload} = Replace String ${json_payload} 013055 20 013055 19 |
489 |
|
|
${json_payload} = Replace String ${json_payload} 01305520 01305519 |
490 |
|
|
${json_payload} = Replace String ${json_payload} 2020 2019 |
491 |
|
|
${json_payload} = Replace String ${json_payload} 07777P0 01111P0 |
492 |
|
|
${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY} |
493 |
|
|
${payload_dict} = To Json ${json_payload} |
494 |
|
|
|
495 |
|
|
# Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache |
496 |
|
|
# Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation |
497 |
|
|
${task_values} = Create Dictionary |
498 |
|
|
... type=create_DI_for_consultation |
499 |
|
|
... json_payload=${json_payload} |
500 |
|
|
Ajouter la tâche par WS ${task_values} |
501 |
|
|
|
502 |
|
|
# ajout manuellement les éléments qui ont du être défini par défaut |
503 |
|
|
Set To Dictionary ${task_values} dossier=${payload_dict["dossier"]["dossier"]} |
504 |
|
|
Set To Dictionary ${task_values} state=new |
505 |
|
|
Set To Dictionary ${task_values} stream=input |
506 |
|
|
|
507 |
|
|
Depuis la page d'accueil admin admin |
508 |
|
|
Depuis le contexte d'une task à partir de la recherche avancée ${task_values} |
509 |
|
|
|
510 |
|
|
Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} |
511 |
|
|
${status} = Run Keyword And Return Status Click Element Until New Element css=fieldset#fieldset-form-task-json_payload>legend css=#json_payload |
512 |
|
|
Run Keyword If '${status}' != 'True' Click Element Until New Element css=fieldset#fieldset-form-task-json_payload-calculee>legend css=#json_payload |
513 |
|
|
${json_payload_to_compare} = Get Text css=#json_payload |
514 |
|
|
${json_payload_to_compare} = Evaluate json.loads('''${json_payload_to_compare}''') json |
515 |
|
|
${json_payload_to_compare} = Set Variable ${json_payload_to_compare["external_uids"]} |
516 |
|
|
|
517 |
|
|
${json_payload_loaded} = Evaluate json.loads('''${json_payload}''') json |
518 |
|
|
${json_payload_loaded} = Set Variable ${json_payload_loaded["external_uids"]} |
519 |
|
|
|
520 |
|
|
Should Be Equal As Strings ${json_payload_loaded} ${json_payload_to_compare} |
521 |
|
|
|
522 |
|
|
Element Should Contain css=#json_payload "tax_statut_info": "Déclaré" |
523 |
|
|
|
524 |
|
|
|
525 |
|
|
Rendre les types de dossier d'autorisation détaillés utilisés non transmissible à Plat'AU |
526 |
|
|
[Documentation] Il est nécessaire de faire cette manipulation pour revenir à un état normal |
527 |
|
|
Depuis la page d'accueil admin admin |
528 |
|
|
&{args_type_DA_detaille_modification} = Create Dictionary |
529 |
|
|
... dossier_platau=false |
530 |
|
|
Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification} |
531 |
|
|
Modifier type de dossier d'autorisation détaillé DP ${args_type_DA_detaille_modification} |
532 |
|
|
|
533 |
|
|
|
534 |
|
|
Désactivation de l'option 'option_notification_piece_numerisee' |
535 |
|
|
[Documentation] Il est nécessaire de faire cette manipulation pour éviter le |
536 |
|
|
... FAIL: Element with locator 'dossier_message_id' not found. |
537 |
|
|
|
538 |
|
|
&{om_param} = Create Dictionary |
539 |
|
|
... libelle=option_notification_piece_numerisee |
540 |
|
|
... valeur=false |
541 |
|
|
... om_collectivite=agglo |
542 |
|
|
Gerer le paramètre par WS ${om_param} |
543 |
|
|
|