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

Contents of /trunk/tests/050_instruction.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4526 - (show annotations)
Wed Jun 22 08:18:23 2016 UTC (8 years, 7 months ago) by nmeucci
File size: 85882 byte(s)
* Évolution - Il est dorénavant possible de créer un dossier d'instruction sans
  suffixe dans son numéro. Pour ce faire il faut désactiver l'option dans le
  paramétrage du type de dossier d'instruction.
  Ticket #8261.

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 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#formulaire div.formControls input[type="submit"]
586 Click Element css=#formulaire div.formControls input[type="submit"]
587
588 Depuis la page d'accueil instrpolycomm instrpolycomm
589 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
590 Should Not Contain ${widget_content} ${di_change_decision}
591
592
593 Widget "Recherche Dossier"
594
595 [Documentation] L'objet de ce 'Test Case' est de vérifier le
596 ... fonctionnement du widget 'Recherche Dossier'
597 ... (widget_recherche_dossier)
598
599 # En tant qu'instructeur
600 Depuis la page d'accueil instr instr
601
602 #
603 # Cas d'utilisation n°1
604 #
605 # Saisie d'un numéro de dossier complet (avec et sans espaces)
606 #
607
608 #
609 Go to dashboard
610 #
611 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC 013055 12 00001P0
612 #
613 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
614 #
615 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
616 #
617 Page Should Not Contain Errors
618 #
619 Go to dashboard
620 #
621 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC0130551200001P0
622 #
623 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
624 #
625 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
626 #
627 Page Should Not Contain Errors
628
629
630 #
631 # Cas d'utilisation n°2
632 #
633 # Saisie d'une portion d'un numéro de dossier
634 #
635
636 # Cas 2a : un seul dossier
637 Go to dashboard
638 #
639 Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC*5120*1P0
640 #
641 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
642 #
643 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
644 #
645 Page Should Not Contain Errors
646 #
647
648 # Cas 2b : plusieurs dossiers
649 Go to dashboard
650 #
651 Input Text css=#dashboard div.widget_recherche_dossier input#dossier 013055
652 #
653 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
654 #
655 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction
656 #
657 Page Should Not Contain Errors
658 #
659 Textfield Value Should Be css=#advanced-form #dossier *013055
660
661
662 #
663 # Cas d'utilisation n°3
664 #
665 # Saisie d'un numéro de dossier inexistant
666 #
667
668 #
669 Go to dashboard
670 #
671 Input Text css=#dashboard div.widget_recherche_dossier input#dossier ZZZZZZZZZZZZ
672 #
673 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
674 #
675 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
676 #
677 Page Should Not Contain Errors
678 #
679 Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé
680
681
682 #
683 # Cas d'utilisation n°4
684 #
685 # Aucune valeur saisie
686 #
687
688 #
689 Go to dashboard
690 #
691 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
692 #
693 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
694 #
695 Page Should Not Contain Errors
696 #
697 Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Veuillez saisir un No de dossier.
698
699
700 #
701 # TNR Bug "Erreur de base de données" lors de saisie de caractères spéciaux
702 #
703
704 #
705 Go to dashboard
706 #
707 Input Text css=#dashboard div.widget_recherche_dossier input#dossier ;"?#'
708 #
709 Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
710 #
711 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
712 #
713 Page Should Not Contain Errors
714
715
716 Widget "Dossiers Limites"
717
718 [Documentation] L'objet de ce 'Test Case' est de vérifier le
719 ... fonctionnement du widget 'Dossiers Limites'
720 ... (widget_dossiers_limites)
721
722 #
723 # Cas d'utilisation n°1
724 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
725 # - instructeur
726 # - division
727 # - aucun
728 #
729
730 # ATTENTION : ce test case dépend des jeux de données init_data
731 ${di_instr_1_division_1_commune_1} = Set Variable DP 013055 12 00001
732 ${di_instr_2_division_1_commune_1} = Set Variable PC 013055 12 00001P0
733 ${di_instr_3_division_2_commune_1} = Set Variable PD 013055 12 00001P0
734
735 # Filtre sur l'instructeur
736 Depuis la page d'accueil admin admin
737 Go To Tab om_widget
738 Click On Link dossiers_limites
739 Click On Form Portlet Action om_widget modifier
740 Input Text texte filtre=instructeur
741 Click On Submit Button
742 #
743 Depuis la page d'accueil instr instr
744 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
745 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
746 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
747 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
748 Click Element css=.widget_dossiers_limites .widget-footer a
749 Page Title Should Be Instruction > Dossiers Limites
750 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
751 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
752 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
753
754 # Filtre sur la division
755 Depuis la page d'accueil admin admin
756 Go To Tab om_widget
757 Click On Link dossiers_limites
758 Click On Form Portlet Action om_widget modifier
759 Input Text texte filtre=division
760 Click On Submit Button
761 #
762 Depuis la page d'accueil instr instr
763 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
764 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
765 Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
766 Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
767 Click Element css=.widget_dossiers_limites .widget-footer a
768 Page Title Should Be Instruction > Dossiers Limites
769 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
770 Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
771 Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
772
773 #
774 Depuis la page d'accueil admin admin
775 Go To Tab om_widget
776 Click On Link dossiers_limites
777 Click On Form Portlet Action om_widget modifier
778 Input Text texte filtre=aucun
779 Click On Submit Button
780 #
781 Depuis la page d'accueil instr instr
782 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
783 Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
784 Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
785 Element Should Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
786 Click Element css=.widget_dossiers_limites .widget-footer a
787 Page Title Should Be Instruction > Dossiers Limites
788 Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
789 Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
790 Element Should Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
791
792 #
793 # Cas d'utilisation n°2
794 # Un paramètre permet de filtrer sur les types de dossiers qui apparaissent
795 #
796
797 # ATTENTION : ce test case dépend des jeux de données init_data
798 ${di_type_dp} = Set Variable DP 013055 12 00001
799 ${di_type_pc} = Set Variable PC 013055 12 00001P0
800
801 #
802 Depuis la page d'accueil admin admin
803 Go To Tab om_widget
804 Click On Link dossiers_limites
805 Click On Form Portlet Action om_widget modifier
806 Input Text texte codes_datd=PCI;PCA;PC\nfiltre=aucun
807 Click On Submit Button
808 #
809 Depuis la page d'accueil instr instr
810 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
811 Element Should Contain css=.widget_dossiers_limites ${di_type_pc}
812 Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
813 Click Element css=.widget_dossiers_limites .widget-footer a
814 Page Title Should Be Instruction > Dossiers Limites
815 Element Should Contain css=#tab-dossiers_limites ${di_type_pc}
816 Element Should Not Contain css=#tab-dossiers_limites ${di_type_dp}
817
818 #
819 Depuis la page d'accueil admin admin
820 Go To Tab om_widget
821 Click On Link dossiers_limites
822 Click On Form Portlet Action om_widget modifier
823 Input Text texte codes_datd=DP;DPS\nfiltre=aucun
824 Click On Submit Button
825 #
826 Depuis la page d'accueil instr instr
827 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
828 Element Should Contain css=.widget_dossiers_limites ${di_type_dp}
829 Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
830 Click Element css=.widget_dossiers_limites .widget-footer a
831 Page Title Should Be Instruction > Dossiers Limites
832 Element Should Contain css=#tab-dossiers_limites ${di_type_dp}
833 Element Should Not Contain css=#tab-dossiers_limites ${di_type_pc}
834
835 #
836 Depuis la page d'accueil admin admin
837 Go To Tab om_widget
838 Click On Link dossiers_limites
839 Click On Form Portlet Action om_widget modifier
840 Input Text texte codes_datd=ZZ\nfiltre=aucun
841 Click On Submit Button
842 #
843 Depuis la page d'accueil instr instr
844 Element Should Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
845 Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
846 Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
847 Element Should Not Contain css=.widget_dossiers_limites Voir +
848
849 #
850 # Cas d'utilisation n°3
851 # Vérifier le paramètre nombre de jours
852 #
853
854 #
855 # Cas d'utilisation n°4
856 # Vérfier les cas de date limite et de l'état du dossier
857 # TEST provenant de testWidget.php (test_dossier_limite)
858 # XXX les dossiers utilisés ici ne sont pas dans un état cohérent pour apparaître
859 ${di_limite} = Set Variable PD 013055 12 00001P0
860 ${di_limite_incomplet} = Set Variable AT 013055 13 00001P0
861
862 # Filtre sur la division
863 Depuis la page d'accueil admin admin
864 Go To Tab om_widget
865 Click On Link dossiers_limites
866 Click On Form Portlet Action om_widget modifier
867 Input Text texte filtre=aucun
868 Click On Submit Button
869 #
870 Depuis la page d'accueil divi divi
871 Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
872 Element Should Contain css=.widget_dossiers_limites ${di_limite}
873 Element Should Contain css=.widget_dossiers_limites ${di_limite_incomplet}
874 Click Element css=.widget_dossiers_limites .widget-footer a
875 Page Title Should Be Instruction > Dossiers Limites
876 Element Should Contain css=#tab-dossiers_limites ${di_limite}
877 Element Should Contain css=#tab-dossiers_limites ${di_limite_incomplet}
878
879 TNR Bug instructeur commune modifier finaliser définaliser instruction
880
881 Depuis la page d'accueil instrpolycomm instrpolycomm
882
883 &{args_petitionnaire} = Create Dictionary
884 ... particulier_nom=Dupont
885 ... particulier_prenom=Marc
886 &{args_demande} = Create Dictionary
887 ... dossier_autorisation_type_detaille=DECLARATION PREALABLE SIMPLE
888 ... demande_type=Dépôt Initial
889 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
890
891 Depuis l'onglet instruction du dossier d'instruction ${di}
892 Click On Link Notification du delai legal maison individuelle
893 Click On SubForm Portlet Action instruction definaliser
894 Click On SubForm Portlet Action instruction modifier
895 Click On Submit Button In Subform
896 Click On Back Button In Subform
897 Click On SubForm Portlet Action instruction finaliser
898
899 TNR Bug instructeur commune ajout d'evenements autre que décision
900
901 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
902
903 &{args_petitionnaire} = Create Dictionary
904 ... particulier_nom=Dupont
905 ... particulier_prenom=Francis
906 &{args_demande} = Create Dictionary
907 ... dossier_autorisation_type_detaille=Certificat d'urbanisme
908 ... demande_type=Dépôt Initial
909 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
910
911 Ajouter une instruction au DI ${di} Commission Communale de Sécurité
912
913
914 TNR Bug instructeur commune ajout d'evenements sur dossier cloturé
915
916 Depuis la page d'accueil instrpolycomm instrpolycomm
917
918 &{args_petitionnaire} = Create Dictionary
919 ... particulier_nom=Dupont
920 ... particulier_prenom=Albert
921 &{args_demande} = Create Dictionary
922 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
923 ... demande_type=Dépôt Initial
924 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
925
926 Depuis la page d'accueil instrpoly instrpoly
927 Ajouter une instruction au DI ${di} accepter un dossier avec reserve
928 Click On Back Button In Subform
929 Click Link accepter un dossier avec reserve
930 # On finalise
931 Click On SubForm Portlet Action instruction finaliser
932
933 Depuis la page d'accueil instrpolycomm instrpolycomm
934 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
935 Should Not Contain ${widget_content} ${di}
936
937 Depuis l'onglet instruction du dossier d'instruction ${di}
938 Should Not Contain css=#sousform-instruction action-soustab-instruction-corner-ajouter
939
940
941 TNR Bug type de dossiers auxquels un instructeur commune peut changer la décision
942 [Documentation] Les types de demande DOC DAACT et PRO ne doivent pas
943 ... apparaître dans le widget des dossiers auxquels on peut changer la décision
944
945 # Création d'un DI initial
946 Depuis la page d'accueil instrpoly instrpoly
947
948 &{args_petitionnaire} = Create Dictionary
949 ... particulier_nom=Beckham
950 ... particulier_prenom=Victoria
951 ... om_collectivite=MARSEILLE
952 &{args_demande} = Create Dictionary
953 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
954 ... demande_type=Dépôt Initial
955 ... om_collectivite=MARSEILLE
956 ${di_change_decision} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
957
958 # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
959 Ajouter une instruction au DI ${di_change_decision} accepter un dossier sans réserve
960 Click On Back Button In Subform
961 Click On Link accepter un dossier sans réserve
962 Click On SubForm Portlet Action instruction finaliser
963
964 &{args_demande} = Create Dictionary
965 ... demande_type=Demande d'ouverture de chantier
966 ... om_collectivite=MARSEILLE
967 ${di_change_decision_2} = Ajouter la demande sur existant depuis le menu ${di_change_decision} ${args_demande}
968
969 Depuis la page d'accueil admin admin
970 Modifier le paramètre option_afficher_division true agglo
971 Modifier le dossier d'instruction ${di_change_decision_2} Poly (H)
972
973 # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
974 Ajouter une instruction au DI ${di_change_decision_2} ARRÊTÉ DE REFUS
975 Click On Back Button In Subform
976 Click On Link ARRÊTÉ DE REFUS
977 Click On SubForm Portlet Action instruction finaliser
978
979 Depuis la page d'accueil instrpolycomm instrpolycomm
980 # Vérification widget
981 ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
982 Should Not Contain ${widget_content} ${di_change_decision_2}
983 # Vérification tableau
984 Go To Tab dossier_instruction&decision=true
985 Page Should Not Contain ${di_change_decision_2}
986
987 TNR Nature des travaux dans la description du DI
988 [Documentation] Concernant les données techniques sur la nature des travaux,
989 ... lorsque les cases sont cochées alors la description du projet les affiche.
990
991 # Création d'un DI initial de type AT
992 Depuis la page d'accueil instrpoly instrpoly
993
994 &{args_petitionnaire} = Create Dictionary
995 ... particulier_nom=Hasselhoff
996 ... particulier_prenom=David
997 ... om_collectivite=MARSEILLE
998 &{args_demande} = Create Dictionary
999 ... dossier_autorisation_type_detaille=Demande d'autorisation de construire, d'aménager ou de modifier un ERP
1000 ... demande_type=Dépôt Initial
1001 ... om_collectivite=MARSEILLE
1002 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1003
1004 # On coche les cases du CERFA sur la nature des travaux
1005 Depuis le contexte du dossier d'instruction ${di}
1006 Click On Form Portlet Action dossier_instruction donnees_techniques
1007 Click On SubForm Portlet Action donnees_techniques modifier
1008 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset[id*='amenager-ou-modifier-un-erp'] > legend
1009 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=fieldset[id*='amenager-ou-modifier-un-erp'] > div.fieldsetContent
1010 Select Checkbox erp_cstr_neuve
1011 Select Checkbox erp_trvx_acc
1012 Select Checkbox erp_extension
1013 Select Checkbox erp_rehab
1014 Select Checkbox erp_trvx_am
1015 Select Checkbox erp_vol_nouv_exist
1016 Click On Submit Button In Subform
1017 Click On Back Button In Subform
1018 # On contrôle la description du projet
1019 Reload Page
1020 Element Should Contain description_projet Construction neuve
1021 Element Should Contain description_projet Travaux de mise en conformité totale aux règles d’accessibilité
1022 Element Should Contain description_projet Extension
1023 Element Should Contain description_projet Réhabilitation
1024 Element Should Contain description_projet Travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple)
1025 Element Should Contain description_projet Création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple)
1026
1027
1028 TNR Vérifie que l'instructeur n'est pas impacté par la restriction du guichet unique
1029
1030 [Documentation] Vérifie que l'instructeur peut toujours modifier le dossier
1031 ... d'instruction, même si la restriction imposée pour le guichet unique
1032 ... n'est pas respectée. Le guichet unique ne peut modifier le dossier
1033 ... d'instruction qu'a condition que sa seule instruction soit son
1034 ... récépissé.
1035
1036 #
1037 Depuis la page d'accueil admin admin
1038 #
1039 Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1040
1041 #
1042 Depuis la page d'accueil guichetsuivi guichetsuivi
1043 # On ajoute un dossier d'instruction
1044 &{args_petitionnaire} = Create Dictionary
1045 ... particulier_nom=DUPONT
1046 ... particulier_prenom=Geralt
1047 &{args_demande} = Create Dictionary
1048 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1049 ... demande_type=Dépôt Initial
1050 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1051 #
1052 Depuis le contexte du dossier d'instruction ${libelle_di}
1053 # Vérifie l'action modifier pour le guichet et suivi
1054 Portlet Action Should Be In Form dossier_instruction modifier
1055 # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1056 Portlet Action Should Be In Form dossier_instruction recepisse
1057 #
1058 Depuis la page d'accueil instrpoly instrpoly
1059 #
1060 Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1061 # Vérifie l'action modifier pour l'instructeur polyvalent
1062 Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1063 #
1064 Ajouter une instruction au DI ${libelle_di} majoration_IGH
1065 #
1066 Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1067 # Vérifie l'action modifier pour l'instructeur polyvalent
1068 Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1069
1070 #
1071 Depuis la page d'accueil guichetsuivi guichetsuivi
1072 #
1073 Depuis le contexte du dossier d'instruction ${libelle_di}
1074 # Vérifie l'action modifier pour le guichet et suivi
1075 Portlet Action Should Not Be In Form dossier_instruction modifier
1076 # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1077 Portlet Action Should Not Be In Form dossier_instruction recepisse
1078
1079 #
1080 Depuis la page d'accueil admin admin
1081 #
1082 Supprimer l'affectation depuis le menu Poly
1083
1084
1085 TNR L'intructeur qui prend le rôle du guichet doit avoir la possibilité de modifier le dossier d'instruction
1086
1087 [Documentation] Vérifie que l'instructeur d'une commune puisse modifier le
1088 ... dossier d'instruction qu'il a ajouté mais qui est affecté à un
1089 ... instructeur de la communauté. Un autyre isntructeur de la même commune
1090 ... devrait pouvoir aussi modifier ce dossier d'instruction.
1091
1092 #
1093 Depuis la page d'accueil admin admin
1094 #
1095 Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1096
1097 # Instructeur commune qui ajoute la demande mais n'est pas responsable du DI
1098 Depuis la page d'accueil instrpolycomm instrpolycomm
1099 # On ajoute une demande
1100 &{args_petitionnaire} = Create Dictionary
1101 ... particulier_nom=Dunphy
1102 ... particulier_prenom=Phil
1103 &{args_demande} = Create Dictionary
1104 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1105 ... demande_type=Dépôt Initial
1106 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1107 #
1108 Depuis le contexte du dossier d'instruction ${libelle_di}
1109 # Vérifie que l'action modifier est disponible
1110 Portlet Action Should Be In Form dossier_instruction modifier
1111 # Vérifie que l'action de régénérer le récépissé est disponible
1112 Portlet Action Should Be In Form dossier_instruction recepisse
1113
1114 # Instructeur de la même commune qui n'est pas responsable aussi
1115 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1116 #
1117 Depuis le contexte du dossier d'instruction ${libelle_di}
1118 # Vérifie que l'action modifier est disponible
1119 Portlet Action Should Be In Form dossier_instruction modifier
1120 # Vérifie que l'action de régénérer le récépissé est disponible
1121 Portlet Action Should Be In Form dossier_instruction recepisse
1122
1123 # Instructeur communauté affecté au dossier
1124 Depuis la page d'accueil instrpoly instrpoly
1125 #
1126 Depuis le contexte du dossier d'instruction ${libelle_di}
1127 # Vérifie que l'action modifier est disponible
1128 Portlet Action Should Be In Form dossier_instruction modifier
1129 # Vérifie que l'action de régénérer le récépissé est disponible
1130 Portlet Action Should Be In Form dossier_instruction recepisse
1131 # On commence à instruire le dossier
1132 Ajouter une instruction au DI ${libelle_di} majoration_IGH
1133 #
1134 Depuis le contexte du dossier d'instruction ${libelle_di}
1135 # Vérifie que l'action modifier est disponible
1136 Portlet Action Should Be In Form dossier_instruction modifier
1137 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1138 Portlet Action Should Not Be In Form dossier_instruction recepisse
1139
1140 # On se reconnecte avec l'instructeur qui a ajouté la demande
1141 Depuis la page d'accueil instrpolycomm instrpolycomm
1142 #
1143 Depuis le contexte du dossier d'instruction ${libelle_di}
1144 # Vérifie que l'action modifier n'est plus disponible
1145 Portlet Action Should Not Be In Form dossier_instruction modifier
1146 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1147 Portlet Action Should Not Be In Form dossier_instruction recepisse
1148
1149 # On se reconnecte avec l'instructeur de la commune que l'instructeur ayant
1150 # ajouté la demande
1151 Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1152 #
1153 Depuis le contexte du dossier d'instruction ${libelle_di}
1154 # Vérifie que l'action modifier n'est plus disponible
1155 Portlet Action Should Not Be In Form dossier_instruction modifier
1156 # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1157 Portlet Action Should Not Be In Form dossier_instruction recepisse
1158
1159
1160 TNR Modification des paramètres de la variable de remplacement &contrainte
1161
1162 [Documentation] Vérifie que les 3 paramètres de &contrainte liste_groupe,
1163 ... liste_ssgroupe, affichage_sans_arborescence modifient l'affichage des
1164 ... contraintes sans erreurs.
1165
1166 # Le contenu de la nouvelle lettre-type de test, avec &contraintes sans paramètres
1167 &{args_lettretype} = Create Dictionary
1168 ... id=test_contraintes
1169 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1170 ... sql=Aucune REQUÊTE
1171 ... titre=&contraintes
1172 ... corps=&contraintes
1173 ... actif=true
1174 ... collectivite=MARSEILLE
1175
1176 &{args_evenement} = Create Dictionary
1177 ... libelle=Notification du delai legal maison individuelle
1178 ... lettretype=test_contraintes Test des nouveaux paramètres &CONTRAINTES
1179
1180 Depuis la page d'accueil admin admin
1181 Ajouter la lettre-type depuis le menu &{args_lettretype}
1182 # On change la lettre-type de l'événement de création d'une nouvelle demande, en
1183 # définissant notre nouvelle lettre-type comme modèle
1184 Modifier l'événement ${args_evenement}
1185 ${id_contrainte1} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 1 PLU MARSEILLE TNR instr sousgroupe 1ère contrainte instr
1186 ${id_contrainte2} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 2 PLU MARSEILLE TNR instr sousgroupe 2ème contrainte instr
1187 ${id_contrainte3} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 3 PLU MARSEILLE TNR instr2 null 3ème contrainte instr2
1188
1189 # Création d'une nouvelle demande pour notre test
1190 Depuis la page d'accueil guichet guichet
1191 &{args_petitionnaire} = Create Dictionary
1192 ... particulier_nom=Saville
1193 ... particulier_prenom=Lazure
1194 &{args_demande} = Create Dictionary
1195 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1196 ... demande_type=Dépôt Initial
1197 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1198
1199 # Ajout de contraintes à notre dossier de test
1200 Depuis la page d'accueil instr instr
1201 Ajouter une contrainte depuis l'onglet du dossier d'instruction ${libelle_di}
1202 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element fieldset-sousform-dossier_contrainte-contraintes-openads
1203 Open Fieldset In Subform dossier_contrainte tnr-instr
1204 Open Fieldset In Subform dossier_contrainte sousgroupe
1205 Open Fieldset In Subform dossier_contrainte tnr-instr2
1206 Select Checkbox css=#contrainte_${id_contrainte1}
1207 Select Checkbox css=#contrainte_${id_contrainte2}
1208 Select Checkbox css=#contrainte_${id_contrainte3}
1209 # On clique sur Appliquer les changements
1210 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#sformulaire div.formControls input[type="submit"]
1211 # Vérification des messages
1212 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.
1213 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.
1214 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.
1215
1216 Depuis le contexte du dossier d'instruction ${libelle_di}
1217 # Vérifie que l'action de régénération est disponible
1218 Portlet Action Should Be In Form dossier_instruction recepisse
1219 # On régénère le récépissé de demande
1220 Click On Form Portlet Action dossier_instruction recepisse
1221 # On vérifie le message de validation
1222 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1223 # On ouvre le PDF
1224 Click Link css=#telecharger_recepisse
1225 Open PDF file
1226 # On vérifie que la lettre-type contient toutes les contraintes
1227 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1228 Page Should Contain SOUSGROUPE
1229 Page Should Contain 1ère contrainte instr
1230 Page Should Contain 2ème contrainte instr
1231 Page Should Contain TNR INSTR2
1232 Page Should Contain 3ème contrainte instr2
1233 Close PDF
1234
1235 # On ajoute le paramètre liste_groupe à la variable &contraintes dans la lettre-type
1236 &{args_lettretype} = Create Dictionary
1237 ... id=test_contraintes
1238 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1239 ... sql=Aucune REQUÊTE
1240 ... titre=&contraintes(liste_groupe=TNR INSTR)
1241 ... corps=&contraintes(liste_groupe=TNR INSTR)
1242 ... actif=true
1243 ... collectivite=MARSEILLE
1244
1245 Depuis la page d'accueil admin admin
1246 # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1247 # Redéfinit la lettre-type avec les arguments passés
1248 Modifier la lettre-type XXX &{args_lettretype}
1249
1250 Depuis le contexte du dossier d'instruction ${libelle_di}
1251 Portlet Action Should Be In Form dossier_instruction recepisse
1252 # On régénère le récépissé de demande
1253 Click On Form Portlet Action dossier_instruction recepisse
1254 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1255 # On ouvre le PDF
1256 Click Link css=#telecharger_recepisse
1257 Open PDF file
1258 # On doit avoir seulement les contraintes du groupe Zones du PLU
1259 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1260 Page Should Contain 1ère contrainte instr
1261 Page Should Contain 2ème contrainte instr
1262 Page Should Not Contain TNR INSTR2
1263 Page Should Not Contain 3ème contrainte instr2
1264 Close PDF
1265
1266 # On active l'affichage sans arborescence, avec les paramètres liste_groupe et
1267 # listess_groupe activés
1268 &{args_lettretype} = Create Dictionary
1269 ... id=test_contraintes
1270 ... libelle=Test des nouveaux paramètres &CONTRAINTES
1271 ... sql=Aucune REQUÊTE
1272 ... titre=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1273 ... corps=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1274 ... actif=true
1275 ... collectivite=MARSEILLE
1276
1277 # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1278 # Redéfinit la lettre-type avec les arguments passés
1279 Modifier la lettre-type XXX &{args_lettretype}
1280
1281 Depuis le contexte du dossier d'instruction ${libelle_di}
1282 Portlet Action Should Be In Form dossier_instruction recepisse
1283 # On régénère le récépissé de demande
1284 Click On Form Portlet Action dossier_instruction recepisse
1285 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1286 # On ouvre le PDF
1287 Click Link css=#telecharger_recepisse
1288 Open PDF file
1289 # Le PDF doit contenir les 2 contraintes "Zones du PLU", sans groupes
1290 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 1ère contrainte instr
1291 Page Should Contain 2ème contrainte instr
1292 Page Should Not Contain TNR INSTR
1293 Page Should Not Contain TNR INSTR2
1294 Page Should Not Contain 3ème contrainte instr2
1295 Close PDF
1296
1297 &{args_evenement} = Create Dictionary
1298 ... libelle=Notification du delai legal maison individuelle
1299 ... lettretype=recepisse_1 RECEPISSE DE DEPOT
1300
1301 # On remet la lettre-type de récépissé de dépôt initiale pour les tests suivants
1302 Modifier l'événement ${args_evenement}
1303
1304
1305 Test du tableau des dossiers d'autorisation liés géographiquement
1306
1307 [Documentation] Ajoute 2 nouvelles demandes avec une parcelle en commun, puis affiche
1308 ... le tableau des dossiers liés géographiquement pour les 2 dossiers. L'autre DA
1309 ... avec la même parcelle doit être présent, mais pas le DA lié au DI courant.
1310
1311 Depuis la page d'accueil guichet guichet
1312 &{args_petitionnaire} = Create Dictionary
1313 ... particulier_nom=Beauchamps
1314 ... particulier_prenom=Jeanette
1315
1316 @{ref_cad} = Create List 806 AB 25 A 30
1317
1318 &{args_demande} = Create Dictionary
1319 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1320 ... demande_type=Dépôt Initial
1321 ... terrain_references_cadastrales=${ref_cad}
1322 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1323
1324 &{args_petitionnaire} = Create Dictionary
1325 ... particulier_nom=Forest
1326 ... particulier_prenom=David
1327
1328 @{ref_cad} = Create List 806 AB 01 A 50
1329
1330 &{args_demande} = Create Dictionary
1331 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1332 ... demande_type=Dépôt Initial
1333 ... terrain_references_cadastrales=${ref_cad}
1334
1335 ${libelle_di2} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1336
1337 ${libelle_da} = Get Substring ${libelle_di} 0 -2
1338 ${libelle_da2} = Get Substring ${libelle_di2} 0 -2
1339
1340 Depuis la page d'accueil instr instr
1341 Ajouter une instruction au DI et la finaliser ${libelle_di} accepter un dossier sans réserve
1342
1343 &{args_demande} = Create Dictionary
1344 ... demande_type=Demande de modification
1345
1346 Depuis la page d'accueil guichet guichet
1347 Ajouter la demande sur existant depuis le tableau de bord ${libelle_di} ${args_demande}
1348
1349 Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di}
1350 # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1351 Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da}
1352 # Le 2ème dossier avec la même parcelle doit apparaître
1353 Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da2} 1
1354
1355 Depuis la page d'accueil instr instr
1356 Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di2}
1357 # Le tableau doit contenir une seule fois le DA qui a 2 DI avec une parcelle en commun
1358 Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da} 1
1359 # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1360 Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da2}
1361
1362
1363 Restriction d'événement
1364 [Documentation] Teste une double condition dans la restriction :
1365 ... date événement <= date limite de notification au pétitionnaire
1366 ... date de dépôt == date de complétude
1367
1368 ${date_valid} = Set Variable 01/01/2015
1369 ${date_invalid} = Set Variable 01/04/2016
1370
1371 #
1372 # Cas 1 : opérateur logique || sur P0
1373 # La condition est satisfaite
1374 #
1375
1376 # Création du DI sur lequel nous allons faire l'incomplétude
1377 &{case1_evenement} = Create Dictionary
1378 ... libelle=Notification de pieces manquante
1379 ... restriction=date_evenement <= archive_date_notification_delai || archive_date_complet == date_depot
1380 &{case1_petitionnaire} = Create Dictionary
1381 ... particulier_civilite=Madame
1382 ... particulier_nom=Déziel
1383 ... particulier_prenom=Audrey
1384 &{case1_demande} = Create Dictionary
1385 ... date_demande=${date_valid}
1386 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1387 ... demande_type=Dépôt Initial
1388 #
1389 Depuis la page d'accueil admin admin
1390 # On récupère la restriction avant de la modifier
1391 Depuis le contexte de l'événement Notification de pieces manquante
1392 ${restriction_before} = Get Text css=#restriction
1393 #
1394 Modifier l'événement ${case1_evenement}
1395 #
1396 Depuis la page d'accueil guichet guichet
1397 ${case1_di} = Ajouter la nouvelle demande
1398 ... ${case1_demande}
1399 ... ${case1_petitionnaire}
1400 # Vu le || la condition est satisfaite
1401 Depuis la page d'accueil instr instr
1402 Ajouter une instruction au DI ${case1_di} Notification de pieces manquante ${date_invalid}
1403 Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
1404
1405 #
1406 # Cas 2 : opérateur logique && sur DOC01
1407 # La condition n'est pas satisfaite
1408 #
1409
1410 # Création du DI sur lequel nous allons faire l'incomplétude
1411 &{case2_evenement} = Create Dictionary
1412 ... libelle=Notification de pieces manquante
1413 ... restriction=date_evenement <= archive_date_notification_delai && archive_date_complet == date_depot
1414 #
1415 &{case2_petitionnaire} = Create Dictionary
1416 ... particulier_civilite=Madame
1417 ... particulier_nom=Bourgeau
1418 ... particulier_prenom=Corinne
1419 &{case2_demande_temp} = Create Dictionary
1420 ... date_demande=${date_valid}
1421 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1422 ... demande_type=Dépôt Initial
1423 &{case2_demande} = Create Dictionary
1424 ... date_demande=${date_valid}
1425 ... demande_type=Demande d'ouverture de chantier
1426 #
1427 Depuis la page d'accueil admin admin
1428 Modifier l'événement ${case2_evenement}
1429 #
1430 Depuis la page d'accueil guichet guichet
1431 ${case2_di_temp} = Ajouter la nouvelle demande
1432 ... ${case2_demande_temp}
1433 ... ${case2_petitionnaire}
1434 #
1435 Depuis la page d'accueil instr instr
1436 Ajouter une instruction au DI ${case2_di_temp} accepter un dossier sans réserve ${date_valid}
1437 #
1438 Depuis la page d'accueil guichet guichet
1439 ${case2_di} = Ajouter la demande sur existant
1440 ... ${case2_di_temp}
1441 ... ${case2_demande}
1442 # Vu le && la condition est non satisfaite
1443 Depuis la page d'accueil instr instr
1444 Depuis l'onglet instruction du dossier d'instruction ${case2_di}
1445 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
1446 Saisir instruction Notification de pieces manquante ${date_invalid}
1447 Click On Submit Button In Subform
1448 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=div.ui-state-error p span.text SAISIE NON ENREGISTRÉE
1449 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
1450
1451 #
1452 # Restauration de la restriction
1453 #
1454 &{old_evenement} = Create Dictionary
1455 ... libelle=Notification de pieces manquante
1456 ... restriction=${restriction_before}
1457 Depuis la page d'accueil admin admin
1458 Modifier l'événement ${old_evenement}
1459
1460
1461 TNR Vérifie que le fichier est supprimé à la suppression de l'instruction
1462
1463 [Documentation] Vérifie dans le filestorage si le fichier de l'édition de
1464 ... l'instruction est correctement supprimé lors de la suppression de
1465 ... l'instruction.
1466
1467 #
1468 Depuis la page d'accueil guichet guichet
1469 # Liste des arguments pour la demande
1470 &{args_demande} = Create Dictionary
1471 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1472 ... demande_type=Dépôt Initial
1473 # Liste des arguments pour le pétitionnaire
1474 &{args_petitionnaire} = Create Dictionary
1475 ... particulier_nom=Batard
1476 ... particulier_prenom=Laurene
1477 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1478 #
1479 Depuis la page d'accueil instr instr
1480 Ajouter une instruction au DI ${di} accepter un dossier sans réserve
1481 #
1482 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1483 # On clique sur l'action de finalisation
1484 Click On SubForm Portlet Action instruction finaliser
1485 # On vérifie le message de validation
1486 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La finalisation du document s'est effectuée avec succès.
1487 # Récupération de l'UID
1488 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1489 ${uid} = Get Value om_fichier_instruction
1490 ${path_1} = Get Substring ${uid} 0 2
1491 ${path_2} = Get Substring ${uid} 0 4
1492 # Vérification dans le filestorage
1493 File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1494 File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1495 #
1496 Depuis la page d'accueil admin admin
1497 Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
1498 # On clique sur l'action de définalisation
1499 Click On SubForm Portlet Action instruction definaliser
1500 # On vérifie le message de validation
1501 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La definalisation du document s'est effectuée avec succès.
1502 #
1503 Supprimer l'instruction ${di} accepter un dossier sans réserve
1504 # Vérification dans le filestorage
1505 File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}
1506 File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info
1507
1508 Mail aux communes
1509 [Documentation] Test de l'action sur l'instruction permettant à l'instructeur,
1510 ... une fois son courrier finalisé, de déclencher l'envoi d'un mail aux communes.
1511
1512 # Création du DI
1513 Depuis la page d'accueil guichet guichet
1514 &{args_petitionnaire} = Create Dictionary
1515 ... particulier_nom=Gareau
1516 ... particulier_prenom=Élisabeth
1517 &{args_demande} = Create Dictionary
1518 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1519 ... demande_type=Dépôt Initial
1520 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1521 # Création de l'instruction finalisée
1522 Depuis la page d'accueil instr instr
1523 Ajouter une instruction au DI ${di} Notification de pieces manquante
1524 Click On Back Button In Subform
1525 Click On Link Notification de pieces manquante
1526 Click On SubForm Portlet Action instruction finaliser
1527 # Saisie du paramétrage commune en sus du multi par fourni par défaut
1528 Depuis la page d'accueil admingen admingen
1529 Ajouter le paramètre depuis le menu param_courriel_de_notification_commune [email protected] MARSEILLE
1530 # Succès de la notification
1531 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
1532 Click On SubForm Portlet Action instruction notifier_commune
1533 Click Element css=div.ui-dialog-buttonset button
1534 Valid Message Should Be In Subform La commune a été notifiée.
1535 # Échec de la notification si objet, modèle ou courriel indéfini
1536 Modifier le paramètre param_courriel_de_notification_commune_objet_depuis_instruction ${SPACE}
1537 Modifier le paramètre param_courriel_de_notification_commune_modele_depuis_instruction ${SPACE}
1538 Modifier le paramètre param_courriel_de_notification_commune ${SPACE}
1539 Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
1540 Click On SubForm Portlet Action instruction notifier_commune
1541 Click Element css=div.ui-dialog-buttonset button
1542 Error Message Should Contain In Subform l'objet du courriel envoyé aux communes est vide
1543 Error Message Should Contain In Subform le modèle du courriel envoyé aux communes est vide
1544 Error Message Should Contain In Subform aucun courriel valide de destinataire de la commune
1545
1546
1547 Widget "Dossiers événement incomplet ou majoration sans RAR"
1548
1549 [Documentation] L'objet de ce 'Test Case' est de vérifier le
1550 ... fonctionnement du widget 'Dossiers événement incomplet ou majoration sans RAR'
1551 ... (dossiers_evenement_incomplet_majoration)
1552
1553 ##
1554 ## Constitution du jeu de données
1555 ##
1556 ## On crée deux nouvelles collectivités pour être sûr du nombre
1557 ## de retours de messages à vérifier dans les widgets et tableaux
1558 ##
1559 #
1560 ${collectivite_a} = Set Variable DAKAR
1561 ${collectivite_b} = Set Variable SINESALOUM
1562 #
1563 ${utilisateur_nom_01} = Set Variable Nicole Leduc
1564 ${utilisateur_login_01} = Set Variable nleduc
1565 ${utilisateur_nom_02} = Set Variable Julie Giguère
1566 ${utilisateur_login_02} = Set Variable jguiguere
1567 ${utilisateur_nom_03} = Set Variable Arno Perreault
1568 ${utilisateur_login_03} = Set Variable aperreault
1569 ${utilisateur_nom_04} = Set Variable Albertine Echeverri
1570 ${utilisateur_login_04} = Set Variable aecheverri
1571 #
1572 Depuis la page d'accueil admin admin
1573 #
1574 Ajouter la collectivité depuis le menu ${collectivite_a} mono
1575 Ajouter la collectivité depuis le menu ${collectivite_b} mono
1576 #
1577 Ajouter l'utilisateur ${utilisateur_nom_01} [email protected] ${utilisateur_login_01} ${utilisateur_login_01} INSTRUCTEUR ${collectivite_a}
1578 Ajouter l'utilisateur ${utilisateur_nom_02} [email protected] ${utilisateur_login_02} ${utilisateur_login_02} INSTRUCTEUR ${collectivite_a}
1579 Ajouter l'utilisateur ${utilisateur_nom_03} [email protected] ${utilisateur_login_03} ${utilisateur_login_03} INSTRUCTEUR ${collectivite_a}
1580 Ajouter l'utilisateur ${utilisateur_nom_04} [email protected] ${utilisateur_login_04} ${utilisateur_login_04} INSTRUCTEUR ${collectivite_b}
1581 #
1582 Ajouter l'instructeur depuis le menu ${utilisateur_nom_01} subdivision H ${utilisateur_nom_01}
1583 Ajouter l'instructeur depuis le menu ${utilisateur_nom_02} subdivision L ${utilisateur_nom_02}
1584 Ajouter l'instructeur depuis le menu ${utilisateur_nom_03} subdivision J ${utilisateur_nom_03}
1585 Ajouter l'instructeur depuis le menu ${utilisateur_nom_04} subdivision H ${utilisateur_nom_04}
1586 #
1587 Ajouter l'affectation depuis le menu ${utilisateur_nom_01} null ${collectivite_a}
1588 Ajouter l'affectation depuis le menu ${utilisateur_nom_02} Permis de construire comprenant ou non des démolitions ${collectivite_a}
1589 Ajouter l'affectation depuis le menu ${utilisateur_nom_03} Permis de démolir ${collectivite_a}
1590 Ajouter l'affectation depuis le menu ${utilisateur_nom_04} null ${collectivite_b}
1591
1592 # DI n°1 : Permis de démolir dans Collectivité A (niveau mono)
1593 # => Affecté à l'instructeur '${utilisateur_nom_03}' (${utilisateur_login_03})
1594 # => Division 'J'
1595 #
1596 &{args_petitionnaire_01} = Create Dictionary
1597 ... particulier_nom=Chandonnet
1598 ... particulier_prenom=Leone
1599 ... om_collectivite=${collectivite_a}
1600 #
1601 &{args_demande_01} = Create Dictionary
1602 ... dossier_autorisation_type_detaille=Permis de démolir
1603 ... demande_type=Dépôt Initial
1604 ... date_demande=${date_ddmmyyyy}
1605 ... om_collectivite=${collectivite_a}
1606 #
1607 ${di_01} = Ajouter la nouvelle demande ${args_demande_01} ${args_petitionnaire_01}
1608
1609 # DI n°2 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité A (niveau mono)
1610 # => Affecté à l'instructeur '${utilisateur_nom_01}' (${utilisateur_login_01})
1611 # => Division 'H'
1612 #
1613 &{args_petitionnaire_02} = Create Dictionary
1614 ... particulier_nom=Joly
1615 ... particulier_prenom=Frédérique
1616 ... om_collectivite=${collectivite_a}
1617 #
1618 &{args_demande_02} = Create Dictionary
1619 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1620 ... demande_type=Dépôt Initial
1621 ... date_demande=${date_ddmmyyyy}
1622 ... om_collectivite=${collectivite_a}
1623 #
1624 ${di_02} = Ajouter la nouvelle demande ${args_demande_02} ${args_petitionnaire_02}
1625
1626 # DI n°3 : Permis de construire comprenant ou non des démolitions dans Collectivité A (niveau mono)
1627 # => Affecté à l'instructeur '${utilisateur_nom_02}' (${utilisateur_login_02})
1628 # => Division 'L'
1629 #
1630 &{args_petitionnaire_03} = Create Dictionary
1631 ... particulier_nom=Boucher
1632 ... particulier_prenom=Bernadette
1633 ... om_collectivite=${collectivite_a}
1634 #
1635 &{args_demande_03} = Create Dictionary
1636 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1637 ... demande_type=Dépôt Initial
1638 ... date_demande=${date_ddmmyyyy}
1639 ... om_collectivite=${collectivite_a}
1640 #
1641 ${di_03} = Ajouter la nouvelle demande ${args_demande_03} ${args_petitionnaire_03}
1642
1643 # DI n°4 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité B (niveau mono)
1644 # => Affecté à l'instructeur '${utilisateur_nom_04}' (${utilisateur_login_04})
1645 # => Division 'H'
1646 #
1647 &{args_petitionnaire_04} = Create Dictionary
1648 ... particulier_nom=BOULAGE
1649 ... particulier_prenom=Damien
1650 ... om_collectivite=${collectivite_b}
1651 #
1652 &{args_demande_04} = Create Dictionary
1653 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1654 ... demande_type=Dépôt Initial
1655 ... date_demande=${date_ddmmyyyy}
1656 ... om_collectivite=${collectivite_b}
1657 #
1658 ${di_04} = Ajouter la nouvelle demande ${args_demande_04} ${args_petitionnaire_04}
1659
1660 # On applique l'événement "majoration + DPC hors SS" à chaque dossier et on met une
1661 # date d'envoi RAR à l'événement pour que les dossiers soient affichés dans le widget
1662 Ajouter une instruction au DI et la finaliser ${di_01} majoration + DPC hors SS ${date_ddmmyyyy}
1663 Click On SubForm Portlet Action instruction modifier_suivi
1664 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1665 Click On Submit Button In Subform
1666
1667 Ajouter une instruction au DI et la finaliser ${di_02} majoration + DPC hors SS ${date_ddmmyyyy}
1668 Click On SubForm Portlet Action instruction modifier_suivi
1669 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1670 Click On Submit Button In Subform
1671
1672 Ajouter une instruction au DI et la finaliser ${di_03} majoration + DPC hors SS ${date_ddmmyyyy}
1673 Click On SubForm Portlet Action instruction modifier_suivi
1674 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1675 Click On Submit Button In Subform
1676
1677 Ajouter une instruction au DI et la finaliser ${di_04} majoration + DPC hors SS ${date_ddmmyyyy}
1678 Click On SubForm Portlet Action instruction modifier_suivi
1679 Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1680 Click On Submit Button In Subform
1681
1682 #
1683 # Cas d'utilisation n°1
1684 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
1685 # - instructeur
1686 # - division
1687 # - aucun (collectivite)
1688 #
1689 # Vérification du :
1690 # - fonctionnement des filtres
1691 # - de la redirection vers le dossier
1692 # - des dossiers affichés dans le widget ET la liste "voir plus"
1693
1694 #
1695 ${widget_id} = Set Variable widget_10
1696
1697 ## Vérification du filtre par défaut (instructeur)
1698 # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR')
1699 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1700 Element Should Contain css=#${widget_id} ${di_02}
1701 Element Should Not Contain css=#${widget_id} ${di_01}
1702 Element Should Not Contain css=#${widget_id} ${di_03}
1703 Element Should Not Contain css=#${widget_id} ${di_04}
1704 Click Link ${di_02}
1705 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1706
1707 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1708 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#${widget_id} .widget-footer a
1709 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1710 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1711 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1712 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1713 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1714 Click Link ${di_02}
1715 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1716
1717 ## Vérification du filtre instructeur
1718 Depuis la page d'accueil admin admin
1719 Go To Tab om_widget
1720 Click On Link dossiers_evenement_incomplet_majoration
1721 Click On Form Portlet Action om_widget modifier
1722 Input Text texte filtre=instructeur
1723 Click On Submit Button
1724
1725 # L'instructeur doit seulement voir son dossier
1726 Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04}
1727 Element Should Contain css=#${widget_id} ${di_04}
1728 Element Should Not Contain css=#${widget_id} ${di_01}
1729 Element Should Not Contain css=#${widget_id} ${di_02}
1730 Element Should Not Contain css=#${widget_id} ${di_03}
1731
1732 Click Element css=#${widget_id} .widget-footer a
1733 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1734 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1735 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1736 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1737 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1738
1739 # Filtre sur la division
1740 Depuis la page d'accueil admin admin
1741 Go To Tab om_widget
1742 Click On Link dossiers_evenement_incomplet_majoration
1743 Click On Form Portlet Action om_widget modifier
1744 Input Text texte filtre=division
1745 Click On Submit Button
1746
1747 # On doit avoir les 2 dossiers de la division
1748 Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1749 Element Should Contain css=#${widget_id} ${di_02}
1750 Element Should Contain css=#${widget_id} ${di_04}
1751 Element Should Not Contain css=#${widget_id} ${di_01}
1752 Element Should Not Contain css=#${widget_id} ${di_03}
1753
1754 Click Element css=#${widget_id} .widget-footer a
1755 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1756 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1757 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1758 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1759 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1760
1761 # Filtre "aucun" donc sur la collectivité
1762 Depuis la page d'accueil admin admin
1763 Go To Tab om_widget
1764 Click On Link dossiers_evenement_incomplet_majoration
1765 Click On Form Portlet Action om_widget modifier
1766 Input Text texte filtre=aucun
1767 Click On Submit Button
1768
1769 # On doit avoir les 3 dossiers de la collectivité
1770 Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03}
1771 Element Should Contain css=#${widget_id} ${di_01}
1772 Element Should Contain css=#${widget_id} ${di_02}
1773 Element Should Contain css=#${widget_id} ${di_03}
1774 Element Should Not Contain css=#${widget_id} ${di_04}
1775 Click Element css=#${widget_id} .widget-footer a
1776 Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration
1777 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1778 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1779 Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1780 Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1781
1782 Dossier sans suffixe
1783
1784 [Documentation] Teste le workflow des DI lorsque l'initial n'a pas le suffixe P0
1785
1786 ${date_jour} = Date du jour FR
1787
1788 # Désactivation du suffixe pour les PCI initiaux
1789 Depuis la page d'accueil admin admin
1790 Go To Tab dossier_instruction_type
1791 Use Simple Search type de dossier d'autorisation détaillé PCI (Permis de construire pour une maison individuelle et / ou ses annexes)
1792 Click On Link Initial
1793 Click On Form Portlet Action dossier_instruction_type modifier
1794 Unselect Checkbox suffixe
1795 Click On Submit Button
1796
1797 # Nouveau DI initial sans le suffixe P0
1798 Depuis la page d'accueil guichet guichet
1799 &{args_petitionnaire} = Create Dictionary
1800 ... particulier_nom=Netton
1801 ... particulier_prenom=Valérie
1802 &{args_demande} = Create Dictionary
1803 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1804 ... demande_type=Dépôt Initial
1805 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1806 Should Not Contain ${di} P0
1807
1808 # Nouveau dossier sur existant
1809 Depuis la page d'accueil instr instr
1810 Ajouter une instruction au DI et la finaliser ${di} accepter un dossier sans réserve ${date_jour}
1811 Depuis la page d'accueil guichet guichet
1812 &{args_demande} = Create Dictionary
1813 ... demande_type=Demande de modification
1814 ${di_M01} = Ajouter la demande sur existant ${di} ${args_demande}
1815 Should Contain ${di_M01} M01
1816
1817 # Nouvel événement d'instruction sans création de dossier
1818 Depuis la page d'accueil instr instr
1819 Ajouter une instruction au DI et la finaliser ${di_M01} Notification de pieces manquante ${date_jour}
1820 Depuis la page d'accueil guichet guichet
1821 &{args_demande} = Create Dictionary
1822 ... demande_type=Dépôt de pièces complémentaire
1823 Ajouter la demande sur existant sans création de dossier ${di_M01} ${args_demande}
1824
1825 # Ré-activation du suffixe pour les PCI initiaux
1826 Depuis la page d'accueil admin admin
1827 Go To Tab dossier_instruction_type
1828 Use Simple Search type de dossier d'autorisation détaillé PCI (Permis de construire pour une maison individuelle et / ou ses annexes)
1829 Click On Link Initial
1830 Click On Form Portlet Action dossier_instruction_type modifier
1831 Select Checkbox suffixe
1832 Click On Submit Button

Properties

Name Value
svn:executable

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26