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

Annotation of /trunk/tests/050_instruction.robot

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26