/[openfoncier]/trunk/tests/080_consultation.robot
ViewVC logotype

Contents of /trunk/tests/080_consultation.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4171 - (show annotations)
Tue May 17 08:08:22 2016 UTC (8 years, 8 months ago) by fmichon
File size: 46293 byte(s)
* Suppression de deux om_etat dédiés aux jeux de tests. Ils sont désormais 
  créés directement dans le testcase RF.

1 *** Settings ***
2 Documentation Gestion des consultations.
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 *** Variables ***
14 ${json_consultation} {"module":"consultation"}
15
16
17 *** Test Cases ***
18 TNR Routine de mise à jour des consultations tacites
19
20 [Documentation] Permet de vérifier l'état des consultations après le
21 ... traitement tacite.
22 ... Attention ! ce test est en premier car il utilise les données du init_data
23 ... il est nécessaire d'améilorer ce point
24
25 # On exécute le WS de mise à jour des consultations
26 Vérifier le code retour du web service et vérifier que son message est Post maintenance ${json_consultation} 200 2 consultations mise(s) à jour.
27
28 # On vérifie que la valeur de la consultation qui a été passée en tacite
29 # est bien marquée comme 'non lu'
30 # Définition de l'id du widget des retours de consultation du profil INSTRUCTEUR
31 ${widget_id} = Set Variable widget_3
32 # En tant que profil 'INSTRUCTEUR'
33 Depuis la page d'accueil instr instr
34 # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
35 Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1
36 # On clique sur le lien "Voir +" du widget
37 Click Element css=#${widget_id} .widget-footer a
38 # On accède au listing des restours de consultation
39 Page Title Should Be Instruction > Consultations > Mes Retours
40 # On clique sur le dossier en question
41 Click On Link PC 013055 12 00002P0
42 # On vérifie que les champs ont bien été mis à jour par le webservice
43 Wait Until Keyword Succeeds 5 sec 0.2 sec Form Static Value Should Be css=#lu Non
44 Form Static Value Should Be css=#avis_consultation Tacite
45 Form Static Value Should Be css=#date_retour 01/02/2013
46
47
48 Constitution du jeu de données
49
50 [Documentation] Constitue le jeu de données.
51
52 # Date du jour au format : JJ/MM/AAAA
53 ${date_jour} = Date du jour FR
54 Set Suite Variable ${date_jour}
55
56 #
57 Depuis la page d'accueil guichet guichet
58
59 #
60 # Supposition : ces dossiers sont affectés à l'instructeur "Louis Laurent"
61 # (instr) division "H" même division que "Martine Nadeau" (instr1)
62 #
63
64 #
65 &{args_petitionnaire_1} = Create Dictionary
66 ... particulier_nom=DUPONT
67 ... particulier_prenom=Jacques
68 #
69 &{args_demande_1} = Create Dictionary
70 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
71 ... demande_type=Dépôt Initial
72 ... date_demande=12/04/2015
73 #
74 ${di_1} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande_1} ${args_petitionnaire_1}
75 Set Suite Variable ${di_1}
76
77 #
78 Depuis la page d'accueil instr instr
79 Ajouter une consultation depuis un dossier ${di_1} 59.01 - Direction de l'Eau et de l'Assainissement
80
81 #
82 &{args_avis_consultation_1} = Create Dictionary
83 ... avis_consultation=Favorable
84
85 Depuis la page d'accueil avec widget de redirection consu consu
86 #
87 Rendre l'avis sur la consultation du dossier ${di_1} ${args_avis_consultation_1}
88 #
89 Se déconnecter avec widget de redirection
90
91 #
92 Depuis la page d'accueil guichet guichet
93 #
94 &{args_petitionnaire_3} = Create Dictionary
95 ... particulier_nom=DUPONT
96 ... particulier_prenom=Jacques
97 #
98 &{args_demande_3} = Create Dictionary
99 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
100 ... demande_type=Dépôt Initial
101 ... date_demande=01/04/2016
102 #
103 ${di_3} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande_3} ${args_petitionnaire_3}
104 Set Suite Variable ${di_3}
105
106
107 Ajout d'une consultation simple
108
109 [Documentation]
110
111 ##
112 ## Constitution du jeu de données
113 ##
114 # Données du demandeur
115 &{args_petitionnaire} = Create Dictionary
116 ... qualite=personne morale
117 ... personne_morale_denomination=DAINEAU Ets
118 ... personne_morale_civilite=Monsieur
119 ... personne_morale_nom=MICHEL
120 ... personne_morale_prenom=Alain
121 # Données de la demande
122 &{args_demande} = Create Dictionary
123 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
124 ... demande_type=Dépôt Initial
125 ... date_demande=03/05/2016
126 # Données techniques du dossiers pour le tableau des surfaces
127 &{donnees_techniques_values} = Create Dictionary
128 ... su_avt_shon1=10
129 ... su_avt_shon2=10
130 ... su_avt_shon3=10
131 ... su_avt_shon4=10
132 ... su_avt_shon5=10
133 ... su_avt_shon6=10
134 ... su_avt_shon7=10
135 ... su_avt_shon8=10
136 ... su_avt_shon9=10
137 ... su_cstr_shon1=10
138 ... su_cstr_shon2=10
139 ... su_cstr_shon3=10
140 ... su_cstr_shon4=10
141 ... su_cstr_shon5=10
142 ... su_cstr_shon6=10
143 ... su_cstr_shon7=10
144 ... su_cstr_shon8=10
145 ... su_cstr_shon9=10
146 ... su_chge_shon1=10
147 ... su_chge_shon2=10
148 ... su_chge_shon3=10
149 ... su_chge_shon4=10
150 ... su_chge_shon5=10
151 ... su_chge_shon6=10
152 ... su_chge_shon7=10
153 ... su_chge_shon8=10
154 ... su_chge_shon9=10
155 ... su_demo_shon1=10
156 ... su_demo_shon2=10
157 ... su_demo_shon3=10
158 ... su_demo_shon4=10
159 ... su_demo_shon5=10
160 ... su_demo_shon6=10
161 ... su_demo_shon7=10
162 ... su_demo_shon8=10
163 ... su_demo_shon9=10
164 ... su_sup_shon1=10
165 ... su_sup_shon2=10
166 ... su_sup_shon3=10
167 ... su_sup_shon4=10
168 ... su_sup_shon5=10
169 ... su_sup_shon6=10
170 ... su_sup_shon7=10
171 ... su_sup_shon8=10
172 ... su_sup_shon9=10
173 # Ajout de la nouvelle demande pour création du DI
174 Depuis la page d'accueil guichet guichet
175 ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
176 # Saisie des données techniques sur le DI
177 Depuis la page d'accueil instr instr
178 Modifier les données techniques pour le calcul des surfaces ${di} ${donnees_techniques_values}
179
180 ##
181 ## Cas d'usage n°1
182 ##
183 ## Le principe ici est de tester l'ajout d'une consultation simple par un
184 ## profil qui n'a pas les permissions de sélectionner la date d'envoi, les
185 ## points clés testés sont :
186 ## - l'ajout de consultation simple est disponible
187 ## - le champ date d'envoi n'est pas présent
188 ## - le champ service est obligatoire
189 ## - un mail est envoyé au service
190 ## - le champ date d'envoi est positionné à la date du jour à l'enregistrement
191 ## - l'édition PDF est accessible et contient :
192 ## * le demandeur
193 ## * le total du calcul des surfaces
194 ##
195 # On se connecte en tant que "instr" (Profil 'INSTRUCTEUR')
196 Depuis la page d'accueil instr instr
197 # Définition du service dans ce cas d'usage - notification email configurée sur ce service
198 ${service_1} = Set Variable 59.01 - Direction de l'Eau et de l'Assainissement
199 # On accède à l'onglet "Consultation(s)" du DI
200 Depuis l'onglet consultation du dossier ${di}
201 # On vérifie que nous avons bien le bon nombre de consultations affichées
202 Element Should Contain css=#sousform-consultation .pagination-text 1 - 0 enregistrement(s) sur 0
203 # On clique sur le lien "Ajouter" dans le listing
204 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter
205 # On attend que le formulaire soit chargé correctement
206 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service
207 # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché
208 Element Should Not Be Visible css=#sformulaire #date_envoi
209 # On valide le formulaire sans sélectionner de service
210 Click On Submit Button In Subform
211 # On vérifie que la soumission du formulaire est rejetée
212 Error Message Should Contain In Subform SAISIE NON ENREGISTRÉE
213 # Le service est obligatoire
214 Error Message Should Contain In Subform Le champ Service est obligatoire
215 # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché
216 Element Should Not Be Visible css=#sformulaire #date_envoi
217 # On sélectionne le service
218 Select From List By Label css=#sformulaire #service ${service_1}
219 # On valide le formulaire
220 Click On Submit Button In Subform
221 # On vérifie que la soumission du formulaire est validée
222 Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées
223 # On vérifie que le courriel de notification a été envoyé
224 Valid Message Should Contain In Subform Envoi d'un mail de notification au service
225 # On retourne au listing
226 Click On Back Button In Subform
227 # On vérifie que nous avons bien le bon nombre de consultations affichées
228 Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1
229 # On accède à la fiche de visualisation de la consultation créée
230 Depuis le contexte de la consultation ${di} ${service_1}
231 # Vérification que la date d'envoi de la consultation est bien la date du jour
232 Element Text Should Be css=#sformulaire #date_envoi ${date_jour}
233 # On clique sur l'action édition
234 Click On SubForm Portlet Action consultation consulter_pdf
235 # On ouvre le PDF
236 Open PDF file
237 # On vérifie le champ de fusion
238 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain DAINEAU Ets représenté(e) par Monsieur MICHEL Alain
239 # On vérifie le résultat total du tableau des surface
240 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90
241 # On ferme le PDF
242 Close PDF
243
244 ##
245 ## Cas d'usage n°2
246 ##
247 ## Le principe ici est de tester l'ajout d'une consultation simple par un
248 ## profil qui a les permissions de sélectionner la date d'envoi, les
249 ## points clés testés sont :
250 ## - l'ajout de consultation simple est disponible
251 ## - le champ date d'envoi est présent
252 ## - YYY le champ date d'envoi du formulaire est positionné à la date du jour
253 ## - un mail n'est pas envoyé au service
254 ## - le champ date d'envoi n'est pas positionné à la date du jour à l'enregistrement
255 ## - le délai est calculé correctement
256 ##
257 # On se connecte en tant que "admingen" (Profil 'ADMINISTRATEUR GENERAL')
258 Depuis la page d'accueil admingen admingen
259 # Définition du service dans ce cas d'usage
260 # - pas de notification email configurée sur ce service
261 # - délai 1 mois
262 ${service_2} = Set Variable 59.02 - Atelier du Patrimoine
263 # On accède à l'onglet "Consultation(s)" du DI
264 Depuis l'onglet consultation du dossier ${di}
265 # On vérifie que nous avons bien le bon nombre de consultations affichées
266 Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1
267 # On clique sur le lien "Ajouter" dans le listing
268 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter
269 # On attend que le formulaire soit chargé correctement
270 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service
271 # En tant que Profil 'ADMINISTRATEUR GENERAL', le champ date d'envoi doit être affiché
272 Element Should Be Visible css=#sformulaire #date_envoi
273 # On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"
274 Form Value Should Be css=#sformulaire #date_envoi ${date_jour}
275 # On sélectionne le service
276 Select From List By Label css=#sformulaire #service ${service_2}
277 # On vide le champ de date d'envoi
278 Input Text date_envoi ${EMPTY}
279 # On valide le formulaire sans sélectionner de date d'envoi
280 Click On Submit Button In Subform
281 # On vérifie que la soumission du formulaire est rejetée
282 Error Message Should Contain In Subform SAISIE NON ENREGISTRÉE
283 # Le service est obligatoire
284 Error Message Should Contain In Subform Le champ Date d'envoi est obligatoire
285 # On positionne une date d'envoi
286 Input Text date_envoi 01/04/2016
287 # On valide le formulaire
288 Click On Submit Button In Subform
289 # On vérifie que la soumission du formulaire est validée
290 Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées
291 # On vérifie qu'il n'y a pas eu de notification email
292 Page Should Not Contain Envoi d'un mail de notification au service
293 # On vérifie que le calcul du délai est correct
294 Valid Message Should Contain In Subform Délai Retour 1 Mois -> Retour 01/05/2016
295 # On retourne au listing
296 Click On Back Button In Subform
297 # On vérifie que nous avons bien le bon nombre de consultations affichées
298 Element Should Contain css=#sousform-consultation .pagination-text 1 - 2 enregistrement(s) sur 2
299 # On accède à la fiche de visualisation de la consultation créée
300 Depuis le contexte de la consultation ${di} ${service_2}
301 # Vérification que la date d'envoi de la consultation est bien la date saisie
302 Element Text Should Be css=#sformulaire #date_envoi 01/04/2016
303 # Vérification que la date limite de la consultation est bien la date saisie + 1 mois
304 Element Text Should Be css=#sformulaire #date_limite 01/05/2016
305
306
307 Ajout d'une consultation multiple
308
309 [Documentation]
310
311 ##
312 ## Constitution du jeu de données
313 ##
314 # Données du demandeur
315 &{args_petitionnaire} = Create Dictionary
316 ... particulier_nom=Bourgeau
317 ... particulier_prenom=Aurore
318 # Données de la demande
319 &{args_demande} = Create Dictionary
320 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
321 ... demande_type=Dépôt Initial
322 ... date_demande=08/04/2016
323 # Ajout de la nouvelle demande pour création du DI
324 Depuis la page d'accueil guichet guichet
325 ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
326
327 ##
328 ## Cas d'usage n°1
329 ##
330 ## Le principe ici est de tester l'ajout d'une consultation multiple par un
331 ## profil qui n'a pas les permissions de sélectionner la date d'envoi, les
332 ## points clés testés sont :
333 ## - l'ajout de consultation multiple est disponible
334 ## - le champ date d'envoi n'est pas présent
335 ## - il est obligatoire de sélectionner au moins un service
336 ## - l'interface de sélection/désélection de services fonctionne
337 ## - le champ date d'envoi est positionné à la date du jour à l'enregistrement
338 ## - l'option version papier génère un PDF multiple
339 ## - l'édition PDF est accessible et contient :
340 ##  * une page par consultation
341 ## * le demandeur sur chaque page
342 ##
343 # On se connecte en tant que "instr" (Profil 'INSTRUCTEUR')
344 Depuis la page d'accueil instr instr
345 # On accède à l'onglet "Consultation(s)" du DI
346 Depuis l'onglet consultation du dossier ${di}
347 # On vérifie que nous avons bien le bon nombre de consultations affichées
348 Element Should Contain css=#sousform-consultation .pagination-text 1 - 0 enregistrement(s) sur 0
349 # On clique sur le lien "Ajouter multiples" dans le tableau
350 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_multiple
351 # On attend que le formulaire soit chargé correctement
352 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible button_val
353 # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché
354 Element Should Not Be Visible css=#sformulaire #date_envoi
355 # On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
356 Click Element button_val
357 # On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
358 ${alert} = Get Alert Message
359 Should Be Equal As Strings ${alert} Veuillez choisir au moins un service et une date d envoi
360 # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché
361 Element Should Not Be Visible date_envoi
362 # On sélectionne quatre services
363 Click Element t10_572_0_
364 Click Element t10_575_0_
365 Click Element t2_13_0_
366 Click Element t10_542_0_
367 # On les ajoute à la sélection
368 Click Element add-ser-them
369 # On sélectionne un des services sélectionnés
370 Click Element css=div[name="t10_542_0_"]
371 # On l'enlève de la sélection
372 Click Element del-ser-them
373 # On coche la case pour la consultation papier pour deux des services
374 Select Checkbox css=div.cell2 > div > input.t10_575_0_
375 Select Checkbox css=div.cell2 > div > input.t10_572_0_
376 # On clique sur le bouton "Ajouter" du formulaire
377 Click Element button_val
378 # On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
379 Page Should Not Contain Errors
380 # Le PDF s'ouvre tout seul, on sélectionne la bonne fenêtre
381 Open PDF pdfetat
382 # On vérifie que le PDF a bien deux pages
383 PDF Pages Number Should Be 2
384 # Et que le nom du pétitionnaire est bien remplacé sur chaque page
385 PDF Page Number Should Contain 1 Bourgeau Aurore
386 PDF Page Number Should Contain 2 Bourgeau Aurore
387 # On ferme le PDF
388 Close PDF
389 # On vérifie que le message de validation est présent avec le bon nombre de consultations
390 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform 3 service(s) sélectionné(s) dont 2 consultation(s) papier.
391 # On vérifie que nous avons bien le bon nombre de consultations affichées
392 Element Should Contain css=#sousform-consultation .pagination-text 1 - 3 enregistrement(s) sur 3
393 # On accède à la fiche de visualisation de la consultation créée
394 Depuis le contexte de la consultation ${di} 59.88 - DAE - COMMERCE ARTISANAT
395 # Vérification que la date d'envoi de la consultation est bien la date du jour
396 Element Text Should Be date_envoi ${date_jour}
397
398 ##
399 ## Cas d'usage n°2
400 ##
401 ## Le principe ici est de tester l'ajout d'une consultation multiple par un
402 ## profil qui a les permissions de sélectionner la date d'envoi, les
403 ## points clés testés sont :
404 ## - l'ajout de consultation multiple est disponible
405 ## - le champ date d'envoi est présent
406 ## - le champ date d'envoi du formulaire est positionné à la date du jour
407 ## - le champ date d'envoi n'est pas positionné à la date du jour à l'enregistrement
408 ##
409 # On se connecte en tant que "admingen" (Profil 'ADMINISTRATEUR GENERAL')
410 Depuis la page d'accueil admingen admingen
411 # On accède à l'onglet "Consultation(s)" du DI
412 Depuis l'onglet consultation du dossier ${di}
413 # On vérifie que nous avons bien le bon nombre de consultations affichées
414 Element Should Contain css=#sousform-consultation .pagination-text 1 - 3 enregistrement(s) sur 3
415 # On clique sur le lien "Ajouter multiples" dans le tableau
416 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_multiple
417 # On attend que le formulaire soit chargé correctement
418 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible button_val
419 # En tant que Profil 'ADMINISTRATEUR GENERAL', le champ date d'envoi doit être affiché
420 Element Should Be Visible css=#sformulaire #date_envoi
421 # On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"
422 Form Value Should Be css=#sformulaire #date_envoi ${date_jour}
423 # Service 59.12 - Direction de la Propreté Urbaine
424 Click Element t10_12_0_
425 # Service 59.30 - Orange France
426 Click Element t10_15_0_
427 # On les ajoute à la sélection
428 Click Element add-ser-them
429 # Input de la date en JavaScript pour éviter l'appel au onChange sur ce
430 # champ, qui appelle une fonction JS fonctionnant une fois sur deux dans
431 # les tests
432 Input Value With JS date_envoi 01/04/2016
433 # On clique sur le bouton "Ajouter" du formulaire
434 Click Element button_val
435 # On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
436 Page Should Not Contain Errors
437 # On vérifie le message de validation
438 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform 2 service(s) sélectionné(s) dont 0 consultation(s) papier.
439 # On vérifie que nous avons bien le bon nombre de consultations affichées
440 Element Should Contain css=#sousform-consultation .pagination-text 1 - 5 enregistrement(s) sur 5
441 # On accède à la fiche de visualisation de la consultation créée
442 Depuis le contexte de la consultation ${di} 59.12 - Direction de la Propreté Urbaine
443 # Vérification que la date d'envoi de la consultation est bien la date saisie
444 Element Text Should Be date_envoi 01/04/2016
445
446
447 Gestion des retours de consultation depuis la rubrique 'Instruction'
448
449 [Documentation]
450
451 ##
452 ## Constitution du jeu de données
453 ##
454 ## On cré trois deux nouvelles collectivités pour être sûr du nombre
455 ## de retours de consultations à vérifier dans les widgets et tableaux
456 ##
457 #
458 Depuis la page d'accueil admin admin
459 # collectivité 01 'WORKINGTON' de niveau 1
460 Ajouter la collectivité depuis le menu WORKINGTON mono
461 #
462 Ajouter l'utilisateur depuis le menu Carter SANCHEZ [email protected] csanchez csanchez INSTRUCTEUR WORKINGTON
463 Ajouter l'instructeur depuis le menu Carter SANCHEZ subdivision H Carter SANCHEZ
464 Ajouter l'affectation depuis le menu Carter SANCHEZ null WORKINGTON
465 #
466 Ajouter l'utilisateur depuis le menu Selma SAUNDERS [email protected] ssaunders ssaunders INSTRUCTEUR WORKINGTON
467 Ajouter l'instructeur depuis le menu Selma SAUNDERS subdivision H Selma SAUNDERS
468 Ajouter l'affectation depuis le menu Selma SAUNDERS Permis de construire comprenant ou non des démolitions WORKINGTON
469 #
470 Ajouter l'utilisateur depuis le menu Harriet SANTIAGO [email protected] hsantiago hsantiago INSTRUCTEUR WORKINGTON
471 Ajouter l'instructeur depuis le menu Harriet SANTIAGO subdivision J Harriet SANTIAGO
472 Ajouter l'affectation depuis le menu Harriet SANTIAGO Permis de démolir WORKINGTON
473 #
474 Ajouter l'utilisateur depuis le menu Alden SYKES [email protected] asykes asykes SERVICE CONSULTÉ WORKINGTON
475 &{service} = Create Dictionary
476 ... abrege=95A
477 ... libelle=Direction de la circulation de Workington
478 ... edition=Consultation - Demande d'avis
479 ... om_collectivite=WORKINGTON
480 Ajouter le service depuis le listing ${service}
481 &{lien_service_om_utilisateur} = Create Dictionary
482 ... om_utilisateur=Alden SYKES
483 ... service=Direction de la circulation de Workington
484 Ajouter lien service/utilisateur ${lien_service_om_utilisateur}
485 # collectivité 02 'LIDINGO' de niveau 1
486 Ajouter la collectivité depuis le menu LIDINGO mono
487 #
488 Ajouter l'utilisateur depuis le menu Mary JOYCE [email protected] mjoyce mjoyce INSTRUCTEUR LIDINGO
489 Ajouter l'instructeur depuis le menu Mary JOYCE subdivision H Mary JOYCE
490 Ajouter l'affectation depuis le menu Mary JOYCE null LIDINGO
491 #
492 Ajouter l'utilisateur depuis le menu Alexandra TERRELL [email protected] aterrell aterrell SERVICE CONSULTÉ LIDINGO
493 &{service} = Create Dictionary
494 ... abrege=96A
495 ... libelle=Direction de la circulation de Lidingo
496 ... edition=Consultation - Demande d'avis
497 ... om_collectivite=LIDINGO
498 Ajouter le service depuis le listing ${service}
499 &{lien_service_om_utilisateur} = Create Dictionary
500 ... om_utilisateur=Alexandra TERRELL
501 ... service=Direction de la circulation de Lidingo
502 Ajouter lien service/utilisateur ${lien_service_om_utilisateur}
503 #
504 &{args_avis_consultation} = Create Dictionary
505 ... avis_consultation=Favorable
506 # DI n°1 :
507 # - Collectivité 'WORKINGTON' (niveau mono)
508 # - Instructeur 'Harriet SANTIAGO' (hsantiago)
509 # - Division 'J'
510 #
511 &{args_petitionnaire_01} = Create Dictionary
512 ... particulier_nom=DUPONT
513 ... particulier_prenom=Jacques
514 ... om_collectivite=WORKINGTON
515 #
516 &{args_demande_01} = Create Dictionary
517 ... dossier_autorisation_type_detaille=Permis de démolir
518 ... demande_type=Dépôt Initial
519 ... date_demande=12/04/2015
520 ... om_collectivite=WORKINGTON
521 #
522 ${di_01} = Ajouter la nouvelle demande depuis le menu ${args_demande_01} ${args_petitionnaire_01}
523 # DI n°2 :
524 # - Collectivité 'WORKINGTON' (niveau mono)
525 # - Instructeur 'Carter SANCHEZ' (csanchez)
526 # - Division 'H'
527 #
528 &{args_petitionnaire_02} = Create Dictionary
529 ... particulier_nom=VACHIER
530 ... particulier_prenom=Arthur
531 ... om_collectivite=WORKINGTON
532 #
533 &{args_demande_02} = Create Dictionary
534 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
535 ... demande_type=Dépôt Initial
536 ... date_demande=12/04/2015
537 ... om_collectivite=WORKINGTON
538 #
539 ${di_02} = Ajouter la nouvelle demande depuis le menu ${args_demande_02} ${args_petitionnaire_02}
540 # DI n°3 :
541 # - Collectivité 'WORKINGTON' (niveau mono)
542 # - Instructeur 'Selma SAUNDERS' (ssaunders)
543 # - Division 'H'
544 #
545 &{args_petitionnaire_03} = Create Dictionary
546 ... particulier_nom=BRAY
547 ... particulier_prenom=Guy
548 ... om_collectivite=WORKINGTON
549 #
550 &{args_demande_03} = Create Dictionary
551 ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
552 ... demande_type=Dépôt Initial
553 ... date_demande=12/04/2015
554 ... om_collectivite=WORKINGTON
555 #
556 ${di_03} = Ajouter la nouvelle demande depuis le menu ${args_demande_03} ${args_petitionnaire_03}
557 # DI n°4 :
558 # - Collectivité 'LIDINGO' (niveau mono)
559 # - Instructeur 'Mary JOYCE' (mjoyce)
560 # - Division 'H'
561 #
562 &{args_petitionnaire_04} = Create Dictionary
563 ... particulier_nom=BOULAGE
564 ... particulier_prenom=Damien
565 ... om_collectivite=LIDINGO
566 #
567 &{args_demande_04} = Create Dictionary
568 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
569 ... demande_type=Dépôt Initial
570 ... date_demande=12/04/2015
571 ... om_collectivite=LIDINGO
572 #
573 ${di_04} = Ajouter la nouvelle demande depuis le menu ${args_demande_04} ${args_petitionnaire_04}
574 #
575 Ajouter une consultation depuis un dossier ${di_01} 95A - Direction de la circulation de Workington
576 Ajouter une consultation depuis un dossier ${di_02} 95A - Direction de la circulation de Workington
577 Ajouter une consultation depuis un dossier ${di_03} 95A - Direction de la circulation de Workington
578 Ajouter une consultation depuis un dossier ${di_04} 96A - Direction de la circulation de Lidingo
579 #
580 Go To Dashboard
581 Se déconnecter
582 Input Username asykes
583 Input Password asykes
584 Click Button login.action.connect
585 #
586 Sleep 2
587 Rendre l'avis sur la consultation du dossier ${di_01} ${args_avis_consultation}
588 Sleep 2
589 Rendre l'avis sur la consultation du dossier ${di_02} ${args_avis_consultation}
590 Sleep 2
591 Rendre l'avis sur la consultation du dossier ${di_03} ${args_avis_consultation}
592 Sleep 2
593 #
594 Click Link css=#actions a.actions-logout
595 #
596 Input Username aterrell
597 Input Password aterrell
598 Click Button login.action.connect
599 #
600 Sleep 2
601 Rendre l'avis sur la consultation du dossier ${di_04} ${args_avis_consultation}
602 Sleep 2
603 #
604 Click Link css=#actions a.actions-logout
605
606
607 ##
608 ## Cas d'usage n°1
609 ##
610 ##
611 ##
612 #
613 ${widget_id} = Set Variable widget_3
614
615 # On se connecte en tant que utilisateur de niveau 2
616 Depuis la page d'accueil admin admin
617 # On vérifie qu'on a la collonne collectivité dans le listing tous les retours
618 Go To Submenu In Menu instruction consultation_tous_retours
619 Page Title Should Be Instruction > Consultations > Tous Les Retours
620 First Tab Title Should Be Consultation
621 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans toutes les collectivités.
622 Element Should Contain css=#tab-consultation_tous_retours table thead instructeur
623 Element Should Contain css=#tab-consultation_tous_retours table thead division
624 Element Should Contain css=#tab-consultation_tous_retours table thead collectivité
625 # On va sur le listing 'Tous les retours'
626 # Il doit contenir des retours des deux collectivités
627 Element Should Contain css=#tab-consultation_tous_retours table WORKINGTON
628 Element Should Contain css=#tab-consultation_tous_retours table LIDINGO
629
630 # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR')
631 Depuis la page d'accueil csanchez csanchez
632 # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
633 Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1
634 # On clique sur le lien "Voir +" du widget
635 Click Element css=#${widget_id} .widget-footer a
636 # Le lien Voir + nous amène sur le listing 'Mes retours'
637 # Il ne doit contenir qu'un seul retour
638 Submenu In Menu Should Be Selected instruction consultation_mes_retours
639 Page Title Should Be Instruction > Consultations > Mes Retours
640 First Tab Title Should Be Consultation
641 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur.
642 Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 1 enregistrement(s) sur 1
643 # On va sur le listing 'Retours de ma division'
644 # Il doit contenir deux retours
645 Go To Submenu In Menu instruction consultation_retours_ma_division
646 Page Title Should Be Instruction > Consultations > Retours De Ma Division
647 First Tab Title Should Be Consultation
648 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division.
649 Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2
650 Element Should Contain css=#tab-consultation_retours_ma_division table Selma SAUNDERS
651 # On va sur le listing 'Tous les retours'
652 # Il doit contenir trois retours
653 Go To Submenu In Menu instruction consultation_tous_retours
654 Page Title Should Be Instruction > Consultations > Tous Les Retours
655 First Tab Title Should Be Consultation
656 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité.
657 Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3
658
659 # Filtre sur l'instructeur
660 Depuis la page d'accueil admin admin
661 Go To Tab om_widget
662 Click On Link consultation_retours
663 Click On Form Portlet Action om_widget modifier
664 Input Text texte filtre=division
665 Click On Submit Button
666
667 # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR')
668 Depuis la page d'accueil csanchez csanchez
669 # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
670 Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 2
671 # On clique sur le lien "Voir +" du widget
672 Click Element css=#${widget_id} .widget-footer a
673 # Le lien Voir + nous amène sur le listing 'Retours de ma division'
674 # Il doit contenir deux retours
675 Submenu In Menu Should Be Selected instruction consultation_retours_ma_division
676 Page Title Should Be Instruction > Consultations > Retours De Ma Division
677 First Tab Title Should Be Consultation
678 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division.
679 Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2
680
681 # Filtre sur l'instructeur
682 Depuis la page d'accueil admin admin
683 Go To Tab om_widget
684 Click On Link consultation_retours
685 Click On Form Portlet Action om_widget modifier
686 Input Text texte filtre=aucun
687 Click On Submit Button
688
689 # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR')
690 Depuis la page d'accueil csanchez csanchez
691 # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
692 Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 3
693 # On clique sur le lien "Voir +" du widget
694 Click Element css=#${widget_id} .widget-footer a
695 # Le lien Voir + nous amène sur le listing 'Tous les retours'
696 # Il doit contenir trois retours
697 Submenu In Menu Should Be Selected instruction consultation_tous_retours
698 Page Title Should Be Instruction > Consultations > Tous Les Retours
699 First Tab Title Should Be Consultation
700 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité.
701 Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3
702
703 # Filtre sur l'instructeur
704 Depuis la page d'accueil admin admin
705 Go To Tab om_widget
706 Click On Link consultation_retours
707 Click On Form Portlet Action om_widget modifier
708 Input Text texte filtre=instructeur
709 Click On Submit Button
710
711 # On se connecte en tant que Profil 'INSTRUCTEUR'
712 Depuis la page d'accueil mjoyce mjoyce
713 # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
714 Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1
715 # On clique sur le lien "Voir +" du widget
716 Click Element css=#${widget_id} .widget-footer a
717 # On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
718 Click Link ${di_04}
719 #
720 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#sousform-consultation #service
721 #
722 Page Title Should Contain ${di_04}
723 Page Title Should Contain BOULAGE DAMIEN
724
725 #
726 Portlet Action Should Be In SubForm consultation marquer_comme_lu
727 #
728 Click On SubForm Portlet Action consultation marquer_comme_lu
729 #
730 Valid Message Should Contain In Subform Mise à jour effectuée avec succès
731
732 #
733 Depuis la page d'accueil mjoyce mjoyce
734 #
735 # On vérifie que lorsqu'il n'y a aucune consultation, un message dans le widget 'Retours de consultation'
736 # l'indique et que le lien Voir + n'est pas présent
737 #
738 Element Should Contain css=#${widget_id} .widget-content-wrapper Aucun retour de consultation non lu.
739 Element Should Not Contain css=#${widget_id} Voir +
740
741 #
742 # On clique sur les trois listings liés pour vérifier qu'il n'y a aucun résultat
743 #
744 Go To Submenu In Menu instruction consultation_mes_retours
745 Page Title Should Be Instruction > Consultations > Mes Retours
746 First Tab Title Should Be Consultation
747 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur.
748 Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 0 enregistrement(s) sur 0
749 Element Should Not Contain css=#tab-consultation_mes_retours table thead instructeur
750 Element Should Not Contain css=#tab-consultation_mes_retours table thead division
751 Element Should Not Contain css=#tab-consultation_mes_retours table thead collectivité
752 #
753 Go To Submenu In Menu instruction consultation_retours_ma_division
754 Page Title Should Be Instruction > Consultations > Retours De Ma Division
755 First Tab Title Should Be Consultation
756 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division.
757 Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 0 enregistrement(s) sur 0
758 Element Should Contain css=#tab-consultation_retours_ma_division table thead instructeur
759 Element Should Not Contain css=#tab-consultation_retours_ma_division table thead division
760 Element Should Not Contain css=#tab-consultation_retours_ma_division table thead collectivité
761 #
762 Go To Submenu In Menu instruction consultation_tous_retours
763 Page Title Should Be Instruction > Consultations > Tous Les Retours
764 First Tab Title Should Be Consultation
765 Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité.
766 Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 0 enregistrement(s) sur 0
767 Element Should Contain css=#tab-consultation_tous_retours table thead instructeur
768 Element Should Contain css=#tab-consultation_tous_retours table thead division
769 Element Should Not Contain css=#tab-consultation_tous_retours table thead collectivité
770
771
772 Paramétrage d'un service et de l'édition PDF de la consultation
773 [Documentation] L'objet de ce TestCase est de vérifier que l'édition
774 ... paramétrée sur un service est correctement répercutée lors de la
775 ... consultation d'un service après finalisation et avant définalisation
776 ... et après définalisation.
777
778 ##
779 ## Étape 1
780 ##
781 # On ajoute deux états dont l'id commence par 'consultation_' : un qui
782 # contient test_10_1 et l'autre test_10_2.
783 # On ajoute un service en sélectionnant l'édition test_10_1.
784 ##
785 Depuis la page d'accueil admin admin
786 Ajouter le état depuis le menu consultation_testconsultation10_1 testconsultation10_1 test_10_1 test_10_1 Récapitulatif consultation true agglo
787 Ajouter le état depuis le menu consultation_testconsultation10_2 testconsultation10_2 test_10_2 test_10_2 Récapitulatif consultation true agglo
788 &{service} = Create Dictionary
789 ... abrege=ts10
790 ... libelle=test_service_10
791 ... edition=testconsultation10_1
792 ... om_collectivite=agglo
793 Ajouter le service depuis le listing ${service}
794
795 ##
796 ## Étape 2
797 ##
798 # On ajoute une consultation du service ajouté précédemment sur un dossier
799 # et on vérifie que l'édition contient bien la chaine test_10_1 et ne
800 # contient pas la chaine test_10_2.
801 ##
802 Depuis la page d'accueil instr instr
803 Ajouter une consultation depuis un dossier ${di_1} ts10 - test_service_10
804 Depuis le contexte de la consultation ${di_1} ts10 - test_service_10
805 Click On SubForm Portlet Action consultation consulter_pdf
806 Open PDF file
807 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1
808 Page Should Not Contain test_10_2
809 Close PDF
810
811 ##
812 ## Étape 3
813 ##
814 # On modifie le paramétrage du service pour lui sélectionner l'édition
815 # test_10_2.
816 ##
817 Depuis la page d'accueil admin admin
818 &{service} = Create Dictionary
819 ... edition=testconsultation10_2
820 Modifier le service ts10 test_service_10 ${service}
821
822 ##
823 ## Étape 4.1
824 ##
825 # On retourne sur la consultation précédente, on vérifie que l'édition
826 # contient toujours bien la chaine test_10_1 et ne contient pas la chaine
827 # test_10_2.
828 ##
829 Depuis la page d'accueil instr instr
830 Depuis le contexte de la consultation ${di_1} ts10 - test_service_10
831 Click On SubForm Portlet Action consultation consulter_pdf
832 Open PDF file
833 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1
834 Page Should Not Contain test_10_2
835 Close PDF
836 ##
837 ## Étape 4.2
838 ##
839 # Ensuite on définalise l'édition et on vérifie que l'édition contient bien
840 # la chaine test_10_2 et ne contient pas la chaine test_10_1.
841 ##
842 Click On SubForm Portlet Action consultation unfinalise
843 Valid Message Should Be In Subform La definalisation du document s'est effectuée avec succès.
844 Click On SubForm Portlet Action consultation consulter_pdf
845 Open PDF sousform
846 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_2
847 Page Should Not Contain test_10_1
848 Close PDF
849
850
851 TNR Bug Recherche sur le critère "Instructeur" de la recherche avancée de "Instruction > Consultations > Tous les retours" ne fonctionne pas
852
853 [Documentation] La recherche portait sur l'identifiant de l'instructeur
854 ... au lieu de porter sur son nom
855
856 #
857 Depuis la page d'accueil instr1 instr
858 #
859 Go To Tab dossier_autorisation
860 Go To Submenu In Menu instruction consultation_tous_retours
861 #
862 Click Element css=#toggle-advanced-display
863 #
864 Sleep 1
865 # On remplit
866 Input Text css=div#adv-search-adv-fields input#instructeur Louis Laurent
867 # On valide le formulaire de recherche
868 Click On Search Button
869 #
870 Page Should Not Contain Aucun enregistrement
871
872
873 TNR Bug Droits insuffisants sur l'onglet pièces sur la demande d'avis
874
875 [Documentation] L'accés à l'onglet pièce n'était pas possible
876
877 # On se connecte en tant que "consu"
878 Depuis la page d'accueil avec widget de redirection consu consu
879 #
880 Sleep 2
881 #
882 Depuis la demande d'avis passée du dossier ${di_1}
883 On clique sur l'onglet document_numerise Pièce(s)
884 Page Should Not Contain Droits insuffisants. Vous n'avez pas suffisamment de droits pour acceder à cette page.
885 # Déconnexion spécifique avec l'utilisateur consu
886 Se déconnecter avec widget de redirection
887
888
889 TNR Bug demande de consultation par le profil guichetsuivi
890
891 [Documentation] Vérification du dépôt de consultation par le profil
892 ... guichetsuivi
893
894 Depuis la page d'accueil guichetsuivi guichetsuivi
895 &{args_petitionnaire_1} = Create Dictionary
896 ... particulier_nom=DUPONT
897 ... particulier_prenom=Maurice
898 #
899 &{args_demande_1} = Create Dictionary
900 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
901 ... demande_type=Dépôt Initial
902 ... date_demande=12/09/2015
903 #
904 ${di_1} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande_1} ${args_petitionnaire_1}
905 Ajouter une consultation depuis un dossier ${di_1} DAEWE - DAE - BUREAU ENTREPOT INDUSTRIE AGRICOLE
906
907
908 TNR Bug suppression de la pièce jointe à la modification d'une consultation
909
910 [Documentation] Vérifie que la pièce jointe d'une consultation ne disparaît
911 ... pas quand on modifie la consultation en tant qu'instructeur polyvalent.
912
913 Depuis la page d'accueil guichet guichet
914 &{args_petitionnaire} = Create Dictionary
915 ... particulier_nom=Roussel
916 ... particulier_prenom=Agnès
917 #
918 &{args_demande} = Create Dictionary
919 ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
920 ... demande_type=Dépôt Initial
921 ... date_demande=03/02/2016
922 #
923 ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${args_demande} ${args_petitionnaire}
924
925 Depuis la page d'accueil instrpoly instrpoly
926 Ajouter une consultation depuis un dossier ${di} 59.01 - Direction de l'Eau et de l'Assainissement
927 # Définalise la consultation pour pouvoir la modifier
928 Depuis le contexte de la consultation ${di} 59.01 - Direction de l'Eau et de l'Assainissement
929 Click On SubForm Portlet Action consultation unfinalise
930
931 # Ajoute une pièce à la consultation
932 &{piece_values} = Create Dictionary
933 ... fichier_upload=testImportManuel.pdf
934 ... date_demande=03/02/2016
935 ... avis_consultation=Tacite
936 ${nom_piece} = Ajouter une pièce à la consultation ${piece_values}
937
938 # Vérifie que l'instructeur polyvalent peut modifier la pièce
939 &{piece_values_2} = Create Dictionary
940 ... fichier_upload=testImportManuel2.pdf
941 ${nom_piece_2} = Ajouter une pièce à la consultation ${piece_values_2}
942
943 # Nouvelles valeurs de la consultation
944 &{saisie_values} = Create Dictionary
945 ... avis_consultation=Favorable
946
947 Modifier la consultation ${saisie_values}
948 Click On Back Button In Subform
949 # Vérifie que le fichier est toujours ajouté à la consultation
950 Page Should Contain ${nom_piece_2}
951
952
953 Ajout consultation et rendu d'avis par le profil instructeur service
954
955 [Documentation] Vérifie l'affichage de l'avis rendu, de la motivation et du
956 ... fichier
957 ... Vérifier que ce testcase n'est pas un doublon du "090.Réponse à une consultation par le service consulté" (CU n°4)
958 #
959 Depuis la page d'accueil instrserv instrserv
960 Ajouter une consultation depuis un dossier ${di_3} 59.01 - Direction de l'Eau et de l'Assainissement
961
962 &{args_avis_consultation} = Create Dictionary
963 ... avis_consultation=Favorable
964 ... motivation=Pas de réserves
965 ... fichier_upload=testImportManuel.pdf
966
967 Rendre l'avis sur la consultation du dossier ${di_3} ${args_avis_consultation}
968 # On clique sur l'action édition
969 Depuis la demande d'avis passée du dossier ${di_3}
970
971 Element Should Contain avis_consultation Favorable
972 Element Should Contain motivation Pas de réserves
973 Element Should Contain fichier consultation_avis
974

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26