/[openfoncier]/trunk/tests/050_instruction.robot
ViewVC logotype

Contents of /trunk/tests/050_instruction.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4445 - (show annotations)
Wed Jun 8 16:30:40 2016 UTC (8 years, 7 months ago) by jymadier
File size: 83328 byte(s)
Merge de la branche optimisation-tests-robot sur le trunk d'openADS:
- Suppression de Sleep
- Utilisation de la variable globale ${date_ddmmyyyy}
- Utilisation de nouveaux mots-clés qui accèdent au formulaire de nouvelle demande directement par URL
- Remplacement des "Click Button" par des "Click Element"

1 *** Settings ***
2 Documentation Test des événements d'instruction.
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 *** Test Cases ***
12 Création du jeu de données
13
14 [Documentation] Constitue le jeu de données.
15
16 #
17 Depuis la page d'accueil guichet guichet
18 #
19 &{args_petitionnaire} = Create Dictionary
20 ... qualite=personne morale
21 ... personne_morale_denomination=Notaire&Co
22 ... personne_morale_raison_sociale=Société
23 ... personne_morale_civilite=Monsieur
24 ... personne_morale_nom=Martin
25 ... personne_morale_prenom=Nicolas
26
27 &{args_demande} = Create Dictionary
28 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
29 ... demande_type=Dépôt Initial
30
31 ${di_ok} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
32
33 Depuis la page d'accueil admin admin
34 # Liste des valeurs pour le tableau des surfaces des données techniques
35 &{donnees_techniques_values} = Create Dictionary
36 ... su_avt_shon1=10
37 ... su_avt_shon2=10
38 ... su_avt_shon3=10
39 ... su_avt_shon4=10
40 ... su_avt_shon5=10
41 ... su_avt_shon6=10
42 ... su_avt_shon7=10
43 ... su_avt_shon8=10
44 ... su_avt_shon9=10
45 ... su_cstr_shon1=10
46 ... su_cstr_shon2=10
47 ... su_cstr_shon3=10
48 ... su_cstr_shon4=10
49 ... su_cstr_shon5=10
50 ... su_cstr_shon6=10
51 ... su_cstr_shon7=10
52 ... su_cstr_shon8=10
53 ... su_cstr_shon9=10
54 ... su_chge_shon1=10
55 ... su_chge_shon2=10
56 ... su_chge_shon3=10
57 ... su_chge_shon4=10
58 ... su_chge_shon5=10
59 ... su_chge_shon6=10
60 ... su_chge_shon7=10
61 ... su_chge_shon8=10
62 ... su_chge_shon9=10
63 ... su_demo_shon1=10
64 ... su_demo_shon2=10
65 ... su_demo_shon3=10
66 ... su_demo_shon4=10
67 ... su_demo_shon5=10
68 ... su_demo_shon6=10
69 ... su_demo_shon7=10
70 ... su_demo_shon8=10
71 ... su_demo_shon9=10
72 ... su_sup_shon1=10
73 ... su_sup_shon2=10
74 ... su_sup_shon3=10
75 ... su_sup_shon4=10
76 ... su_sup_shon5=10
77 ... su_sup_shon6=10
78 ... su_sup_shon7=10
79 ... su_sup_shon8=10
80 ... su_sup_shon9=10
81 Modifier les données techniques pour le calcul des surfaces ${di_ok} ${donnees_techniques_values}
82
83 #
84 &{args_petitionnaire} = Create Dictionary
85 ... particulier_civilite=Monsieur
86 ... particulier_nom=Smith
87 ... particulier_prenom=John
88
89 Depuis la page d'accueil guichet guichet
90 ${di_ko} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
91 #
92 Depuis la page d'accueil admin admin
93 #
94 Ajouter une instruction au DI ${di_ko} Consultation ERP ET IGH
95 # Liste des valeurs pour le tableau des surfaces des données techniques
96 &{donnees_techniques_values} = Create Dictionary
97 ... su_avt_shon1=10
98 ... su_avt_shon2=10
99 ... su_avt_shon3=10
100 ... su_avt_shon4=10
101 ... su_avt_shon5=10
102 ... su_avt_shon6=10
103 ... su_avt_shon7=10
104 ... su_avt_shon8=10
105 ... su_avt_shon9=10
106 ... su_cstr_shon1=10
107 ... su_cstr_shon2=10
108 ... su_cstr_shon3=10
109 ... su_cstr_shon4=10
110 ... su_cstr_shon5=10
111 ... su_cstr_shon6=10
112 ... su_cstr_shon7=10
113 ... su_cstr_shon8=10
114 ... su_cstr_shon9=10
115 ... su_chge_shon1=10
116 ... su_chge_shon2=10
117 ... su_chge_shon3=10
118 ... su_chge_shon4=10
119 ... su_chge_shon5=10
120 ... su_chge_shon6=10
121 ... su_chge_shon7=10
122 ... su_chge_shon8=10
123 ... su_chge_shon9=10
124 ... su_demo_shon1=10
125 ... su_demo_shon2=10
126 ... su_demo_shon3=10
127 ... su_demo_shon4=10
128 ... su_demo_shon5=10
129 ... su_demo_shon6=10
130 ... su_demo_shon7=10
131 ... su_demo_shon8=10
132 ... su_demo_shon9=10
133 ... su_sup_shon1=10
134 ... su_sup_shon2=10
135 ... su_sup_shon3=10
136 ... su_sup_shon4=10
137 ... su_sup_shon5=10
138 ... su_sup_shon6=10
139 ... su_sup_shon7=10
140 ... su_sup_shon8=10
141 ... su_sup_shon9=10
142 Modifier les données techniques pour le calcul des surfaces ${di_ko} ${donnees_techniques_values}
143 #
144 Set Suite Variable ${di_ok}
145 Set Suite Variable ${di_ko}
146
147 Suivi des dates
148
149 [Documentation] En tant qu'administrateur on doit pouvoir modifier les dates
150 ... d'un événément d'instruction finalisé sans avoir à le définaliser.
151
152 # Jeu de données
153 Depuis la page d'accueil guichet guichet
154 #
155 &{args_petitionnaire} = Create Dictionary
156 ... particulier_nom=Clavet
157 ... particulier_prenom=Sandrine
158 &{args_demande} = Create Dictionary
159 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
160 ... demande_type=Dépôt Initial
161 #
162 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
163 #
164 Depuis la page d'accueil admin admin
165 #
166 Ajouter une instruction au DI ${di} Notification de pieces manquante
167 #
168 Depuis la page d'accueil instr instr
169 #
170 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
171 Click On SubForm Portlet Action instruction finaliser
172 # L'instruction doit être finalisée et l'instructeur ne peut pas suivre les dates
173 Portlet Action Should Be In SubForm instruction edition
174 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm instruction definaliser
175 Portlet Action Should Not Be In SubForm instruction modifier_suivi
176 Portlet Action Should Not Be In SubForm instruction modifier
177 # On clique sur l'action "Suivi des dates"
178 Depuis la page d'accueil adminfonct adminfonct
179 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
180 Click On SubForm Portlet Action instruction modifier_suivi
181 # On saisit les dates
182 Input Datepicker date_finalisation_courrier ${date_ddmmyyyy}
183 Input Datepicker date_envoi_signature ${date_ddmmyyyy}
184 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
185 Input Datepicker date_envoi_controle_legalite ${date_ddmmyyyy}
186 Input Datepicker date_retour_signature ${date_ddmmyyyy}
187 Input Datepicker date_retour_rar ${date_ddmmyyyy}
188 Input Datepicker date_retour_controle_legalite ${date_ddmmyyyy}
189 Click On Submit Button In Subform
190 # On contrôle les dates saisies
191 Click On Back Button In Subform
192 Element Text Should Be date_finalisation_courrier ${date_ddmmyyyy}
193 Element Text Should Be date_envoi_signature ${date_ddmmyyyy}
194 Element Text Should Be date_envoi_rar ${date_ddmmyyyy}
195 Element Text Should Be date_envoi_controle_legalite ${date_ddmmyyyy}
196 Element Text Should Be date_retour_signature ${date_ddmmyyyy}
197 Element Text Should Be date_retour_rar ${date_ddmmyyyy}
198 Element Text Should Be date_retour_controle_legalite ${date_ddmmyyyy}
199 # On doit pouvoir modifier mais pas suivre les dates si l'on n'est pas admin
200 Depuis la page d'accueil instr instr
201 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
202 Portlet Action Should Not Be In SubForm instruction modifier_suivi
203 Click On SubForm Portlet Action instruction definaliser
204 Click On SubForm Portlet Action instruction modifier
205 Element Must Be Disabled date_finalisation_courrier
206 Element Must Be Disabled date_envoi_signature
207 Element Must Be Disabled date_envoi_rar
208 Element Must Be Disabled date_retour_signature
209 Element Must Be Disabled date_retour_rar
210 Depuis la page d'accueil adminfonct adminfonct
211 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
212 Portlet Action Should Not Be In SubForm instruction modifier_suivi
213 Click On SubForm Portlet Action instruction modifier
214 Element Must Be Enabled date_finalisation_courrier
215 Element Must Be Enabled date_envoi_signature
216 Element Must Be Enabled date_envoi_rar
217 Element Must Be Enabled date_retour_signature
218 Element Must Be Enabled date_retour_rar
219
220 Régénérer le récépissé de dépôt
221
222 [Documentation] Régénère le récépissé de dépôt de la demande après une
223 ... modification du dossier d'instruction par le guichet unique. Vérifie
224 ... aussi que le guichet unique n'a pas les droits sur un di déjà en
225 ... instruction.
226
227 #
228 Depuis la page d'accueil guichet guichet
229 #
230 Depuis le contexte du dossier d'instruction ${di_ok}
231 # Vérifie que l'action modifier est disponible
232 Portlet Action Should Be In Form dossier_instruction modifier
233 # Vérifie que l'action de régénération est disponible
234 Portlet Action Should Be In Form dossier_instruction recepisse
235 #
236 Depuis le formulaire de modification du dossier d'instruction ${di_ok}
237 # On modifie l'adresse du terrain
238 Open Fieldset dossier_instruction localisation-du-terrain
239 Input Text terrain_adresse_voie_numero 10
240 Input Text terrain_adresse_voie Rue des Arts
241 # On valide le formulaire
242 Click On Submit Button
243 # Vérification du message de validation
244 Valid Message Should Be Vos modifications ont bien été enregistrées.
245 #
246 Depuis le contexte du dossier d'instruction ${di_ok}
247 # On régénère le récépissé de demande
248 Click On Form Portlet Action dossier_instruction recepisse
249 # On vérifie le message de validation
250 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
251 # On ouvre le PDF
252 Click Link css=#telecharger_recepisse
253 # XXX Debug
254 ${test} = Get Window Titles
255 Log ${test}
256 Open PDF file
257 # On vérifie la localisation du terrain
258 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 10 Rue des Arts
259 # On ferme le PDF
260 Close PDF
261 #
262 Depuis le contexte du dossier d'instruction ${di_ko}
263 # Vérifie que l'action modifier est disponible
264 Portlet Action Should Not Be In Form dossier_instruction modifier
265 # Vérifie que l'action de régénération est disponible
266 Portlet Action Should Not Be In Form dossier_instruction recepisse
267
268 Lien vers le di dans le message de validation de la demande
269
270 [Documentation] Vérifie si le lien dans le message de validation est
271 ... fonctionnel.
272
273 #
274 Depuis la page d'accueil guichet guichet
275 #
276 &{args_petitionnaire} = Create Dictionary
277 ... particulier_nom=DUPONT
278 ... particulier_prenom=Geralt
279
280 &{args_demande} = Create Dictionary
281 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
282 ... demande_type=Dépôt Initial
283 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
284 # On clique sur le lien vers le DI du message de validation
285 Click Link css=#link_demande_dossier_instruction
286 # On vérifie le fil d'Ariane
287 Page Title Should Be Instruction > Dossiers D'instruction > ${libelle_di} DUPONT GERALT
288
289 Finalisation
290 [Documentation] L'objet de ce 'Test Case' est de vérifier le log de
291 ... l'utilisateur qui a finalisé l'événement.
292
293 # Constitution du jeu de données : deux utilisateurs dont un est instructeur
294 # car si tel est le cas son nom d'instructeur surcharge son nom d'utilisateur.
295 # En tant qu'administrateur
296 Depuis la page d'accueil admin admin
297 # Donnée 1/3 : guichetier
298 Ajouter l'utilisateur Margand Joanna [email protected] guimars guimars GUICHET UNIQUE MARSEILLE
299 # Donnée 2/3 : instructeur
300 Ajouter l'utilisateur Marois Alain -UTIL- [email protected] instrmars instrmars INSTRUCTEUR MARSEILLE
301 Ajouter l'instructeur depuis le menu Marois Alain -INSTR- subdivision H Marois Alain -UTIL-
302 # Donnée 3/3 : affectation automatique du nouvel instructeur
303 Ajouter l'affectation depuis le menu Marois Alain -INSTR- null MARSEILLE
304
305 # En tant que guichetier
306 Depuis la page d'accueil guimars guimars
307 # On crée une nouvelle demande via le tableau de bord
308 &{args_petitionnaire} = Create Dictionary
309 ... particulier_nom=Perrault
310 ... particulier_prenom=Sophie
311
312 &{args_demande} = Create Dictionary
313
314 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
315 ... demande_type=Dépôt Initial
316 # On crée une nouvelle demande via le tableau de bord
317 ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
318 # En tant qu'instructeur de Martigues
319 Depuis la page d'accueil instrmars instrmars
320 # On ouvre l'onglet instruction du nouveau DI
321 Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
322 # On accède à l'instruction
323 Click On Link Notification du delai legal maison individuelle
324 # On vérifie qu'elle a été finalisée par le guichetier automatiquement
325 # lors de la création
326 Wait Until Element Is Visible om_final_instruction_utilisateur
327 Element Text Should Be om_final_instruction_utilisateur guimars (Margand Joanna)
328 # On reprend la rédaction
329 Click On SubForm Portlet Action instruction definaliser
330 # On vérifie qu'il n'y a pas le champ "finalisé par"
331 Element Should Not Be Visible om_final_instruction_utilisateur
332 # On finalise
333 Click On SubForm Portlet Action instruction finaliser
334 # On vérifie le log
335 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Text Should Be om_final_instruction_utilisateur instrmars (Marois Alain -INSTR-)
336
337 Définalisation d'instruction
338
339 [Documentation] Permet de vérifier qu'un utilisateur hors division ne peut
340 ... définaliser un événement d'instruction.
341
342 Depuis la page d'accueil instr2 instr
343 Depuis le contexte du dossier d'instruction ${di_ko}
344 # On clique sur le lien Instruction
345 Click On Link css=#instruction
346 # On clique sur la 1ere instruction
347 Click On Link Notification du delai legal maison individuelle
348 # Vérification que l'instructeur ne peut pas definaliser
349 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#sousform-instruction div#portlet-actions Reprendre la rédaction du document
350
351 Génération du bordereau d'envoi au maire
352 [Documentation] L'objet de ce 'Test Case' est de vérifier la génération
353 ... du PDF ainsi que la mise à jour de la date d'envoi du courrier
354 ... pour signature par le maire.
355
356 # Constitution du jeu de données : un DI commune pour lequel un utilisateur
357 # communauté génère l'édition
358 Depuis la page d'accueil admin admin
359 # Donnée 1/3 : guichetier
360 Ajouter l'utilisateur Legault Simone [email protected] guimars2 guimars2 GUICHET UNIQUE MARSEILLE
361 # Donnée 2/3 : instructeur
362 Ajouter l'utilisateur Garcia Gabriel [email protected] instrmars2 instrmars2 INSTRUCTEUR MARSEILLE
363 Ajouter l'instructeur depuis le menu Garcia Gabriel subdivision H Garcia Gabriel
364 # Donnée 3/3 : affectation automatique du nouvel instructeur
365 Ajouter l'affectation depuis le menu Garcia Gabriel null MARSEILLE
366
367 # En tant que guichetier
368 Depuis la page d'accueil guimars2 guimars2
369 # On crée une nouvelle demande via le tableau de bord
370 &{args_petitionnaire} = Create Dictionary
371 ... particulier_nom=Brousseau
372 ... particulier_prenom=Henry
373
374 &{args_demande} = Create Dictionary
375 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
376 ... demande_type=Dépôt Initial
377 ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
378
379 # En tant qu'instructeur
380 Depuis la page d'accueil instrmars2 instrmars2
381 # On récupère l'identifiant de l' événement d'instruction
382 Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
383 Click On Link Notification du delai legal maison individuelle
384 ${id_instruction} = Get Text css=div#form-content span#instruction
385 # On en déduit le code-barres
386 ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0
387 ${code_barres} = Catenate 11${code_barres}
388
389 # En tant qu'administrateur
390 Depuis la page d'accueil admin admin
391 # On ouvre l'interface de génération du bordereau
392 Depuis le formulaire d'édition du bordereau d'envoi au maire
393 # On saisit un mauvais code-barres
394 Saisir le formulaire du bordereau d'envoi au maire ${code_barres}1
395 # On valide le formulaire
396 Valider le formulaire du bordereau d'envoi au maire
397 # On vérifie le message d'erreur
398 Error Message Should Be Le numéro saisi ne correspond a aucun code-barres d’événement d'instruction.
399 # On saisit un code-barres valide
400 Saisir le formulaire du bordereau d'envoi au maire ${code_barres}
401 # On revalide le formulaire
402 Valider le formulaire du bordereau d'envoi au maire
403 # On clique sur le lien de l'édition
404 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element generer_bordereau_envoi_maire
405 # On vérifie le contenu du PDF généré
406 Open PDF form
407 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} PDF Pages Number Should Be 1
408 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain bordereau d'envoi
409 Close PDF
410 # On accède à l'événement d'instruction
411 Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
412 Click On Link Notification du delai legal maison individuelle
413 Element Text Should Be date_envoi_signature ${date_ddmmyyyy}
414
415
416 Vérification du récapitulatif du dossier d'instruction
417
418 [Documentation] Vérifie l'affichage des champs de fusion sur un dossier
419 ... d'instruction.
420
421 Depuis la page d'accueil instr instr
422 Depuis le contexte du dossier d'instruction ${di_ko}
423 # On clique sur l'action édition
424 Click On Form Portlet Action dossier_instruction edition
425 # On ouvre le PDF
426 Open PDF form
427 # On vérifie le pétitionnaire principal
428 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Monsieur Smith John
429 # On vérifie le résultat total du tableau des surface
430 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
431 # On ferme le PDF
432 Close PDF
433
434
435 Vérification de l'édition de l'instruction
436
437 [Documentation] Vérifie l'affichage des champs de fusion sur une
438 ... instruction.
439
440 Depuis la page d'accueil instr instr
441 Depuis l'instruction du dossier d'instruction ${di_ok} Notification du delai legal maison individuelle
442 # On clique sur l'action édition
443 Click On SubForm Portlet Action instruction edition
444 # On ouvre le PDF
445 Open PDF file
446 # On vérifie le pétitionnaire principal
447 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas
448 # On vérifie le résultat total du tableau des surface
449 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
450 # On ferme le PDF
451 Close PDF
452
453
454 Vérification de l'édition du rapport d'instruction
455
456 [Documentation] Vérifie l'affichage des champs de fusion sur un rapport
457 ... d'instruction.
458
459 #
460 Depuis la page d'accueil instr instr
461 #
462 Depuis le contexte du rapport d'instruction ${di_ok}
463 # On valide le rapport d'instruction
464 Click On Submit Button In Subform
465 # On vérifie le message de validation
466 Valid Message Should Contain Vos modifications ont bien été enregistrées.
467 # On clique sur le bouton retour
468 Click On Back Button In Subform
469 #
470 Depuis le contexte du rapport d'instruction ${di_ok}
471 # On clique sur l'action de finaliser
472 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise
473 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès.
474 # On clique sur l'action édition
475 Click On SubForm Portlet Action rapport_instruction edition
476 # On ouvre le PDF
477 Open PDF file
478 # On vérifie le pétitionnaire principal
479 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas
480 # On vérifie le résultat total du tableau des surface
481 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
482 # On ferme le PDF
483 Close PDF
484
485 Changement de décision par commune
486 [Documentation] L'objet de ce 'Test Case' est de vérifier le changement de
487 ... décision par un instructeur polyvalent commune
488
489 Depuis la page d'accueil admin admin
490 # Création de l'action de workflow "changement de décision"
491 &{args_action} = Create Dictionary
492 ... action=changer_decision
493 ... libelle=Changer la décision
494 ... regle_etat=etat
495
496 Ajouter l'action depuis le menu ${args_action}
497
498 # Création d'un événement de workflow de changement de décision
499 @{etat_source} = Create List dossier accepter dossier accepté tacitement dossier rejeter manque de pieces delai de notification envoye
500 @{type_di} = Create List PA - P - Initial PCI - P - Initial
501
502 &{args_evenement} = Create Dictionary
503 ... libelle=Modification décision
504 ... type=changement de décision
505 ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
506 ... dossier_instruction_type=${type_di}
507 ... action=Changer la décision
508 ... etat=delai de notification envoye
509
510 Ajouter l'événement depuis le menu ${args_evenement}
511
512 # Création d'un DI sur lequel on testera le changement de décision par
513 # instructeur polyvalent commune
514 Depuis la page d'accueil instrpoly instrpoly
515
516 &{args_petitionnaire} = Create Dictionary
517 ... particulier_nom=Halliwell
518 ... particulier_prenom=Geri
519 ... om_collectivite=MARSEILLE
520 &{args_demande} = Create Dictionary
521 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
522 ... demande_type=Dépôt Initial
523 ... om_collectivite=MARSEILLE
524 ${di_change_decision} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
525
526 Depuis la page d'accueil admin admin
527 Modifier le paramètre option_afficher_division true agglo
528
529 Modifier le dossier d'instruction ${di_change_decision} Poly (H)
530
531 Depuis la page d'accueil instrpolycomm instrpolycomm
532 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
533 Should Not Contain ${widget_content} ${di_change_decision}
534
535 Depuis la page d'accueil instrpoly instrpoly
536
537 # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
538 Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS
539 Click On Back Button In Subform
540 Click On Link ARRÊTÉ DE REFUS
541 Click On SubForm Portlet Action instruction finaliser
542
543 # Connexion avec l'instructeur polyvalent commune
544 Depuis la page d'accueil instrpolycomm instrpolycomm
545 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
546 Should Contain ${widget_content} ${di_change_decision}
547 # On clic pour voir tous les dossiers
548 Click On Link Voir les dossiers auxquels on peut proposer une autre décision
549 # On clic sur le DI
550 Click On Link ${di_change_decision}
551 #
552 On clique sur l'onglet instruction Instruction
553 # Ajout de l'événement d'instruction de modification de décision
554 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
555 #
556 Saisir instruction Modification décision
557 # On valide le formulaire
558 Click On Submit Button In Subform
559 # On vérifie le message de validation
560 Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
561
562 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
563 # Changement de la décision
564 Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS 2
565
566 Depuis la page d'accueil instrpolycomm instrpolycomm
567 # On finalise avec un autre instructeur polyvalent commune
568 Depuis l'onglet instruction du dossier d'instruction ${di_change_decision}
569 Click On Link ARRÊTÉ DE REFUS 2
570 ${id_instruction} = Get Text css=div#form-content span#instruction
571 Click On SubForm Portlet Action instruction finaliser
572
573 # En tant qu'instructeur
574 Depuis la page d'accueil instrpoly instrpoly
575
576 # On en déduit le code-barres
577 ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0
578 ${code_barres} = Catenate 11${code_barres}
579 Go To Submenu In Menu suivi suivi_mise_a_jour_des_dates
580 Select From List By Label css=#type_mise_a_jour date de retour de l'AR
581 Input Text date ${date_ddmmyyyy}
582 Input Text code_barres ${code_barres}
583 # On valide le formulaire
584 Click Element css=#formulaire div.formControls input[type="submit"]
585 Click Element css=#formulaire div.formControls input[type="submit"]
586
587 Depuis la page d'accueil instrpolycomm instrpolycomm
588 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
589 Should Not Contain ${widget_content} ${di_change_decision}
590
591
592 Widget "Recherche Dossier"
593
594 [Documentation] L'objet de ce 'Test Case' est de vérifier le
595 ... fonctionnement du widget 'Recherche Dossier'
596 ... (widget_recherche_dossier)
597
598 # En tant qu'instructeur
599 Depuis la page d'accueil instr instr
600
601 #
602 # Cas d'utilisation n°1
603 #
604 # Saisie d'un numéro de dossier complet (avec et sans espaces)
605 #
606
607 #
608 Go to dashboard
609 #
610 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC 013055 12 00001P0
611 #
612 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
613 #
614 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
615 #
616 Page Should Not Contain Errors
617 #
618 Go to dashboard
619 #
620 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC0130551200001P0
621 #
622 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
623 #
624 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
625 #
626 Page Should Not Contain Errors
627
628
629 #
630 # Cas d'utilisation n°2
631 #
632 # Saisie d'une portion d'un numéro de dossier
633 #
634
635 # Cas 2a : un seul dossier
636 Go to dashboard
637 #
638 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC*5120*1P0
639 #
640 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
641 #
642 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
643 #
644 Page Should Not Contain Errors
645 #
646
647 # Cas 2b : plusieurs dossiers
648 Go to dashboard
649 #
650 Input Text css=#dashboard div.widget_recherche_dossier input#dossier 013055
651 #
652 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
653 #
654 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction
655 #
656 Page Should Not Contain Errors
657 #
658 Textfield Value Should Be css=#advanced-form #dossier *013055
659
660
661 #
662 # Cas d'utilisation n°3
663 #
664 # Saisie d'un numéro de dossier inexistant
665 #
666
667 #
668 Go to dashboard
669 #
670 Input Text css=#dashboard div.widget_recherche_dossier input#dossier ZZZZZZZZZZZZ
671 #
672 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
673 #
674 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
675 #
676 Page Should Not Contain Errors
677 #
678 Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé
679
680
681 #
682 # Cas d'utilisation n°4
683 #
684 # Aucune valeur saisie
685 #
686
687 #
688 Go to dashboard
689 #
690 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
691 #
692 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
693 #
694 Page Should Not Contain Errors
695 #
696 Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Veuillez saisir un No de dossier.
697
698
699 #
700 # TNR Bug "Erreur de base de données" lors de saisie de caractères spéciaux
701 #
702
703 #
704 Go to dashboard
705 #
706 Input Text css=#dashboard div.widget_recherche_dossier input#dossier ;"?#'
707 #
708 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
709 #
710 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
711 #
712 Page Should Not Contain Errors
713
714
715 Widget "Dossiers Limites"
716
717 [Documentation] L'objet de ce 'Test Case' est de vérifier le
718 ... fonctionnement du widget 'Dossiers Limites'
719 ... (widget_dossiers_limites)
720
721 #
722 # Cas d'utilisation n°1
723 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
724 # - instructeur
725 # - division
726 # - aucun
727 #
728
729 # ATTENTION : ce test case dépend des jeux de données init_data
730 ${di_instr_1_division_1_commune_1} = Set Variable DP 013055 12 00001P0
731 ${di_instr_2_division_1_commune_1} = Set Variable PC 013055 12 00001P0
732 ${di_instr_3_division_2_commune_1} = Set Variable PD 013055 12 00001P0
733
734 # Filtre sur l'instructeur
735 Depuis la page d'accueil admin admin
736 Go To Tab om_widget
737 Click On Link dossiers_limites
738 Click On Form Portlet Action om_widget modifier
739 Input Text texte filtre=instructeur
740 Click On Submit Button
741 #
742 Depuis la page d'accueil instr instr
743 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
744 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
745 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
746 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
747 Click Element css=.widget_dossiers_limites .widget-footer a
748 Page Title Should Be Instruction > Dossiers Limites
749 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
750 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
751 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
752
753 # Filtre sur la division
754 Depuis la page d'accueil admin admin
755 Go To Tab om_widget
756 Click On Link dossiers_limites
757 Click On Form Portlet Action om_widget modifier
758 Input Text texte filtre=division
759 Click On Submit Button
760 #
761 Depuis la page d'accueil instr instr
762 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
763 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
764 Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
765 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
766 Click Element css=.widget_dossiers_limites .widget-footer a
767 Page Title Should Be Instruction > Dossiers Limites
768 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
769 Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
770 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
771
772 #
773 Depuis la page d'accueil admin admin
774 Go To Tab om_widget
775 Click On Link dossiers_limites
776 Click On Form Portlet Action om_widget modifier
777 Input Text texte filtre=aucun
778 Click On Submit Button
779 #
780 Depuis la page d'accueil instr instr
781 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
782 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
783 Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
784 Element Should Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
785 Click Element css=.widget_dossiers_limites .widget-footer a
786 Page Title Should Be Instruction > Dossiers Limites
787 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
788 Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
789 Element Should Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
790
791 #
792 # Cas d'utilisation n°2
793 # Un paramètre permet de filtrer sur les types de dossiers qui apparaissent
794 #
795
796 # ATTENTION : ce test case dépend des jeux de données init_data
797 ${di_type_dp} = Set Variable DP 013055 12 00001P0
798 ${di_type_pc} = Set Variable PC 013055 12 00001P0
799
800 #
801 Depuis la page d'accueil admin admin
802 Go To Tab om_widget
803 Click On Link dossiers_limites
804 Click On Form Portlet Action om_widget modifier
805 Input Text texte codes_datd=PCI;PCA;PC\nfiltre=aucun
806 Click On Submit Button
807 #
808 Depuis la page d'accueil instr instr
809 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
810 Element Should Contain css=.widget_dossiers_limites ${di_type_pc}
811 Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
812 Click Element css=.widget_dossiers_limites .widget-footer a
813 Page Title Should Be Instruction > Dossiers Limites
814 Element Should Contain css=#tab-dossiers_limites ${di_type_pc}
815 Element Should Not Contain css=#tab-dossiers_limites ${di_type_dp}
816
817 #
818 Depuis la page d'accueil admin admin
819 Go To Tab om_widget
820 Click On Link dossiers_limites
821 Click On Form Portlet Action om_widget modifier
822 Input Text texte codes_datd=DP;DPS\nfiltre=aucun
823 Click On Submit Button
824 #
825 Depuis la page d'accueil instr instr
826 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
827 Element Should Contain css=.widget_dossiers_limites ${di_type_dp}
828 Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
829 Click Element css=.widget_dossiers_limites .widget-footer a
830 Page Title Should Be Instruction > Dossiers Limites
831 Element Should Contain css=#tab-dossiers_limites ${di_type_dp}
832 Element Should Not Contain css=#tab-dossiers_limites ${di_type_pc}
833
834 #
835 Depuis la page d'accueil admin admin
836 Go To Tab om_widget
837 Click On Link dossiers_limites
838 Click On Form Portlet Action om_widget modifier
839 Input Text texte codes_datd=ZZ\nfiltre=aucun
840 Click On Submit Button
841 #
842 Depuis la page d'accueil instr instr
843 Element Should Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
844 Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
845 Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
846 Element Should Not Contain css=.widget_dossiers_limites Voir +
847
848 #
849 # Cas d'utilisation n°3
850 # Vérifier le paramètre nombre de jours
851 #
852
853 #
854 # Cas d'utilisation n°4
855 # Vérfier les cas de date limite et de l'état du dossier
856 # TEST provenant de testWidget.php (test_dossier_limite)
857 # XXX les dossiers utilisés ici ne sont pas dans un état cohérent pour apparaître
858 ${di_limite} = Set Variable PD 013055 12 00001P0
859 ${di_limite_incomplet} = Set Variable AT 013055 13 00001P0
860
861 # Filtre sur la division
862 Depuis la page d'accueil admin admin
863 Go To Tab om_widget
864 Click On Link dossiers_limites
865 Click On Form Portlet Action om_widget modifier
866 Input Text texte filtre=aucun
867 Click On Submit Button
868 #
869 Depuis la page d'accueil divi divi
870 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
871 Element Should Contain css=.widget_dossiers_limites ${di_limite}
872 Element Should Contain css=.widget_dossiers_limites ${di_limite_incomplet}
873 Click Element css=.widget_dossiers_limites .widget-footer a
874 Page Title Should Be Instruction > Dossiers Limites
875 Element Should Contain css=#tab-dossiers_limites ${di_limite}
876 Element Should Contain css=#tab-dossiers_limites ${di_limite_incomplet}
877
878 TNR Bug instructeur commune modifier finaliser définaliser instruction
879
880 Depuis la page d'accueil instrpolycomm instrpolycomm
881
882 &{args_petitionnaire} = Create Dictionary
883 ... particulier_nom=Dupont
884 ... particulier_prenom=Marc
885 &{args_demande} = Create Dictionary
886 ... dossier_autorisation_type_detaille=DECLARATION PREALABLE SIMPLE
887 ... demande_type=Dépôt Initial
888 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
889
890 Depuis l'onglet instruction du dossier d'instruction ${di}
891 Click On Link Notification du delai legal maison individuelle
892 Click On SubForm Portlet Action instruction definaliser
893 Click On SubForm Portlet Action instruction modifier
894 Click On Submit Button In Subform
895 Click On Back Button In Subform
896 Click On SubForm Portlet Action instruction finaliser
897
898 TNR Bug instructeur commune ajout d'evenements autre que décision
899
900 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
901
902 &{args_petitionnaire} = Create Dictionary
903 ... particulier_nom=Dupont
904 ... particulier_prenom=Francis
905 &{args_demande} = Create Dictionary
906 ... dossier_autorisation_type_detaille=Certificat d'urbanisme
907 ... demande_type=Dépôt Initial
908 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
909
910 Ajouter une instruction au DI ${di} Commission Communale de Sécurité
911
912
913 TNR Bug instructeur commune ajout d'evenements sur dossier cloturé
914
915 Depuis la page d'accueil instrpolycomm instrpolycomm
916
917 &{args_petitionnaire} = Create Dictionary
918 ... particulier_nom=Dupont
919 ... particulier_prenom=Albert
920 &{args_demande} = Create Dictionary
921 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
922 ... demande_type=Dépôt Initial
923 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
924
925 Depuis la page d'accueil instrpoly instrpoly
926 Ajouter une instruction au DI ${di} accepter un dossier avec reserve
927 Click On Back Button In Subform
928 Click Link accepter un dossier avec reserve
929 # On finalise
930 Click On SubForm Portlet Action instruction finaliser
931
932 Depuis la page d'accueil instrpolycomm instrpolycomm
933 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
934 Should Not Contain ${widget_content} ${di}
935
936 Depuis l'onglet instruction du dossier d'instruction ${di}
937 Should Not Contain css=#sousform-instruction action-soustab-instruction-corner-ajouter
938
939
940 TNR Bug type de dossiers auxquels un instructeur commune peut changer la décision
941 [Documentation] Les types de demande DOC DAACT et PRO ne doivent pas
942 ... apparaître dans le widget des dossiers auxquels on peut changer la décision
943
944 # Création d'un DI initial
945 Depuis la page d'accueil instrpoly instrpoly
946
947 &{args_petitionnaire} = Create Dictionary
948 ... particulier_nom=Beckham
949 ... particulier_prenom=Victoria
950 ... om_collectivite=MARSEILLE
951 &{args_demande} = Create Dictionary
952 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
953 ... demande_type=Dépôt Initial
954 ... om_collectivite=MARSEILLE
955 ${di_change_decision} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
956
957 # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
958 Ajouter une instruction au DI ${di_change_decision} accepter un dossier sans réserve
959 Click On Back Button In Subform
960 Click On Link accepter un dossier sans réserve
961 Click On SubForm Portlet Action instruction finaliser
962
963 &{args_demande} = Create Dictionary
964 ... demande_type=Demande d'ouverture de chantier
965 ... om_collectivite=MARSEILLE
966 ${di_change_decision_2} = Ajouter la demande sur existant depuis le menu ${di_change_decision} ${args_demande}
967
968 Depuis la page d'accueil admin admin
969 Modifier le paramètre option_afficher_division true agglo
970 Modifier le dossier d'instruction ${di_change_decision_2} Poly (H)
971
972 # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
973 Ajouter une instruction au DI ${di_change_decision_2} ARRÊTÉ DE REFUS
974 Click On Back Button In Subform
975 Click On Link ARRÊTÉ DE REFUS
976 Click On SubForm Portlet Action instruction finaliser
977
978 Depuis la page d'accueil instrpolycomm instrpolycomm
979 # Vérification widget
980 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
981 Should Not Contain ${widget_content} ${di_change_decision_2}
982 # Vérification tableau
983 Go To Tab dossier_instruction&decision=true
984 Page Should Not Contain ${di_change_decision_2}
985
986 TNR Nature des travaux dans la description du DI
987 [Documentation] Concernant les données techniques sur la nature des travaux,
988 ... lorsque les cases sont cochées alors la description du projet les affiche.
989
990 # Création d'un DI initial de type AT
991 Depuis la page d'accueil instrpoly instrpoly
992
993 &{args_petitionnaire} = Create Dictionary
994 ... particulier_nom=Hasselhoff
995 ... particulier_prenom=David
996 ... om_collectivite=MARSEILLE
997 &{args_demande} = Create Dictionary
998 ... dossier_autorisation_type_detaille=Demande d'autorisation de construire, d'aménager ou de modifier un ERP
999 ... demande_type=Dépôt Initial
1000 ... om_collectivite=MARSEILLE
1001 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1002
1003 # On coche les cases du CERFA sur la nature des travaux
1004 Depuis le contexte du dossier d'instruction ${di}
1005 Click On Form Portlet Action dossier_instruction donnees_techniques
1006 Click On SubForm Portlet Action donnees_techniques modifier
1007 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset[id*='amenager-ou-modifier-un-erp'] > legend
1008 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=fieldset[id*='amenager-ou-modifier-un-erp'] > div.fieldsetContent
1009 Select Checkbox erp_cstr_neuve
1010 Select Checkbox erp_trvx_acc
1011 Select Checkbox erp_extension
1012 Select Checkbox erp_rehab
1013 Select Checkbox erp_trvx_am
1014 Select Checkbox erp_vol_nouv_exist
1015 Click On Submit Button In Subform
1016 Click On Back Button In Subform
1017 # On contrôle la description du projet
1018 Reload Page
1019 Element Should Contain description_projet Construction neuve
1020 Element Should Contain description_projet Travaux de mise en conformité totale aux règles d’accessibilité
1021 Element Should Contain description_projet Extension
1022 Element Should Contain description_projet Réhabilitation
1023 Element Should Contain description_projet Travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple)
1024 Element Should Contain description_projet Création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple)
1025
1026
1027 TNR Vérifie que l'instructeur n'est pas impacté par la restriction du guichet unique
1028
1029 [Documentation] Vérifie que l'instructeur peut toujours modifier le dossier
1030 ... d'instruction, même si la restriction imposée pour le guichet unique
1031 ... n'est pas respectée. Le guichet unique ne peut modifier le dossier
1032 ... d'instruction qu'a condition que sa seule instruction soit son
1033 ... récépissé.
1034
1035 #
1036 Depuis la page d'accueil admin admin
1037 #
1038 Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1039
1040 #
1041 Depuis la page d'accueil guichetsuivi guichetsuivi
1042 # On ajoute un dossier d'instruction
1043 &{args_petitionnaire} = Create Dictionary
1044 ... particulier_nom=DUPONT
1045 ... particulier_prenom=Geralt
1046 &{args_demande} = Create Dictionary
1047 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1048 ... demande_type=Dépôt Initial
1049 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1050 #
1051 Depuis le contexte du dossier d'instruction ${libelle_di}
1052 # Vérifie l'action modifier pour le guichet et suivi
1053 Portlet Action Should Be In Form dossier_instruction modifier
1054 # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1055 Portlet Action Should Be In Form dossier_instruction recepisse
1056 #
1057 Depuis la page d'accueil instrpoly instrpoly
1058 #
1059 Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1060 # Vérifie l'action modifier pour l'instructeur polyvalent
1061 Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1062 #
1063 Ajouter une instruction au DI ${libelle_di} majoration_IGH
1064 #
1065 Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1066 # Vérifie l'action modifier pour l'instructeur polyvalent
1067 Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1068
1069 #
1070 Depuis la page d'accueil guichetsuivi guichetsuivi
1071 #
1072 Depuis le contexte du dossier d'instruction ${libelle_di}
1073 # Vérifie l'action modifier pour le guichet et suivi
1074 Portlet Action Should Not Be In Form dossier_instruction modifier
1075 # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1076 Portlet Action Should Not Be In Form dossier_instruction recepisse
1077
1078 #
1079 Depuis la page d'accueil admin admin
1080 #
1081 Supprimer l'affectation depuis le menu Poly
1082
1083
1084 TNR L'intructeur qui prend le rôle du guichet doit avoir la possibilité de modifier le dossier d'instruction
1085
1086 [Documentation] Vérifie que l'instructeur d'une commune puisse modifier le
1087 ... dossier d'instruction qu'il a ajouté mais qui est affecté à un
1088 ... instructeur de la communauté. Un autyre isntructeur de la même commune
1089 ... devrait pouvoir aussi modifier ce dossier d'instruction.
1090
1091 #
1092 Depuis la page d'accueil admin admin
1093 #
1094 Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1095
1096 # Instructeur commune qui ajoute la demande mais n'est pas responsable du DI
1097 Depuis la page d'accueil instrpolycomm instrpolycomm
1098 # On ajoute une demande
1099 &{args_petitionnaire} = Create Dictionary
1100 ... particulier_nom=Dunphy
1101 ... particulier_prenom=Phil
1102 &{args_demande} = Create Dictionary
1103 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1104 ... demande_type=Dépôt Initial
1105 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1106 #
1107 Depuis le contexte du dossier d'instruction ${libelle_di}
1108 # Vérifie que l'action modifier est disponible
1109 Portlet Action Should Be In Form dossier_instruction modifier
1110 # Vérifie que l'action de régénérer le récépissé est disponible
1111 Portlet Action Should Be In Form dossier_instruction recepisse
1112
1113 # Instructeur de la même commune qui n'est pas responsable aussi
1114 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1115 #
1116 Depuis le contexte du dossier d'instruction ${libelle_di}
1117 # Vérifie que l'action modifier est disponible
1118 Portlet Action Should Be In Form dossier_instruction modifier
1119 # Vérifie que l'action de régénérer le récépissé est disponible
1120 Portlet Action Should Be In Form dossier_instruction recepisse
1121
1122 # Instructeur communauté affecté au dossier
1123 Depuis la page d'accueil instrpoly instrpoly
1124 #
1125 Depuis le contexte du dossier d'instruction ${libelle_di}
1126 # Vérifie que l'action modifier est disponible
1127 Portlet Action Should Be In Form dossier_instruction modifier
1128 # Vérifie que l'action de régénérer le récépissé est disponible
1129 Portlet Action Should Be In Form dossier_instruction recepisse
1130 # On commence à instruire le dossier
1131 Ajouter une instruction au DI ${libelle_di} majoration_IGH
1132 #
1133 Depuis le contexte du dossier d'instruction ${libelle_di}
1134 # Vérifie que l'action modifier est disponible
1135 Portlet Action Should Be In Form dossier_instruction modifier
1136 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1137 Portlet Action Should Not Be In Form dossier_instruction recepisse
1138
1139 # On se reconnecte avec l'instructeur qui a ajouté la demande
1140 Depuis la page d'accueil instrpolycomm instrpolycomm
1141 #
1142 Depuis le contexte du dossier d'instruction ${libelle_di}
1143 # Vérifie que l'action modifier n'est plus disponible
1144 Portlet Action Should Not Be In Form dossier_instruction modifier
1145 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1146 Portlet Action Should Not Be In Form dossier_instruction recepisse
1147
1148 # On se reconnecte avec l'instructeur de la commune que l'instructeur ayant
1149 # ajouté la demande
1150 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1151 #
1152 Depuis le contexte du dossier d'instruction ${libelle_di}
1153 # Vérifie que l'action modifier n'est plus disponible
1154 Portlet Action Should Not Be In Form dossier_instruction modifier
1155 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1156 Portlet Action Should Not Be In Form dossier_instruction recepisse
1157
1158
1159 TNR Modification des paramètres de la variable de remplacement &contrainte
1160
1161 [Documentation] Vérifie que les 3 paramètres de &contrainte liste_groupe,
1162 ... liste_ssgroupe, affichage_sans_arborescence modifient l'affichage des
1163 ... contraintes sans erreurs.
1164
1165 # Le contenu de la nouvelle lettre-type de test, avec &contraintes sans paramètres
1166 &{args_lettretype} = Create Dictionary
1167 ... id=test_contraintes
1168 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1169 ... sql=Aucune REQUÊTE
1170 ... titre=&contraintes
1171 ... corps=&contraintes
1172 ... actif=true
1173 ... collectivite=MARSEILLE
1174
1175 &{args_evenement} = Create Dictionary
1176 ... libelle=Notification du delai legal maison individuelle
1177 ... lettretype=test_contraintes Test des nouveaux paramètres &CONTRAINTES
1178
1179 Depuis la page d'accueil admin admin
1180 Ajouter la lettre-type depuis le menu &{args_lettretype}
1181 # On change la lettre-type de l'événement de création d'une nouvelle demande, en
1182 # définissant notre nouvelle lettre-type comme modèle
1183 Modifier l'événement ${args_evenement}
1184 ${id_contrainte1} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 1 PLU MARSEILLE TNR instr sousgroupe 1ère contrainte instr
1185 ${id_contrainte2} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 2 PLU MARSEILLE TNR instr sousgroupe 2ème contrainte instr
1186 ${id_contrainte3} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 3 PLU MARSEILLE TNR instr2 null 3ème contrainte instr2
1187
1188 # Création d'une nouvelle demande pour notre test
1189 Depuis la page d'accueil guichet guichet
1190 &{args_petitionnaire} = Create Dictionary
1191 ... particulier_nom=Saville
1192 ... particulier_prenom=Lazure
1193 &{args_demande} = Create Dictionary
1194 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1195 ... demande_type=Dépôt Initial
1196 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1197
1198 # Ajout de contraintes à notre dossier de test
1199 Depuis la page d'accueil instr instr
1200 Ajouter une contrainte depuis l'onglet du dossier d'instruction ${libelle_di}
1201 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element fieldset-sousform-dossier_contrainte-contraintes-openads
1202 Open Fieldset In Subform dossier_contrainte tnr-instr
1203 Open Fieldset In Subform dossier_contrainte sousgroupe
1204 Open Fieldset In Subform dossier_contrainte tnr-instr2
1205 Select Checkbox css=#contrainte_${id_contrainte1}
1206 Select Checkbox css=#contrainte_${id_contrainte2}
1207 Select Checkbox css=#contrainte_${id_contrainte3}
1208 # On clique sur Appliquer les changements
1209 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#sformulaire div.formControls input[type="submit"]
1210 # Vérification des messages
1211 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text Contrainte TNR instruction 1 a été ajoutée au dossier.
1212 Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text La contrainte Contrainte TNR instruction 2 a été ajoutée au dossier.
1213 Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text La contrainte Contrainte TNR instruction 3 a été ajoutée au dossier.
1214
1215 Depuis le contexte du dossier d'instruction ${libelle_di}
1216 # Vérifie que l'action de régénération est disponible
1217 Portlet Action Should Be In Form dossier_instruction recepisse
1218 # On régénère le récépissé de demande
1219 Click On Form Portlet Action dossier_instruction recepisse
1220 # On vérifie le message de validation
1221 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1222 # On ouvre le PDF
1223 Click Link css=#telecharger_recepisse
1224 Open PDF file
1225 # On vérifie que la lettre-type contient toutes les contraintes
1226 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1227 Page Should Contain SOUSGROUPE
1228 Page Should Contain 1ère contrainte instr
1229 Page Should Contain 2ème contrainte instr
1230 Page Should Contain TNR INSTR2
1231 Page Should Contain 3ème contrainte instr2
1232 Close PDF
1233
1234 # On ajoute le paramètre liste_groupe à la variable &contraintes dans la lettre-type
1235 &{args_lettretype} = Create Dictionary
1236 ... id=test_contraintes
1237 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1238 ... sql=Aucune REQUÊTE
1239 ... titre=&contraintes(liste_groupe=TNR INSTR)
1240 ... corps=&contraintes(liste_groupe=TNR INSTR)
1241 ... actif=true
1242 ... collectivite=MARSEILLE
1243
1244 Depuis la page d'accueil admin admin
1245 # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1246 # Redéfinit la lettre-type avec les arguments passés
1247 Modifier la lettre-type XXX &{args_lettretype}
1248
1249 Depuis le contexte du dossier d'instruction ${libelle_di}
1250 Portlet Action Should Be In Form dossier_instruction recepisse
1251 # On régénère le récépissé de demande
1252 Click On Form Portlet Action dossier_instruction recepisse
1253 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1254 # On ouvre le PDF
1255 Click Link css=#telecharger_recepisse
1256 Open PDF file
1257 # On doit avoir seulement les contraintes du groupe Zones du PLU
1258 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1259 Page Should Contain 1ère contrainte instr
1260 Page Should Contain 2ème contrainte instr
1261 Page Should Not Contain TNR INSTR2
1262 Page Should Not Contain 3ème contrainte instr2
1263 Close PDF
1264
1265 # On active l'affichage sans arborescence, avec les paramètres liste_groupe et
1266 # listess_groupe activés
1267 &{args_lettretype} = Create Dictionary
1268 ... id=test_contraintes
1269 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1270 ... sql=Aucune REQUÊTE
1271 ... titre=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1272 ... corps=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1273 ... actif=true
1274 ... collectivite=MARSEILLE
1275
1276 # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1277 # Redéfinit la lettre-type avec les arguments passés
1278 Modifier la lettre-type XXX &{args_lettretype}
1279
1280 Depuis le contexte du dossier d'instruction ${libelle_di}
1281 Portlet Action Should Be In Form dossier_instruction recepisse
1282 # On régénère le récépissé de demande
1283 Click On Form Portlet Action dossier_instruction recepisse
1284 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1285 # On ouvre le PDF
1286 Click Link css=#telecharger_recepisse
1287 Open PDF file
1288 # Le PDF doit contenir les 2 contraintes "Zones du PLU", sans groupes
1289 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 1ère contrainte instr
1290 Page Should Contain 2ème contrainte instr
1291 Page Should Not Contain TNR INSTR
1292 Page Should Not Contain TNR INSTR2
1293 Page Should Not Contain 3ème contrainte instr2
1294 Close PDF
1295
1296 &{args_evenement} = Create Dictionary
1297 ... libelle=Notification du delai legal maison individuelle
1298 ... lettretype=recepisse_1 RECEPISSE DE DEPOT
1299
1300 # On remet la lettre-type de récépissé de dépôt initiale pour les tests suivants
1301 Modifier l'événement ${args_evenement}
1302
1303
1304 Test du tableau des dossiers d'autorisation liés géographiquement
1305
1306 [Documentation] Ajoute 2 nouvelles demandes avec une parcelle en commun, puis affiche
1307 ... le tableau des dossiers liés géographiquement pour les 2 dossiers. L'autre DA
1308 ... avec la même parcelle doit être présent, mais pas le DA lié au DI courant.
1309
1310 Depuis la page d'accueil guichet guichet
1311 &{args_petitionnaire} = Create Dictionary
1312 ... particulier_nom=Beauchamps
1313 ... particulier_prenom=Jeanette
1314
1315 @{ref_cad} = Create List 806 AB 25 A 30
1316
1317 &{args_demande} = Create Dictionary
1318 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1319 ... demande_type=Dépôt Initial
1320 ... terrain_references_cadastrales=${ref_cad}
1321 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1322
1323 &{args_petitionnaire} = Create Dictionary
1324 ... particulier_nom=Forest
1325 ... particulier_prenom=David
1326
1327 @{ref_cad} = Create List 806 AB 01 A 50
1328
1329 &{args_demande} = Create Dictionary
1330 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1331 ... demande_type=Dépôt Initial
1332 ... terrain_references_cadastrales=${ref_cad}
1333
1334 ${libelle_di2} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1335
1336 ${libelle_da} = Get Substring ${libelle_di} 0 -2
1337 ${libelle_da2} = Get Substring ${libelle_di2} 0 -2
1338
1339 Depuis la page d'accueil instr instr
1340 Ajouter une instruction au DI et la finaliser ${libelle_di} accepter un dossier sans réserve
1341
1342 &{args_demande} = Create Dictionary
1343 ... demande_type=Demande de modification
1344
1345 Depuis la page d'accueil guichet guichet
1346 Ajouter la demande sur existant depuis le tableau de bord ${libelle_di} ${args_demande}
1347
1348 Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di}
1349 # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1350 Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da}
1351 # Le 2ème dossier avec la même parcelle doit apparaître
1352 Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da2} 1
1353
1354 Depuis la page d'accueil instr instr
1355 Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di2}
1356 # Le tableau doit contenir une seule fois le DA qui a 2 DI avec une parcelle en commun
1357 Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da} 1
1358 # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1359 Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da2}
1360
1361
1362 Restriction d'événement
1363 [Documentation] Teste une double condition dans la restriction :
1364 ... date événement <= date limite de notification au pétitionnaire
1365 ... date de dépôt == date de complétude
1366
1367 ${date_valid} = Set Variable 01/01/2015
1368 ${date_invalid} = Set Variable 01/04/2016
1369
1370 #
1371 # Cas 1 : opérateur logique || sur P0
1372 # La condition est satisfaite
1373 #
1374
1375 # Création du DI sur lequel nous allons faire l'incomplétude
1376 &{case1_evenement} = Create Dictionary
1377 ... libelle=Notification de pieces manquante
1378 ... restriction=date_evenement <= archive_date_notification_delai || archive_date_complet == date_depot
1379 &{case1_petitionnaire} = Create Dictionary
1380 ... particulier_civilite=Madame
1381 ... particulier_nom=Déziel
1382 ... particulier_prenom=Audrey
1383 &{case1_demande} = Create Dictionary
1384 ... date_demande=${date_valid}
1385 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1386 ... demande_type=Dépôt Initial
1387 #
1388 Depuis la page d'accueil admin admin
1389 # On récupère la restriction avant de la modifier
1390 Depuis le contexte de l'événement Notification de pieces manquante
1391 ${restriction_before} = Get Text css=#restriction
1392 #
1393 Modifier l'événement ${case1_evenement}
1394 #
1395 Depuis la page d'accueil guichet guichet
1396 ${case1_di} = Ajouter la nouvelle demande
1397 ... ${case1_demande}
1398 ... ${case1_petitionnaire}
1399 # Vu le || la condition est satisfaite
1400 Depuis la page d'accueil instr instr
1401 Ajouter une instruction au DI ${case1_di} Notification de pieces manquante ${date_invalid}
1402 Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
1403
1404 #
1405 # Cas 2 : opérateur logique && sur DOC01
1406 # La condition n'est pas satisfaite
1407 #
1408
1409 # Création du DI sur lequel nous allons faire l'incomplétude
1410 &{case2_evenement} = Create Dictionary
1411 ... libelle=Notification de pieces manquante
1412 ... restriction=date_evenement <= archive_date_notification_delai && archive_date_complet == date_depot
1413 #
1414 &{case2_petitionnaire} = Create Dictionary
1415 ... particulier_civilite=Madame
1416 ... particulier_nom=Bourgeau
1417 ... particulier_prenom=Corinne
1418 &{case2_demande_temp} = Create Dictionary
1419 ... date_demande=${date_valid}
1420 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1421 ... demande_type=Dépôt Initial
1422 &{case2_demande} = Create Dictionary
1423 ... date_demande=${date_valid}
1424 ... demande_type=Demande d'ouverture de chantier
1425 #
1426 Depuis la page d'accueil admin admin
1427 Modifier l'événement ${case2_evenement}
1428 #
1429 Depuis la page d'accueil guichet guichet
1430 ${case2_di_temp} = Ajouter la nouvelle demande
1431 ... ${case2_demande_temp}
1432 ... ${case2_petitionnaire}
1433 #
1434 Depuis la page d'accueil instr instr
1435 Ajouter une instruction au DI ${case2_di_temp} accepter un dossier sans réserve ${date_valid}
1436 #
1437 Depuis la page d'accueil guichet guichet
1438 ${case2_di} = Ajouter la demande sur existant
1439 ... ${case2_di_temp}
1440 ... ${case2_demande}
1441 # Vu le && la condition est non satisfaite
1442 Depuis la page d'accueil instr instr
1443 Depuis l'onglet instruction du dossier d'instruction ${case2_di}
1444 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
1445 Saisir instruction Notification de pieces manquante ${date_invalid}
1446 Click On Submit Button In Subform
1447 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=div.ui-state-error p span.text SAISIE NON ENREGISTRÉE
1448 Element Should Contain css=div.ui-state-error p span.text date d'événement <= date limite de notification au pétitionnaire && date de complétude archivé == date de dépôt
1449
1450 #
1451 # Restauration de la restriction
1452 #
1453 &{old_evenement} = Create Dictionary
1454 ... libelle=Notification de pieces manquante
1455 ... restriction=${restriction_before}
1456 Depuis la page d'accueil admin admin
1457 Modifier l'événement ${old_evenement}
1458
1459
1460 TNR Vérifie que le fichier est supprimé à la suppression de l'instruction
1461
1462 [Documentation] Vérifie dans le filestorage si le fichier de l'édition de
1463 ... l'instruction est correctement supprimé lors de la suppression de
1464 ... l'instruction.
1465
1466 #
1467 Depuis la page d'accueil guichet guichet
1468 # Liste des arguments pour la demande
1469 &{args_demande} = Create Dictionary
1470 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1471 ... demande_type=Dépôt Initial
1472 # Liste des arguments pour le pétitionnaire
1473 &{args_petitionnaire} = Create Dictionary
1474 ... particulier_nom=Batard
1475 ... particulier_prenom=Laurene
1476 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1477 #
1478 Depuis la page d'accueil instr instr
1479 Ajouter une instruction au DI ${di} accepter un dossier sans réserve
1480 #
1481 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1482 # On clique sur l'action de finalisation
1483 Click On SubForm Portlet Action instruction finaliser
1484 # On vérifie le message de validation
1485 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La finalisation du document s'est effectuée avec succès.
1486 # Récupération de l'UID
1487 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1488 ${uid} = Get Value om_fichier_instruction
1489 ${path_1} = Get Substring ${uid} 0 2
1490 ${path_2} = Get Substring ${uid} 0 4
1491 # Vérification dans le filestorage
1492 File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1493 File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1494 #
1495 Depuis la page d'accueil admin admin
1496 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1497 # On clique sur l'action de définalisation
1498 Click On SubForm Portlet Action instruction definaliser
1499 # On vérifie le message de validation
1500 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La definalisation du document s'est effectuée avec succès.
1501 #
1502 Supprimer l'instruction ${di} accepter un dossier sans réserve
1503 # Vérification dans le filestorage
1504 File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1505 File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1506
1507 Mail aux communes
1508 [Documentation] Test de l'action sur l'instruction permettant à l'instructeur,
1509 ... une fois son courrier finalisé, de déclencher l'envoi d'un mail aux communes.
1510
1511 # Création du DI
1512 Depuis la page d'accueil guichet guichet
1513 &{args_petitionnaire} = Create Dictionary
1514 ... particulier_nom=Gareau
1515 ... particulier_prenom=Élisabeth
1516 &{args_demande} = Create Dictionary
1517 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1518 ... demande_type=Dépôt Initial
1519 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1520 # Création de l'instruction finalisée
1521 Depuis la page d'accueil instr instr
1522 Ajouter une instruction au DI ${di} Notification de pieces manquante
1523 Click On Back Button In Subform
1524 Click On Link Notification de pieces manquante
1525 Click On SubForm Portlet Action instruction finaliser
1526 # Saisie du paramétrage commune en sus du multi par fourni par défaut
1527 Depuis la page d'accueil admingen admingen
1528 Ajouter le paramètre depuis le menu param_courriel_de_notification_commune [email protected] MARSEILLE
1529 # Succès de la notification
1530 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
1531 Click On SubForm Portlet Action instruction notifier_commune
1532 Click Element css=div.ui-dialog-buttonset button
1533 Valid Message Should Be In Subform La commune a été notifiée.
1534 # Échec de la notification si objet, modèle ou courriel indéfini
1535 Modifier le paramètre param_courriel_de_notification_commune_objet_depuis_instruction ${SPACE}
1536 Modifier le paramètre param_courriel_de_notification_commune_modele_depuis_instruction ${SPACE}
1537 Modifier le paramètre param_courriel_de_notification_commune ${SPACE}
1538 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
1539 Click On SubForm Portlet Action instruction notifier_commune
1540 Click Element css=div.ui-dialog-buttonset button
1541 Error Message Should Contain In Subform l'objet du courriel envoyé aux communes est vide
1542 Error Message Should Contain In Subform le modèle du courriel envoyé aux communes est vide
1543 Error Message Should Contain In Subform aucun courriel valide de destinataire de la commune
1544
1545
1546 Widget "Dossiers événement incomplet ou majoration sans RAR"
1547
1548 [Documentation] L'objet de ce 'Test Case' est de vérifier le
1549 ... fonctionnement du widget 'Dossiers événement incomplet ou majoration sans RAR'
1550 ... (dossiers_evenement_incomplet_majoration)
1551
1552 ##
1553 ## Constitution du jeu de données
1554 ##
1555 ## On crée deux nouvelles collectivités pour être sûr du nombre
1556 ## de retours de messages à vérifier dans les widgets et tableaux
1557 ##
1558 #
1559 ${collectivite_a} = Set Variable DAKAR
1560 ${collectivite_b} = Set Variable SINESALOUM
1561 #
1562 ${utilisateur_nom_01} = Set Variable Nicole Leduc
1563 ${utilisateur_login_01} = Set Variable nleduc
1564 ${utilisateur_nom_02} = Set Variable Julie Giguère
1565 ${utilisateur_login_02} = Set Variable jguiguere
1566 ${utilisateur_nom_03} = Set Variable Arno Perreault
1567 ${utilisateur_login_03} = Set Variable aperreault
1568 ${utilisateur_nom_04} = Set Variable Albertine Echeverri
1569 ${utilisateur_login_04} = Set Variable aecheverri
1570 #
1571 Depuis la page d'accueil admin admin
1572 #
1573 Ajouter la collectivité depuis le menu ${collectivite_a} mono
1574 Ajouter la collectivité depuis le menu ${collectivite_b} mono
1575 #
1576 Ajouter l'utilisateur ${utilisateur_nom_01} [email protected] ${utilisateur_login_01} ${utilisateur_login_01} INSTRUCTEUR ${collectivite_a}
1577 Ajouter l'utilisateur ${utilisateur_nom_02} [email protected] ${utilisateur_login_02} ${utilisateur_login_02} INSTRUCTEUR ${collectivite_a}
1578 Ajouter l'utilisateur ${utilisateur_nom_03} [email protected] ${utilisateur_login_03} ${utilisateur_login_03} INSTRUCTEUR ${collectivite_a}
1579 Ajouter l'utilisateur ${utilisateur_nom_04} [email protected] ${utilisateur_login_04} ${utilisateur_login_04} INSTRUCTEUR ${collectivite_b}
1580 #
1581 Ajouter l'instructeur depuis le menu ${utilisateur_nom_01} subdivision H ${utilisateur_nom_01}
1582 Ajouter l'instructeur depuis le menu ${utilisateur_nom_02} subdivision L ${utilisateur_nom_02}
1583 Ajouter l'instructeur depuis le menu ${utilisateur_nom_03} subdivision J ${utilisateur_nom_03}
1584 Ajouter l'instructeur depuis le menu ${utilisateur_nom_04} subdivision H ${utilisateur_nom_04}
1585 #
1586 Ajouter l'affectation depuis le menu ${utilisateur_nom_01} null ${collectivite_a}
1587 Ajouter l'affectation depuis le menu ${utilisateur_nom_02} Permis de construire comprenant ou non des démolitions ${collectivite_a}
1588 Ajouter l'affectation depuis le menu ${utilisateur_nom_03} Permis de démolir ${collectivite_a}
1589 Ajouter l'affectation depuis le menu ${utilisateur_nom_04} null ${collectivite_b}
1590
1591 # DI n°1 : Permis de démolir dans Collectivité A (niveau mono)
1592 # => Affecté à l'instructeur '${utilisateur_nom_03}' (${utilisateur_login_03})
1593 # => Division 'J'
1594 #
1595 &{args_petitionnaire_01} = Create Dictionary
1596 ... particulier_nom=Chandonnet
1597 ... particulier_prenom=Leone
1598 ... om_collectivite=${collectivite_a}
1599 #
1600 &{args_demande_01} = Create Dictionary
1601 ... dossier_autorisation_type_detaille=Permis de démolir
1602 ... demande_type=Dépôt Initial
1603 ... date_demande=${date_ddmmyyyy}
1604 ... om_collectivite=${collectivite_a}
1605 #
1606 ${di_01} = Ajouter la nouvelle demande ${args_demande_01} ${args_petitionnaire_01}
1607
1608 # DI n°2 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité A (niveau mono)
1609 # => Affecté à l'instructeur '${utilisateur_nom_01}' (${utilisateur_login_01})
1610 # => Division 'H'
1611 #
1612 &{args_petitionnaire_02} = Create Dictionary
1613 ... particulier_nom=Joly
1614 ... particulier_prenom=Frédérique
1615 ... om_collectivite=${collectivite_a}
1616 #
1617 &{args_demande_02} = Create Dictionary
1618 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1619 ... demande_type=Dépôt Initial
1620 ... date_demande=${date_ddmmyyyy}
1621 ... om_collectivite=${collectivite_a}
1622 #
1623 ${di_02} = Ajouter la nouvelle demande ${args_demande_02} ${args_petitionnaire_02}
1624
1625 # DI n°3 : Permis de construire comprenant ou non des démolitions dans Collectivité A (niveau mono)
1626 # => Affecté à l'instructeur '${utilisateur_nom_02}' (${utilisateur_login_02})
1627 # => Division 'L'
1628 #
1629 &{args_petitionnaire_03} = Create Dictionary
1630 ... particulier_nom=Boucher
1631 ... particulier_prenom=Bernadette
1632 ... om_collectivite=${collectivite_a}
1633 #
1634 &{args_demande_03} = Create Dictionary
1635 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1636 ... demande_type=Dépôt Initial
1637 ... date_demande=${date_ddmmyyyy}
1638 ... om_collectivite=${collectivite_a}
1639 #
1640 ${di_03} = Ajouter la nouvelle demande ${args_demande_03} ${args_petitionnaire_03}
1641
1642 # DI n°4 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité B (niveau mono)
1643 # => Affecté à l'instructeur '${utilisateur_nom_04}' (${utilisateur_login_04})
1644 # => Division 'H'
1645 #
1646 &{args_petitionnaire_04} = Create Dictionary
1647 ... particulier_nom=BOULAGE
1648 ... particulier_prenom=Damien
1649 ... om_collectivite=${collectivite_b}
1650 #
1651 &{args_demande_04} = Create Dictionary
1652 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1653 ... demande_type=Dépôt Initial
1654 ... date_demande=${date_ddmmyyyy}
1655 ... om_collectivite=${collectivite_b}
1656 #
1657 ${di_04} = Ajouter la nouvelle demande ${args_demande_04} ${args_petitionnaire_04}
1658
1659 # On applique l'événement "majoration + DPC hors SS" à chaque dossier et on met une
1660 # date d'envoi RAR à l'événement pour que les dossiers soient affichés dans le widget
1661 Ajouter une instruction au DI et la finaliser ${di_01} majoration + DPC hors SS ${date_ddmmyyyy}
1662 Click On SubForm Portlet Action instruction modifier_suivi
1663 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1664 Click On Submit Button In Subform
1665
1666 Ajouter une instruction au DI et la finaliser ${di_02} majoration + DPC hors SS ${date_ddmmyyyy}
1667 Click On SubForm Portlet Action instruction modifier_suivi
1668 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1669 Click On Submit Button In Subform
1670
1671 Ajouter une instruction au DI et la finaliser ${di_03} majoration + DPC hors SS ${date_ddmmyyyy}
1672 Click On SubForm Portlet Action instruction modifier_suivi
1673 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1674 Click On Submit Button In Subform
1675
1676 Ajouter une instruction au DI et la finaliser ${di_04} majoration + DPC hors SS ${date_ddmmyyyy}
1677 Click On SubForm Portlet Action instruction modifier_suivi
1678 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1679 Click On Submit Button In Subform
1680
1681 #
1682 # Cas d'utilisation n°1
1683 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
1684 # - instructeur
1685 # - division
1686 # - aucun (collectivite)
1687 #
1688 # Vérification du :
1689 # - fonctionnement des filtres
1690 # - de la redirection vers le dossier
1691 # - des dossiers affichés dans le widget ET la liste "voir plus"
1692
1693 #
1694 ${widget_id} = Set Variable widget_10
1695
1696 ## Vérification du filtre par défaut (instructeur)
1697 # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR')
1698 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1699 Element Should Contain css=#${widget_id} ${di_02}
1700 Element Should Not Contain css=#${widget_id} ${di_01}
1701 Element Should Not Contain css=#${widget_id} ${di_03}
1702 Element Should Not Contain css=#${widget_id} ${di_04}
1703 Click Link ${di_02}
1704 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1705
1706 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1707 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#${widget_id} .widget-footer a
1708 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1709 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1710 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1711 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1712 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1713 Click Link ${di_02}
1714 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1715
1716 ## Vérification du filtre instructeur
1717 Depuis la page d'accueil admin admin
1718 Go To Tab om_widget
1719 Click On Link dossiers_evenement_incomplet_majoration
1720 Click On Form Portlet Action om_widget modifier
1721 Input Text texte filtre=instructeur
1722 Click On Submit Button
1723
1724 # L'instructeur doit seulement voir son dossier
1725 Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04}
1726 Element Should Contain css=#${widget_id} ${di_04}
1727 Element Should Not Contain css=#${widget_id} ${di_01}
1728 Element Should Not Contain css=#${widget_id} ${di_02}
1729 Element Should Not Contain css=#${widget_id} ${di_03}
1730
1731 Click Element css=#${widget_id} .widget-footer a
1732 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1733 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1734 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1735 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1736 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1737
1738 # Filtre sur la division
1739 Depuis la page d'accueil admin admin
1740 Go To Tab om_widget
1741 Click On Link dossiers_evenement_incomplet_majoration
1742 Click On Form Portlet Action om_widget modifier
1743 Input Text texte filtre=division
1744 Click On Submit Button
1745
1746 # On doit avoir les 2 dossiers de la division
1747 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1748 Element Should Contain css=#${widget_id} ${di_02}
1749 Element Should Contain css=#${widget_id} ${di_04}
1750 Element Should Not Contain css=#${widget_id} ${di_01}
1751 Element Should Not Contain css=#${widget_id} ${di_03}
1752
1753 Click Element css=#${widget_id} .widget-footer a
1754 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1755 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1756 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1757 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1758 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1759
1760 # Filtre "aucun" donc sur la collectivité
1761 Depuis la page d'accueil admin admin
1762 Go To Tab om_widget
1763 Click On Link dossiers_evenement_incomplet_majoration
1764 Click On Form Portlet Action om_widget modifier
1765 Input Text texte filtre=aucun
1766 Click On Submit Button
1767
1768 # On doit avoir les 3 dossiers de la collectivité
1769 Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03}
1770 Element Should Contain css=#${widget_id} ${di_01}
1771 Element Should Contain css=#${widget_id} ${di_02}
1772 Element Should Contain css=#${widget_id} ${di_03}
1773 Element Should Not Contain css=#${widget_id} ${di_04}
1774 Click Element css=#${widget_id} .widget-footer a
1775 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1776 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1777 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1778 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1779 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1780

Properties

Name Value
svn:executable

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26