/[openfoncier]/trunk/tests/044_widgets_dossier.robot
ViewVC logotype

Annotation of /trunk/tests/044_widgets_dossier.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18436 - (hide annotations)
Tue Aug 13 14:49:35 2024 UTC (5 months, 3 weeks ago) by softime
File size: 106718 byte(s)
chore(branch): fusion de la branche d'intégration 6.6.0-develop dans le trunk@18406

1 ejpritchard 17341 *** Settings ***
2     Documentation Les widgets dossiers.
3    
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9    
10    
11     *** Test Cases ***
12     Création du jeu de données
13    
14     [Documentation] Constitue le jeu de données.
15    
16     #
17     &{args_petitionnaire} = Create Dictionary
18     ... particulier_nom=Reault
19     ... particulier_prenom=Julienne
20     ... om_collectivite=MARSEILLE
21     &{args_autres_demandeurs} = Create Dictionary
22     ... petitionnaire=${args_petitionnaire}
23    
24     &{args_demande} = Create Dictionary
25     ... dossier_autorisation_type_detaille=Recours contentieux
26     ... demande_type=Dépôt Initial REC
27     ... autorisation_contestee=PC 013055 12 00001P0
28     ... om_collectivite=MARSEILLE
29     ${args_peti} = Create Dictionary
30    
31     ${di_rec} = Ajouter la demande par WS ${args_demande} ${args_peti} ${args_autres_demandeurs}
32    
33     #
34     &{args_petitionnaire} = Create Dictionary
35     ... particulier_nom=Boncoeur
36     ... particulier_prenom=Amélie
37     ... om_collectivite=MARSEILLE
38     &{args_autres_demandeurs} = Create Dictionary
39     ... petitionnaire=${args_petitionnaire}
40    
41     &{args_demande} = Create Dictionary
42     ... dossier_autorisation_type_detaille=Recours gracieux
43     ... demande_type=Dépôt Initial REG
44     ... autorisation_contestee=PC 013055 12 00001P0
45     ... om_collectivite=MARSEILLE
46    
47     ${di_reg} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs}
48    
49     #
50     &{args_contrevenant} = Create Dictionary
51     ... particulier_nom=Ferland
52     ... particulier_prenom=Honoré
53     ... om_collectivite=MARSEILLE
54     &{args_plaignant} = Create Dictionary
55     ... particulier_nom=Routhier
56     ... particulier_prenom=Vick
57     ... om_collectivite=MARSEILLE
58     &{args_autres_demandeurs} = Create Dictionary
59     ... contrevenant_principal=${args_contrevenant}
60     ... plaignant_principal=${args_plaignant}
61    
62     &{args_demande} = Create Dictionary
63     ... dossier_autorisation_type_detaille=Infraction
64     ... demande_type=Dépôt Initial IN
65     ... om_collectivite=MARSEILLE
66    
67     ${di_inf} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs}
68    
69 ejpritchard 17355 #
70     &{args_contrevenant} = Create Dictionary
71     ... particulier_nom=Chnadonnet
72     ... particulier_prenom=Gaston
73     ... om_collectivite=MARSEILLE
74     &{args_plaignant} = Create Dictionary
75     ... particulier_nom=Audet
76     ... particulier_prenom=Saber
77     ... om_collectivite=MARSEILLE
78     &{args_autres_demandeurs} = Create Dictionary
79     ... contrevenant_principal=${args_contrevenant}
80     ... plaignant_principal=${args_plaignant}
81    
82     &{args_demande} = Create Dictionary
83     ... dossier_autorisation_type_detaille=Infraction
84     ... demande_type=Dépôt Initial IN
85     ... om_collectivite=MARSEILLE
86    
87     ${di_inf_2} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs}
88    
89 ejpritchard 17341 Set Suite Variable ${di_rec}
90     Set Suite Variable ${di_reg}
91     Set Suite Variable ${di_inf}
92 ejpritchard 17355 Set Suite Variable ${di_inf_2}
93 ejpritchard 17341
94    
95     Widget "Dossiers Limites"
96    
97     [Documentation] L'objet de ce 'Test Case' est de vérifier le
98     ... fonctionnement du widget 'Dossiers Limites'
99     ... (widget_dossiers_limites).
100     ... Ajoute 1 enjeu sur un des dossiers et 2 sur un autre puis vérifie
101     ... l'affichage des icônes des enjeux sur le listing du widget et le listing
102     ... accessible via le bouton "Voir +"
103    
104     #
105     # Cas d'utilisation n°1
106     # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
107     # - instructeur
108     # - division
109     # - aucun
110     #
111     ${om_widget_libelle} = Set Variable dossiers_limites
112    
113     # Ajout d'un instructeur secondaire à affecter aux dossiers
114     ${instructeur_secondaire_login} = Set Variable instructeur_secondaire_dl
115     # Isole le contexte du test (création d'une collectivité, 2 divisions et 3 instructeurs)
116    
117     &{librecom_values} = Create Dictionary
118     ... om_collectivite_libelle=LIBRECOM_045_DS
119     ... departement=001
120     ... commune=001
121     ... insee=01001
122     ... direction_code=B
123     ... direction_libelle=Direction B de LIBRECOM_045_DS
124     ... direction_chef=Chef
125     ... division_code=B
126     ... division_libelle=Division B
127     ... division_chef=Chef
128     ... instr_om_utilisateur_nom=Phillipa Durand
129     ... [email protected]
130     ... instr_om_utilisateur_login=pdurand
131     ... instr_om_utilisateur_pwd=pdurand
132     ... instr_2_om_utilisateur_nom=${instructeur_secondaire_login}
133     ... instr_2_om_utilisateur_email=${instructeur_secondaire_login}@openads-test.fr
134     ... instr_2_om_utilisateur_login=${instructeur_secondaire_login}
135     ... instr_2_om_utilisateur_pwd=${instructeur_secondaire_login}
136     Isolation d'un contexte ${librecom_values}
137    
138     # Ajouter la direction depuis le menu K Direction K de LIBRECOM_045_DS null Chef null null ${librecom_values.om_collectivite_libelle}
139     # Ajouter la division depuis le menu K Division K null Chef null null Direction K de LIBRECOM_045_DS
140     Ajouter l'utilisateur depuis le menu Simone Girard [email protected] sgirard sgirard INSTRUCTEUR ${librecom_values.om_collectivite_libelle}
141     Ajouter l'instructeur depuis le menu Simone Girard Division B instructeur Simone Girard
142     &{args_affectation} = Create Dictionary
143     ... instructeur=Simone Girard (B)
144     ... om_collectivite=${librecom_values.om_collectivite_libelle}
145     ... dossier_autorisation_type_detaille=DP - Déclaration préalable
146     Ajouter l'affectation depuis le menu ${args_affectation}
147     Ajouter la direction depuis le menu M Direction M de LIBRECOM_045_DS null Chef null null ${librecom_values.om_collectivite_libelle}
148     Ajouter la division depuis le menu M Division M null Chef null null Direction M de LIBRECOM_045_DS
149     Ajouter l'utilisateur depuis le menu Louis Laprise [email protected] llaprise llaprise INSTRUCTEUR ${librecom_values.om_collectivite_libelle}
150     Ajouter l'instructeur depuis le menu Louis Laprise Division M instructeur Louis Laprise
151     &{args_affectation} = Create Dictionary
152     ... instructeur=Louis Laprise (M)
153     ... om_collectivite=${librecom_values.om_collectivite_libelle}
154     ... dossier_autorisation_type_detaille=PD - Permis de démolir
155     Ajouter l'affectation depuis le menu ${args_affectation}
156    
157     # Création de deux enjeux
158     @{om_collectivite} = Create List LIBRECOM_045_DS
159     @{dossier_instruction_type} = Create List PCI - P - Initial DP - P - Initiale
160     &{values_enjeux_1} = Create Dictionary
161     ... libelle=TST_045_ENJEUX_1
162     ... couleur=AAAAAA
163     ... om_collectivite=${om_collectivite}
164     ... dossier_instruction_type=${dossier_instruction_type}
165     Ajouter un enjeu ${values_enjeux_1}
166     &{values_enjeux_2} = Create Dictionary
167     ... libelle=TST_045_ENJEUX_2
168     ... couleur=BBBBBB
169     ... om_collectivite=${om_collectivite}
170     ... dossier_instruction_type=${dossier_instruction_type}
171     Ajouter un enjeu ${values_enjeux_2}
172    
173     # En se basant sur le fait que les 3 types de dossiers ont un délai d'instruction à 2 mois
174     ${date_di_db} = Subtract Time From Date ${DATE_FORMAT_YYYY-MM-DD} 50 days result_format=%Y-%m-%d
175     ${date_di} = Convert Date ${date_di_db} result_format=%d/%m/%Y
176     &{args_petitionnaire} = Create Dictionary
177     ... particulier_nom=PETIPRINC_NOM_01_045_DS
178     ... particulier_prenom=PETIPRINC_PRENOM_01_045_DS
179     ... om_collectivite=${librecom_values.om_collectivite_libelle}
180     &{args_demande} = Create Dictionary
181     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
182     ... demande_type=Dépôt Initial
183     ... om_collectivite=${librecom_values.om_collectivite_libelle}
184     ... date_demande=${date_di}
185     ${di_instr_1_division_1_commune_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
186     &{args_petitionnaire} = Create Dictionary
187     ... particulier_nom=PETIPRINC_NOM_02_045_DS
188     ... particulier_prenom=PETIPRINC_PRENOM_02_045_DS
189     ... om_collectivite=${librecom_values.om_collectivite_libelle}
190     &{args_demande} = Create Dictionary
191     ... dossier_autorisation_type_detaille=Déclaration préalable
192     ... demande_type=Dépôt Initial
193     ... om_collectivite=${librecom_values.om_collectivite_libelle}
194     ... date_demande=${date_di}
195     ${di_instr_2_division_1_commune_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
196     &{args_petitionnaire} = Create Dictionary
197     ... particulier_nom=PETIPRINC_NOM_03_045_DS
198     ... particulier_prenom=PETIPRINC_PRENOM_03_045_DS
199     ... om_collectivite=${librecom_values.om_collectivite_libelle}
200     &{args_demande} = Create Dictionary
201     ... dossier_autorisation_type_detaille=Permis de démolir
202     ... demande_type=Dépôt Initial
203     ... om_collectivite=${librecom_values.om_collectivite_libelle}
204     ... date_demande=${date_di}
205     ${di_instr_3_division_2_commune_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
206    
207     # Ajout d'un enjeu simple sur le dossier di_instr_1_division_1_commune_1
208     @{enjeux} = Create List ${values_enjeux_1.libelle}
209     ${values} = Create Dictionary
210     ... enjeux=${enjeux}
211     Modifier le dossier d'instruction ${di_instr_1_division_1_commune_1} ${values}
212     # Ajout d'enjeux multiples sur le dossier di_instr_2_division_1_commune_1
213     @{enjeux} = Create List ${values_enjeux_1.libelle} ${values_enjeux_2.libelle}
214     ${values} = Create Dictionary
215     ... enjeux=${enjeux}
216     Modifier le dossier d'instruction ${di_instr_2_division_1_commune_1} ${values}
217    
218     ${di_instr_1_division_1_commune_1_se} = Sans espace ${di_instr_1_division_1_commune_1}
219     ${di_instr_2_division_1_commune_1_se} = Sans espace ${di_instr_2_division_1_commune_1}
220    
221    
222     # Filtre sur l'instructeur
223     Insérer les paramètres suivants dans le widget
224     ... filtre=instructeur
225     ... ${om_widget_libelle}
226     #
227     Depuis la page d'accueil pdurand pdurand
228     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
229     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
230     # Cas 1 : affichage d'un dossier avec un seul enjeu
231     Page Should Contain Element css=a[href*="idx=${di_instr_1_division_1_commune_1_se}"] i.ri-alert-line[style*="color:#${values_enjeux_1.couleur}"]
232     Page Should Contain Element css=a[href*="idx=${di_instr_1_division_1_commune_1_se}"] i.ri-alert-line[title="${values_enjeux_1.libelle}"]
233    
234     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
235     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_3_division_2_commune_1}
236     Click Element css=.widget_${om_widget_libelle} .widget-footer a
237     Le titre de la page doit être Instruction > Dossiers Limites
238     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
239     # Cas 1 : affichage d'un dossier avec un seul enjeu
240     Page Should Contain Element css=a[href*="idx=${di_instr_1_division_1_commune_1_se}"] i.ri-alert-line[style*="color:#${values_enjeux_1.couleur}"]
241     Page Should Contain Element css=a[href*="idx=${di_instr_1_division_1_commune_1_se}"] i.ri-alert-line[title="${values_enjeux_1.libelle}"]
242    
243     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
244     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_3_division_2_commune_1}
245    
246     # Filtre sur la division
247     Depuis la page d'accueil admin admin
248     Insérer les paramètres suivants dans le widget
249     ... filtre=division
250     ... ${om_widget_libelle}
251     #
252     Depuis la page d'accueil pdurand pdurand
253     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
254     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
255     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
256     # Cas 2 : affichage d'un dossier avec un plusieurs enjeu
257     Page Should Contain Element css=a[href*="idx=${di_instr_2_division_1_commune_1_se}"] i.omi-alert-multiple-line
258    
259     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_3_division_2_commune_1}
260     Click Element css=.widget_${om_widget_libelle} .widget-footer a
261     Le titre de la page doit être Instruction > Dossiers Limites
262     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
263     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
264     # Cas 2 : affichage d'un dossier avec un plusieurs enjeu
265     Page Should Contain Element css=a[href*="idx=${di_instr_2_division_1_commune_1_se}"] i.omi-alert-multiple-line
266    
267     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_3_division_2_commune_1}
268    
269     # Filtre sur l'instructeur secondaire
270     Depuis la page d'accueil admin admin
271     Insérer les paramètres suivants dans le widget
272     ... filtre=instructeur_secondaire
273     ... ${om_widget_libelle}
274    
275     Depuis la page d'accueil ${instructeur_secondaire_login} ${instructeur_secondaire_login}
276     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
277     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
278     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_3_division_2_commune_1}
279     Click Element css=.widget_${om_widget_libelle} .widget-footer a
280     Le titre de la page doit être Instruction > Dossiers Limites
281     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
282     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
283     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_3_division_2_commune_1}
284     # L'instructeur du dossier ne dois pas avoir de résultat
285     Depuis la page d'accueil pdurand pdurand
286     Element Should Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
287    
288     #
289     Depuis la page d'accueil admin admin
290     Insérer les paramètres suivants dans le widget
291     ... filtre=aucun
292     ... ${om_widget_libelle}
293     #
294     Depuis la page d'accueil pdurand pdurand
295     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
296     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
297     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
298     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_3_division_2_commune_1}
299 softime 18436 Element Should Contain css=.widget_${om_widget_libelle} date limite
300    
301 ejpritchard 17341 Click Element css=.widget_${om_widget_libelle} .widget-footer a
302     Le titre de la page doit être Instruction > Dossiers Limites
303     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
304     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
305     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_3_division_2_commune_1}
306 softime 18436 Element Should Contain css=#tab-${om_widget_libelle} date limite
307 ejpritchard 17341
308     #
309     # Cas d'utilisation n°2
310     # Un paramètre permet de filtrer sur les types de dossiers qui apparaissent
311     #
312    
313     ${di_type_dp} = Set Variable ${di_instr_2_division_1_commune_1}
314     ${di_type_pc} = Set Variable ${di_instr_1_division_1_commune_1}
315    
316     #
317     Depuis la page d'accueil admin admin
318     Insérer les paramètres suivants dans le widget
319     ... codes_datd=PCI;PCA;PC\nfiltre=aucun
320     ... ${om_widget_libelle}
321     #
322     Depuis la page d'accueil pdurand pdurand
323     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
324     Element Should Contain css=.widget_${om_widget_libelle} ${di_type_pc}
325     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_type_dp}
326     Click Element css=.widget_${om_widget_libelle} .widget-footer a
327     Le titre de la page doit être Instruction > Dossiers Limites
328     Element Should Contain css=#tab-${om_widget_libelle} ${di_type_pc}
329     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_type_dp}
330    
331     #
332     Depuis la page d'accueil admin admin
333     Insérer les paramètres suivants dans le widget
334     ... codes_datd=DP;DPS\nfiltre=aucun
335     ... ${om_widget_libelle}
336     #
337     Depuis la page d'accueil pdurand pdurand
338     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
339     Element Should Contain css=.widget_${om_widget_libelle} ${di_type_dp}
340     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_type_pc}
341     Click Element css=.widget_${om_widget_libelle} .widget-footer a
342     Le titre de la page doit être Instruction > Dossiers Limites
343     Element Should Contain css=#tab-${om_widget_libelle} ${di_type_dp}
344     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_type_pc}
345    
346     #
347     Depuis la page d'accueil admin admin
348     Insérer les paramètres suivants dans le widget
349     ... codes_datd=ZZ\nfiltre=aucun
350     ... ${om_widget_libelle}
351     #
352     Depuis la page d'accueil pdurand pdurand
353     Element Should Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
354     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_type_dp}
355     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_type_pc}
356     Element Should Not Contain css=.widget_${om_widget_libelle} Voir +
357    
358     #
359     # Cas d'utilisation n°3
360     # Vérifier le paramètre nombre de jours
361     #
362    
363     #
364     Depuis la page d'accueil admin admin
365     Insérer les paramètres suivants dans le widget
366     ... nombre_de_jours=7\nfiltre=aucun
367     ... ${om_widget_libelle}
368    
369     # En se basant sur le fait que les 3 types de dossiers ont un délai d'instruction à 2 mois
370     ${date_di_db} = Subtract Time From Date ${DATE_FORMAT_YYYY-MM-DD} 55 days result_format=%Y-%m-%d
371     ${date_di} = Convert Date ${date_di_db} result_format=%d/%m/%Y
372     &{args_petitionnaire} = Create Dictionary
373     ... particulier_nom=PETIPRINC_NOM_04_045_DS
374     ... particulier_prenom=PETIPRINC_PRENOM_04_045_DS
375     ... om_collectivite=${librecom_values.om_collectivite_libelle}
376     &{args_demande} = Create Dictionary
377     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
378     ... demande_type=Dépôt Initial
379     ... om_collectivite=${librecom_values.om_collectivite_libelle}
380     ... date_demande=${date_di}
381     ${di2_instr_1_division_1_commune_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
382    
383     #
384     Depuis la page d'accueil pdurand pdurand
385     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
386     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
387     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
388     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_3_division_2_commune_1}
389     Element Should Contain css=.widget_${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
390     Click Element css=.widget_${om_widget_libelle} .widget-footer a
391     Le titre de la page doit être Instruction > Dossiers Limites
392     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
393     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
394     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_3_division_2_commune_1}
395     Element Should Contain css=#tab-${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
396    
397     #
398     # Cas d'utilisation n°4
399     # Vérifie l'affichage d'un dossier d'instruction icomplet
400     # Le délai d'incomplétude est géré par un autre champ que celui pour la date limite complet
401     #
402    
403     ${di_limite} = Set Variable ${di_instr_1_division_1_commune_1}
404     # ${di_limite_incomplet} = Set Variable AT 013055 13 00001P0
405    
406     # Filtre sur la division
407     Depuis la page d'accueil admin admin
408     Insérer les paramètres suivants dans le widget
409     ... filtre=division
410     ... ${om_widget_libelle}
411    
412     Ajouter l'utilisateur depuis le menu Arthur Heureux [email protected] aheureux aheureux DIVISIONNAIRE ${librecom_values.om_collectivite_libelle}
413     Ajouter l'instructeur depuis le menu Arthur Heureux Division B instructeur Arthur Heureux
414    
415     # En se basant sur le fait que les 3 types de dossiers ont un délai d'instruction à 2 mois
416     ${date_di_db} = Subtract Time From Date ${DATE_FORMAT_YYYY-MM-DD} 100 days result_format=%Y-%m-%d
417     ${date_di} = Convert Date ${date_di_db} result_format=%d/%m/%Y
418     &{args_petitionnaire} = Create Dictionary
419     ... particulier_nom=PETIPRINC_NOM_05_045_DS
420     ... particulier_prenom=PETIPRINC_PRENOM_05_045_DS
421     ... om_collectivite=${librecom_values.om_collectivite_libelle}
422     &{args_demande} = Create Dictionary
423     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
424     ... demande_type=Dépôt Initial
425     ... om_collectivite=${librecom_values.om_collectivite_libelle}
426     ... date_demande=${date_di}
427     ${di3_instr_1_division_1_commune_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
428     ${di_limite_incomplet} = Set Variable ${di3_instr_1_division_1_commune_1}
429     Constitution du Workflow de gestion d'une incomplétude 045
430     ${date_incomplet_db} = Subtract Time From Date ${DATE_FORMAT_YYYY-MM-DD} 80 days result_format=%Y-%m-%d
431     ${date_incomplet} = Convert Date ${date_incomplet_db} result_format=%d/%m/%Y
432     Ajouter une instruction au DI et la finaliser ${di3_instr_1_division_1_commune_1} ${incompletude_libelle} false ${date_incomplet}
433     Depuis l'instruction du dossier d'instruction ${di3_instr_1_division_1_commune_1} ${incompletude_libelle}
434     Click On SubForm Portlet Action instruction modifier_suivi
435     Input Datepicker date_retour_signature ${date_incomplet}
436     Click On Submit Button In Subform
437    
438     #
439     Depuis la page d'accueil aheureux aheureux
440     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
441     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.widget_${om_widget_libelle} ${di_limite}
442     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.widget_${om_widget_libelle} ${di_limite_incomplet}
443     Click Element css=.widget_${om_widget_libelle} .widget-footer a
444     Le titre de la page doit être Instruction > Dossiers Limites
445     Element Should Contain css=#tab-${om_widget_libelle} ${di_limite}
446     Element Should Contain css=#tab-${om_widget_libelle} ${di_limite_incomplet}
447    
448     #
449     # Cas d'utilisation n°5
450     # Restreindre le resultat aux dossiers d'instruction dont le caractère
451     # tacite est actif
452     #
453    
454     # Filtre sur la division
455     Depuis la page d'accueil admin admin
456     Insérer les paramètres suivants dans le widget
457     ... restreindre_aux_tacites=true\nfiltre=division
458     ... ${om_widget_libelle}
459     # Ajout de l'action et de l'événement pour suspendre le tacite automatique
460     &{args_action} = Create Dictionary
461     ... action=susp_tacite_auto
462     ... libelle=Suspendre le tacite automatique
463     ... regle_accord_tacite=accord_tacite
464     Ajouter l'action depuis le menu ${args_action}
465     @{etat_source} = Create List delai de notification envoye
466     @{type_di} = Create List PCI - P - Initial
467     &{args_evenement} = Create Dictionary
468     ... libelle=Suspendre le tacite automatique
469     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
470     ... dossier_instruction_type=${type_di}
471     ... action=Suspendre le tacite automatique
472     ... accord_tacite=Non
473     Ajouter l'événement depuis le menu ${args_evenement}
474    
475     #
476     Depuis la page d'accueil aheureux aheureux
477     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
478     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
479     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
480     Element Should Contain css=.widget_${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
481     Element Should Contain css=.widget_${om_widget_libelle} ${di3_instr_1_division_1_commune_1}
482     Click Element css=.widget_${om_widget_libelle} .widget-footer a
483     Le titre de la page doit être Instruction > Dossiers Limites
484     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
485     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
486     Element Should Contain css=#tab-${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
487     Element Should Contain css=#tab-${om_widget_libelle} ${di3_instr_1_division_1_commune_1}
488    
489     # Suspend le tacite automatique d'un dossiers
490     Depuis la page d'accueil admin admin
491     Ajouter une instruction au DI ${di_instr_1_division_1_commune_1} Suspendre le tacite automatique
492    
493     # Le dossier ne doit plus apparaitre dans les dossiers limites
494     Depuis la page d'accueil aheureux aheureux
495     Element Should Not Contain css=.widget_${om_widget_libelle} Vous n'avez pas de dossiers limites pour le moment.
496     Element Should Not Contain css=.widget_${om_widget_libelle} ${di_instr_1_division_1_commune_1}
497     Element Should Contain css=.widget_${om_widget_libelle} ${di_instr_2_division_1_commune_1}
498     Element Should Contain css=.widget_${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
499     Element Should Contain css=.widget_${om_widget_libelle} ${di3_instr_1_division_1_commune_1}
500     Click Element css=.widget_${om_widget_libelle} .widget-footer a
501     Le titre de la page doit être Instruction > Dossiers Limites
502     Element Should Not Contain css=#tab-${om_widget_libelle} ${di_instr_1_division_1_commune_1}
503     Element Should Contain css=#tab-${om_widget_libelle} ${di_instr_2_division_1_commune_1}
504     Element Should Contain css=#tab-${om_widget_libelle} ${di2_instr_1_division_1_commune_1}
505     Element Should Contain css=#tab-${om_widget_libelle} ${di3_instr_1_division_1_commune_1}
506    
507     # Test l'affichage du widget avec un nombre plutôt qu'une liste
508     Depuis la page d'accueil admin admin
509     Insérer les paramètres suivants dans le widget
510     ... restreindre_aux_tacites=true\nfiltre=division\naffichage=nombre
511     ... ${om_widget_libelle}
512    
513     Depuis la page d'accueil aheureux aheureux
514     Element Should Contain css=.widget_${om_widget_libelle} span.bg-info 3
515    
516     # Désactive la restriction aux dossiers d'instruction tacites sur le widget
517     # des dossiers limites
518     Depuis la page d'accueil admin admin
519     Insérer les paramètres suivants dans le widget
520     ... ${EMPTY}
521     ... ${om_widget_libelle}
522    
523    
524     Widget "Recherche Dossier"
525    
526     [Documentation] L'objet de ce 'Test Case' est de vérifier le
527     ... fonctionnement du widget 'Recherche Dossier'
528     ... (widget_recherche_dossier)
529    
530     &{isolation_values_01} = Create Dictionary
531     ... om_collectivite_libelle=JIYUCITY045WRD01
532     ... departement=066
533     ... commune=088
534     ... insee=66088
535     ... direction_code=O
536     ... direction_libelle=Direction de JIYUCITY045WRD01
537     ... direction_chef=Chef
538     ... division_code=O
539     ... division_libelle=Division O
540     ... division_chef=Chef
541     ... instr_om_utilisateur_nom=Alexandria Le Menard
542     ... [email protected]
543     ... instr_om_utilisateur_login=alemenard
544     ... instr_om_utilisateur_pwd=alemenard
545     Isolation d'un contexte ${isolation_values_01}
546     &{isolation_values_02} = Create Dictionary
547     ... om_collectivite_libelle=JIYUCITY045WRD02
548     ... departement=066
549     ... commune=089
550     ... insee=66089
551     ... direction_code=P
552     ... direction_libelle=Direction de JIYUCITY045WRD02
553     ... direction_chef=Chef
554     ... division_code=P
555     ... division_libelle=Division P
556     ... division_chef=Chef
557     ... instr_om_utilisateur_nom=Daniel LeGrand
558     ... [email protected]
559     ... instr_om_utilisateur_login=dlegrand
560     ... instr_om_utilisateur_pwd=dlegrand
561     Isolation d'un contexte ${isolation_values_02}
562    
563     # Dossier pour vérifier les différents cas
564     &{args_petitionnaire_di} = Create Dictionary
565     ... particulier_nom=LABONTÉ
566     ... particulier_prenom=WILLIAM
567     ... om_collectivite=${isolation_values_01.om_collectivite_libelle}
568     &{args_demande_di} = Create Dictionary
569     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
570     ... demande_type=Dépôt Initial
571     ... om_collectivite=${isolation_values_01.om_collectivite_libelle}
572     ${di} = Ajouter la demande par WS ${args_demande_di} ${args_petitionnaire_di}
573     ${di_ns} = Sans espace ${di}
574     &{args_petitionnaire_di_a} = Create Dictionary
575     ... particulier_nom=DUPÉRÉ
576     ... particulier_prenom=ZURIE
577     ... om_collectivite=${isolation_values_02.om_collectivite_libelle}
578     &{args_demande_di_a} = Create Dictionary
579     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
580     ... demande_type=Dépôt Initial
581     ... om_collectivite=${isolation_values_02.om_collectivite_libelle}
582     ${di_allauch} = Ajouter la demande par WS ${args_demande_di_a} ${args_petitionnaire_di_a}
583     &{args_petitionnaire_di_b} = Create Dictionary
584     ... particulier_nom=MARTEL
585     ... particulier_prenom=LAURENT
586     ... om_collectivite=${isolation_values_01.om_collectivite_libelle}
587     &{args_demande_di_b} = Create Dictionary
588     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
589     ... demande_type=Dépôt Initial
590     ... om_collectivite=${isolation_values_01.om_collectivite_libelle}
591     ${di_b} = Ajouter la demande par WS ${args_demande_di_b} ${args_petitionnaire_di_b}
592    
593     # En tant qu'instructeur
594     Depuis la page d'accueil alemenard alemenard
595    
596     #
597     # Cas d'utilisation n°1
598     #
599     # Saisie d'un numéro de dossier complet (avec et sans espaces)
600     #
601     Go To Dashboard via Link
602     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${di}
603     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
604     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
605     La page ne doit pas contenir d'erreur
606     #
607     Go To Dashboard via Link
608     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${di_ns}
609     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
610     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
611     La page ne doit pas contenir d'erreur
612    
613     #
614     # Cas d'utilisation n°2
615     #
616     # Saisie d'une portion d'un numéro de dossier
617     #
618     # Cas 2a : un seul dossier
619     Go To Dashboard via Link
620     ${search_2a_1} = Get Substring ${di_ns} 0 2
621     ${search_2a_2} = Get Substring ${di_ns} 6 9
622     ${search_2a_3} = Get Substring ${di_ns} 14 16
623     ${search_2a} = Catenate SEPARATOR=* ${search_2a_1} ${search_2a_2} ${search_2a_3}
624     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${search_2a}
625     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
626     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
627     La page ne doit pas contenir d'erreur
628     # Cas 2b : plusieurs dossiers
629     Go To Dashboard via Link
630     ${search_2b} = Get Substring ${di_ns} 2 7
631     ${search_2b_adv} = Catenate SEPARATOR= * ${search_2b}
632     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${search_2b}
633     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
634     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction
635     La page ne doit pas contenir d'erreur
636     Textfield Value Should Be css=#advanced-form input#dossier ${search_2b_adv}
637    
638     #
639     # Cas d'utilisation n°3
640     #
641     # Saisie d'un numéro de dossier inexistant
642     #
643     Go To Dashboard via Link
644     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ZZZZZZZZZZZZ
645     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
646     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Tableau De Bord
647     La page ne doit pas contenir d'erreur
648     Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé.
649    
650     #
651     # Cas d'utilisation n°4
652     #
653     # Aucune valeur saisie
654     #
655     Go To Dashboard via Link
656     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
657     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Tableau De Bord
658     La page ne doit pas contenir d'erreur
659     Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Veuillez saisir un No de dossier.
660    
661     #
662     # TNR Bug "Erreur de base de données" lors de saisie de caractères spéciaux
663     #
664     Go To Dashboard via Link
665     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ;"?#'
666     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
667     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction
668     La page ne doit pas contenir d'erreur
669     Textfield Value Should Be css=#advanced-form input#dossier *,
670    
671     #
672     # Les DI contentieux ne doivent pas accessibles
673     #
674     Go To Dashboard via Link
675     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${di_rec}
676     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
677     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Tableau De Bord
678     La page ne doit pas contenir d'erreur
679     Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé.
680    
681     # L'utilisateur étant mono, le DI d'une autre collectivité ne doit pas être trouvé
682     Go To Dashboard via Link
683     Input Text css=#dashboard div.widget_recherche_dossier input#dossier ${di_allauch}
684     Click Element css=#dashboard div.widget_recherche_dossier div.formControls input
685     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé.
686     La page ne doit pas contenir d'erreur
687    
688    
689     Widget "Recherche Dossier par type"
690    
691     [Documentation] L'objet de ce 'Test Case' est de vérifier le
692     ... fonctionnement du widget 'Recherche Dossier par type'
693     ... (widget_recherche_dossier_par_type)
694     ...
695     ... Vérification des points suivants :
696     ... - un utilisateur mono ne doit pas pouvoir rechercher un DI d'une autre collectivité
697     ... - la recherche fonctionne avec des numéros de dossier avec et sans espaces
698     ... - selon le type de dossier, on est redirigés au bon endroit
699    
700     #
701     &{args_petitionnaire_di} = Create Dictionary
702     ... particulier_nom=PETIT
703     ... particulier_prenom=SEBASTIEN
704     ... om_collectivite=MARSEILLE
705     &{args_demande_di} = Create Dictionary
706     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
707     ... demande_type=Dépôt Initial
708     ... om_collectivite=MARSEILLE
709     ... date_demande=01/01/1999
710     ${di} = Ajouter la demande par WS ${args_demande_di} ${args_petitionnaire_di}
711     ${di_ns} = Sans espace ${di}
712     &{args_petitionnaire_di_a} = Create Dictionary
713     ... particulier_nom=PETRIE
714     ... particulier_prenom=CHRISTELLE
715     ... om_collectivite=ALLAUCH
716     &{args_demande_di_a} = Create Dictionary
717     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
718     ... demande_type=Dépôt Initial
719     ... om_collectivite=ALLAUCH
720     ... date_demande=01/01/1999
721     ${di_allauch} = Ajouter la demande par WS ${args_demande_di_a} ${args_petitionnaire_di_a}
722    
723     Depuis la page d'accueil assist assist
724    
725     # Aucune valeur saisie
726     Go To Dashboard via Link
727     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Selected List Label Should Be css=select#type_dossier_recherche ADS
728     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
729     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Tableau De Bord
730     La page ne doit pas contenir d'erreur
731     Element Text Should Be css=#dashboard div.widget_recherche_dossier_par_type div.message.ui-state-error p span.text Veuillez saisir un No de dossier.
732    
733     # Saisie d'un numéro de dossier inexistant
734     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ZZZZZZZZZZZZ
735     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
736     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Tableau De Bord
737     La page ne doit pas contenir d'erreur
738     Element Text Should Be css=#dashboard div.widget_recherche_dossier_par_type div.message.ui-state-error p span.text Aucun dossier trouvé.
739    
740     # Contrôle de la saisie de caractères spéciaux
741     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ;"?#'';'
742     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
743     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction
744     La page ne doit pas contenir d'erreur
745     Textfield Value Should Be css=#advanced-form input#dossier *,
746    
747     # L'utilisateur étant mono, le DI d'une autre collectivité ne doit pas être trouvé
748     Go To Dashboard via Link
749     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di_allauch}
750     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
751     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Text Should Be css=#dashboard div.widget_recherche_dossier_par_type div.message.ui-state-error p span.text Aucun dossier trouvé.
752     La page ne doit pas contenir d'erreur
753    
754     # Recherche de dossiers ADS existants avec et sans espaces dans le numéro
755     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di}
756     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
757     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
758     La page ne doit pas contenir d'erreur
759    
760     Go To Dashboard via Link
761     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di_ns}
762     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
763     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
764     La page ne doit pas contenir d'erreur
765    
766     # Saisie d'une portion d'un numéro de dossier, avec un seul dossier en résultat
767     Go To Dashboard via Link
768     ${search_2a_1} = Get Substring ${di_ns} 0 2
769     ${search_2a_2} = Get Substring ${di_ns} 6 9
770     ${search_2a_3} = Get Substring ${di_ns} 14 16
771     ${search_2a} = Catenate SEPARATOR=* ${search_2a_1} ${search_2a_2} ${search_2a_3}
772     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${search_2a}
773     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
774     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di} ${args_petitionnaire_di.particulier_nom} ${args_petitionnaire_di.particulier_prenom}
775     La page ne doit pas contenir d'erreur
776    
777     # Saisie d'une portion d'un numéro de dossier, avec plusieurs dossiers en résultat
778     Go To Dashboard via Link
779     ${search_2b} = Get Substring ${di_ns} 2 7
780     ${search_2b_adv} = Catenate SEPARATOR= *${search_2b}
781     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${search_2b}
782     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
783     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction
784     La page ne doit pas contenir d'erreur
785     Textfield Value Should Be css=#advanced-form input#dossier ${search_2b_adv}
786    
787     # Passage de l'utilisateur juriste sur la collectivité agglo pour tester le filtre sur
788     # la collectivité
789     Depuis la page d'accueil admin admin
790     Modifier l'utilisateur juriste [email protected] juriste juriste JURISTE agglo
791    
792     # Un utilisateur multi doit pouvoir rechercher des dossiers de toutes les collectivités
793     Depuis la page d'accueil juriste juriste
794     Go To Dashboard via Link
795     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di_allauch}
796     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
797     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di_allauch} ${args_petitionnaire_di_a.particulier_nom} ${args_petitionnaire_di_a.particulier_prenom}
798     La page ne doit pas contenir d'erreur
799    
800     # Modification du type de dossier sélectionné par défaut
801     Depuis la page d'accueil admin admin
802     Depuis le contexte du widget recherche_dossier_par_type
803     Click On Form Portlet Action om_widget modifier
804     Input Text arguments type_defaut=RE*
805     Click On Submit Button
806     Modifier l'utilisateur juriste [email protected] juriste juriste JURISTE MARSEILLE
807    
808     Depuis la page d'accueil juriste juriste
809     # Recherche d'un dossier IN
810     Go To Dashboard via Link
811     Selected List Label Should Be css=select#type_dossier_recherche RE*
812     Select From List By Label css=select#type_dossier_recherche IN
813     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di_inf}
814     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
815     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Contentieux > Infraction > ${di_inf}
816     La page ne doit pas contenir d'erreur
817    
818     # Recherche de dossiers IN
819     Go To Dashboard via Link
820     Select From List By Label css=select#type_dossier_recherche IN
821     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier IN
822     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
823     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Contentieux > Infractions
824     La page ne doit pas contenir d'erreur
825    
826     # Recherche d'un dossier RE
827     Go To Dashboard via Link
828     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier ${di_rec}
829     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
830     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Contentieux > Recours > ${di_rec}
831     La page ne doit pas contenir d'erreur
832    
833     # Recherche de dossiers RE
834     Go To Dashboard via Link
835     Input Text css=#dashboard div.widget_recherche_dossier_par_type input#dossier RE
836     Click Element css=#dashboard div.widget_recherche_dossier_par_type div.formControls input
837     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Contentieux > Recours
838     La page ne doit pas contenir d'erreur
839    
840    
841     Widget "Dossiers incomplets ou majorés sans date de notification"
842    
843     [Documentation] L'objet de ce 'Test Case' est de vérifier le
844     ... fonctionnement du widget 'Dossiers incomplets ou majorés sans date de notification'
845     ... (dossiers_evenement_incomplet_majoration)
846    
847     ##
848     ## Constitution du jeu de données
849     ##
850     ## On crée deux nouvelles collectivités pour être sûr du nombre
851     ## de retours de messages à vérifier dans les widgets et tableaux
852     ##
853     #
854     ${collectivite_a} = Set Variable DAKAR
855     ${collectivite_b} = Set Variable SINESALOUM
856     #
857     ${utilisateur_nom_01} = Set Variable Nicole Leduc
858     ${utilisateur_login_01} = Set Variable nleduc
859     ${utilisateur_nom_02} = Set Variable Julie Giguère
860     ${utilisateur_login_02} = Set Variable jguiguere
861     ${utilisateur_nom_03} = Set Variable Arno Perreault
862     ${utilisateur_login_03} = Set Variable aperreault
863     ${utilisateur_nom_04} = Set Variable Albertine Echeverri
864     ${utilisateur_login_04} = Set Variable aecheverri
865     ${utilisateur_secondaire_login} = Set Variable instructeur_secondaire_eim
866     #
867     Depuis la page d'accueil admin admin
868     #
869     Ajouter la collectivité depuis le menu ${collectivite_a} mono
870     Ajouter la collectivité depuis le menu ${collectivite_b} mono
871     #
872     Ajouter l'utilisateur ${utilisateur_nom_01} [email protected] ${utilisateur_login_01} ${utilisateur_login_01} INSTRUCTEUR ${collectivite_a}
873     Ajouter l'utilisateur ${utilisateur_nom_02} [email protected] ${utilisateur_login_02} ${utilisateur_login_02} INSTRUCTEUR ${collectivite_a}
874     Ajouter l'utilisateur ${utilisateur_nom_03} [email protected] ${utilisateur_login_03} ${utilisateur_login_03} INSTRUCTEUR ${collectivite_a}
875     Ajouter l'utilisateur ${utilisateur_nom_04} [email protected] ${utilisateur_login_04} ${utilisateur_login_04} INSTRUCTEUR ${collectivite_b}
876     Ajouter l'utilisateur ${utilisateur_secondaire_login} [email protected] ${utilisateur_secondaire_login} ${utilisateur_secondaire_login} INSTRUCTEUR ${collectivite_a}
877     #
878     Ajouter la direction depuis le menu D Direction D null Chef D null null ${collectivite_a}
879     Ajouter la direction depuis le menu S Direction S null Chef S null null ${collectivite_b}
880     #
881     Ajouter la division depuis le menu D subdivision D null Chef D null null Direction D
882     Ajouter la division depuis le menu DD subdivision DD null Chef D null null Direction D
883     Ajouter la division depuis le menu S subdivision S null Chef S null null Direction S
884     #
885     #
886     Ajouter l'instructeur depuis le menu ${utilisateur_nom_01} subdivision D instructeur ${utilisateur_nom_01}
887     Ajouter l'instructeur depuis le menu ${utilisateur_nom_02} subdivision DD instructeur ${utilisateur_nom_02}
888     Ajouter l'instructeur depuis le menu ${utilisateur_nom_03} subdivision D instructeur ${utilisateur_nom_03}
889     Ajouter l'instructeur depuis le menu ${utilisateur_nom_04} subdivision S instructeur ${utilisateur_nom_04}
890     Ajouter l'instructeur depuis le menu ${utilisateur_secondaire_login} subdivision D instructeur ${utilisateur_secondaire_login}
891     #
892     &{args_affectation} = Create Dictionary
893     ... instructeur=${utilisateur_nom_01} (D)
894     ... instructeur_2=${utilisateur_secondaire_login} (D)
895     ... om_collectivite=${collectivite_a}
896     Ajouter l'affectation depuis le menu ${args_affectation}
897     &{args_affectation} = Create Dictionary
898     ... instructeur=${utilisateur_nom_02} (DD)
899     ... instructeur_2=${utilisateur_secondaire_login} (D)
900     ... om_collectivite=${collectivite_a}
901     ... dossier_autorisation_type_detaille=PCA - Permis de construire comprenant ou non des démolitions
902     Ajouter l'affectation depuis le menu ${args_affectation}
903     &{args_affectation} = Create Dictionary
904     ... instructeur=${utilisateur_nom_03} (D)
905     ... instructeur_2=${utilisateur_secondaire_login} (D)
906     ... om_collectivite=${collectivite_a}
907     ... dossier_autorisation_type_detaille=PD - Permis de démolir
908     Ajouter l'affectation depuis le menu ${args_affectation}
909     &{args_affectation} = Create Dictionary
910     ... instructeur=${utilisateur_nom_04} (S)
911     ... om_collectivite=${collectivite_b}
912     Ajouter l'affectation depuis le menu ${args_affectation}
913    
914     # DI n°1 : Permis de démolir dans Collectivité A (niveau mono)
915     # => Affecté à l'instructeur '${utilisateur_nom_03}' (${utilisateur_login_03})
916     # => Division 'D'
917     #
918     &{args_petitionnaire_01} = Create Dictionary
919     ... particulier_nom=Chandonnet
920     ... particulier_prenom=Leone
921     ... om_collectivite=${collectivite_a}
922     #
923     &{args_demande_01} = Create Dictionary
924     ... dossier_autorisation_type_detaille=Permis de démolir
925     ... demande_type=Dépôt Initial
926     ... date_demande=${date_ddmmyyyy}
927     ... om_collectivite=${collectivite_a}
928     #
929     ${di_01} = Ajouter la demande par WS ${args_demande_01} ${args_petitionnaire_01}
930    
931     # DI n°2 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité A (niveau mono)
932     # => Affecté à l'instructeur '${utilisateur_nom_01}' (${utilisateur_login_01})
933     # => Division 'D'
934     #
935     &{args_petitionnaire_02} = Create Dictionary
936     ... particulier_nom=Joly
937     ... particulier_prenom=Frédérique
938     ... om_collectivite=${collectivite_a}
939     #
940     &{args_demande_02} = Create Dictionary
941     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
942     ... demande_type=Dépôt Initial
943     ... date_demande=${date_ddmmyyyy}
944     ... om_collectivite=${collectivite_a}
945     #
946     ${di_02} = Ajouter la demande par WS ${args_demande_02} ${args_petitionnaire_02}
947    
948     # DI n°3 : Permis de construire comprenant ou non des démolitions dans Collectivité A (niveau mono)
949     # => Affecté à l'instructeur '${utilisateur_nom_02}' (${utilisateur_login_02})
950     # => Division 'DD'
951     #
952     &{args_petitionnaire_03} = Create Dictionary
953     ... particulier_nom=Boucher
954     ... particulier_prenom=Bernadette
955     ... om_collectivite=${collectivite_a}
956     #
957     &{args_demande_03} = Create Dictionary
958     ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
959     ... demande_type=Dépôt Initial
960     ... date_demande=${date_ddmmyyyy}
961     ... om_collectivite=${collectivite_a}
962     #
963     ${di_03} = Ajouter la demande par WS ${args_demande_03} ${args_petitionnaire_03}
964    
965     # DI n°4 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité B (niveau mono)
966     # => Affecté à l'instructeur '${utilisateur_nom_04}' (${utilisateur_login_04})
967     # => Division 'S'
968     #
969     &{args_petitionnaire_04} = Create Dictionary
970     ... particulier_nom=BOULAGE
971     ... particulier_prenom=Damien
972     ... om_collectivite=${collectivite_b}
973     #
974     &{args_demande_04} = Create Dictionary
975     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
976     ... demande_type=Dépôt Initial
977     ... date_demande=${date_ddmmyyyy}
978     ... om_collectivite=${collectivite_b}
979     #
980     ${di_04} = Ajouter la demande par WS ${args_demande_04} ${args_petitionnaire_04}
981    
982     # On applique l'événement "majoration + DPC hors SS" à chaque dossier et on met une
983     # date d'envoi AR à l'événement pour que les dossiers soient affichés dans le widget
984     Ajouter une instruction au DI et la finaliser ${di_01} majoration + DPC hors SS false ${date_ddmmyyyy}
985     Click On SubForm Portlet Action instruction modifier_suivi
986     Input Datepicker date_envoi_rar ${date_ddmmyyyy}
987     Click On Submit Button In Subform
988    
989     Ajouter une instruction au DI et la finaliser ${di_02} majoration + DPC hors SS false ${date_ddmmyyyy}
990     Click On SubForm Portlet Action instruction modifier_suivi
991     Input Datepicker date_envoi_rar ${date_ddmmyyyy}
992     Click On Submit Button In Subform
993    
994     Ajouter une instruction au DI et la finaliser ${di_03} majoration + DPC hors SS false ${date_ddmmyyyy}
995     Click On SubForm Portlet Action instruction modifier_suivi
996     Input Datepicker date_envoi_rar ${date_ddmmyyyy}
997     Click On Submit Button In Subform
998    
999     Ajouter une instruction au DI et la finaliser ${di_04} majoration + DPC hors SS false ${date_ddmmyyyy}
1000     Click On SubForm Portlet Action instruction modifier_suivi
1001     Input Datepicker date_envoi_rar ${date_ddmmyyyy}
1002     Click On Submit Button In Subform
1003    
1004     #
1005     # Cas d'utilisation n°1
1006     # Un paramètre permet de filtrer les dossiers qui apparaissent soit par :
1007     # - instructeur
1008     # - division
1009     # - aucun (collectivite)
1010     #
1011     # Vérification du :
1012     # - fonctionnement des filtres
1013     # - de la redirection vers le dossier
1014     # - des dossiers affichés dans le widget ET la liste "voir plus"
1015    
1016     #
1017     ${widget_id} = Set Variable widget_10
1018     ${libelle_widget} = Set Variable dossiers_evenement_incomplet_majoration
1019    
1020     ## Vérification du filtre par défaut (instructeur)
1021     # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR')
1022     Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1023     Element Should Contain css=#${widget_id} ${di_02}
1024     Element Should Not Contain css=#${widget_id} ${di_01}
1025     Element Should Not Contain css=#${widget_id} ${di_03}
1026     Element Should Not Contain css=#${widget_id} ${di_04}
1027     Click Link ${di_02}
1028     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1029    
1030     Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1031     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#${widget_id} .widget-footer a
1032     Le titre de la page doit être Instruction > Dossiers Incomplets Ou Majorés Sans Date De Notification
1033     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1034     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1035     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1036     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1037     Click Link ${di_02}
1038     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Le titre de la page doit être Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE
1039    
1040     ## Vérification du filtre instructeur
1041     Depuis la page d'accueil admin admin
1042     Insérer les paramètres suivants dans le widget
1043     ... filtre=instructeur
1044     ... ${libelle_widget}
1045    
1046     # L'instructeur doit seulement voir son dossier
1047     Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04}
1048     Element Should Contain css=#${widget_id} ${di_04}
1049     Element Should Not Contain css=#${widget_id} ${di_01}
1050     Element Should Not Contain css=#${widget_id} ${di_02}
1051     Element Should Not Contain css=#${widget_id} ${di_03}
1052    
1053     Click Element css=#${widget_id} .widget-footer a
1054     Le titre de la page doit être Instruction > Dossiers Incomplets Ou Majorés Sans Date De Notification
1055     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1056     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1057     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1058     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1059    
1060     # Filtre sur la division
1061     Depuis la page d'accueil admin admin
1062     Insérer les paramètres suivants dans le widget
1063     ... filtre=division
1064     ... ${libelle_widget}
1065    
1066     # On doit avoir 2 dossiers de la division
1067     Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01}
1068     Element Should Contain css=#${widget_id} ${di_01}
1069     Element Should Contain css=#${widget_id} ${di_02}
1070     Element Should Not Contain css=#${widget_id} ${di_04}
1071     Element Should Not Contain css=#${widget_id} ${di_03}
1072    
1073     Click Element css=#${widget_id} .widget-footer a
1074     Le titre de la page doit être Instruction > Dossiers Incomplets Ou Majorés Sans Date De Notification
1075     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1076     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1077     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1078     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1079    
1080     # Filtre "aucun" donc sur la collectivité
1081     Depuis la page d'accueil admin admin
1082     Insérer les paramètres suivants dans le widget
1083     ... filtre=aucun
1084     ... ${libelle_widget}
1085    
1086     # On doit avoir les 3 dossiers de la collectivité
1087     Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03}
1088     Element Should Contain css=#${widget_id} ${di_01}
1089     Element Should Contain css=#${widget_id} ${di_02}
1090     Element Should Contain css=#${widget_id} ${di_03}
1091     Element Should Not Contain css=#${widget_id} ${di_04}
1092     Click Element css=#${widget_id} .widget-footer a
1093     Le titre de la page doit être Instruction > Dossiers Incomplets Ou Majorés Sans Date De Notification
1094     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1095     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1096     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1097     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1098    
1099     ## Vérification du filtre instructeur_secondaire
1100     Depuis la page d'accueil admin admin
1101     Insérer les paramètres suivants dans le widget
1102     ... filtre=instructeur_secondaire
1103     ... ${libelle_widget}
1104     # On doit avoir les 3 dossiers sur lesquels l'instructeur secondaire est affecté
1105     Depuis la page d'accueil ${utilisateur_secondaire_login} ${utilisateur_secondaire_login}
1106     Element Should Contain css=#${widget_id} ${di_01}
1107     Element Should Contain css=#${widget_id} ${di_02}
1108     Element Should Contain css=#${widget_id} ${di_03}
1109     Element Should Not Contain css=#${widget_id} ${di_04}
1110     Click Element css=#${widget_id} .widget-footer a
1111     Le titre de la page doit être Instruction > Dossiers Incomplets Ou Majorés Sans Date De Notification
1112     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01}
1113     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02}
1114     Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03}
1115     Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04}
1116    
1117     # l'instructeur n'aura aucun résultat
1118     Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03}
1119     Element Should Contain
1120     ... css=.widget_dossiers_evenement_incomplet_majoration
1121     ... Vous n'avez pas de dossiers d'instruction avec un événement d'incomplétude ou de majoration de délai sans date de notification.
1122    
1123     # Test l'affichage du widget avec un nombre plutôt qu'une liste
1124     Depuis la page d'accueil admin admin
1125     Insérer les paramètres suivants dans le widget
1126     ... filtre=aucun\naffichage=nombre
1127     ... ${libelle_widget}
1128    
1129     Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03}
1130     Element Should Contain css=.widget_dossiers_evenement_incomplet_majoration span.bg-info 3
1131    
1132     # Suppression des affectations automatique
1133     Depuis la page d'accueil admin admin
1134     Supprimer l'affectation depuis le menu ${utilisateur_nom_01} (D)
1135     Supprimer l'affectation depuis le menu ${utilisateur_nom_02} (DD)
1136     Supprimer l'affectation depuis le menu ${utilisateur_nom_03} (D)
1137     Supprimer l'affectation depuis le menu ${utilisateur_nom_04} (S)
1138    
1139     Depuis le contexte du widget ${libelle_widget}
1140     Click On Form Portlet Action om_widget modifier
1141     Input Text arguments ${EMPTY}
1142     Click On Submit Button
1143    
1144    
1145     Widget "Nouveau dossier" et "Nouveau dossier contentieux"
1146     [Documentation] Ces widgets affichent un lien pour rediriger l'utilisateur
1147     ... Soit vers un nouveau dossier ADS soit vers un nouveau dossier contentieux.
1148    
1149     Depuis la page d'accueil guichet guichet
1150     Go To Dashboard via Link
1151     Click On Link Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier
1152     Submenu In Menu Should Be Selected guichet_unique nouveau-dossier
1153    
1154     Depuis la page d'accueil assist assist
1155     Go To Dashboard via Link
1156     Click On Link Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier
1157     Submenu In Menu Should Be Selected contentieux nouveau-dossier
1158    
1159    
1160     Widget "Dossiers Consultés"
1161     [Documentation] Ce widget affiche dans un tableau les X derniers dossiers consultés.
1162    
1163     # Permet de réinitialiser la session
1164     Depuis la page d'accueil instr instr
1165     Depuis la page d'accueil admin admin
1166     # Ajouter des DI
1167     &{args_petitionnaire} = Create Dictionary
1168     ... particulier_nom=Parfa
1169     ... particulier_prenom=Pierre
1170     ... om_collectivite=MARSEILLE
1171     &{args_demande} = Create Dictionary
1172     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1173     ... demande_type=Dépôt Initial
1174     ... om_collectivite=MARSEILLE
1175     ${di_consulte_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1176    
1177     &{args_petitionnaire} = Create Dictionary
1178     ... particulier_nom=Maurice
1179     ... particulier_prenom=Eric
1180     ... om_collectivite=MARSEILLE
1181     &{args_demande} = Create Dictionary
1182     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1183     ... demande_type=Dépôt Initial
1184     ... om_collectivite=MARSEILLE
1185     ${di_consulte_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1186    
1187     &{args_petitionnaire} = Create Dictionary
1188     ... particulier_nom=Oracle
1189     ... particulier_prenom=Yeal
1190     ... om_collectivite=MARSEILLE
1191     &{args_demande} = Create Dictionary
1192     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1193     ... demande_type=Dépôt Initial
1194     ... om_collectivite=MARSEILLE
1195     ${di_consulte_3} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1196    
1197     &{args_petitionnaire} = Create Dictionary
1198     ... particulier_nom=Paya
1199     ... particulier_prenom=Tim
1200     ... om_collectivite=MARSEILLE
1201     &{args_demande} = Create Dictionary
1202     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1203     ... demande_type=Dépôt Initial
1204     ... om_collectivite=MARSEILLE
1205     ${di_consulte_4} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1206    
1207     &{args_petitionnaire} = Create Dictionary
1208     ... particulier_nom=Marcel
1209     ... particulier_prenom=Jean
1210     ... om_collectivite=MARSEILLE
1211     &{args_demande} = Create Dictionary
1212     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1213     ... demande_type=Dépôt Initial
1214     ... om_collectivite=MARSEILLE
1215     ${di_consulte_5} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1216    
1217     # Suppression du widget des dossiers consultés par défaut du tableau de bord
1218     Go To ${PROJECT_URL}/app/index.php?module=tab&obj=om_dashboard
1219     Use Simple Search Profil ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL
1220     Click Link Les derniers dossiers consultés
1221     Click On Form Portlet Action om_dashboard supprimer
1222     Click On Submit Button
1223    
1224     # Ajout du Widget avec un nombre limite à 3
1225     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_widget&action=0
1226     Input Text libelle Les derniers dossiers consultés (3)
1227     # Selection
1228     Select From List By Label type file - le contenu du widget provient d'un script sur le serveur
1229     Select From List By Label script dossier_consulter
1230     Input Text arguments nb_dossiers=3
1231     Click On Submit Button
1232    
1233     # Ajouter a la composition
1234     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1235     Select From List By Label om_profil ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL
1236     Input Text bloc C1
1237     Select From List By Label om_widget Les derniers dossiers consultés (3)
1238     Click On Submit Button
1239    
1240     Go To Dashboard via Link
1241     Element Should Not Contain css=.widget_dossier_consulter ${di_consulte_1}
1242     Element Should Not Contain css=.widget_dossier_consulter ${di_consulte_2}
1243     Element Should Contain css=.widget_dossier_consulter Vous n'avez pas consulté de dossier pour le moment.
1244    
1245     # Les consulter
1246     Go To ${PROJECT_URL}/app/index.php?module=tab&obj=dossier_instruction
1247     Input Text dossier ${di_consulte_1},${di_consulte_2}
1248     Click Element css=#adv-search-submit
1249     Click On Link ${di_consulte_1}
1250     Click On Back Button
1251     Click On Link ${di_consulte_2}
1252    
1253     # On vérifie que le bouton "Afficher +" n'est pas affiché
1254     Go To Dashboard via Link
1255     Element Should Not Contain css=.widget_dossier_consulter Afficher +
1256    
1257     Go To ${PROJECT_URL}/app/index.php?module=tab&obj=dossier_instruction
1258     Input Text dossier ${di_consulte_3},${di_consulte_4},${di_consulte_5}
1259     Click Element css=#adv-search-submit
1260     Click On Link ${di_consulte_3}
1261     Click On Back Button
1262     Click On Link ${di_consulte_4}
1263     Click On Back Button
1264     Click On Link ${di_consulte_5}
1265    
1266     Go To Dashboard via Link
1267     Element Should Not Contain css=.widget_dossier_consulter ${di_consulte_1}
1268     Element Should Not Contain css=.widget_dossier_consulter ${di_consulte_2}
1269     Element Should Contain css=.widget_dossier_consulter ${di_consulte_3}
1270     Element Should Contain css=.widget_dossier_consulter ${di_consulte_4}
1271     Element Should Contain css=.widget_dossier_consulter ${di_consulte_5}
1272     Element Should Not Contain css=.widget_dossier_consulter Vous n'avez pas consulté de dossier pour le moment.
1273    
1274     # Test contenu du Afficher +
1275     Click Element css=.widget_dossier_consulter .widget-footer a
1276     Element Should Contain css=.widget_dossier_consulter ${di_consulte_1}
1277     Element Should Contain css=.widget_dossier_consulter ${di_consulte_2}
1278    
1279     # Ajout d'un dossier de recours et d'un dossier d'infraction pour tester les
1280     # différentes redirections possibles
1281     &{args_petitionnaire} = Create Dictionary
1282     ... particulier_nom=Parfa
1283     ... particulier_prenom=Pierre
1284     ... om_collectivite=MARSEILLE
1285     &{args_autres_demandeurs} = Create Dictionary
1286     ... petitionnaire=${args_petitionnaire}
1287     &{args_demande} = Create Dictionary
1288     ... dossier_autorisation_type_detaille=Recours gracieux
1289     ... demande_type=Dépôt Initial REG
1290     ... autorisation_contestee=${di_consulte_1}
1291     ... om_collectivite=MARSEILLE
1292     ${di_reg} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs}
1293    
1294     &{args_contrevenant} = Create Dictionary
1295     ... particulier_nom=Massé
1296     ... particulier_prenom=Madelene
1297     ... om_collectivite=MARSEILLE
1298     &{args_autres_demandeurs} = Create Dictionary
1299     ... contrevenant_principal=${args_contrevenant}
1300     &{args_demande} = Create Dictionary
1301     ... dossier_autorisation_type_detaille=Infraction
1302     ... demande_type=Dépôt Initial IN
1303     ... om_collectivite=MARSEILLE
1304     ${di_inf} = Ajouter la demande par WS ${args_demande} ${NULL} ${args_autres_demandeurs}
1305    
1306     Depuis le contexte du dossier recours ${di_reg}
1307     Depuis le contexte du dossier infraction ${di_inf}
1308     Depuis le contexte du dossier d'instruction ${di_consulte_1}
1309    
1310     Go To Dashboard via Link
1311     Click Element css=.widget_dossier_consulter .widget-footer a
1312     Click On Link ${di_consulte_1}
1313     Page Should Not Contain Droits insuffisants
1314     Go To Dashboard via Link
1315     Click Element css=.widget_dossier_consulter .widget-footer a
1316     Click On Link ${di_reg}
1317     Page Should Not Contain Droits insuffisants
1318     Go To Dashboard via Link
1319     Click Element css=.widget_dossier_consulter .widget-footer a
1320     Click On Link ${di_inf}
1321     Page Should Not Contain Droits insuffisants
1322    
1323     # Suppression du widget du tableau de bord
1324     Go To ${PROJECT_URL}/app/index.php?module=tab&obj=om_dashboard
1325     Use Simple Search Profil ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL
1326     Click Link Les derniers dossiers consultés (3)
1327     Click On Form Portlet Action om_dashboard supprimer
1328     Click On Submit Button
1329    
1330     # Suppression du widget
1331     Go To ${PROJECT_URL}/app/index.php?module=tab&obj=om_widget
1332     Use Simple Search libellé Les derniers dossiers consultés (3)
1333     Click Link Les derniers dossiers consultés (3)
1334     Click On Form Portlet Action om_widget supprimer
1335     Click On Submit Button
1336    
1337     # Ajout le widget par défaut
1338     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1339     Select From List By Label om_profil ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL
1340     Input Text bloc C1
1341     Select From List By Label om_widget Les derniers dossiers consultés
1342     Click On Submit Button
1343    
1344    
1345     Widget "Derniers dossiers déposés"
1346     [Documentation] Ce widget affiche le nombre des derniers
1347     ... dossiers déposés.
1348    
1349     # On crée une collectivité, ses divisions et ses instructeurs
1350     # pour ne pas perturber ni être perturbé par les autres tests.
1351     #
1352     Depuis la page d'accueil admin admin
1353     #
1354     Ajouter la collectivité depuis le menu STORYBROOK mono
1355     Ajouter la direction depuis le menu STORYBROOK STORYBROOK null Chef STORYBROOK null null STORYBROOK
1356     Ajouter la division depuis le menu SB1 subdivision SB1 null
1357     ... Chef STORYBROOK null null STORYBROOK
1358     Ajouter la division depuis le menu SB2 subdivision SB2 null
1359     ... Chef STORYBROOK null null STORYBROOK
1360    
1361     # Ajout d'un instructeur secondaire à affecter aux dossiers
1362     ${instructeur_secondaire_login} = Set Variable instructeur_secondaire_ddd
1363     Ajouter l'utilisateur ${instructeur_secondaire_login} [email protected] ${instructeur_secondaire_login} ${instructeur_secondaire_login} INSTRUCTEUR STORYBROOK
1364     Ajouter l'instructeur depuis le menu ${instructeur_secondaire_login} subdivision SB1 instructeur ${instructeur_secondaire_login}
1365    
1366     Ajouter l'utilisateur Peter Pan [email protected] ppan ppan INSTRUCTEUR STORYBROOK
1367     Ajouter l'instructeur depuis le menu Peter Pan subdivision SB1 instructeur Peter Pan
1368     &{args_affectation} = Create Dictionary
1369     ... instructeur=Peter Pan (SB1)
1370     ... instructeur_2=${instructeur_secondaire_login} (SB1)
1371     ... om_collectivite=STORYBROOK
1372     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1373     Ajouter l'affectation depuis le menu ${args_affectation}
1374     #
1375     Ajouter l'utilisateur Wendy Darling [email protected] wdarling wdarling INSTRUCTEUR STORYBROOK
1376     Ajouter l'instructeur depuis le menu Wendy Darling subdivision SB2 instructeur Wendy Darling
1377     &{args_affectation} = Create Dictionary
1378     ... instructeur=Wendy Darling (SB2)
1379     ... instructeur_2=${instructeur_secondaire_login} (SB1)
1380     ... om_collectivite=STORYBROOK
1381     ... dossier_autorisation_type_detaille=PD - Permis de démolir
1382     Ajouter l'affectation depuis le menu ${args_affectation}
1383     #
1384     #Création des divisions, instructeurs et affectations automatiques
1385    
1386     # On ajoute le droit au profil instructeur
1387     Depuis la page d'accueil admin admin
1388     Ajouter le droit depuis le menu derniers_dossiers_deposes INSTRUCTEUR
1389    
1390    
1391     # On vérifie que le widget est paramétré correctement:
1392     # DATD: PCI et PD
1393     # Filtre division
1394     # Intervalle de date de dépôt: 15 jours
1395     # type de dépôt: dépôt électronique
1396     Insérer les paramètres suivants dans le widget
1397     ... codes_datd=PCI;PD\nfiltre=division\nfiltre_depot=depot_electronique\nnombre_de_jours=15
1398     ... derniers_dossiers_deposes
1399    
1400     # On ajoute le widget au tableau de bord des instructeurs
1401     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1402     Select From List By Label om_profil INSTRUCTEUR
1403     Input Text bloc C1
1404     Select From List By Label om_widget Les derniers dossiers déposés
1405     Click On Submit Button
1406    
1407     # On vérifie que le widget n'indique aucun dossier déposé
1408     Depuis la page d'accueil ppan ppan
1409     Element Should Contain css=.widget_derniers_dossiers_deposes .widget-content
1410     ... Aucun dossier déposé dernièrement.
1411    
1412     #En DIVISION 1 :Création d'un jeu de dossiers remplissant les critères :
1413     # intervalle de dépôt, dépôt électronique
1414     &{args_petitionnaire} = Create Dictionary
1415     ... particulier_nom=Applefield
1416     ... particulier_prenom=Nadia
1417     ... om_collectivite=STORYBROOK
1418     &{args_demande} = Create Dictionary
1419     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1420     ... demande_type=Dépôt Initial
1421     ... om_collectivite=STORYBROOK
1422     ... depot_electronique=true
1423     ${di_01} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1424    
1425     &{args_petitionnaire} = Create Dictionary
1426     ... particulier_nom=Dandelion
1427     ... particulier_prenom=Leopold
1428     ... om_collectivite=STORYBROOK
1429     &{args_demande} = Create Dictionary
1430     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1431     ... demande_type=Dépôt Initial
1432     ... om_collectivite=STORYBROOK
1433     ... depot_electronique=true
1434     ${di_02} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1435    
1436     #En DIVISION 2: Création d'un jeu de dossiers remplissant les critères :
1437     # intervalle de dépôt, dépôt électronique
1438     &{args_petitionnaire} = Create Dictionary
1439     ... particulier_nom=Haskill
1440     ... particulier_prenom=George
1441     ... om_collectivite=STORYBROOK
1442     &{args_demande} = Create Dictionary
1443     ... dossier_autorisation_type_detaille=Permis de démolir
1444     ... demande_type=Dépôt Initial
1445     ... om_collectivite=STORYBROOK
1446     ... depot_electronique=true
1447     ${di_03} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1448    
1449    
1450     #DIV 1: Création d'un dossier ne remplissant pas le critère intervalle de dépôt
1451     &{args_petitionnaire} = Create Dictionary
1452     ... particulier_nom=Prince
1453     ... particulier_prenom=François
1454     ... om_collectivite=STORYBROOK
1455     &{args_demande} = Create Dictionary
1456     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1457     ... demande_type=Dépôt Initial
1458     ... om_collectivite=STORYBROOK
1459     ... date_demande=01/01/2015
1460     ... depot_electronique=true
1461     ${di_04} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1462    
1463     #DIV 1: Création d'un dossier ne remplissant pas le critère dépôt électronique
1464     &{args_petitionnaire} = Create Dictionary
1465     ... particulier_nom=Noire
1466     ... particulier_prenom=Rose
1467     ... om_collectivite=STORYBROOK
1468     ... om_collectivite=MARSEILLE
1469     &{args_demande} = Create Dictionary
1470     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1471     ... demande_type=Dépôt Initial
1472     ... om_collectivite=STORYBROOK
1473     ... depot_electronique=false
1474     ${di_05} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1475    
1476     ## Vérification du widget et du listing Division 1
1477     Depuis la page d'accueil ppan ppan
1478     ${nombre_derniers_dossiers_deposes} = Get Text
1479     ... css=div#content.ui-widget.ui-widget-content.ui-corner-all div.widget_derniers_dossiers_deposes .widget-content span.size-h3.box-icon.rounded.bg-info
1480     Should Not Be Empty ${nombre_derniers_dossiers_deposes}
1481     Should Be Equal ${nombre_derniers_dossiers_deposes} 2
1482     # On clique sur le lien du widget (Voir +)
1483     Click Link css=.widget_derniers_dossiers_deposes .widget-footer a
1484     Le titre de la page doit être Instruction > Dossiers Déposés
1485     # L'instructeur doit voir tous les dossiers de sa division
1486     # qui respectent les paramètres du widget(sauf intervalle de dépot)
1487     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_01}
1488     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_02}
1489     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_03}
1490     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_04}
1491     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_05}
1492    
1493     ## Vérification du widget et du listing Division 2
1494     Depuis la page d'accueil wdarling wdarling
1495     ${nombre_derniers_dossiers_deposes} = Get Text
1496     ... css=.widget_derniers_dossiers_deposes .widget-content span.size-h3.box-icon.rounded.bg-info
1497     Should Not Be Empty ${nombre_derniers_dossiers_deposes}
1498     Should Be Equal ${nombre_derniers_dossiers_deposes} 1
1499     # On clique sur le lien du widget (Voir +)
1500     Click Link css=.widget_derniers_dossiers_deposes .widget-footer a
1501     Le titre de la page doit être Instruction > Dossiers Déposés
1502     # L'instructeur doit voir tous les dossiers de sa division
1503     # qui respectent les paramètres du widget(sauf intervalle de dépot)
1504     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_01}
1505     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_02}
1506     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_03}
1507     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_05}
1508     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_04}
1509    
1510     # Modification du filtre de dépôt pour vérifier la modification du résultat
1511     # et l'ajout d'une colonne au lisitng
1512     Depuis la page d'accueil admin admin
1513     Insérer les paramètres suivants dans le widget
1514     ... codes_datd=PCI;PD\nfiltre=division\nfiltre_depot=aucun\nnombre_de_jours=15
1515     ... derniers_dossiers_deposes
1516    
1517     ## Vérification du widget et du listing Division 1
1518     Depuis la page d'accueil ppan ppan
1519     ${nombre_derniers_dossiers_deposes} = Get Text
1520     ... css=div#content.ui-widget.ui-widget-content.ui-corner-all div.widget_derniers_dossiers_deposes .widget-content span.size-h3.box-icon.rounded.bg-info
1521     Should Not Be Empty ${nombre_derniers_dossiers_deposes}
1522     Should Be Equal ${nombre_derniers_dossiers_deposes} 3
1523     # On clique sur le lien du widget (Voir +)
1524     Click Link css=.widget_derniers_dossiers_deposes .widget-footer a
1525     Le titre de la page doit être Instruction > Dossiers Déposés
1526     # L'instructeur doit voir tous les dossiers de sa division
1527     # qui respectent les paramètres du widget(sauf intervalle de dépot)
1528     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_01}
1529     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_02}
1530     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_03}
1531     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_04}
1532     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_05}
1533     # Vérifie que la colonne "dépôt électronique" est affichée
1534     Element Should Contain css=#tab-derniers_dossiers_deposes dépôt électronique
1535    
1536     # Modification du filtre de dépôt pour tester le filtre sur l'instructeur secondaire
1537     Depuis la page d'accueil admin admin
1538     Insérer les paramètres suivants dans le widget
1539     ... filtre=instructeur_secondaire\ncodes_datd=PCI;PD\nfiltre_depot=aucun\nnombre_de_jours=15
1540     ... derniers_dossiers_deposes
1541     # Vérification des résultats affichés dans le widgets
1542     Depuis la page d'accueil ${instructeur_secondaire_login} ${instructeur_secondaire_login}
1543     Element Should Contain css=.widget_derniers_dossiers_deposes span.bg-info 4
1544     # On clique sur le lien du widget (Voir +)
1545     Click Link css=.widget_derniers_dossiers_deposes .widget-footer a
1546     # L'instructeur doit voir tous les dossiers sur lesquels il est affecté en tant qu'instructeur
1547     # secondaire et qui respectent les paramètres du widget(sauf intervalle de dépot)
1548     Wait Until Page Contains Element css=#tab-derniers_dossiers_deposes
1549     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_01}
1550     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_02}
1551     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_03}
1552     Element Should Not Contain css=#tab-derniers_dossiers_deposes ${di_04}
1553     Element Should Contain css=#tab-derniers_dossiers_deposes ${di_05}
1554    
1555     #Supprimer le droit ajouté en début de test pour revenir en condition initiale
1556     Depuis la page d'accueil admin admin
1557     Depuis le listing des droits
1558     Use Simple Search libellé derniers_dossiers_deposes
1559     Select From List By Label name=selectioncol Tous
1560     Click Element css=button#search-submit
1561     Wait Until Element Is Visible css=table.tab-tab
1562     Click On Link INSTRUCTEUR
1563     Click On Form Portlet Action om_droit supprimer
1564     Click On Submit Button
1565    
1566    
1567     Widget "Dossiers à qualifier (limite de la notification du délai)"
1568     [Documentation] Ce widget affiche les dossiers à qualifier
1569     ... et dont la date notification de délai n'est par encore dépassée.
1570    
1571     #
1572     Depuis la page d'accueil admin admin
1573     # Isolation du contexte
1574     Ajouter la collectivité depuis le menu TESTNOTIFICATIONDELAI mono
1575     Ajouter la direction depuis le menu TESTNOTIFICATIONDELAI TESTNOTIFICATIONDELAI null Chef TESTNOTIFICATIONDELAI null null TESTNOTIFICATIONDELAI
1576     Ajouter la division depuis le menu SB8 subdivision SB8 null
1577     ... Chef TESTNOTIFICATIONDELAI null null TESTNOTIFICATIONDELAI
1578     Ajouter la division depuis le menu SB9 subdivision SB9 null
1579     ... Chef TESTNOTIFICATIONDELAI null null TESTNOTIFICATIONDELAI
1580    
1581     Ajouter l'utilisateur delai_pre_inst [email protected] delai_pre_inst delai_pre_inst INSTRUCTEUR POLYVALENT TESTNOTIFICATIONDELAI
1582     ${instructeur_secondaire_login} = Set Variable instructeur_secondaire
1583     Ajouter l'utilisateur ${instructeur_secondaire_login} [email protected] ${instructeur_secondaire_login} ${instructeur_secondaire_login} INSTRUCTEUR POLYVALENT TESTNOTIFICATIONDELAI
1584     # TODO : ajouter un 3ème profil et l'affecter en instructeur secondaire
1585     # On affecte cet instructeur aux PCI
1586     Ajouter l'instructeur depuis le menu delai_pre_inst subdivision SB8 instructeur delai_pre_inst
1587     Ajouter l'instructeur depuis le menu ${instructeur_secondaire_login} subdivision SB8 instructeur ${instructeur_secondaire_login}
1588     &{args_affectation} = Create Dictionary
1589     ... instructeur=delai_pre_inst (SB8)
1590     ... instructeur_2=${instructeur_secondaire_login} (SB8)
1591     ... om_collectivite=TESTNOTIFICATIONDELAI
1592     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1593     Ajouter l'affectation depuis le menu ${args_affectation}
1594     # On affecte cet instructeur aux CU
1595     Ajouter l'utilisateur delai_pre_inst_polycomm [email protected] delai_pre_inst_polycomm delai_pre_inst_polycomm INSTRUCTEUR POLYVALENT COMMUNE TESTNOTIFICATIONDELAI
1596     Ajouter l'instructeur depuis le menu delai_pre_inst_polycomm subdivision SB9 instructeur delai_pre_inst_polycomm
1597     &{args_affectation} = Create Dictionary
1598     ... instructeur=delai_pre_inst_polycomm (SB9)
1599     ... instructeur_2=${instructeur_secondaire_login} (SB8)
1600     ... om_collectivite=TESTNOTIFICATIONDELAI
1601     ... dossier_autorisation_type_detaille=CU - Certificat d'urbanisme
1602     Ajouter l'affectation depuis le menu ${args_affectation}
1603    
1604     # On vérifie que le widget apparaît sur le tableau de bord des utilisateurs instrpolycomm
1605     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1606     Element Should Contain css=.widget_dossiers_pre_instruction Vous n'avez aucun dossier d'instruction à qualifier dont la date limite de notification du délai au pétitionnaire arrive bientôt à échéance.
1607    
1608     # Calcul de la date de demande des dossiers pour leur donner une date limite de notification (dln)
1609     # le plus proche possible de celle du jour
1610     # La dln est calculé en ajoutant 1 mois à la date de demande. On enlève donc 1 mois
1611     # à la date courante pour s'en approcher
1612     ${date_di} = Ajouter ou supprimer des mois à une date -1 ${date_ddmmyyyy}
1613     # Calcul la dln à partir de la date de demande précédente
1614     ${date_limite_notification} = Ajouter ou supprimer des mois à une date 1 ${date_di}
1615     # Vérifie si la date courante n'est pas supérieure à la dln.
1616     # Ce cas est possible pour les jours en 31 ou si on est le 29, 30 ou 31 mars.
1617     # Si c'est le cas on prend le 1 jour du mois courant comme jour pour la date de demande
1618     ${date_dmy} = Convert Date ${date_ddmmyyyy} datetime date_format=%d/%m/%Y
1619     ${month_dmy} = Set Variable If ${date_dmy.month} < 10 0${date_dmy.month} ${date_dmy.month}
1620     ${date_dln} = Convert Date ${date_limite_notification} datetime date_format=%d/%m/%Y
1621     ${date_di} = Run Keyword If ${date_dmy.day} > ${date_dln.day}
1622     ... Convert date ${date_dmy.year}-${month_dmy}-01 result_format=%d/%m/%Y
1623     ... ELSE Set Variable ${date_di}
1624    
1625     # Ajout d'un dossier afin qu'il soit affiché dans le widget (-1 mois avant)
1626     &{args_petitionnaire_alert_pre_instruction} = Create Dictionary
1627     ... particulier_nom=045TESTDELAIPREINSTRUCTIONNOM
1628     ... particulier_prenom=045TESTDELAIPREINSTRUCTIONPRENOM
1629     ... om_collectivite=TESTNOTIFICATIONDELAI
1630     &{args_demande_alert_pre_instruction} = Create Dictionary
1631     ... date_demande=${date_di}
1632     ... dossier_autorisation_type_detaille=Certificat d'urbanisme
1633     ... demande_type=Dépôt Initial
1634     ... om_collectivite=TESTNOTIFICATIONDELAI
1635     ${di_alert_pre_instruction} = Ajouter la demande par WS ${args_demande_alert_pre_instruction} ${args_petitionnaire_alert_pre_instruction}
1636     # On vérifie que le dossier apparraît ou non dans le widget des utilisateurs
1637     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1638     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction}
1639    
1640     Depuis la page d'accueil delai_pre_inst delai_pre_inst
1641     Element Should Contain css=.widget_dossiers_pre_instruction Vous n'avez aucun dossier d'instruction à qualifier dont la date limite de notification du délai au pétitionnaire arrive bientôt à échéance.
1642    
1643     # On change le filtre sur 'aucun'
1644     Depuis la page d'accueil admin admin
1645     Insérer les paramètres suivants dans le widget filtre=aucun dossiers_pre_instruction
1646    
1647     Depuis la page d'accueil delai_pre_inst delai_pre_inst
1648     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction}
1649    
1650     # On remet le filtre par défaut (instructeur)
1651     Depuis la page d'accueil admin admin
1652     Insérer les paramètres suivants dans le widget ${EMPTY} dossiers_pre_instruction
1653    
1654     &{args_petitionnaire_alert_pre_instruction1} = Create Dictionary
1655     ... particulier_nom=045TESTDELAIPREINSTRUCTIONNOM1
1656     ... particulier_prenom=045TESTDELAIPREINSTRUCTIONPRENOM1
1657     ... om_collectivite=TESTNOTIFICATIONDELAI
1658     &{args_demande_alert_pre_instruction1} = Create Dictionary
1659     ... date_demande=${date_di}
1660     ... dossier_autorisation_type_detaille=Certificat d'urbanisme
1661     ... demande_type=Dépôt Initial
1662     ... om_collectivite=TESTNOTIFICATIONDELAI
1663     ${di_alert_pre_instruction1} = Ajouter la demande par WS ${args_demande_alert_pre_instruction1} ${args_petitionnaire_alert_pre_instruction1}
1664    
1665     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1666     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction}
1667     Element Should Contain css=#dossier_dossiers_pre_instruction_1 ${di_alert_pre_instruction1}
1668    
1669     Depuis la page d'accueil delai_pre_inst delai_pre_inst
1670     Element Should Contain css=.widget_dossiers_pre_instruction Vous n'avez aucun dossier d'instruction à qualifier dont la date limite de notification du délai au pétitionnaire arrive bientôt à échéance.
1671    
1672     # On change le filtre sur 'aucun'
1673     Depuis la page d'accueil admin admin
1674     Insérer les paramètres suivants dans le widget filtre=aucun dossiers_pre_instruction
1675    
1676     Depuis la page d'accueil delai_pre_inst delai_pre_inst
1677     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction}
1678     Element Should Contain css=#dossier_dossiers_pre_instruction_1 ${di_alert_pre_instruction1}
1679     Click Element css=.widget_dossiers_pre_instruction .widget-footer a
1680     Le titre de la page doit être Instruction > Dossiers À Qualifier (limite De La Notification Du Délai)
1681     Element Should Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction}
1682     Element Should Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction1}
1683    
1684     # On met un filtre sur les PCI
1685     Depuis la page d'accueil admin admin
1686     Insérer les paramètres suivants dans le widget filtre=aucun\ncodes_datd=PCI dossiers_pre_instruction
1687     # L'utilisateur ne possède que des CU donc il ne doit pas y avoir de dossier.
1688     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1689     Element Should Contain css=.widget_dossiers_pre_instruction Vous n'avez aucun dossier d'instruction à qualifier dont la date limite de notification du délai au pétitionnaire arrive bientôt à échéance.
1690    
1691     &{args_petitionnaire_alert_pre_instruction2} = Create Dictionary
1692     ... particulier_nom=045TESTDELAIPREINSTRUCTIONNOM2
1693     ... particulier_prenom=045TESTDELAIPREINSTRUCTIONPRENOM2
1694     ... om_collectivite=TESTNOTIFICATIONDELAI
1695     &{args_demande_alert_pre_instruction2} = Create Dictionary
1696     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1697     ... date_demande=${date_di}
1698     ... demande_type=Dépôt Initial
1699     ... om_collectivite=TESTNOTIFICATIONDELAI
1700     ${di_alert_pre_instruction2} = Ajouter la demande par WS ${args_demande_alert_pre_instruction2} ${args_petitionnaire_alert_pre_instruction2}
1701    
1702     Depuis la page d'accueil delai_pre_inst delai_pre_inst
1703     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction2}
1704    
1705     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1706     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction2}
1707     # On clique sur Voir + pour vérifier que les dossiers sont présents
1708     Click Element css=.widget_dossiers_pre_instruction .widget-footer a
1709     Le titre de la page doit être Instruction > Dossiers À Qualifier (limite De La Notification Du Délai)
1710     Element Should Not Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction}
1711     Element Should Not Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction1}
1712     Element Should Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction2}
1713    
1714     # On met un filtre de division
1715     Depuis la page d'accueil admin admin
1716     Insérer les paramètres suivants dans le widget filtre=division dossiers_pre_instruction
1717     #On vérifie que seulement les dossier de la division de l'utilisateur sont présentes
1718     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1719     Element Should Contain css=#dossier_dossiers_pre_instruction_0 ${di_alert_pre_instruction}
1720     Element Should Contain css=#dossier_dossiers_pre_instruction_1 ${di_alert_pre_instruction1}
1721     Page Should Not Contain ${di_alert_pre_instruction2}
1722     # De même dans Voir +
1723     Click Element css=.widget_dossiers_pre_instruction .widget-footer a
1724     Le titre de la page doit être Instruction > Dossiers À Qualifier (limite De La Notification Du Délai)
1725     Element Should Not Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction2}
1726     Element Should Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction}
1727     Element Should Contain css=#tab-dossiers_pre_instruction ${di_alert_pre_instruction1}
1728    
1729     # Test l'affichage du widget avec un nombre plutôt qu'une liste
1730     Depuis la page d'accueil admin admin
1731     Insérer les paramètres suivants dans le widget filtre=division\naffichage=nombre dossiers_pre_instruction
1732    
1733     Depuis la page d'accueil delai_pre_inst_polycomm delai_pre_inst_polycomm
1734     Element Should Contain css=.widget_dossiers_pre_instruction span.bg-info 2
1735    
1736     # Test du filtrage par instructeur secondaire
1737     Depuis la page d'accueil admin admin
1738     Insérer les paramètres suivants dans le widget filtre=instructeur_secondaire\naffichage=nombre dossiers_pre_instruction
1739    
1740     Depuis la page d'accueil ${instructeur_secondaire_login} ${instructeur_secondaire_login}
1741     Element Should Contain css=.widget_dossiers_pre_instruction span.bg-info 3
1742    
1743     Depuis la page d'accueil admin admin
1744     Insérer les paramètres suivants dans le widget ${EMPTY} dossiers_pre_instruction
1745    
1746    
1747     TNR Vérifier que la pagination fonctionne pour le widget "Derniers dossiers déposés"
1748     [Documentation] Suite à un bug concernant la pagination du listing du widget "Derniers dossiers déposés"
1749     ... on vérifie que cette pagination fonctionne correctement
1750    
1751     # On crée une collectivité, ses divisions et ses instructeurs
1752     # pour ne pas perturber ni être perturbé par les autres tests.
1753     #
1754     Depuis la page d'accueil admin admin
1755     #
1756     Ajouter la collectivité depuis le menu DDD mono
1757     Ajouter la direction depuis le menu DDD DDD null Chef DDD null null DDD
1758     Ajouter la division depuis le menu SB11 subdivision SB11 null
1759     ... Chef DDD null null DDD
1760    
1761     Ajouter l'utilisateur Poter Pun [email protected] ppun ppun INSTRUCTEUR DDD
1762    
1763     Ajouter l'instructeur depuis le menu Poter Pun subdivision SB11 instructeur Poter Pun
1764     &{args_affectation} = Create Dictionary
1765     ... instructeur=Poter Pun (SB11)
1766     ... om_collectivite=DDD
1767     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1768     Ajouter l'affectation depuis le menu ${args_affectation}
1769    
1770     # On ajoute le droit au profil instructeur
1771     Depuis la page d'accueil admin admin
1772     Ajouter le droit depuis le menu si il n'existe pas derniers_dossiers_deposes INSTRUCTEUR
1773    
1774    
1775     # On paramètre le widget :
1776     # DATD: PCI et PD
1777     # Filtre division
1778     # Intervalle de date de dépôt: 15 jours
1779     # type de dépôt: dépôt électronique
1780     Depuis le contexte du widget derniers_dossiers_deposes
1781     Click On Form Portlet Action om_widget modifier
1782     Input Text arguments
1783     ... codes_datd=PCI;PD\nfiltre=division\nfiltre_depot=depot_electronique\nnombre_de_jours=15
1784     Click On Submit Button
1785    
1786     # On ajoute le widget au tableau de bord des instructeurs
1787     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1788     Select From List By Label om_profil INSTRUCTEUR
1789     Input Text bloc C1
1790     Select From List By Label om_widget Les derniers dossiers déposés
1791     Click On Submit Button
1792    
1793     # On vérifie que le widget n'indique aucun dossier déposé
1794     Depuis la page d'accueil ppun ppun
1795     Element Should Contain css=.widget_derniers_dossiers_deposes .widget-content
1796     ... Aucun dossier déposé dernièrement.
1797    
1798     # On doit ajouter 16 dossiers afin de pouvoir utiliser la page suivant dans le listing de "Voir +"
1799     # du widget.
1800     &{args_petitionnaire} = Create Dictionary
1801     ... particulier_nom=Applefield
1802     ... particulier_prenom=Nadia
1803     ... om_collectivite=DDD
1804     &{args_demande} = Create Dictionary
1805     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1806     ... demande_type=Dépôt Initial
1807     ... om_collectivite=DDD
1808     ... depot_electronique=true
1809     # TODO : faire une boucle pour ajouter les demandes
1810     ${di_01} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1811     ${di_02} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1812     ${di_03} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1813     ${di_04} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1814     ${di_05} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1815     ${di_06} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1816     ${di_07} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1817     ${di_08} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1818     ${di_09} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1819     ${di_10} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1820     ${di_11} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1821     ${di_12} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1822     ${di_13} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1823     ${di_14} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1824     ${di_15} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1825     ${di_16} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1826    
1827     Depuis la page d'accueil ppun ppun
1828     # On accède au "Voir +"
1829     Click Element css=.widget_derniers_dossiers_deposes .widget-footer a
1830     Wait Until Page Contains Element css=.pagination-next
1831     # On change de page
1832     Click Element css=.pagination-next
1833     Wait Until Element Contains css=div.pagination-nb 16 -
1834     # On doit trouver le dernier dossier ajouté
1835     Element Should Contain css=td.col-3 a.lienTable ${di_16}
1836    
1837     #Supprimer le droit ajouté en début de test pour revenir en condition initiale
1838     Depuis la page d'accueil admin admin
1839     Depuis le listing des droits
1840     Use Simple Search libellé derniers_dossiers_deposes
1841     Select From List By Label name=selectioncol Tous
1842     Click Element css=button#search-submit
1843     Wait Until Element Is Visible css=table.tab-tab
1844     Click On Link INSTRUCTEUR
1845     Click On Form Portlet Action om_droit supprimer
1846     Click On Submit Button
1847    
1848    
1849     TNR Vérifier que les widget de recherche de dossier fonctionne si le nom du dossier a une minuscule
1850     [Documentation] Suite à un bug concernant les widget de recherche de dossier
1851     ... on vérifie que cette recherche fonctionne correctement
1852    
1853     Depuis la page d'accueil admin admin
1854    
1855     # On ajoute le widget au tableau de bord des admin
1856     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1857     Select From List By Label om_profil ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL
1858     Input Text bloc C1
1859     Select From List By Label om_widget Recherche accès direct
1860     Click On Submit Button
1861    
1862     # Paramètre l'appli pour pouvoir choisir le nom du dossier
1863     &{param_values} = Create Dictionary
1864     ... libelle=option_dossier_saisie_numero
1865     ... valeur=true
1866     ... om_collectivite=agglo
1867     Gerer le paramètre par WS ${param_values}
1868    
1869     # On ajoute deux dossier contenant des minuscules dans leur nom
1870     &{args_petitionnaire} = Create Dictionary
1871     ... particulier_nom=Applefield
1872     ... particulier_prenom=Nadia
1873     ... om_collectivite=agglo
1874     &{args_demande} = Create Dictionary
1875     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1876     ... om_collectivite=agglo
1877     Ajouter la nouvelle demande depuis le menu sans validation du formulaire ${args_demande} ${args_petitionnaire}
1878     # Les champs du numéro de dossier devraient être présent mais desactivées.
1879     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#num_doss_sequence[disabled="disabled"]
1880     # Activer le remplissage manuel du numéro de dossier pour la séquence et la division
1881     Click Element css=#num_doss_manuel
1882     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=#num_doss_sequence[disabled="disabled"]
1883    
1884     # Saisie du numéro de dossier avec une lettre en minuscule
1885     Wait Until Element Is Visible css=#num_doss_division
1886     Input Text css=#num_doss_division a
1887     Validation du formulaire de la demande
1888     # On récupère le libelle du dossier d'instruction
1889     ${libelle_di} = Get Text new_di
1890    
1891     # On effectue une recherche à l'aide du widget
1892     Go To Dashboard via Link
1893     Input Text css=#widget_recherche_dossier_form input#dossier ${libelle_di}
1894     Click Element css=#widget_recherche_dossier_form input.om-button
1895     Page should not contain Droit insuffisants
1896     Element Should Contain css=#dossier_libelle ${libelle_di}
1897    
1898    
1899     Reset Params - TNR Vérifier que les widget de recherche de dossier fonctionne si le nom du dossier a une minuscule
1900     #Supprime le paramètre de saisie du numéro des dossiers
1901     &{param_values} = Create Dictionary
1902     ... delete=true
1903     ... libelle=option_dossier_saisie_numero
1904     ... om_collectivite=agglo
1905     Gerer le paramètre par WS ${param_values}
1906    
1907    
1908     TNR vérifier que le listing du widget derniers dossiers déposés n'affiche pas de doublon
1909     # On crée une collectivité, ses divisions et ses instructeurs
1910     # pour ne pas perturber ni être perturbé par les autres tests.
1911     #
1912     Depuis la page d'accueil admin admin
1913     #
1914     Ajouter la collectivité depuis le menu EEE mono
1915     Ajouter la direction depuis le menu EEE EEE null Chef EEE null null EEE
1916     Ajouter la division depuis le menu SB12 subdivision SB12 null
1917     ... Chef EEE null null EEE
1918    
1919     Ajouter l'utilisateur Poter Pin [email protected] ppin ppin INSTRUCTEUR EEE
1920    
1921     Ajouter l'instructeur depuis le menu Poter Pin subdivision SB12 instructeur Poter Pin
1922     &{args_affectation} = Create Dictionary
1923     ... instructeur=Poter Pin (SB12)
1924     ... om_collectivite=EEE
1925     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1926     Ajouter l'affectation depuis le menu ${args_affectation}
1927    
1928     # On ajoute le droit au profil instructeur
1929     Depuis la page d'accueil admin admin
1930     Ajouter le droit depuis le menu si il n'existe pas derniers_dossiers_deposes INSTRUCTEUR
1931    
1932     Depuis le contexte du widget derniers_dossiers_deposes
1933     Click On Form Portlet Action om_widget modifier
1934     Input Text arguments
1935     ... codes_datd=PCI;PD\nfiltre=division\nfiltre_depot=depot_electronique\nnombre_de_jours=15
1936     Click On Submit Button
1937    
1938     # On ajoute le widget au tableau de bord des instructeurs
1939     Go To ${PROJECT_URL}/app/index.php?module=form&obj=om_dashboard&action=0
1940     Select From List By Label om_profil INSTRUCTEUR
1941     Input Text bloc C1
1942     Select From List By Label om_widget Les derniers dossiers déposés
1943     Click On Submit Button
1944    
1945     &{args_petitionnaire} = Create Dictionary
1946     ... particulier_nom=045WIDGETDOUBLONNOM
1947     ... particulier_prenom=045WIDGETDOUBLONPRENOM
1948     ... om_collectivite=EEE
1949     &{args_demande} = Create Dictionary
1950     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1951     ... demande_type=Dépôt Initial
1952     ... om_collectivite=EEE
1953     ... depot_electronique=true
1954     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1955    
1956     Ajouter un message dans le dossier d'instruction ${di} Test doublon message 1
1957     Ajouter un message dans le dossier d'instruction ${di} Test doublon message 2
1958    
1959    
1960     Depuis la page d'accueil ppin ppin
1961     # On accède au "Voir +"
1962     Click Element css=.widget_derniers_dossiers_deposes .widget-footer a
1963    
1964     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1965     ... Element Should Contain css=.pagination-nb .pagination-text 1 - 1 enregistrement(s) sur 1
1966    
1967     #Supprimer le droit ajouté en début de test pour revenir en condition initiale
1968     Depuis la page d'accueil admin admin
1969     Supprimer le droit depuis le contexte du profil derniers_dossiers_deposes INSTRUCTEUR
1970    
1971    

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26