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

Annotation of /trunk/tests/050_instruction.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 62027 byte(s)
Actualisation du trunk
1 mbroquet 3730 *** Settings ***
2     Documentation Test des évènements d'instruction.
3    
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9     # A chaque début de Test Case on se positionne sur le tableau bord administrateur
10     Test Setup Depuis la page d'accueil admin admin
11    
12    
13     *** Test Cases ***
14     Création du jeu de données
15    
16     [Documentation] Constitue le jeu de données.
17    
18     #
19     Depuis la page d'accueil guichet guichet
20     #
21     &{args_petitionnaire} = Create Dictionary
22     ... qualite=personne morale
23     ... personne_morale_denomination=Notaire&Co
24     ... personne_morale_raison_sociale=Société
25     ... personne_morale_civilite=Monsieur
26     ... personne_morale_nom=Martin
27     ... personne_morale_prenom=Nicolas
28    
29     &{args_demande} = Create Dictionary
30     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
31     ... demande_type=Dépôt Initial
32    
33     ${di_ok} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
34    
35     Depuis la page d'accueil admin admin
36     # Liste des valeurs pour le tableau des surfaces des données techniques
37     &{donnees_techniques_values} = Create Dictionary
38     ... su_avt_shon1=10
39     ... su_avt_shon2=10
40     ... su_avt_shon3=10
41     ... su_avt_shon4=10
42     ... su_avt_shon5=10
43     ... su_avt_shon6=10
44     ... su_avt_shon7=10
45     ... su_avt_shon8=10
46     ... su_avt_shon9=10
47     ... su_cstr_shon1=10
48     ... su_cstr_shon2=10
49     ... su_cstr_shon3=10
50     ... su_cstr_shon4=10
51     ... su_cstr_shon5=10
52     ... su_cstr_shon6=10
53     ... su_cstr_shon7=10
54     ... su_cstr_shon8=10
55     ... su_cstr_shon9=10
56     ... su_chge_shon1=10
57     ... su_chge_shon2=10
58     ... su_chge_shon3=10
59     ... su_chge_shon4=10
60     ... su_chge_shon5=10
61     ... su_chge_shon6=10
62     ... su_chge_shon7=10
63     ... su_chge_shon8=10
64     ... su_chge_shon9=10
65     ... su_demo_shon1=10
66     ... su_demo_shon2=10
67     ... su_demo_shon3=10
68     ... su_demo_shon4=10
69     ... su_demo_shon5=10
70     ... su_demo_shon6=10
71     ... su_demo_shon7=10
72     ... su_demo_shon8=10
73     ... su_demo_shon9=10
74     ... su_sup_shon1=10
75     ... su_sup_shon2=10
76     ... su_sup_shon3=10
77     ... su_sup_shon4=10
78     ... su_sup_shon5=10
79     ... su_sup_shon6=10
80     ... su_sup_shon7=10
81     ... su_sup_shon8=10
82     ... su_sup_shon9=10
83     Modifier les données techniques pour le calcul des surfaces ${di_ok} ${donnees_techniques_values}
84    
85     #
86     &{args_petitionnaire} = Create Dictionary
87     ... particulier_civilite=Monsieur
88     ... particulier_nom=Smith
89     ... particulier_prenom=John
90    
91     Depuis la page d'accueil guichet guichet
92     ${di_ko} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
93     #
94     Depuis la page d'accueil admin admin
95     #
96     Ajouter une instruction au DI ${di_ko} Consultation ERP ET IGH
97     # Liste des valeurs pour le tableau des surfaces des données techniques
98     &{donnees_techniques_values} = Create Dictionary
99     ... su_avt_shon1=10
100     ... su_avt_shon2=10
101     ... su_avt_shon3=10
102     ... su_avt_shon4=10
103     ... su_avt_shon5=10
104     ... su_avt_shon6=10
105     ... su_avt_shon7=10
106     ... su_avt_shon8=10
107     ... su_avt_shon9=10
108     ... su_cstr_shon1=10
109     ... su_cstr_shon2=10
110     ... su_cstr_shon3=10
111     ... su_cstr_shon4=10
112     ... su_cstr_shon5=10
113     ... su_cstr_shon6=10
114     ... su_cstr_shon7=10
115     ... su_cstr_shon8=10
116     ... su_cstr_shon9=10
117     ... su_chge_shon1=10
118     ... su_chge_shon2=10
119     ... su_chge_shon3=10
120     ... su_chge_shon4=10
121     ... su_chge_shon5=10
122     ... su_chge_shon6=10
123     ... su_chge_shon7=10
124     ... su_chge_shon8=10
125     ... su_chge_shon9=10
126     ... su_demo_shon1=10
127     ... su_demo_shon2=10
128     ... su_demo_shon3=10
129     ... su_demo_shon4=10
130     ... su_demo_shon5=10
131     ... su_demo_shon6=10
132     ... su_demo_shon7=10
133     ... su_demo_shon8=10
134     ... su_demo_shon9=10
135     ... su_sup_shon1=10
136     ... su_sup_shon2=10
137     ... su_sup_shon3=10
138     ... su_sup_shon4=10
139     ... su_sup_shon5=10
140     ... su_sup_shon6=10
141     ... su_sup_shon7=10
142     ... su_sup_shon8=10
143     ... su_sup_shon9=10
144     Modifier les données techniques pour le calcul des surfaces ${di_ko} ${donnees_techniques_values}
145     #
146     Set Suite Variable ${di_ok}
147     Set Suite Variable ${di_ko}
148    
149     Suivi des dates
150    
151     [Documentation] En tant qu'administrateur on doit pouvoir modifier les dates
152     ... d'un événément d'instruction finalisé sans avoir à le définaliser.
153    
154     # Variables
155     ${current_date_fr} = Date du jour FR
156     # Jeu de données
157     Depuis la page d'accueil guichet guichet
158     #
159     &{args_petitionnaire} = Create Dictionary
160     ... particulier_nom=Clavet
161     ... particulier_prenom=Sandrine
162     &{args_demande} = Create Dictionary
163     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
164     ... demande_type=Dépôt Initial
165     #
166     ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
167     #
168     Depuis la page d'accueil admin admin
169     #
170     Ajouter une instruction au DI ${di} Notification de pieces manquante
171     #
172     Depuis la page d'accueil instr instr
173     #
174     Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
175     Click On SubForm Portlet Action instruction finaliser
176     # L'instruction doit être finalisée et l'instructeur ne peut pas suivre les dates
177     Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
178     Portlet Action Should Be In SubForm instruction edition
179     Portlet Action Should Be In SubForm instruction definaliser
180     Portlet Action Should Not Be In SubForm instruction modifier_suivi
181     Portlet Action Should Not Be In SubForm instruction modifier
182     # On clique sur l'action "Suivi des dates"
183     Depuis la page d'accueil adminfonct adminfonct
184     Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
185     Click On SubForm Portlet Action instruction modifier_suivi
186     # On saisit les dates
187     Input Datepicker date_finalisation_courrier ${current_date_fr}
188     Input Datepicker date_envoi_signature ${current_date_fr}
189     Input Datepicker date_envoi_rar ${current_date_fr}
190     Input Datepicker date_envoi_controle_legalite ${current_date_fr}
191     Input Datepicker date_retour_signature ${current_date_fr}
192     Input Datepicker date_retour_rar ${current_date_fr}
193     Input Datepicker date_retour_controle_legalite ${current_date_fr}
194     Click On Submit Button In Subform
195     # On contrôle les dates saisies
196     Click On Back Button In Subform
197     Element Text Should Be date_finalisation_courrier ${current_date_fr}
198     Element Text Should Be date_envoi_signature ${current_date_fr}
199     Element Text Should Be date_envoi_rar ${current_date_fr}
200     Element Text Should Be date_envoi_controle_legalite ${current_date_fr}
201     Element Text Should Be date_retour_signature ${current_date_fr}
202     Element Text Should Be date_retour_rar ${current_date_fr}
203     Element Text Should Be date_retour_controle_legalite ${current_date_fr}
204     # On doit pouvoir modifier mais pas suivre les dates si l'on n'est pas admin
205     Depuis la page d'accueil instr instr
206     Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
207     Portlet Action Should Not Be In SubForm instruction modifier_suivi
208     Click On SubForm Portlet Action instruction definaliser
209     Click On SubForm Portlet Action instruction modifier
210     Element Must Be Disabled date_finalisation_courrier
211     Element Must Be Disabled date_envoi_signature
212     Element Must Be Disabled date_envoi_rar
213     Element Must Be Disabled date_retour_signature
214     Element Must Be Disabled date_retour_rar
215     Depuis la page d'accueil adminfonct adminfonct
216     Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante
217     Portlet Action Should Not Be In SubForm instruction modifier_suivi
218     Click On SubForm Portlet Action instruction modifier
219     Element Must Be Enabled date_finalisation_courrier
220     Element Must Be Enabled date_envoi_signature
221     Element Must Be Enabled date_envoi_rar
222     Element Must Be Enabled date_retour_signature
223     Element Must Be Enabled date_retour_rar
224    
225     Régénérer le récépissé de dépôt
226    
227     [Documentation] Régénère le récépissé de dépôt de la demande après une
228     ... modification du dossier d'instruction par le guichet unique. Vérifie
229     ... aussi que le guichet unique n'a pas les droits sur un di déjà en
230     ... instruction.
231    
232     #
233     Depuis la page d'accueil guichet guichet
234     #
235     Depuis le contexte du dossier d'instruction ${di_ok}
236     # Vérifie que l'action modifier est disponible
237     Portlet Action Should Be In Form dossier_instruction modifier
238     # Vérifie que l'action de régénération est disponible
239     Portlet Action Should Be In Form dossier_instruction recepisse
240     #
241     Depuis le formulaire de modification du dossier d'instruction ${di_ok}
242     # On modifie l'adresse du terrain
243     Open Fieldset dossier_instruction localisation-du-terrain
244     Input Text terrain_adresse_voie_numero 10
245     Input Text terrain_adresse_voie Rue des Arts
246     # On valide le formulaire
247     Click On Submit Button
248     # Vérification du message de validation
249     Valid Message Should Be Vos modifications ont bien été enregistrées.
250     #
251     Depuis le contexte du dossier d'instruction ${di_ok}
252     # On régénère le récépissé de demande
253     Click On Form Portlet Action dossier_instruction recepisse
254     # On vérifie le message de validation
255     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
256     # On ouvre le PDF
257     Click Link css=#telecharger_recepisse
258     # XXX Debug
259     ${test} = Get Window Titles
260     Log ${test}
261     Open PDF file
262     # On vérifie la localisation du terrain
263     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 10 Rue des Arts
264     # On ferme le PDF
265     Close PDF
266     #
267     Depuis le contexte du dossier d'instruction ${di_ko}
268     # Vérifie que l'action modifier est disponible
269     Portlet Action Should Not Be In Form dossier_instruction modifier
270     # Vérifie que l'action de régénération est disponible
271     Portlet Action Should Not Be In Form dossier_instruction recepisse
272    
273     Lien vers le di dans le message de validation de la demande
274    
275     [Documentation] Vérifie si le lien dans le message de validation est
276     ... fonctionnel.
277    
278     #
279     Depuis la page d'accueil guichet guichet
280     #
281     &{args_petitionnaire} = Create Dictionary
282     ... particulier_nom=DUPONT
283     ... particulier_prenom=Geralt
284    
285     &{args_demande} = Create Dictionary
286     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
287     ... demande_type=Dépôt Initial
288     ${libelle_di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
289     # On clique sur le lien vers le DI du message de validation
290     Click Link css=#link_demande_dossier_instruction
291     # On vérifie le fil d'Ariane
292     Page Title Should Be Instruction > Dossiers D'instruction > ${libelle_di} DUPONT GERALT
293    
294     Finalisation
295     [Documentation] L'objet de ce 'Test Case' est de vérifier le log de
296     ... l'utilisateur qui a finalisé l'évènement.
297    
298     # Constitution du jeu de données : deux utilisateurs dont un est instructeur
299     # car si tel est le cas son nom d'instructeur surcharge son nom d'utilisateur.
300     # En tant qu'administrateur
301     Depuis la page d'accueil admin admin
302     # Donnée 1/3 : guichetier
303     Ajouter l'utilisateur depuis le menu Margand Joanna [email protected] guimars guimars GUICHET UNIQUE MARSEILLE
304     # Donnée 2/3 : instructeur
305     Ajouter l'utilisateur depuis le menu Marois Alain -UTIL- [email protected] instrmars instrmars INSTRUCTEUR MARSEILLE
306     Ajouter l'instructeur depuis le menu Marois Alain -INSTR- subdivision H Marois Alain -UTIL-
307     # Donnée 3/3 : affectation automatique du nouvel instructeur
308     Ajouter l'affectation depuis le menu Marois Alain -INSTR- null MARSEILLE
309    
310     # En tant que guichetier
311     Depuis la page d'accueil guimars guimars
312     # On crée une nouvelle demande via le tableau de bord
313     &{args_petitionnaire} = Create Dictionary
314     ... particulier_nom=Perrault
315     ... particulier_prenom=Sophie
316    
317     &{args_demande} = Create Dictionary
318     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
319     ... demande_type=Dépôt Initial
320     # On crée une nouvelle demande via le tableau de bord
321     ${di_libelle} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
322     # En tant qu'instructeur de Martigues
323     Depuis la page d'accueil instrmars instrmars
324     # On ouvre l'onglet instruction du nouveau DI
325     Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
326     # On accède à l'instruction
327     Click On Link Notification du delai legal maison individuelle
328     # On vérifie qu'elle a été finalisée par le guichetier automatiquement
329     # lors de la création
330     Wait Until Element Is Visible om_final_instruction_utilisateur
331     Element Text Should Be om_final_instruction_utilisateur guimars (Margand Joanna)
332     # On reprend la rédaction
333     Click On SubForm Portlet Action instruction definaliser
334     # On vérifie qu'il n'y a pas le champ "finalisé par"
335     Element Should Not Be Visible om_final_instruction_utilisateur
336     # On finalise
337     Click On SubForm Portlet Action instruction finaliser
338     # On vérifie le log
339     Wait Until Element Is Visible om_final_instruction_utilisateur
340     Element Text Should Be om_final_instruction_utilisateur instrmars (Marois Alain -INSTR-)
341    
342     Définalisation d'instruction
343    
344     [Documentation] Permet de vérifier qu'un utilisateur hors division ne peut
345     ... définaliser un événement d'instruction.
346    
347     Depuis la page d'accueil instr2 instr
348     Depuis le contexte du dossier d'instruction ${di_ko}
349     # On clique sur le lien Instruction
350     Click On Link css=#instruction
351     # On clique sur la 1ere instruction
352     Click On Link Notification du delai legal maison individuelle
353     # Vérification que l'instructeur ne peut pas definaliser
354     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#sousform-instruction div#portlet-actions Reprendre la rédaction du document
355    
356     Génération du bordereau d'envoi au maire
357     [Documentation] L'objet de ce 'Test Case' est de vérifier la génération
358     ... du PDF ainsi que la mise à jour de la date d'envoi du courrier
359     ... pour signature par le maire.
360    
361     # Constitution du jeu de données : un DI commune pour lequel un utilisateur
362     # communauté génère l'édition
363     Depuis la page d'accueil admin admin
364     # Donnée 1/3 : guichetier
365     Ajouter l'utilisateur depuis le menu Legault Simone [email protected] guimars2 guimars2 GUICHET UNIQUE MARSEILLE
366     # Donnée 2/3 : instructeur
367     Ajouter l'utilisateur depuis le menu Garcia Gabriel [email protected] instrmars2 instrmars2 INSTRUCTEUR MARSEILLE
368     Ajouter l'instructeur depuis le menu Garcia Gabriel subdivision H Garcia Gabriel
369     # Donnée 3/3 : affectation automatique du nouvel instructeur
370     Ajouter l'affectation depuis le menu Garcia Gabriel null MARSEILLE
371    
372     # En tant que guichetier
373     Depuis la page d'accueil guimars2 guimars2
374     # On crée une nouvelle demande via le tableau de bord
375     &{args_petitionnaire} = Create Dictionary
376     ... particulier_nom=Brousseau
377     ... particulier_prenom=Henry
378    
379     &{args_demande} = Create Dictionary
380     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
381     ... demande_type=Dépôt Initial
382     ${di_libelle} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
383    
384     # En tant qu'instructeur
385     Depuis la page d'accueil instrmars2 instrmars2
386     # On récupère l'identifiant de l' événement d'instruction
387     Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
388     Click On Link Notification du delai legal maison individuelle
389     ${id_instruction} = Get Text css=div#form-content span#instruction
390     # On en déduit le code-barres
391     ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0
392     ${code_barres} = Catenate 11${code_barres}
393    
394     # En tant qu'administrateur
395     Depuis la page d'accueil admin admin
396     # On ouvre l'interface de génération du bordereau
397     Depuis le formulaire d'édition du bordereau d'envoi au maire
398     # On saisit un mauvais code-barres
399     Saisir le formulaire du bordereau d'envoi au maire ${code_barres}1
400     # On valide le formulaire
401     Valider le formulaire du bordereau d'envoi au maire
402     # On vérifie le message d'erreur
403     Error Message Should Be Le numéro saisi ne correspond a aucun code-barres d’événement d'instruction.
404     # On saisit un code-barres valide
405     Saisir le formulaire du bordereau d'envoi au maire ${code_barres}
406     # On revalide le formulaire
407     Valider le formulaire du bordereau d'envoi au maire
408     # On clique sur le lien de l'édition
409     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element generer_bordereau_envoi_maire
410     # On vérifie le contenu du PDF généré
411     Open PDF form
412     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} PDF Pages Number Should Be 1
413     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain bordereau d'envoi
414     Close PDF
415     # On accède à l'événement d'instruction
416     Depuis l'onglet instruction du dossier d'instruction ${di_libelle}
417     Click On Link Notification du delai legal maison individuelle
418     ${date_fr} = Date du jour FR
419     Element Text Should Be date_envoi_signature ${date_fr}
420    
421    
422     Vérification du récapitulatif du dossier d'instruction
423    
424     [Documentation] Vérifie l'affichage des champs de fusion sur un dossier
425     ... d'instruction.
426    
427     Depuis la page d'accueil instr instr
428     Depuis le contexte du dossier d'instruction ${di_ko}
429     # On clique sur l'action édition
430     Click On Form Portlet Action dossier_instruction edition
431     # On ouvre le PDF
432     Open PDF form
433     # On vérifie le pétitionnaire principal
434     Wait Until Keyword Succeeds 5 sec 0.2 sec Page Should Contain Monsieur Smith John
435     # On vérifie le résultat total du tableau des surface
436     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
437     # On ferme le PDF
438     Close PDF
439    
440    
441     Vérification de l'édition de l'instruction
442    
443     [Documentation] Vérifie l'affichage des champs de fusion sur une
444     ... instruction.
445    
446     Depuis la page d'accueil instr instr
447     Depuis l'instruction du dossier d'instruction ${di_ok} Notification du delai legal maison individuelle
448     # On clique sur l'action édition
449     Click On SubForm Portlet Action instruction edition
450     # On ouvre le PDF
451     Open PDF file
452     # On vérifie le pétitionnaire principal
453     Wait Until Keyword Succeeds 5 sec 0.2 sec Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas
454     # On vérifie le résultat total du tableau des surface
455     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
456     # On ferme le PDF
457     Close PDF
458    
459    
460     Vérification de l'édition du rapport d'instruction
461    
462     [Documentation] Vérifie l'affichage des champs de fusion sur un rapport
463     ... d'instruction.
464    
465     #
466     Depuis la page d'accueil instr instr
467     #
468     Depuis le contexte du rapport d'instruction ${di_ok}
469     # On valide le rapport d'instruction
470     Click On Submit Button In Subform
471     # On vérifie le message de validation
472     Valid Message Should Contain Vos modifications ont bien été enregistrées.
473     # On clique sur le bouton retour
474     Click On Back Button In Subform
475     #
476     Depuis le contexte du rapport d'instruction ${di_ok}
477     # On clique sur l'action de finaliser
478     Wait Until Keyword Succeeds 5 sec 0.2 sec Click On SubForm Portlet Action rapport_instruction finalise
479     Wait Until Keyword Succeeds 5 sec 0.2 sec Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès.
480     # On clique sur l'action édition
481     Click On SubForm Portlet Action rapport_instruction edition
482     # On ouvre le PDF
483     Open PDF file
484     # On vérifie le pétitionnaire principal
485     Wait Until Keyword Succeeds 5 sec 0.2 sec Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas
486     # On vérifie le résultat total du tableau des surface
487     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
488     # On ferme le PDF
489     Close PDF
490    
491     Changement de décision par commune
492     [Documentation] L'objet de ce 'Test Case' est de vérifier le changement de
493     ... décision par un instructeur polyvalent commune
494    
495    
496     # Création de l'action de workflow "changement de décision"
497     &{args_action} = Create Dictionary
498     ... action=changer_decision
499     ... libelle=Changer la décision
500     ... regle_etat=etat
501    
502     Ajouter l'action depuis le menu ${args_action}
503    
504     # Création d'un événement de workflow de changement de décision
505     @{etat_source} = Create List dossier accepter dossier accepté tacitement dossier rejeter manque de pieces delai de notification envoye
506     @{type_di} = Create List PA - P - Initial PCI - P - Initial
507    
508     &{args_evenement} = Create Dictionary
509     ... libelle=Modification décision
510     ... type=changement de décision
511     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
512     ... dossier_instruction_type=${type_di}
513     ... action=Changer la décision
514     ... etat=delai de notification envoye
515    
516     Ajouter l'événement depuis le menu ${args_evenement}
517    
518     # Création d'un DI sur lequel on testera le changement de décision par
519     # instructeur polyvalent commune
520     Depuis la page d'accueil instrpoly instrpoly
521    
522     &{args_petitionnaire} = Create Dictionary
523     ... particulier_nom=Halliwell
524     ... particulier_prenom=Geri
525     ... om_collectivite=MARSEILLE
526     &{args_demande} = Create Dictionary
527     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
528     ... demande_type=Dépôt Initial
529     ... om_collectivite=MARSEILLE
530     ${di_change_decision} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
531    
532     Depuis la page d'accueil admin admin
533     Modifier le paramètre option_afficher_division true agglo
534    
535     Modifier le dossier d'instruction ${di_change_decision} Poly (H)
536    
537     Depuis la page d'accueil instrpolycomm instrpolycomm
538     ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
539     Should Not Contain ${widget_content} ${di_change_decision}
540    
541     Depuis la page d'accueil instrpoly instrpoly
542    
543     # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
544     Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS
545     Click On Back Button In Subform
546     Click On Link ARRÊTÉ DE REFUS
547     Click On SubForm Portlet Action instruction finaliser
548    
549     # Connexion avec l'instructeur polyvalent commune
550     Depuis la page d'accueil instrpolycomm instrpolycomm
551     ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
552     Should Contain ${widget_content} ${di_change_decision}
553     # On clic pour voir tous les dossiers
554     Click On Link Voir les dossiers auxquels on peut proposer une autre décision
555     # On clic sur le DI
556     Click On Link ${di_change_decision}
557     #
558     On clique sur l'onglet instruction Instruction
559     # Ajout de l'événement d'instruction de modification de décision
560     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
561     #
562     Saisir instruction Modification décision
563     # On valide le formulaire
564     Click On Submit Button In Subform
565     # On vérifie le message de validation
566     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
567    
568     Depuis la page d'accueil instrpolycomm2 instrpolycomm2
569     # Changement de la décision
570     Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS 2
571    
572     Depuis la page d'accueil instrpolycomm instrpolycomm
573     # On finalise avec un autre instructeur polyvalent commune
574     Depuis l'onglet instruction du dossier d'instruction ${di_change_decision}
575     Click On Link ARRÊTÉ DE REFUS 2
576     ${id_instruction} = Get Text css=div#form-content span#instruction
577     Click On SubForm Portlet Action instruction finaliser
578    
579     # En tant qu'instructeur
580     Depuis la page d'accueil instrpoly instrpoly
581    
582     # On en déduit le code-barres
583     ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0
584     ${code_barres} = Catenate 11${code_barres}
585     Go To Submenu In Menu suivi suivi_mise_a_jour_des_dates
586     Select From List By Label css=#type_mise_a_jour date de retour de l'AR
587     ${date} = Date du jour FR
588     Input Text date ${date}
589     Input Text code_barres ${code_barres}
590     # On valide le formulaire
591     Click Element css=#formulaire div.formControls input[type="submit"]
592     Click Element css=#formulaire div.formControls input[type="submit"]
593    
594     Depuis la page d'accueil instrpolycomm instrpolycomm
595     ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
596     Should Not Contain ${widget_content} ${di_change_decision}
597    
598    
599     Widget "Recherche Dossier"
600    
601     [Documentation] L'objet de ce 'Test Case' est de vérifier le
602     ... fonctionnement du widget 'Recherche Dossier'
603     ... (widget_recherche_dossier)
604    
605     # En tant qu'instructeur
606     Depuis la page d'accueil instr instr
607    
608     #
609     # Cas d'utilisation n°1
610     #
611     # Saisie d'un numéro de dossier complet (avec et sans espaces)
612     #
613    
614     #
615     Go to dashboard
616     #
617     Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC 013055 12 00001P0
618     #
619     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
620     #
621     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
622     #
623     Page Should Not Contain Errors
624     #
625     Go to dashboard
626     #
627     Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC0130551200001P0
628     #
629     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
630     #
631     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
632     #
633     Page Should Not Contain Errors
634    
635    
636     #
637     # Cas d'utilisation n°2
638     #
639     # Saisie d'une portion d'un numéro de dossier
640     #
641    
642     # Cas 2a : un seul dossier
643     Go to dashboard
644     #
645     Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC*5120*1P0
646     #
647     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
648     #
649     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES
650     #
651     Page Should Not Contain Errors
652     #
653    
654     # Cas 2b : plusieurs dossiers
655     Go to dashboard
656     #
657     Input Text css=#dashboard div.widget_recherche_dossier input#dossier 013055
658     #
659     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
660     #
661     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction
662     #
663     Page Should Not Contain Errors
664     #
665     Textfield Value Should Be css=#advanced-form #dossier *013055
666    
667    
668     #
669     # Cas d'utilisation n°3
670     #
671     # Saisie d'un numéro de dossier inexistant
672     #
673    
674     #
675     Go to dashboard
676     #
677     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ZZZZZZZZZZZZ
678     #
679     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
680     #
681     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
682     #
683     Page Should Not Contain Errors
684     #
685     Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé
686    
687    
688     #
689     # Cas d'utilisation n°4
690     #
691     # Aucune valeur saisie
692     #
693    
694     #
695     Go to dashboard
696     #
697     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
698     #
699     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
700     #
701     Page Should Not Contain Errors
702     #
703     Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Veuillez saisir un No de dossier.
704    
705    
706     #
707     # TNR Bug "Erreur de base de données" lors de saisie de caractères spéciaux
708     #
709    
710     #
711     Go to dashboard
712     #
713     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ;"?#'
714     #
715     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
716     #
717     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord
718     #
719     Page Should Not Contain Errors
720    
721    
722     Widget "Dossiers Limites"
723    
724     [Documentation] L'objet de ce 'Test Case' est de vérifier le
725     ... fonctionnement du widget 'Dossiers Limites'
726     ... (widget_dossiers_limites)
727    
728     #
729     # Cas d'utilisation n°1
730     # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
731     # - instructeur
732     # - division
733     # - aucun
734     #
735    
736     # ATTENTION : ce test case dépend des jeux de données init_data
737     ${di_instr_1_division_1_commune_1} = Set Variable DP 013055 12 00001P0
738     ${di_instr_2_division_1_commune_1} = Set Variable PC 013055 12 00001P0
739     ${di_instr_3_division_2_commune_1} = Set Variable PD 013055 12 00001P0
740    
741     # Filtre sur l'instructeur
742     Depuis la page d'accueil admin admin
743     Go To Tab om_widget
744     Click On Link dossiers_limites
745     Click On Form Portlet Action om_widget modifier
746     Input Text texte filtre=instructeur
747     Click On Submit Button
748     #
749     Depuis la page d'accueil instr instr
750     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
751     Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
752     Element Should Not Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
753     Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
754     Click Element css=.widget_dossiers_limites .widget-footer a
755     Page Title Should Be Instruction > Dossiers Limites
756     Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
757     Element Should Not Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
758     Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
759    
760     # Filtre sur la division
761     Depuis la page d'accueil admin admin
762     Go To Tab om_widget
763     Click On Link dossiers_limites
764     Click On Form Portlet Action om_widget modifier
765     Input Text texte filtre=division
766     Click On Submit Button
767     #
768     Depuis la page d'accueil instr instr
769     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
770     Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
771     Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
772     Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
773     Click Element css=.widget_dossiers_limites .widget-footer a
774     Page Title Should Be Instruction > Dossiers Limites
775     Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
776     Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
777     Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
778    
779     #
780     Depuis la page d'accueil admin admin
781     Go To Tab om_widget
782     Click On Link dossiers_limites
783     Click On Form Portlet Action om_widget modifier
784     Input Text texte filtre=aucun
785     Click On Submit Button
786     #
787     Depuis la page d'accueil instr instr
788     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
789     Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1}
790     Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1}
791     Element Should Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1}
792     Click Element css=.widget_dossiers_limites .widget-footer a
793     Page Title Should Be Instruction > Dossiers Limites
794     Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1}
795     Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1}
796     Element Should Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1}
797    
798     #
799     # Cas d'utilisation n°2
800     # Un paramètre permet de filtrer sur les types de dossiers qui apparaissent
801     #
802    
803     # ATTENTION : ce test case dépend des jeux de données init_data
804     ${di_type_dp} = Set Variable DP 013055 12 00001P0
805     ${di_type_pc} = Set Variable PC 013055 12 00001P0
806    
807     #
808     Depuis la page d'accueil admin admin
809     Go To Tab om_widget
810     Click On Link dossiers_limites
811     Click On Form Portlet Action om_widget modifier
812     Input Text texte codes_datd=PCI;PCA;PC\nfiltre=aucun
813     Click On Submit Button
814     #
815     Depuis la page d'accueil instr instr
816     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
817     Element Should Contain css=.widget_dossiers_limites ${di_type_pc}
818     Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
819     Click Element css=.widget_dossiers_limites .widget-footer a
820     Page Title Should Be Instruction > Dossiers Limites
821     Element Should Contain css=#tab-dossiers_limites ${di_type_pc}
822     Element Should Not Contain css=#tab-dossiers_limites ${di_type_dp}
823    
824     #
825     Depuis la page d'accueil admin admin
826     Go To Tab om_widget
827     Click On Link dossiers_limites
828     Click On Form Portlet Action om_widget modifier
829     Input Text texte codes_datd=DP;DPS\nfiltre=aucun
830     Click On Submit Button
831     #
832     Depuis la page d'accueil instr instr
833     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
834     Element Should Contain css=.widget_dossiers_limites ${di_type_dp}
835     Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
836     Click Element css=.widget_dossiers_limites .widget-footer a
837     Page Title Should Be Instruction > Dossiers Limites
838     Element Should Contain css=#tab-dossiers_limites ${di_type_dp}
839     Element Should Not Contain css=#tab-dossiers_limites ${di_type_pc}
840    
841     #
842     Depuis la page d'accueil admin admin
843     Go To Tab om_widget
844     Click On Link dossiers_limites
845     Click On Form Portlet Action om_widget modifier
846     Input Text texte codes_datd=ZZ\nfiltre=aucun
847     Click On Submit Button
848     #
849     Depuis la page d'accueil instr instr
850     Element Should Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
851     Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp}
852     Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc}
853     Element Should Not Contain css=.widget_dossiers_limites Voir +
854    
855     #
856     # Cas d'utilisation n°3
857     # Vérifier le paramètre nombre de jours
858     #
859    
860     #
861     # Cas d'utilisation n°4
862     # Vérfier les cas de date limite et de l'état du dossier
863     # TEST provenant de testWidget.php (test_dossier_limite)
864     # XXX les dossiers utilisés ici ne sont pas dans un état cohérent pour apparaître
865     ${di_limite} = Set Variable PD 013055 12 00001P0
866     ${di_limite_incomplet} = Set Variable AT 013055 13 00001P0
867    
868     # Filtre sur la division
869     Depuis la page d'accueil admin admin
870     Go To Tab om_widget
871     Click On Link dossiers_limites
872     Click On Form Portlet Action om_widget modifier
873     Input Text texte filtre=aucun
874     Click On Submit Button
875     #
876     Depuis la page d'accueil divi divi
877     Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment.
878     Element Should Contain css=.widget_dossiers_limites ${di_limite}
879     Element Should Contain css=.widget_dossiers_limites ${di_limite_incomplet}
880     Click Element css=.widget_dossiers_limites .widget-footer a
881     Page Title Should Be Instruction > Dossiers Limites
882     Element Should Contain css=#tab-dossiers_limites ${di_limite}
883     Element Should Contain css=#tab-dossiers_limites ${di_limite_incomplet}
884    
885     TNR Bug instructeur commune modifier finaliser définaliser instruction
886    
887     Depuis la page d'accueil instrpolycomm instrpolycomm
888    
889     &{args_petitionnaire} = Create Dictionary
890     ... particulier_nom=Dupont
891     ... particulier_prenom=Marc
892     &{args_demande} = Create Dictionary
893     ... dossier_autorisation_type_detaille=DECLARATION PREALABLE SIMPLE
894     ... demande_type=Dépôt Initial
895     ${di} = Ajouter la nouvelle demande depuis le menu ${args_demande} ${args_petitionnaire}
896    
897     Depuis l'onglet instruction du dossier d'instruction ${di}
898     Click On Link Notification du delai legal maison individuelle
899     Click On SubForm Portlet Action instruction definaliser
900     Click On SubForm Portlet Action instruction modifier
901     Click On Submit Button In Subform
902     Click On Back Button In Subform
903     Click On SubForm Portlet Action instruction finaliser
904    
905     TNR Bug instructeur commune ajout d'evenements autre que décision
906    
907     Depuis la page d'accueil instrpolycomm2 instrpolycomm2
908    
909     &{args_petitionnaire} = Create Dictionary
910     ... particulier_nom=Dupont
911     ... particulier_prenom=Francis
912     &{args_demande} = Create Dictionary
913     ... dossier_autorisation_type_detaille=Certificat d'urbanisme
914     ... demande_type=Dépôt Initial
915     ${di} = Ajouter la nouvelle demande depuis le menu ${args_demande} ${args_petitionnaire}
916    
917     Ajouter une instruction au DI ${di} Commission Communale de Sécurité
918    
919    
920     TNR Bug instructeur commune ajout d'evenements sur dossier cloturé
921    
922     Depuis la page d'accueil instrpolycomm instrpolycomm
923    
924     &{args_petitionnaire} = Create Dictionary
925     ... particulier_nom=Dupont
926     ... particulier_prenom=Albert
927     &{args_demande} = Create Dictionary
928     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
929     ... demande_type=Dépôt Initial
930     ${di} = Ajouter la nouvelle demande depuis le menu ${args_demande} ${args_petitionnaire}
931    
932     Depuis la page d'accueil instrpoly instrpoly
933     Ajouter une instruction au DI ${di} accepter un dossier avec reserve
934     Click On Back Button In Subform
935     Click Link accepter un dossier avec reserve
936     # On finalise
937     Click On SubForm Portlet Action instruction finaliser
938    
939     Depuis la page d'accueil instrpolycomm instrpolycomm
940     ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
941     Should Not Contain ${widget_content} ${di}
942    
943     Depuis l'onglet instruction du dossier d'instruction ${di}
944     Should Not Contain css=#sousform-instruction action-soustab-instruction-corner-ajouter
945    
946    
947     TNR Bug type de dossiers auxquels un instructeur commune peut changer la décision
948     [Documentation] Les types de demande DOC DAACT et PRO ne doivent pas
949     ... apparaître dans le widget des dossiers auxquels on peut changer la décision
950    
951     # Création d'un DI initial
952     Depuis la page d'accueil instrpoly instrpoly
953    
954     &{args_petitionnaire} = Create Dictionary
955     ... particulier_nom=Beckham
956     ... particulier_prenom=Victoria
957     ... om_collectivite=MARSEILLE
958     &{args_demande} = Create Dictionary
959     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
960     ... demande_type=Dépôt Initial
961     ... om_collectivite=MARSEILLE
962     ${di_change_decision} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
963    
964     # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
965     Ajouter une instruction au DI ${di_change_decision} accepter un dossier sans réserve
966     Click On Back Button In Subform
967     Click On Link accepter un dossier sans réserve
968     Click On SubForm Portlet Action instruction finaliser
969    
970     &{args_demande} = Create Dictionary
971     ... demande_type=Demande d'ouverture de chantier
972     ... om_collectivite=MARSEILLE
973     ${di_change_decision_2} = Ajouter la demande sur existant depuis le tableau de bord ${di_change_decision} ${args_demande}
974    
975     Depuis la page d'accueil admin admin
976     Modifier le paramètre option_afficher_division true agglo
977     Modifier le dossier d'instruction ${di_change_decision_2} Poly (H)
978    
979     # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera
980     Ajouter une instruction au DI ${di_change_decision_2} ARRÊTÉ DE REFUS
981     Click On Back Button In Subform
982     Click On Link ARRÊTÉ DE REFUS
983     Click On SubForm Portlet Action instruction finaliser
984    
985     Depuis la page d'accueil instrpolycomm instrpolycomm
986     # Vérification widget
987     ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise
988     Should Not Contain ${widget_content} ${di_change_decision_2}
989     # Vérification tableau
990     Go To Tab dossier_instruction&decision=true
991     Page Should Not Contain ${di_change_decision_2}
992    
993     TNR Nature des travaux dans la description du DI
994     [Documentation] Concernant les données techniques sur la nature des travaux,
995     ... lorsque les cases sont cochées alors la description du projet les affiche.
996    
997     # Création d'un DI initial de type AT
998     Depuis la page d'accueil instrpoly instrpoly
999    
1000     &{args_petitionnaire} = Create Dictionary
1001     ... particulier_nom=Hasselhoff
1002     ... particulier_prenom=David
1003     ... om_collectivite=MARSEILLE
1004     &{args_demande} = Create Dictionary
1005     ... dossier_autorisation_type_detaille=Demande d'autorisation de construire, d'aménager ou de modifier un ERP
1006     ... demande_type=Dépôt Initial
1007     ... om_collectivite=MARSEILLE
1008     ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1009    
1010     # On coche les cases du CERFA sur la nature des travaux
1011     Depuis le contexte du dossier d'instruction ${di}
1012     Click On Form Portlet Action dossier_instruction donnees_techniques
1013     Click On SubForm Portlet Action donnees_techniques modifier
1014     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset[id*='amenager-ou-modifier-un-erp'] > legend
1015     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=fieldset[id*='amenager-ou-modifier-un-erp'] > div.fieldsetContent
1016     Select Checkbox erp_cstr_neuve
1017     Select Checkbox erp_trvx_acc
1018     Select Checkbox erp_extension
1019     Select Checkbox erp_rehab
1020     Select Checkbox erp_trvx_am
1021     Select Checkbox erp_vol_nouv_exist
1022     Click On Submit Button In Subform
1023     Click On Back Button In Subform
1024     # On contrôle la description du projet
1025     Reload Page
1026     Element Should Contain description_projet Construction neuve
1027     Element Should Contain description_projet Travaux de mise en conformité totale aux règles d’accessibilité
1028     Element Should Contain description_projet Extension
1029     Element Should Contain description_projet Réhabilitation
1030     Element Should Contain description_projet Travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple)
1031     Element Should Contain description_projet Création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple)
1032    
1033    
1034     TNR Vérifie que l'instructeur n'est pas impacté par la restriction du guichet unique
1035    
1036     [Documentation] Vérifie que l'instructeur peut toujours modifier le dossier
1037     ... d'instruction, même si la restriction imposée pour le guichet unique
1038     ... n'est pas respectée. Le guichet unique ne peut modifier le dossier
1039     ... d'instruction qu'a condition que sa seule instruction soit son
1040     ... récépissé.
1041    
1042     #
1043     Depuis la page d'accueil admin admin
1044     #
1045     Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1046    
1047     #
1048     Depuis la page d'accueil guichetsuivi guichetsuivi
1049     # On ajoute un dossier d'instruction
1050     &{args_petitionnaire} = Create Dictionary
1051     ... particulier_nom=DUPONT
1052     ... particulier_prenom=Geralt
1053     &{args_demande} = Create Dictionary
1054     ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1055     ... demande_type=Dépôt Initial
1056     ${libelle_di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1057     #
1058     Depuis le contexte du dossier d'instruction ${libelle_di}
1059     # Vérifie l'action modifier pour le guichet et suivi
1060     Portlet Action Should Be In Form dossier_instruction modifier
1061     # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1062     Portlet Action Should Be In Form dossier_instruction recepisse
1063     #
1064     Depuis la page d'accueil instrpoly instrpoly
1065     #
1066     Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1067     # Vérifie l'action modifier pour l'instructeur polyvalent
1068     Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1069     #
1070     Ajouter une instruction au DI ${libelle_di} majoration_IGH
1071     #
1072     Depuis le contexte du dossier d'instruction de mes encours ${libelle_di}
1073     # Vérifie l'action modifier pour l'instructeur polyvalent
1074     Portlet Action Should Be In Form dossier_instruction_mes_encours modifier
1075    
1076     #
1077     Depuis la page d'accueil guichetsuivi guichetsuivi
1078     #
1079     Depuis le contexte du dossier d'instruction ${libelle_di}
1080     # Vérifie l'action modifier pour le guichet et suivi
1081     Portlet Action Should Not Be In Form dossier_instruction modifier
1082     # Vérifie l'action de régénérer le récépissé pour le guichet et suivi
1083     Portlet Action Should Not Be In Form dossier_instruction recepisse
1084    
1085     #
1086     Depuis la page d'accueil admin admin
1087     #
1088     Supprimer l'affectation depuis le menu Poly
1089    
1090    
1091     TNR L'intructeur qui prend le rôle du guichet doit avoir la possibilité de modifier le dossier d'instruction
1092    
1093     [Documentation] Vérifie que l'instructeur d'une commune puisse modifier le
1094     ... dossier d'instruction qu'il a ajouté mais qui est affecté à un
1095     ... instructeur de la communauté. Un autyre isntructeur de la même commune
1096     ... devrait pouvoir aussi modifier ce dossier d'instruction.
1097    
1098     #
1099     Depuis la page d'accueil admin admin
1100     #
1101     Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE
1102    
1103     # Instructeur commune qui ajoute la demande mais n'est pas responsable du DI
1104     Depuis la page d'accueil instrpolycomm instrpolycomm
1105     # On ajoute une demande
1106     &{args_petitionnaire} = Create Dictionary
1107     ... particulier_nom=Dunphy
1108     ... particulier_prenom=Phil
1109     &{args_demande} = Create Dictionary
1110     ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
1111     ... demande_type=Dépôt Initial
1112     ${libelle_di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1113     #
1114     Depuis le contexte du dossier d'instruction ${libelle_di}
1115     # Vérifie que l'action modifier est disponible
1116     Portlet Action Should Be In Form dossier_instruction modifier
1117     # Vérifie que l'action de régénérer le récépissé est disponible
1118     Portlet Action Should Be In Form dossier_instruction recepisse
1119    
1120     # Instructeur de la même commune qui n'est pas responsable aussi
1121     Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1122     #
1123     Depuis le contexte du dossier d'instruction ${libelle_di}
1124     # Vérifie que l'action modifier est disponible
1125     Portlet Action Should Be In Form dossier_instruction modifier
1126     # Vérifie que l'action de régénérer le récépissé est disponible
1127     Portlet Action Should Be In Form dossier_instruction recepisse
1128    
1129     # Instructeur communauté affecté au dossier
1130     Depuis la page d'accueil instrpoly instrpoly
1131     #
1132     Depuis le contexte du dossier d'instruction ${libelle_di}
1133     # Vérifie que l'action modifier est disponible
1134     Portlet Action Should Be In Form dossier_instruction modifier
1135     # Vérifie que l'action de régénérer le récépissé est disponible
1136     Portlet Action Should Be In Form dossier_instruction recepisse
1137     # On commence à instruire le dossier
1138     Ajouter une instruction au DI ${libelle_di} majoration_IGH
1139     #
1140     Depuis le contexte du dossier d'instruction ${libelle_di}
1141     # Vérifie que l'action modifier est disponible
1142     Portlet Action Should Be In Form dossier_instruction modifier
1143     # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1144     Portlet Action Should Not Be In Form dossier_instruction recepisse
1145    
1146     # On se reconnecte avec l'instructeur qui a ajouté la demande
1147     Depuis la page d'accueil instrpolycomm instrpolycomm
1148     #
1149     Depuis le contexte du dossier d'instruction ${libelle_di}
1150     # Vérifie que l'action modifier n'est plus disponible
1151     Portlet Action Should Not Be In Form dossier_instruction modifier
1152     # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1153     Portlet Action Should Not Be In Form dossier_instruction recepisse
1154    
1155     # On se reconnecte avec l'instructeur de la commune que l'instructeur ayant
1156     # ajouté la demande
1157     Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1158     #
1159     Depuis le contexte du dossier d'instruction ${libelle_di}
1160     # Vérifie que l'action modifier n'est plus disponible
1161     Portlet Action Should Not Be In Form dossier_instruction modifier
1162     # Vérifie que l'action de régénérer le récépissé n'est plus disponible
1163     Portlet Action Should Not Be In Form dossier_instruction recepisse
1164    
1165    
1166     TNR Modification des paramètres de la variable de remplacement &contrainte
1167    
1168     [Documentation] Vérifie que les 3 paramètres de &contrainte liste_groupe,
1169     ... liste_ssgroupe, affichage_sans_arborescence modifient l'affichage des
1170     ... contraintes sans erreurs.
1171    
1172     # Le contenu de la nouvelle lettre-type de test, avec &contraintes sans paramètres
1173     &{args_lettretype} = Create Dictionary
1174     ... id=test_contraintes
1175     ... libelle=Test des nouveaux paramètres &CONTRAINTES
1176     ... sql=Aucune REQUÊTE
1177     ... titre=&contraintes
1178     ... corps=&contraintes
1179     ... actif=true
1180     ... collectivite=MARSEILLE
1181    
1182     &{args_evenement} = Create Dictionary
1183     ... libelle=Notification du delai legal maison individuelle
1184     ... lettretype=test_contraintes Test des nouveaux paramètres &CONTRAINTES
1185    
1186     Depuis la page d'accueil admin admin
1187     Ajouter la lettre-type depuis le menu &{args_lettretype}
1188     # On change la lettre-type de l'évènement de création d'une nouvelle demande, en
1189     # définissant notre nouvelle lettre-type comme modèle
1190     Modifier l'événement ${args_evenement}
1191     ${id_contrainte1} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 1 PLU MARSEILLE TNR instr sousgroupe 1ère contrainte instr
1192     ${id_contrainte2} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 2 PLU MARSEILLE TNR instr sousgroupe 2ème contrainte instr
1193     ${id_contrainte3} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 3 PLU MARSEILLE TNR instr2 null 3ème contrainte instr2
1194    
1195     # Création d'une nouvelle demande pour notre test
1196     Depuis la page d'accueil guichet guichet
1197     &{args_petitionnaire} = Create Dictionary
1198     ... particulier_nom=Saville
1199     ... particulier_prenom=Lazure
1200     &{args_demande} = Create Dictionary
1201     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1202     ... demande_type=Dépôt Initial
1203     ${libelle_di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1204    
1205     # Ajout de contraintes à notre dossier de test
1206     Depuis la page d'accueil instr instr
1207     Ajouter une contrainte depuis l'onglet du dossier d'instruction ${libelle_di}
1208     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element fieldset-sousform-dossier_contrainte-contraintes-openads
1209     Open Fieldset In Subform dossier_contrainte tnr-instr
1210     Open Fieldset In Subform dossier_contrainte sousgroupe
1211     Open Fieldset In Subform dossier_contrainte tnr-instr2
1212     Select Checkbox css=#contrainte_${id_contrainte1}
1213     Select Checkbox css=#contrainte_${id_contrainte2}
1214     Select Checkbox css=#contrainte_${id_contrainte3}
1215     # On clique sur Appliquer les changements
1216     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#sformulaire div.formControls input[type="submit"]
1217     # Vérification des messages
1218     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.
1219     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.
1220     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.
1221    
1222     Depuis le contexte du dossier d'instruction ${libelle_di}
1223     # Vérifie que l'action de régénération est disponible
1224     Portlet Action Should Be In Form dossier_instruction recepisse
1225     # On régénère le récépissé de demande
1226     Click On Form Portlet Action dossier_instruction recepisse
1227     # On vérifie le message de validation
1228     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1229     # On ouvre le PDF
1230     Click Link css=#telecharger_recepisse
1231     Open PDF file
1232     # On vérifie que la lettre-type contient toutes les contraintes
1233     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1234     Page Should Contain SOUSGROUPE
1235     Page Should Contain 1ère contrainte instr
1236     Page Should Contain 2ème contrainte instr
1237     Page Should Contain TNR INSTR2
1238     Page Should Contain 3ème contrainte instr2
1239     Close PDF
1240    
1241     # On ajoute le paramètre liste_groupe à la variable &contraintes dans la lettre-type
1242     &{args_lettretype} = Create Dictionary
1243     ... id=test_contraintes
1244     ... libelle=Test des nouveaux paramètres &CONTRAINTES
1245     ... sql=Aucune REQUÊTE
1246     ... titre=&contraintes(liste_groupe=TNR INSTR)
1247     ... corps=&contraintes(liste_groupe=TNR INSTR)
1248     ... actif=true
1249     ... collectivite=MARSEILLE
1250    
1251     Depuis la page d'accueil admin admin
1252     # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1253     # Redéfinit la lettre-type avec les arguments passés
1254     Modifier la lettre-type XXX &{args_lettretype}
1255    
1256     Depuis le contexte du dossier d'instruction ${libelle_di}
1257     Portlet Action Should Be In Form dossier_instruction recepisse
1258     # On régénère le récépissé de demande
1259     Click On Form Portlet Action dossier_instruction recepisse
1260     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1261     # On ouvre le PDF
1262     Click Link css=#telecharger_recepisse
1263     Open PDF file
1264     # On doit avoir seulement les contraintes du groupe Zones du PLU
1265     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR
1266     Page Should Contain 1ère contrainte instr
1267     Page Should Contain 2ème contrainte instr
1268     Page Should Not Contain TNR INSTR2
1269     Page Should Not Contain 3ème contrainte instr2
1270     Close PDF
1271    
1272     # On active l'affichage sans arborescence, avec les paramètres liste_groupe et
1273     # listess_groupe activés
1274     &{args_lettretype} = Create Dictionary
1275     ... id=test_contraintes
1276     ... libelle=Test des nouveaux paramètres &CONTRAINTES
1277     ... sql=Aucune REQUÊTE
1278     ... titre=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1279     ... corps=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t)
1280     ... actif=true
1281     ... collectivite=MARSEILLE
1282    
1283     # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !!
1284     # Redéfinit la lettre-type avec les arguments passés
1285     Modifier la lettre-type XXX &{args_lettretype}
1286    
1287     Depuis le contexte du dossier d'instruction ${libelle_di}
1288     Portlet Action Should Be In Form dossier_instruction recepisse
1289     # On régénère le récépissé de demande
1290     Click On Form Portlet Action dossier_instruction recepisse
1291     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré.
1292     # On ouvre le PDF
1293     Click Link css=#telecharger_recepisse
1294     Open PDF file
1295     # Le PDF doit contenir les 2 contraintes "Zones du PLU", sans groupes
1296     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 1ère contrainte instr
1297     Page Should Contain 2ème contrainte instr
1298     Page Should Not Contain TNR INSTR
1299     Page Should Not Contain TNR INSTR2
1300     Page Should Not Contain 3ème contrainte instr2
1301     Close PDF
1302    
1303     &{args_evenement} = Create Dictionary
1304     ... libelle=Notification du delai legal maison individuelle
1305     ... lettretype=recepisse_1 RECEPISSE DE DEPOT
1306    
1307     # On remet la lettre-type de récépissé de dépôt initiale pour les tests suivants
1308     Modifier l'événement ${args_evenement}
1309    
1310     Test du tableau des dossiers d'autorisation liés géographiquement
1311    
1312     [Documentation] Ajoute 2 nouvelles demandes avec une parcelle en commun, puis affiche
1313     ... le tableau des dossiers liés géographiquement pour les 2 dossiers. L'autre DA
1314     ... avec la même parcelle doit être présent, mais pas le DA lié au DI courant.
1315    
1316     Depuis la page d'accueil guichet guichet
1317     &{args_petitionnaire} = Create Dictionary
1318     ... particulier_nom=Beauchamps
1319     ... particulier_prenom=Jeanette
1320    
1321     @{ref_cad} = Create List 806 AB 25
1322    
1323     &{args_demande} = Create Dictionary
1324     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1325     ... demande_type=Dépôt Initial
1326     ... terrain_references_cadastrales=${ref_cad}
1327     ${libelle_di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1328    
1329     &{args_petitionnaire} = Create Dictionary
1330     ... particulier_nom=Forest
1331     ... particulier_prenom=David
1332    
1333     @{ref_cad} = Create List 806 AB 01 A 50
1334    
1335     &{args_demande} = Create Dictionary
1336     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1337     ... demande_type=Dépôt Initial
1338     ... terrain_references_cadastrales=${ref_cad}
1339    
1340     ${libelle_di2} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
1341    
1342     ${libelle_da} = Get Substring ${libelle_di} 0 -2
1343     ${libelle_da2} = Get Substring ${libelle_di2} 0 -2
1344    
1345    
1346     Depuis la page d'accueil instr instr
1347     Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di}
1348     # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1349     Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da}
1350     # Le 2ème dossier avec la même parcelle doit apparaître
1351     Element Should Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da2}
1352    
1353     Depuis la page d'accueil instr instr
1354     Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di2}
1355     # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant
1356     Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da2}
1357     # Le 2ème dossier avec la même parcelle doit apparaître
1358     Element Should Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da}

Properties

Name Value
svn:executable

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26