/[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 17542 - (hide annotations)
Thu Apr 25 13:27:12 2024 UTC (9 months, 1 week ago) by softime
File size: 106572 byte(s)
chore(branch): fusion de la branche d'intégration 6.5.0-develop dans le trunk

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26