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

Annotation of /trunk/tests/050_015_instruction.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15263 - (hide annotations)
Thu Jul 20 14:37:12 2023 UTC (18 months, 1 week ago) by sdethyre
Original Path: branches/6.0.0-develop_fragmenter_050/tests/050_015_instruction.robot
File size: 101701 byte(s)
feat: redécoupage du test 050 et modification du nommage
1 sdethyre 15263 *** Settings ***
2     Documentation Test des événements d'instruction.
3    
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9    
10     *** Variables ***
11     ${json_instruction_finalisation} {"module":"instruction"}
12    
13    
14     *** Test Cases ***
15    
16     Création du jeu de données
17    
18     [Documentation] Constitue le jeu de données.
19    
20     #
21     &{args_petitionnaire} = Create Dictionary
22     ... qualite=personne morale
23     ... personne_morale_denomination=Notaire&Co
24     ... personne_morale_raison_sociale=Société
25     ... personne_morale_civilite=Monsieur
26     ... personne_morale_nom=Martin
27     ... personne_morale_prenom=Nicolas
28     ... om_collectivite=MARSEILLE
29    
30     &{args_demande} = Create Dictionary
31     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
32     ... demande_type=Dépôt Initial
33     ... om_collectivite=MARSEILLE
34    
35     ${di_ok} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
36    
37    
38     &{args_petitionnaire} = Create Dictionary
39     ... particulier_civilite=Monsieur
40     ... particulier_nom=Odo
41     ... particulier_prenom=Laurent
42     ... om_collectivite=MARSEILLE
43    
44     &{args_demande} = Create Dictionary
45     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
46     ... demande_type=Dépôt Initial
47     ... om_collectivite=MARSEILLE
48    
49     ${di_bible_consultation} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
50    
51     Set Suite Variable ${di_bible_consultation}
52    
53     Depuis la page d'accueil admin admin
54    
55     Ajouter une consultation depuis un dossier ${di_bible_consultation} 59.01 - Direction de l'Eau et de l'Assainissement
56     Ajouter une consultation depuis un dossier ${di_bible_consultation} 59.01 - SERAM
57    
58    
59     Depuis la page d'accueil consu consu
60     &{args_avis_consultation} = Create Dictionary
61     ... avis_consultation=Favorable
62     ... motivation=Test
63     Rendre l'avis sur la consultation du dossier ${di_bible_consultation} ${args_avis_consultation}
64    
65     Depuis la page d'accueil admin admin
66    
67     # Liste des valeurs pour le tableau des surfaces des données techniques
68     &{donnees_techniques_values} = Create Dictionary
69     ... su_avt_shon1=10
70     ... su_avt_shon2=10
71     ... su_avt_shon3=10
72     ... su_avt_shon4=10
73     ... su_avt_shon5=10
74     ... su_avt_shon6=10
75     ... su_avt_shon7=10
76     ... su_avt_shon8=10
77     ... su_avt_shon9=10
78     ... su_cstr_shon1=10
79     ... su_cstr_shon2=10
80     ... su_cstr_shon3=10
81     ... su_cstr_shon4=10
82     ... su_cstr_shon5=10
83     ... su_cstr_shon6=10
84     ... su_cstr_shon7=10
85     ... su_cstr_shon8=10
86     ... su_cstr_shon9=10
87     ... su_chge_shon1=10
88     ... su_chge_shon2=10
89     ... su_chge_shon3=10
90     ... su_chge_shon4=10
91     ... su_chge_shon5=10
92     ... su_chge_shon6=10
93     ... su_chge_shon7=10
94     ... su_chge_shon8=10
95     ... su_chge_shon9=10
96     ... su_demo_shon1=10
97     ... su_demo_shon2=10
98     ... su_demo_shon3=10
99     ... su_demo_shon4=10
100     ... su_demo_shon5=10
101     ... su_demo_shon6=10
102     ... su_demo_shon7=10
103     ... su_demo_shon8=10
104     ... su_demo_shon9=10
105     ... su_sup_shon1=10
106     ... su_sup_shon2=10
107     ... su_sup_shon3=10
108     ... su_sup_shon4=10
109     ... su_sup_shon5=10
110     ... su_sup_shon6=10
111     ... su_sup_shon7=10
112     ... su_sup_shon8=10
113     ... su_sup_shon9=10
114     Modifier les données techniques pour le calcul des surfaces ${di_ok} ${donnees_techniques_values}
115    
116     #
117     &{args_petitionnaire} = Create Dictionary
118     ... particulier_civilite=Monsieur
119     ... particulier_nom=Smith
120     ... particulier_prenom=John
121     ... om_collectivite=MARSEILLE
122    
123     ${di_ko} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
124     #
125     #
126     Ajouter une instruction au DI ${di_ko} Consultation ERP ET IGH
127     # Liste des valeurs pour le tableau des surfaces des données techniques
128     &{donnees_techniques_values} = Create Dictionary
129     ... su_avt_shon1=10
130     ... su_avt_shon2=10
131     ... su_avt_shon3=10
132     ... su_avt_shon4=10
133     ... su_avt_shon5=10
134     ... su_avt_shon6=10
135     ... su_avt_shon7=10
136     ... su_avt_shon8=10
137     ... su_avt_shon9=10
138     ... su_cstr_shon1=10
139     ... su_cstr_shon2=10
140     ... su_cstr_shon3=10
141     ... su_cstr_shon4=10
142     ... su_cstr_shon5=10
143     ... su_cstr_shon6=10
144     ... su_cstr_shon7=10
145     ... su_cstr_shon8=10
146     ... su_cstr_shon9=10
147     ... su_chge_shon1=10
148     ... su_chge_shon2=10
149     ... su_chge_shon3=10
150     ... su_chge_shon4=10
151     ... su_chge_shon5=10
152     ... su_chge_shon6=10
153     ... su_chge_shon7=10
154     ... su_chge_shon8=10
155     ... su_chge_shon9=10
156     ... su_demo_shon1=10
157     ... su_demo_shon2=10
158     ... su_demo_shon3=10
159     ... su_demo_shon4=10
160     ... su_demo_shon5=10
161     ... su_demo_shon6=10
162     ... su_demo_shon7=10
163     ... su_demo_shon8=10
164     ... su_demo_shon9=10
165     ... su_sup_shon1=10
166     ... su_sup_shon2=10
167     ... su_sup_shon3=10
168     ... su_sup_shon4=10
169     ... su_sup_shon5=10
170     ... su_sup_shon6=10
171     ... su_sup_shon7=10
172     ... su_sup_shon8=10
173     ... su_sup_shon9=10
174     Modifier les données techniques pour le calcul des surfaces ${di_ko} ${donnees_techniques_values}
175     #
176     Set Suite Variable ${di_ok}
177     Set Suite Variable ${di_ko}
178    
179    
180     Recalcul données DI vers DA
181     [Documentation] Ce test case vérifie la copie des données techniques du DI vers le DA
182     ... après la clôture du DI. Il vérifie également qu'à la clôture du DI, l'état du DA
183     ... passe bien aussi en clôturé.
184    
185     &{args_petitionnaire} = Create Dictionary
186     ... qualite=particulier
187     ... particulier_nom=Vaillancour
188     ... particulier_prenom=Alphonse
189     ... om_collectivite=MARSEILLE
190    
191     &{args_demande} = Create Dictionary
192     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
193     ... demande_type=Dépôt Initial
194     ... om_collectivite=MARSEILLE
195    
196     &{donnees_techniques_values} = Create Dictionary
197     ... su_cstr_shon1=120
198    
199     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
200     Depuis la page d'accueil instr instr
201     Modifier les données techniques pour le calcul des surfaces ${di} ${donnees_techniques_values}
202     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di}
203     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_autorisation En cours
204     Ajouter une instruction au DI ${di} accepter un dossier sans réserve
205     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di}
206     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_autorisation Accordé
207    
208     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di}
209     Click Element css=#sousform-dossier_autorisation .consult-16
210     Wait Until Element Is Visible donnees_techniques_da
211     Click Element css=#donnees_techniques_da
212     Open Fieldset In Subform donnees_techniques construire
213     Open Fieldset In Subform donnees_techniques destinations-et-surfaces-des-constructions
214     Element Should Contain css=#su_cstr_shon1 120
215    
216     &{args_petitionnaire} = Create Dictionary
217     ... particulier_nom=Guédry
218     ... particulier_prenom=Paul
219     ... om_collectivite=MARSEILLE
220    
221     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
222    
223     Depuis la page d'accueil instr instr
224     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di}
225     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_autorisation En cours
226     Ajouter une instruction au DI ${di} refuser un dossier
227     On clique sur l'onglet lien_dossier_dossier Dossiers Liés
228     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_autorisation Refusé
229    
230    
231     Annulation d'un DA
232     [Documentation] On vérifie que l'ajout d'une demande sur dossier en cours "ANNUL"
233     ... passe bien l'état du DA du dossier ciblé en annulé.
234    
235     @{etats_autorises} = Create List delai de notification envoye
236     &{args_type} = Create Dictionary
237     ... code=ANNUL
238     ... libelle=Demande d'annulation
239     ... groupe=Autorisation ADS
240     ... dossier_autorisation_type_detaille=PCI (Permis de construire pour une maison individuelle et / ou ses annexes)
241     ... demande_nature=Dossier existant
242     ... etats_autorises=${etats_autorises}
243     ... contraintes=Récupération des demandeurs avec modification et ajout
244     ... dossier_instruction_type=PCI - Demande d'annulation
245     ... evenement=Notification du delai legal maison individuelle
246    
247     &{args_type_instr} = Create Dictionary
248     ... code=ANNUL
249     ... libelle=Demande d'annulation
250     ... dossier_autorisation_type_detaille=PCI (Permis de construire pour une maison individuelle et / ou ses annexes)
251     ... suffixe=true
252     ... mouvement_sitadel=SUPPRESSION
253     ... maj_da_etat=true
254    
255     &{args_action_modif} = Create Dictionary
256     ... regle_avis=avis_decision
257     ... regle_date_decision=date_evenement
258    
259     @{etat_source} = Create List delai de notification envoye
260     @{type_di} = Create List PCI - ANNUL - Demande d'annulation
261     &{args_evenement} = Create Dictionary
262     ... libelle=Abandonner les travaux depuis ANNUL
263     ... type=arrete
264     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
265     ... dossier_instruction_type=${type_di}
266     ... action=abandon par le demandeur
267     ... etat=instruction terminee (archive)
268     ... avis_decision=Abandon des Travaux
269    
270     &{args_petitionnaire} = Create Dictionary
271     ... qualite=particulier
272     ... particulier_nom=test annulation
273     ... om_collectivite=MARSEILLE
274    
275     &{args_demande} = Create Dictionary
276     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
277     ... demande_type=Dépôt Initial
278     ... om_collectivite=MARSEILLE
279    
280     Depuis la page d'accueil admin admin
281     Ajouter type de dossier d'instruction ${args_type_instr}
282     Valid Message Should Contain Vos modifications ont bien été enregistrées.
283     Click On Back Button
284     Use Simple Search code ANNUL
285     Click On Link ANNUL
286     Ajouter un nouveau type de demande depuis le menu ${args_type}
287     Depuis le contexte du type de demande avec libellé unique ${args_type.libelle}
288     Depuis le listing action
289     Modifier Action abandon ${args_action_modif}
290     Valid Message Should Contain Vos modifications ont bien été enregistrées.
291     Ajouter l'événement depuis le menu ${args_evenement}
292    
293     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
294     Depuis la page d'accueil instr instr
295     Ajouter une instruction au DI ${di} accepter un dossier sans réserve
296     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di}
297     Element Should Contain css=#sousform-dossier_autorisation Accordé
298    
299     &{args_demande} = Create Dictionary
300     ... demande_type=Demande d'annulation
301     ... dossier_instruction=${di}
302     ${di_annul} = Ajouter la demande par WS ${args_demande}
303     Ajouter une instruction au DI ${di_annul} Abandonner les travaux depuis ANNUL
304     Depuis l'onglet Dossiers Liés du dossier d'instruction ${di_annul}
305     Element Should Contain css=#sousform-dossier_autorisation Abandonné
306    
307    
308     Vérification de l'auto-complement des bibles
309     [Documentation] Ajout de bibles
310     ... remplissage automatique des complements et qu'ils soient espacés
311     ... et remplissage du premier complement par les consultations
312    
313     # Arguments de creations de bible pour l'auto-complement
314     &{args_bible1} = Create Dictionary
315     ... evenement=accepter un dossier sans réserve
316     ... libelle=test 1
317     ... contenu=test contenu 1
318     ... complement=complément 1
319     ... automatique=Oui
320     ... collectivite=agglo
321     &{args_bible2} = Create Dictionary
322     ... evenement=accepter un dossier sans réserve
323     ... libelle=test 2
324     ... contenu=test contenu 2
325     ... complement=complément 2
326     ... automatique=Oui
327     ... collectivite=agglo
328     &{args_bible3} = Create Dictionary
329     ... evenement=accepter un dossier sans réserve
330     ... libelle=test 3
331     ... contenu=test contenu 3
332     ... complement=complément 3
333     ... automatique=Oui
334     ... collectivite=agglo
335     &{args_bible4} = Create Dictionary
336     ... evenement=accepter un dossier sans réserve
337     ... libelle=test 4
338     ... contenu=test contenu 4
339     ... complement=complément 4
340     ... automatique=Oui
341     ... collectivite=agglo
342     &{args_bible_tous} = Create Dictionary
343     ... evenement=accepter un dossier sans réserve
344     ... libelle=test tous
345     ... contenu=test_contenu_tous
346     ... automatique=Oui
347     ... collectivite=agglo
348    
349     Depuis la page d'accueil admin admin
350     Ajouter une bible depuis l'onglet de l'événement &{args_bible1}
351     Click On Back Button In Subform
352     Ajouter une bible depuis l'onglet de l'événement &{args_bible2}
353     Click On Back Button In Subform
354     Ajouter une bible depuis l'onglet de l'événement &{args_bible3}
355     Click On Back Button In Subform
356     Ajouter une bible depuis l'onglet de l'événement &{args_bible4}
357     Click On Back Button In Subform
358     Ajouter une bible depuis l'onglet de l'événement &{args_bible_tous}
359     Click On Back Button In Subform
360     Ajouter une bible depuis le paramétrage dossiers null test multi 1 test multi contenu 1 complément 1 Oui null agglo
361     Ajouter une bible depuis le paramétrage dossiers null test multi 2 test multi contenu 2 complément 1 Non null agglo
362    
363     # On test le remplissage automatique et la bible
364    
365     Depuis la page d'accueil instr instr
366     Depuis l'onglet instruction du dossier d'instruction ${di_ok}
367     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
368     Saisir instruction accepter un dossier sans réserve null
369     Click On Submit Button In Subform Until Message Vos modifications ont bien été enregistrées.
370     Click On Link automatique
371     Click On Link bible
372     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.ui-dialog test multi 1
373     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.ui-dialog test multi 2
374     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.ui-dialog test tous
375     Select Checkbox xpath=//*[text()[contains(.,"test multi 2")]]/ancestor::tr/*/input
376     Click Element css=div.ui-dialog>div#upload-container>div>form>div.formControls input[type="submit"]
377     Click On Submit Button In Subform
378     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
379     Click On Back Button In Subform
380     Click On Link accepter un dossier sans réserve
381     Element Should Contain css=#complement_om_html contenu 1
382     Element Should Contain css=#complement_om_html test_contenu_tous
383     Element Should Contain css=#complement_om_html test multi contenu 1
384     Element Should Contain css=#complement_om_html test multi contenu 2
385     Element Should Contain css=#complement2_om_html contenu 2
386     Element Should Contain css=#complement2_om_html test_contenu_tous
387     Element Should Contain css=#complement3_om_html contenu 3
388     Element Should Contain css=#complement3_om_html test_contenu_tous
389     Element Should Contain css=#complement4_om_html contenu 4
390     Element Should Contain css=#complement4_om_html test_contenu_tous
391     Page Should Contain Element css=.libelle-date_envoi_controle_legalite
392    
393     # Arguments de creations de bible pour l'auto-complement
394     &{args_bible1} = Create Dictionary
395     ... evenement=Sursis a statuer
396     ... libelle=test1
397     ... contenu=test1
398     ... complement=complément 1
399     ... automatique=Oui
400     ... collectivite=agglo
401     &{args_bible2} = Create Dictionary
402     ... evenement=Sursis a statuer
403     ... libelle=test2
404     ... contenu=test2
405     ... complement=complément 1
406     ... automatique=Oui
407     ... collectivite=agglo
408     Depuis la page d'accueil admin admin
409     Ajouter une bible depuis l'onglet de l'événement &{args_bible1}
410     Click On Back Button In Subform
411     Ajouter une bible depuis l'onglet de l'événement &{args_bible2}
412     Click On Back Button In Subform
413    
414     Depuis la page d'accueil instr instr
415     # On va vérifier que il y a bien un retour à la ligne après automatique
416     Depuis l'onglet instruction du dossier d'instruction ${di_bible_consultation}
417     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
418     Saisir instruction Sursis a statuer null
419     Click On Submit Button In Subform Until Message Vos modifications ont bien été enregistrées.
420     Click On Link automatique
421     Click On Submit Button In Subform
422     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
423     Click On Back Button In Subform
424     Click On Link Sursis a statuer
425     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#complement_om_html test1${\n}test2
426     # Vérification du complement basé sur les consultations. Il vérifie
427     # la présence, l'avis et la date.
428     Depuis l'onglet instruction du dossier d'instruction ${di_bible_consultation}
429     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
430     Saisir instruction accepter un dossier avec reserve null
431     Click On Submit Button In Subform Until Message Vos modifications ont bien été enregistrées.
432     Click On Link automatique
433     Click On Submit Button In Subform
434     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
435     Click On Back Button In Subform
436     Click On Link accepter un dossier avec reserve
437     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#complement_om_html Vu l'avis du service SERAM${\n}${\n}Vu l'avis Favorable du service Direction de l'Eau et de l'Assainissement du ${DATE_FORMAT_DD/MM/YYYY}
438    
439     # Lecture de la consultation pour la suite des tests
440     Depuis l'onglet consultation(s) du dossier d'instruction ${di_bible_consultation}
441     Click Link 59.01 - Direction de l'Eau et de l'Assainissement
442     ${status} = Run Keyword And Return Status Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=div > table
443     Run Keyword If ${status} == False Click Link 59.01 - Direction de l'Eau et de l'Assainissement
444     Click On SubForm Portlet Action consultation marquer_comme_lu
445    
446    
447     Modification d'autorité compétente
448     [Documentation] Test du lien automatique entre l'ajout de l'événement d'instruction
449     ... 'Changer l'autorité compétente 'commune état'' et la mise à jour de l'autorité
450     ... compétente du dossier.
451    
452     ${di} = Set Variable AZ 013055 12 00001P0
453     Depuis la page d'accueil instr instr
454    
455     # Vérification de l'autorité compétente de base
456     Depuis le contexte du dossier d'instruction ${di}
457     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#autorite_competente Commune
458    
459     ${inst_autcomp} = Ajouter une instruction au DI ${di} Changer l'autorité compétente 'commune état'
460     Click On Link ${inst_autcomp}
461     Element Should Not Contain css=#sousform-instruction #portlet-actions Édition
462     Element Should Not Contain css=#sousform-instruction #portlet-actions Finaliser le document
463     # On vérifie que le changement est effectif
464     Depuis le contexte du dossier d'instruction ${di}
465     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#autorite_competente Commune pour état
466    
467     # On supprime l'instruction pour revenir à Commune
468     Depuis la page d'accueil admin admin
469     Depuis le contexte du dossier d'instruction ${di}
470     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#autorite_competente Commune pour état
471     Supprimer l'instruction ${di} Changer l'autorité compétente 'commune état'
472     Depuis le contexte du dossier d'instruction ${di}
473     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#autorite_competente Commune pour état
474     Element Text Should Be css=#autorite_competente Commune
475    
476     Vérification ajout de Lot
477     [Documentation] Ajout simple de lots avec verification d'erreur
478    
479     Depuis la page d'accueil instr instr
480     ${di} = Set Variable AZ 013055 12 00001P0
481     Depuis le contexte du dossier d'instruction ${di}
482     On clique sur l'onglet lot Lot(s)
483     Click Element Until No More Element css=#action-soustab-lot-corner-ajouter
484     Click On Submit Button In Subform Until Message SAISIE NON ENREGISTRÉE
485     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=div.ui-state-error p span.text SAISIE NON ENREGISTRÉE
486     Input Text css=#libelle Lot n°1
487     Click On Submit Button In Subform
488     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées.
489     Click On Back Button In Subform
490    
491     Click Element Until No More Element css=#action-soustab-lot-corner-ajouter
492     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#libelle
493     Input Text css=#libelle Lot n°2
494     Click On Submit Button In Subform
495     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées.
496     Click On Back Button In Subform
497    
498    
499     Dossier d'instruction à qualifier
500     [Documentation] Vérifie la qualification des dossiers avec le profil de
501     ... qualificateur.
502    
503     # On ajoute un dossier d'instruction avec un type qui demande qualification
504     &{args_petitionnaire} = Create Dictionary
505     ... qualite=particulier
506     ... particulier_nom=DURAND
507     ... particulier_prenom=MICKAEL
508     ... om_collectivite=MARSEILLE
509     &{args_demande} = Create Dictionary
510     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
511     ... demande_type=Dépôt Initial
512     ... om_collectivite=MARSEILLE
513     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
514    
515     # On vérifie que le dossier soit bien affiché pour le qualificateur
516     Depuis la page d'accueil qualif qualif
517     Element Should Contain css=#widget_15 ADS
518     Click On Link Voir tous mes dossiers à qualifier
519     Use Simple Search Tous ${di}
520     Click On Link ${di}
521     Element should Contain css=#a_qualifier Oui
522     # Une fois qualifié, le dossier ne doit plus apparaître dans le listing des
523     # qualificateurs
524     Click On Form Portlet Action dossier_instruction modifier
525     Set Checkbox a_qualifier false
526     Click On Submit Button
527     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Vos modifications ont bien été enregistrées.
528     Depuis le listing dossier_qualifier_qualificateur
529     Element Should Not Contain css=#tab-dossier_qualifier_qualificateur .tab-tab ${di}
530    
531    
532     Ajout de contraintes
533     [Documentation] Le but de ce test est de vérifier qu'un utilisateur avec
534     ... le profil qualificateur puisse ajouter des contraintes sur un dossier
535     ... d'instruction.
536    
537     # On ajoute un dossier d'instruction avec un type qui demande qualification
538     &{args_petitionnaire} = Create Dictionary
539     ... qualite=particulier
540     ... particulier_nom=HOUDE
541     ... particulier_prenom=Pierre
542     ... om_collectivite=MARSEILLE
543     &{args_demande} = Create Dictionary
544     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
545     ... demande_type=Dépôt Initial
546     ... om_collectivite=MARSEILLE
547     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
548    
549     # On ajoute une contrainte avec le profil du qualificateur
550     Depuis la page d'accueil qualif qualif
551     Depuis le listing dossier_qualifier_qualificateur
552     Use Simple Search Tous ${di}
553     Click On Link ${di}
554     On clique sur l'onglet dossier_contrainte Contrainte(s)
555     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#action-soustab-dossier_contrainte-corner-ajouter
556     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#fieldset-sousform-dossier_contrainte-contraintes-openads legend
557     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#fieldset-sousform-dossier_contrainte-environnement legend
558     Click Element css=#contrainte_5
559     Click Element css=input[value='Appliquer les changements']
560     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.message La contrainte Pollution puits a été ajoutée au dossier.
561     Click On Back Button In Subform
562     Element Should Contain css=#sousform-dossier_contrainte Le puits d'une profondeur de [...] est pollué.
563    
564    
565     TNR Instructeur sans division
566    
567     [Documentation] Un instructeur sans division ne doit pas pouvoir instruire
568     ... de dossier.
569    
570     # Ajout d'un instructeur
571     Depuis la page d'accueil admin admin
572     Ajouter l'utilisateur Test [email protected] instrnodiv instrnodiv INSTRUCTEUR MARSEILLE
573    
574     #
575     #
576     &{args_petitionnaire} = Create Dictionary
577     ... qualite=personne morale
578     ... personne_morale_denomination=instrnodiv
579     ... personne_morale_raison_sociale=instrnodiv
580     ... personne_morale_civilite=Monsieur
581     ... personne_morale_nom=instrnodiv
582     ... om_collectivite=MARSEILLE
583     ... personne_morale_prenom=instrnodiv
584    
585     &{args_demande} = Create Dictionary
586     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
587     ... demande_type=Dépôt Initial
588     ... om_collectivite=MARSEILLE
589    
590     ${di_nodiv} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
591    
592     Depuis la page d'accueil instrnodiv instrnodiv
593    
594     Depuis l'onglet instruction du dossier d'instruction ${di_nodiv}
595     Page Should Not Contain css=#action-soustab-instruction-corner-ajouter
596    
597     Depuis l'onglet contrainte(s) du dossier d'instruction ${di_nodiv}
598     Page Should Not Contain css=#action-soustab-dossier_contrainte-corner-ajouter
599    
600     Depuis l'onglet consultation(s) du dossier d'instruction ${di_nodiv}
601     Page Should Not Contain css=#action-soustab-consultation-corner-ajouter
602    
603     Depuis le contexte du dossier d'instruction ${di_nodiv}
604     On clique sur l'onglet dossier_commission Commission(s)
605     Page Should Not Contain css=#action-soustab-dossier_commission-corner-ajouter
606    
607     Depuis le contexte du dossier d'instruction ${di_nodiv}
608     On clique sur l'onglet lot Lot(s)
609     Page Should Not Contain css=#action-soustab-lot-corner-ajouter
610    
611     Depuis l'onglet des messages du dossier d'instruction ${di_nodiv}
612     Page Should Not Contain css=#action-soustab-blocnote-message-ajouter
613    
614     Depuis le contexte du dossier d'instruction ${di_nodiv}
615     On clique sur l'onglet blocnote Bloc-note
616     Page Should Not Contain css=#action-soustab-blocnote-corner-ajouter
617    
618     Depuis l'onglet des pièces du dossier d'instruction ${di_nodiv}
619     Page Should Not Contain css=#action-soustab-blocnote-message-ajouter
620    
621    
622     Champ contentieux de la consultation du DI
623     [Documentation] Ce test case vérifie que le champ contentieux du DI affiche
624     ... bien les pictogrammes RE et IN si les références cadastrales du dossier
625     ... sont en commun avec respectivement au moins un dossier RE et IN non
626     ... clôturé.
627    
628     &{args_petitionnaire} = Create Dictionary
629     ... particulier_nom=Mylène
630     ... particulier_prenom=Françoise
631     ... om_collectivite=MARSEILLE
632    
633     @{ref_cad} = Create List 001 AA 0007
634    
635     &{args_demande} = Create Dictionary
636     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
637     ... demande_type=Dépôt Initial
638     ... terrain_references_cadastrales=${ref_cad}
639     ... om_collectivite=MARSEILLE
640    
641     &{args_contrevenant} = Create Dictionary
642     ... particulier_nom=Mélisande
643     ... particulier_prenom=Amélie
644     ... om_collectivite=MARSEILLE
645    
646     &{args_plaignant} = Create Dictionary
647     ... particulier_nom=Wanda
648     ... particulier_prenom=Manon
649     ... om_collectivite=MARSEILLE
650    
651     &{args_autres_demandeurs} = Create Dictionary
652     ... contrevenant_principal=${args_contrevenant}
653     ... plaignant_principal=${args_plaignant}
654    
655     &{args_demande_inf} = Create Dictionary
656     ... dossier_autorisation_type_detaille=Infraction
657     ... demande_type=Dépôt Initial IN
658     ... om_collectivite=MARSEILLE
659     ... terrain_references_cadastrales=${ref_cad}
660    
661     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
662    
663     Depuis la page d'accueil assist assist
664     # On vérifie l'existence du champ et l'absence de dossier contentieux
665     Depuis le contexte du dossier d'instruction ${di}
666     Element Should Contain css=#fieldset-form-dossier_instruction-enjeu contentieux
667     Element Should Not Contain css=#fieldset-form-dossier_instruction-enjeu IN
668     Element Should Not Contain css=#fieldset-form-dossier_instruction-enjeu RE
669    
670     # Pour tester tous les comportements des pictogrammes EN ET IN,
671     # on ajoute 2 recours et 2 infractions
672    
673     # On ajoute un premier recours (RE) au dossier
674     &{args_demande_1} = Create Dictionary
675     ... dossier_autorisation_type_detaille=Recours contentieux
676     ... demande_type=Dépôt Initial REC
677     ... autorisation_contestee=${di}
678     ... om_collectivite=MARSEILLE
679     ${di_re_1} = Ajouter la demande par WS ${args_demande_1}
680    
681     # On ajoute un second recours (RE) au dossier
682     &{args_demande_2} = Create Dictionary
683     ... dossier_autorisation_type_detaille=Recours contentieux
684     ... demande_type=Dépôt Initial REC
685     ... autorisation_contestee=${di}
686     ... om_collectivite=MARSEILLE
687     ${di_re_2} = Ajouter la demande par WS ${args_demande_2}
688    
689     # On vérifie l'existence du champ et de RE
690     Depuis le contexte du dossier d'instruction ${di}
691     Element Should Contain css=#fieldset-form-dossier_instruction-enjeu contentieux
692     Element Should Not Contain css=#fieldset-form-dossier_instruction-enjeu IN
693     Element Should Contain css=#fieldset-form-dossier_instruction-enjeu RE
694    
695     # On ajoute une première infraction (IN) au dossier
696     ${di_inf_1} = Ajouter la demande par WS ${args_demande_inf} ${NULL} ${args_autres_demandeurs}
697    
698     # On ajoute une seconde infraction (IN) au dossier
699     ${di_inf_2} = Ajouter la demande par WS ${args_demande_inf} ${NULL} ${args_autres_demandeurs}
700    
701     # On vérifie l'existence du champ et de RE, IN
702     Depuis le contexte du dossier d'instruction ${di}
703     Element Should Contain css=#fieldset-form-dossier_instruction-enjeu contentieux
704     Element Should Contain css=#fieldset-form-dossier_instruction-enjeu RE IN
705    
706     # Lors de la clôture des premiers recours et infraction,
707     # les pictogrammes EN et IN doivent rester respectivement orange et rouge
708     Ajouter une instruction au DI ${di_re_1} accepter un dossier sans réserve null recours
709     Ajouter une instruction au DI ${di_inf_1} accepter un dossier sans réserve null infraction
710    
711     Depuis le contexte du dossier d'instruction ${di}
712     Vérifier qu'un élément a une classe CSS name RE label-warning
713     Vérifier qu'un élément a une classe CSS name IN label-important
714    
715     # Lors de la clôture des seconds recours et infraction,
716     # les pictogrammes EN et IN doivent tous les deux passer au vert
717     Ajouter une instruction au DI ${di_re_2} accepter un dossier sans réserve null recours
718     Ajouter une instruction au DI ${di_inf_2} accepter un dossier sans réserve null infraction
719    
720     Depuis le contexte du dossier d'instruction ${di}
721     Vérifier qu'un élément a une classe CSS name RE label-success
722     Vérifier qu'un élément a une classe CSS name IN label-success
723    
724    
725     TNR champs de fusion et variables de remplacement des éditions
726     [Documentation] On vérifie les champs spéciaux des éditions
727     ... les points verifiés sont:
728     ... - un champ de fusion qui affiche une variable de remplacement qui a un champ de fusion
729     ... - une variable de remplacement qui affiche un champ de fusion qui a une variable de remplacement
730     ... - une variable de remplacement qui affiche une variable de remplacement
731     ... - un champ de fusion qui affiche un champ de fusion
732    
733     Depuis la page d'accueil admin admin
734     Ajouter le paramètre depuis le menu test1 [complement2_instruction] MARSEILLE
735     Ajouter le paramètre depuis le menu test2 [complement3_instruction] MARSEILLE
736     Ajouter le paramètre depuis le menu test3 test_final_variable MARSEILLE
737     Ajouter le paramètre depuis le menu test4 &test3 MARSEILLE
738    
739     &{args_petitionnaire} = Create Dictionary
740     ... qualite=personne morale
741     ... personne_morale_denomination=Larocque
742     ... personne_morale_raison_sociale=Cerise
743     ... personne_morale_nom=Larocque
744     ... personne_morale_prenom=Cerise
745     ... om_collectivite=MARSEILLE
746    
747     &{args_demande} = Create Dictionary
748     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
749     ... demande_type=Dépôt Initial
750     ... om_collectivite=MARSEILLE
751    
752     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
753    
754     Depuis la page d'accueil instr instr
755     Depuis l'onglet instruction du dossier d'instruction ${di}
756     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
757     Saisir instruction TNR d'imbrication de champs de fusion et variables de remplacement
758     Click On Submit Button In Subform Until Message Vos modifications ont bien été enregistrées.
759     Input HTML complement_om_html &test1
760     Input HTML complement2_om_html test_final_fusion
761     Input HTML complement3_om_html &test3
762     Input HTML complement4_om_html [complement2_instruction]
763     Click On Submit Button In Subform
764     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
765     Click On Back Button In Subform
766     Click Element Until No More Element xpath=//a[text()[contains(.,"TNR d'imbrication de champs de fusion et variables de remplacement")]]
767     Click On SubForm Portlet Action instruction edition new_window
768    
769     Open PDF ${OM_PDF_TITLE}
770     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_final_variable
771    
772     ${body_text} = Get Text css=#viewer
773     ${lines} = Get Lines Matching Pattern ${body_text} test_final_variable
774     ${count} = Get Line Count ${lines}
775     Should Be Equal As Strings ${count} 2
776    
777     ${lines} = Get Lines Matching Pattern ${body_text} test_final_fusion
778     ${count} = Get Line Count ${lines}
779     Should Be Equal As Strings ${count} 2
780    
781     Close PDF
782    
783    
784     TNR Les log d'instruction ne doivent pas apparaitre
785     [Documentation] On vérifie l'absence de log_instructions dans la page
786    
787     &{args_petitionnaire} = Create Dictionary
788     ... particulier_nom=Torri
789     ... particulier_prenom=Renato
790     ... om_collectivite=MARSEILLE
791     &{args_demande} = Create Dictionary
792     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
793     ... demande_type=Dépôt Initial
794     ... om_collectivite=MARSEILLE
795     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
796    
797     Depuis la page d'accueil instr instr
798     Ajouter une instruction au DI ${di} accepter un dossier sans réserve
799     Depuis Le Contexte Du Dossier D'instruction ${di}
800     Page Should Not Contain Element log_instructions
801    
802    
803     TNR Bug bind de l'overlay ne s'effectuer plus
804     [Documentation] On vérifie que même après le chargement JS d'un form
805     ... les overlay s'ouvre toujours.
806    
807     &{args_petitionnaire} = Create Dictionary
808     ... particulier_nom=Charline
809     ... particulier_prenom=Pinette
810     ... om_collectivite=MARSEILLE
811     &{args_demande} = Create Dictionary
812     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
813     ... demande_type=Dépôt Initial
814     ... om_collectivite=MARSEILLE
815     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
816    
817     Depuis la page d'accueil instrpoly instrpoly
818    
819     # Chargement JS
820     Depuis le contexte du dossier d'instruction ${di}
821     Click On Form Portlet Action dossier_instruction recepisse message Le récépissé de la demande a été régénéré.
822    
823     # On fait appel à l'overlay
824     Click On Form Portlet Action dossier_instruction donnees_techniques modale
825     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#fieldset-sousform-donnees_techniques-construire legend
826    
827    
828     Prévisualisation édition et Rédaction libre
829     [Documentation] On vérifie que la modification des compléments est prise en
830     ... compte dans la preview.
831    
832     &{args_petitionnaire} = Create Dictionary
833     ... particulier_nom=Bussi
834     ... particulier_prenom=Anthony
835     ... om_collectivite=MARSEILLE
836     &{args_demande} = Create Dictionary
837     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
838     ... demande_type=Dépôt Initial
839     ... om_collectivite=MARSEILLE
840     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
841    
842     Set Window Size 1290 800
843     Depuis la page d'accueil instr instr
844     # On vérifie que la prévisualisation n'est pas affichée tant que l'option
845     # n'est pas activée
846     Depuis la page d'accueil instr instr
847     Ajouter une instruction au DI ${di} ABF recours contre avis
848     Depuis l'instruction du dossier d'instruction ${di} ABF recours contre avis
849     Click On SubForm Portlet Action instruction modifier
850     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible complement_om_html_ifr
851     Element Should Not Be Visible css=#frame_pdf
852    
853     # Activation option
854     Depuis la page d'accueil admin admin
855     Ajouter le paramètre depuis le menu option_previsualisation_edition true agglo
856     # Ajout lettre-type
857     &{args_lettretype} = Create Dictionary
858     ... id=recours_contre_avis
859     ... libelle=ABF recours contre avis
860     ... sql=Aucune REQUÊTE
861     ... titre=&contraintes
862     ... corps=[complement2_instruction]
863     ... actif=true
864     ... collectivite=MARSEILLE
865     Ajouter la lettre-type depuis le menu &{args_lettretype}
866     #
867     Depuis la page d'accueil instr instr
868     Depuis l'instruction du dossier d'instruction ${di} ABF recours contre avis
869     Click On SubForm Portlet Action instruction modifier
870     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible complement_om_html_ifr
871     Input HTML complement_om_html Azerty123456++++
872     Click Element css=#btn_refresh
873     # Attend que la frame de prévisualisation se charge
874     Wait Until Page Contains Element css=#frame_pdf
875     # On remodifie le complément sans actualiser, et ce afin d'une part tester que cela
876     # n'a aucun effet, et d'autre part être sûr du DOM lors du test de la prévisualisation
877     Input HTML complement_om_html 123456Azerty
878     Select Frame frame_pdf
879     # Attend que la prévisualisation se charge
880     Wait Until Page Contains Element css=#outerContainer
881     Set Focus To Element outerContainer
882     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456++++
883     Unselect Frame
884    
885     # 2ème modification du complément
886     Click Element css=#btn_refresh
887     # Attend que la frame de prévisualisation se charge
888     Wait Until Page Contains Element css=#frame_pdf
889     Input HTML complement_om_html qwerty
890     Select Frame frame_pdf
891     # Attend que la prévisualisation se charge
892     Wait Until Page Contains Element css=#outerContainer
893     Set Focus To Element outerContainer
894     Wait Until Page Contains 123456Azerty
895     Unselect Frame
896    
897     # On ajoute un événement d'instruction sans lettre type associé et on
898     # vérifie que la prévisualisation n'est pas affiché
899     Ajouter une instruction au DI ${di} Changer l'autorité compétente 'commune état'
900     Depuis l'instruction du dossier d'instruction ${di} Changer l'autorité compétente 'commune état'
901     Click On SubForm Portlet Action instruction modifier
902     Element Should Not Be Visible css=#frame_pdf
903    
904     # Désactivation option
905     Depuis la page d'accueil admin admin
906     Modifier le paramètre option_previsualisation_edition false agglo
907    
908     # On vérifie que la prévisualisation n'est pas affichée tant que l'option
909     # n'est pas activée
910     Depuis la page d'accueil instr instr
911     Depuis l'instruction du dossier d'instruction ${di} ABF recours contre avis
912     Click On SubForm Portlet Action instruction modifier
913     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible complement_om_html_ifr
914     Element Should Not Be Visible css=#frame_pdf
915    
916     #Verification de l'option rédaction libre
917     # Activation de l'option rédaction libre et previsu
918     Depuis la page d'accueil admin admin
919     Ajouter le paramètre depuis le menu option_redaction_libre true agglo
920     Modifier le paramètre option_previsualisation_edition true agglo
921    
922    
923     #Création du dossier d'instruction
924     &{args_petitionnaire} = Create Dictionary
925     ... particulier_nom=Polo
926     ... particulier_prenom=Marco
927     ... om_collectivite=MARSEILLE
928     &{args_demande} = Create Dictionary
929     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
930     ... demande_type=Dépôt Initial
931     ... om_collectivite=MARSEILLE
932     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
933    
934     #Verification de l'instruction sans lettre type
935     Depuis la page d'accueil instr instr
936     Ajouter une instruction au DI ${di} Changer l'autorité compétente 'commune état'
937     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=#signataire_arrete
938     Element Should Not Be Visible css=#lib-flag_edition_integrale
939     Depuis l'instruction du dossier d'instruction ${di} Changer l'autorité compétente 'commune état'
940    
941     Element Should Not Be Visible css=#complement_om_html
942     Element Should Not Be Visible css=#complement2_om_html
943     Element Should Not Be Visible css=#complement3_om_html
944     Element Should Not Be Visible css=#complement4_om_html
945     Element Should Not Be Visible css=#titre_om_htmletat
946     Element Should Not Be Visible css=#corps_om_htmletat
947     Element Should Not Be Visible css=#action-sousform-instruction-enable-edition-integrale
948     Element Should Not Be Visible css=#action-sousform-instruction-disable-edition-integrale
949     Element Should Not Be Visible css=#action-sousform-instruction-finaliser
950    
951     Click On SubForm Portlet Action instruction modifier
952    
953     Element Should Not Be Visible css=#lib-signataire_arrete
954     Element Should Not Be Visible css=#complement_om_html_ifr
955     Element Should Not Be Visible css=#complement2_om_html_ifr
956     Element Should Not Be Visible css=#complement3_om_html_ifr
957     Element Should Not Be Visible css=#complement4_om_html_ifr
958     Element Should Not Be Visible css=#titre_om_htmletat_ifr
959     Element Should Not Be Visible css=#corps_om_htmletatex_ifr
960     Click On Back Button In Subform
961     Click On Back Button In Subform
962    
963     #Vérification de l'instruction avec lettre type
964     Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS
965     Click On Back Button In Subform
966    
967     #Première condition : Pour les petits écrans
968     Set Window Size 1266 800
969    
970     Click On SubForm Portlet Action instruction modifier
971     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible complement_om_html_ifr
972     Element Should Be Visible css=#complement_om_html_ifr
973     Element Should Be Visible css=#complement2_om_html_ifr
974     Element Should Be Visible css=#complement3_om_html_ifr
975     Element Should Be Visible css=#complement4_om_html_ifr
976     Element Should Be Visible css=#btn_preview
977     Element Should Not Be Visible css=#btn_refresh
978     Element Should Not Be Visible css=#btn_redaction
979     Element Should Not Be Visible css=#frame_pdf
980    
981     Input HTML complement_om_html Azerty123456++++
982     Click Element Until No More Element css=#btn_preview
983     # Attend que la frame de prévisualisation se charge
984     Wait Until Page Contains Element css=#frame_pdf
985    
986     Element Should Not Be Visible css=#complement_om_html_ifr
987     Element Should Not Be Visible css=#complement2_om_html_ifr
988     Element Should Not Be Visible css=#complement3_om_html_ifr
989     Element Should Not Be Visible css=#complement4_om_html_ifr
990     Element Should Not Be Visible css=#btn_preview
991     Element Should Not Be Visible css=#btn_refresh
992     Element Should Be Visible css=#btn_redaction
993     Element Should Be Visible css=#frame_pdf
994    
995     Select Frame frame_pdf
996     # Attend que la prévisualisation se charge
997     Wait Until Page Contains Element css=#outerContainer
998     Focus outerContainer
999     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456++++
1000     Unselect Frame
1001    
1002     Click On Back Button In Subform
1003     Click On SubForm Portlet Action instruction enable-edition-integrale modale
1004     Cliquer sur le bouton de la fenêtre modale Confirmer
1005     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Rédaction libre activé.
1006    
1007     Click On SubForm Portlet Action instruction modifier
1008     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible corps_om_htmletatex_ifr
1009     Open Fieldset In Subform instruction titre
1010     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#titre_om_htmletat_ifr
1011     Element Should Be Visible css=#corps_om_htmletatex_ifr
1012     Element Should Be Visible css=#btn_preview
1013     Element Should Not Be Visible css=#btn_refresh
1014     Element Should Not Be Visible css=#btn_redaction
1015     Element Should Not Be Visible css=#frame_pdf
1016    
1017     Input HTML corps_om_htmletatex Azerty123456++++
1018     Click Element Until No More Element css=#btn_preview
1019     # Attend que la frame de prévisualisation se charge
1020     Wait Until Page Contains Element css=#frame_pdf
1021    
1022     Element Should Not Be Visible css=#titre_om_htmletat_ifr
1023     Element Should Not Be Visible css=#corps_om_htmletatex_ifr
1024     Element Should Not Be Visible css=#btn_preview
1025     Element Should Not Be Visible css=#btn_refresh
1026     Element Should Be Visible css=#btn_redaction
1027     Element Should Be Visible css=#frame_pdf
1028    
1029     Select Frame frame_pdf
1030     # Attend que la prévisualisation se charge
1031     Wait Until Page Contains Element css=#outerContainer
1032     Set Focus To Element outerContainer
1033     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456++++
1034     Unselect Frame
1035    
1036     Click On Submit Button In Subform
1037    
1038     #On retourne sur le mode complement
1039     Click On SubForm Portlet Action instruction disable-edition-integrale modale
1040     Cliquer sur le bouton de la fenêtre modale Confirmer
1041     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Rédaction par compléments activé.
1042    
1043     #Deuxième condition : Pour les grands écrans
1044     Set Window Size 1680 1050
1045    
1046     Click On SubForm Portlet Action instruction modifier
1047     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible complement_om_html_ifr
1048    
1049     Element Should Be Visible css=#complement_om_html_ifr
1050     Element Should Be Visible css=#complement2_om_html_ifr
1051     Element Should Be Visible css=#complement3_om_html_ifr
1052     Element Should Be Visible css=#complement4_om_html_ifr
1053     Element Should Be Visible css=#frame_pdf
1054     Input HTML complement_om_html Azerty123456++++
1055    
1056     Click Element css=#btn_refresh
1057     # Attend que la frame de prévisualisation se charge
1058     Wait Until Page Contains Element css=#frame_pdf
1059    
1060     Select Frame frame_pdf
1061     # Attend que la prévisualisation se charge
1062     Wait Until Page Contains Element css=#outerContainer
1063     Set Focus To Element outerContainer
1064     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456++++
1065     Unselect Frame
1066    
1067     Click On Back Button In Subform
1068     #On change le mode de rédaction
1069     Click On SubForm Portlet Action instruction enable-edition-integrale modale
1070     Cliquer sur le bouton de la fenêtre modale Confirmer
1071     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Rédaction libre activé.
1072    
1073     Click On SubForm Portlet Action instruction modifier
1074     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible corps_om_htmletatex_ifr
1075     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#fieldset-sousform-instruction-titre legend
1076    
1077     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#titre_om_htmletat_ifr
1078     Element Should Be Visible css=#corps_om_htmletatex_ifr
1079    
1080     Input HTML corps_om_htmletatex Azerty123456
1081     Click Element css=#btn_refresh
1082     # Attend que la frame de prévisualisation se charge
1083     Wait Until Page Contains Element css=#frame_pdf
1084    
1085     Select Frame frame_pdf
1086     # Attend que la prévisualisation se charge
1087     Wait Until Page Contains Element css=#outerContainer
1088     Set Focus To Element outerContainer
1089     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456
1090     Unselect Frame
1091    
1092     Click On Submit Button In Subform
1093    
1094     Click On SubForm Portlet Action instruction edition new_window
1095     # On ouvre le PDF
1096     Open PDF ${OM_PDF_TITLE}
1097     # On vérifie le contenu du PDF
1098     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Azerty123456
1099     # On ferme le PDF
1100     Close PDF
1101    
1102    
1103     #-- Vérification de l'instruction en rédaction libre directement
1104     # (champs de fusion correctement substitué)
1105     # ajout d'une instruction directement en mode rédaction libre
1106     Ajouter une instruction au DI ${di} accepter un dossier avec reserve redaction_type=Rédaction libre
1107     # vérification du contenu du titre
1108     Open Fieldset In Subform instruction titre
1109     # Besoin de temporiser afin que le fieldset puisse finir de se déplier
1110     Sleep 2
1111     ${titre_input} = Get Value titre_om_htmletat
1112     # remplacement du caractère espace   produisant un faux-espace
1113     ${titre_input} = Replace String Using Regexp ${titre_input} Dossier.numéro Dossier numéro
1114     # signes d'un champ de fusion non substitué
1115     Should Not Contain Any ${titre_input} [ ] [libelle_dossier]
1116     # vérification que le titre n'est pas vide
1117     Should Contain ${titre_input} Dossier numéro
1118     # vérification du contenu du corps
1119     ${corps_input} = Get Value corps_om_htmletatex
1120     # remplacement du caractère espace   produisant un faux-espace
1121     ${corps_input} = Replace String Using Regexp ${corps_input} Vu.la.demande Vu la demande
1122     # signes d'un champ de fusion non substitué
1123     Should Not Contain Any ${corps_input} [ ] [libelle_datd]
1124     # vérification que le corps n'est pas vide
1125     Should Contain ${corps_input} Vu la demande
1126    
1127     # en tant qu'admin
1128     Depuis la page d'accueil admin admin
1129    
1130     # supprime l'instruction de test précédente
1131     Supprimer l'instruction ${di} accepter un dossier avec reserve
1132    
1133     # en tant qu'Instructeur
1134     Depuis la page d'accueil instr instr
1135    
1136     #-- Vérification de la variable de substitution &contraintes
1137     # (variable correctement substituée)
1138     # ajout des contraintes au DI
1139     @{contraintes_a_selectionner} = Create List 3 1
1140     Ajouter des contraintes depuis l'onglet du dossier d'instruction ${di} ${contraintes_a_selectionner}
1141     # ajustement du paramétrage (lettre type et évènement)
1142     Depuis la page d'accueil admin admin
1143     Modifier la lettre-type recours_contre_avis sql=Récapitulatif du dossier d'instruction / instruction
1144     &{args_evt} = Create Dictionary
1145     ... libelle=ABF recours contre avis
1146     ... lettretype=recours_contre_avis ABF recours contre avis
1147     Modifier l'événement ${args_evt}
1148     Depuis la page d'accueil instr instr
1149     # ajout de l'instruction avec cette lettre type
1150     Ajouter une instruction au DI ${di} ABF recours contre avis redaction_type=Rédaction libre
1151     # vérifications du contenu du titre
1152     Open Fieldset In Subform instruction titre
1153     ${titre_input} = Get Value id:titre_om_htmletat
1154     # signes de la variable non substituée
1155     Should Not Contain ${titre_input} &contraintes
1156     # remplacement du caractère espace   produisant un faux-espace
1157     ${titre_input} = Replace String Using Regexp ${titre_input} ZONES.DU.PLU ZONES DU PLU
1158     ${titre_input} = Replace String Using Regexp ${titre_input} AUTRES.SERVITUDES AUTRES SERVITUDES
1159     Should Contain ${titre_input} ZONES DU PLU
1160     Should Contain ${titre_input} AUTRES SERVITUDES
1161     Should Contain ${titre_input} IMPLANTATION-HAUTEUR
1162     Click On Back Button In Subform
1163    
1164     # en tant qu'admin
1165     Depuis la page d'accueil admin admin
1166    
1167     # rétablissement du paramétrage (lettre type et évènement)
1168     Modifier la lettre-type recours_contre_avis sql=Aucune REQUÊTE
1169     &{args_evt} = Create Dictionary
1170     ... libelle=ABF recours contre avis
1171     ... lettretype=majoration MAJORATION DU DELAI D'INSTRUCTION
1172     Modifier l'événement ${args_evt}
1173    
1174     # désactive la prévisualisation des éditions et la rédaction libre
1175     Modifier le paramètre option_previsualisation_edition false agglo
1176     Modifier le paramètre option_redaction_libre false agglo
1177    
1178     Colonne de la nature des travaux dans le listing des dossiers d'instruction
1179     [Documentation] Colonne qui regroupe diverses description depuis les
1180     ... données techniques et qui est tronquée en longueur de texte (40). Le
1181     ... texte complet est affiché dans une infobulle (title d'un <span>)
1182    
1183     &{args_petitionnaire} = Create Dictionary
1184     ... particulier_nom=Olofsson
1185     ... om_collectivite=MARSEILLE
1186     &{args_demande} = Create Dictionary
1187     ... dossier_autorisation_type_detaille=Permis de démolir
1188     ... demande_type=Dépôt Initial
1189     ... om_collectivite=MARSEILLE
1190     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1191    
1192     Depuis la page d'accueil instr2 instr
1193     &{args_donnees_techniques} = Create Dictionary
1194     ... co_projet_desc=valeur co_projet_desc
1195     ... ope_proj_desc=valeur ope_proj_desc
1196     ... am_projet_desc=valeur am_projet_desc
1197     ... dm_projet_desc=valeur dm_projet_desc
1198     ... erp_cstr_neuve=t
1199     ... erp_trvx_acc=t
1200     ... erp_extension=t
1201     ... erp_rehab=t
1202     ... erp_trvx_am=t
1203     ... erp_vol_nouv_exist=t
1204     Saisir les données techniques du DI ${di} ${args_donnees_techniques}
1205     Click On Back Button In Subform
1206    
1207     # Recherche du DI
1208     Go To Submenu In Menu instruction dossier_instruction_recherche
1209     Input Text dossier ${di}
1210     Click Button adv-search-submit
1211    
1212     # <br/> devient /n dans RF
1213     Element Should Contain css=.tab-data a.lienTable span
1214     ... valeur co_projet_desc${\n}valeur ope_proj_de…
1215    
1216     # Multiline string with newlines
1217     ${expected_tooltip_value}= catenate SEPARATOR=\n
1218     ... valeur co_projet_desc
1219     ... valeur ope_proj_desc
1220     ... valeur am_projet_desc
1221     ... valeur dm_projet_desc
1222     ... Construction neuve
1223     ... Travaux de mise en conformité totale aux règles d’accessibilité
1224     ... Extension
1225     ... Réhabilitation
1226     ... Travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple)
1227     ... Création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple)
1228    
1229     ${title} = Get Element Attribute css=.tab-data a.lienTable span title
1230     Should Be Equal ${title} ${expected_tooltip_value}
1231    
1232     ## Deuxième DI pour tester le cas < 40 caractères avec 2 descriptions
1233     ## et donc un saut de ligne. Permet de test que les <br/> sont ajoutées
1234     ## dans les deux cas.
1235     # On réutilise exactement les mêmes données de base mais moins de données
1236     # techniques
1237     ${di_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1238     &{args_donnees_techniques} = Create Dictionary
1239     ... dm_projet_desc=valeur dm_projet_desc
1240     ... erp_cstr_neuve=t
1241     Saisir les données techniques du DI ${di_2} ${args_donnees_techniques}
1242     Click On Back Button In Subform
1243    
1244     # Recherche du DI
1245     Go To Submenu In Menu instruction dossier_instruction_recherche
1246     Input Text dossier ${di_2}
1247     Click Button adv-search-submit
1248    
1249     # <br/> devient /n dans RF
1250     Element Should Contain css=.tab-data a.lienTable span
1251     ... valeur dm_projet_desc${\n}Construction neuve
1252    
1253    
1254     Finalisation automatique de l'événement d'instruction tacite
1255     [Documentation] Ce test case contrôle que les instructions ajoutées de
1256     ... manière tacite sont finalisées automatiquement si l'option est activée.
1257    
1258     Depuis la page d'accueil admin admin
1259     Modifier le paramètre option_final_auto_instr_tacite_retour false agglo
1260    
1261     &{args_petitionnaire} = Create Dictionary
1262     ... particulier_prenom=Théodore
1263     ... particulier_nom=Course
1264     ... om_collectivite=MARSEILLE
1265     &{args_demande} = Create Dictionary
1266     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1267     ... demande_type=Dépôt Initial
1268     ... om_collectivite=MARSEILLE
1269     ... date_demande=02/09/2000
1270     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1271     #
1272     Depuis la page d'accueil instr instr
1273     Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS 02/09/2000
1274     #
1275     Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json_instruction_finalisation} 200 dossier(s) mis à jour.
1276     # On vérifie que l'événement d'instruction tacite soit finalisé
1277     Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS 2
1278     Element Should Contain css=span#date_finalisation_courrier.field_value ${EMPTY}
1279    
1280     Depuis la page d'accueil admin admin
1281     Modifier le paramètre option_final_auto_instr_tacite_retour true agglo
1282    
1283     &{args_petitionnaire} = Create Dictionary
1284     ... particulier_prenom=Harriette
1285     ... particulier_nom=Lamarre
1286     ... om_collectivite=MARSEILLE
1287     &{args_demande} = Create Dictionary
1288     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1289     ... demande_type=Dépôt Initial
1290     ... om_collectivite=MARSEILLE
1291     ... date_demande=02/09/2000
1292     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1293     #
1294     Depuis la page d'accueil instr instr
1295     Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS 02/09/2000
1296     #
1297     Vérifier le code retour du web service et vérifier que son message contient Post maintenance ${json_instruction_finalisation} 200 dossier(s) mis à jour.
1298     # On vérifie que l'événement d'instruction tacite soit finalisé
1299     Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS 2
1300     Element Should Contain css=span#date_finalisation_courrier.field_value ${date_ddmmyyyy}
1301    
1302    
1303     Finalisation automatique de l'événement d'instruction retour (par le suivi des dates)
1304     [Documentation] Les événements d'instruction retour ajouter automatiquement
1305     ... à la saisie du suivi des dates doivent être finalisés, si l'option est
1306     ... activée.
1307    
1308     Depuis la page d'accueil admin admin
1309     Modifier le paramètre option_final_auto_instr_tacite_retour false agglo
1310    
1311     &{args_petitionnaire} = Create Dictionary
1312     ... particulier_prenom=Arienne
1313     ... particulier_nom=Charlesbois
1314     ... om_collectivite=MARSEILLE
1315     &{args_demande} = Create Dictionary
1316     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1317     ... demande_type=Dépôt Initial
1318     ... om_collectivite=MARSEILLE
1319     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1320     #
1321     Depuis la page d'accueil instrpoly instrpoly
1322     Ajouter une instruction au DI et la finaliser ${di} ARRÊTÉ DE REFUS
1323     Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS
1324     # On saisi la date de retour AR depuis le formulaire de l'instruction
1325     Click On SubForm Portlet Action instruction modifier_suivi
1326     Input Datepicker date_retour_rar ${date_ddmmyyyy}
1327     Click On Submit Button In Subform
1328     Click On Back Button In Subform
1329     # On vérifie que l'événement d'instruction retour soit finalisé
1330     Depuis l'instruction du dossier d'instruction ${di} Arrêté de Refus signé
1331     Element Should Contain css=span#date_finalisation_courrier.field_value ${EMPTY}
1332    
1333     Depuis la page d'accueil admin admin
1334     Modifier le paramètre option_final_auto_instr_tacite_retour true agglo
1335    
1336     &{args_petitionnaire} = Create Dictionary
1337     ... particulier_prenom=Eustache
1338     ... particulier_nom=Laforge
1339     ... om_collectivite=MARSEILLE
1340     &{args_demande} = Create Dictionary
1341     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1342     ... demande_type=Dépôt Initial
1343     ... om_collectivite=MARSEILLE
1344     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1345     #
1346     Depuis la page d'accueil instrpoly instrpoly
1347     Ajouter une instruction au DI et la finaliser ${di} ARRÊTÉ DE REFUS
1348     Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS
1349     # On saisi la date de retour AR depuis le formulaire de l'instruction
1350     Click On SubForm Portlet Action instruction modifier_suivi
1351     Input Datepicker date_retour_rar ${date_ddmmyyyy}
1352     Click On Submit Button In Subform
1353     Click On Back Button In Subform
1354     # On vérifie que l'événement d'instruction retour soit finalisé
1355     Depuis l'instruction du dossier d'instruction ${di} Arrêté de Refus signé
1356     Element Should Contain css=span#date_finalisation_courrier.field_value ${date_ddmmyyyy}
1357    
1358    
1359     Suppression d'une instruction par un instructeur polyvalent et un instructeur polyvalent commune
1360     [Documentation] Le principe est de créer deux instructions et de les
1361     ... supprimer avec les deux types de profils concernés
1362    
1363     Depuis la page d'accueil admin admin
1364     #
1365     &{args_petitionnaire} = Create Dictionary
1366     ... particulier_nom=Fluet
1367     ... particulier_prenom=Matthieu
1368     ... om_collectivite=MARSEILLE
1369     &{args_demande} = Create Dictionary
1370     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1371     ... demande_type=Dépôt Initial
1372     ... om_collectivite=MARSEILLE
1373     ${di_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1374     Ajouter une instruction au DI ${di_1} Notification de pieces manquante
1375    
1376     #
1377     &{args_petitionnaire} = Create Dictionary
1378     ... particulier_nom=Jean
1379     ... particulier_prenom=Victor
1380     ... om_collectivite=MARSEILLE
1381     &{args_demande} = Create Dictionary
1382     ... dossier_autorisation_type_detaille=DECLARATION PREALABLE SIMPLE
1383     ... demande_type=Dépôt Initial
1384     ... om_collectivite=MARSEILLE
1385     ${di_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1386     Ajouter une instruction au DI ${di_2} Notification de pieces manquante
1387    
1388     Depuis la page d'accueil instrpoly instrpoly
1389     Depuis l'instruction du dossier d'instruction ${di_1} Notification de pieces manquante
1390     Portlet Action Should Be In SubForm instruction supprimer
1391     Click On SubForm Portlet Action instruction supprimer
1392     Supprimer l'instruction ${di_1} Notification de pieces manquante
1393    
1394     Depuis la page d'accueil instrpolycomm2 instrpolycomm2
1395     Depuis l'instruction du dossier d'instruction ${di_2} Notification de pieces manquante
1396     Portlet Action Should Be In SubForm instruction supprimer
1397     Click On SubForm Portlet Action instruction supprimer
1398     Supprimer l'instruction ${di_2} Notification de pieces manquante
1399    
1400     Finalisation automatique de l'instruction
1401     [Documentation] L'objet de ce 'Test Case' est de vérifier la finalisation
1402     ... automatique d'un événement
1403    
1404     Depuis la page d'accueil admin admin
1405     Ajouter la collectivité depuis le menu Baskerville mono
1406     Ajouter le paramètre depuis le menu departement 055 Baskerville
1407     Ajouter le paramètre depuis le menu commune 678 Baskerville
1408     Ajouter le paramètre depuis le menu insee 55678 Baskerville
1409    
1410     # Création d'une lettre type test à associer à l'événement test 1
1411     &{args_lettretype} = Create Dictionary
1412     ... id=test_finalisation_auto
1413     ... libelle=Test
1414     ... sql=Aucune REQUÊTE
1415     ... titre=&idx, &destinataire, aujourdhui&aujourdhui, datecourrier&datecourrier, &departement
1416     ... corps=<p><br pagebreak="true" /></p>&idx, &destinataire, aujourdhui&aujourdhui, datecourrier&datecourrier, &departement
1417     ... actif=true
1418     ... collectivite=agglo
1419     #
1420     Ajouter la lettre-type depuis le menu &{args_lettretype}
1421    
1422     #Définition de l'état & type de DI depuis lesquels les événements seront disponibles
1423     @{etat_source} = Create List delai de notification envoye
1424     @{type_di} = Create List PCI - P - Initial
1425    
1426    
1427     # Création de l'événement test 1
1428     &{args_evenement} = Create Dictionary
1429     ... libelle=Test finalisation automatique avec LT
1430     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1431     ... dossier_instruction_type=${type_di}
1432     ... lettretype=test_finalisation_auto Test
1433     ... finaliser_automatiquement=false
1434    
1435     Ajouter l'événement depuis le menu ${args_evenement}
1436    
1437     # Création de l'événement test 2
1438     &{args_evenement} = Create Dictionary
1439     ... libelle=Test finalisation automatique sans LT
1440     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1441     ... dossier_instruction_type=${type_di}
1442     ... finaliser_automatiquement=true
1443    
1444     Ajouter l'événement depuis le menu ${args_evenement}
1445    
1446     # Création des demandes
1447     &{args_petitionnaire} = Create Dictionary
1448     ... particulier_nom=Roumanov
1449     ... particulier_prenom=Anastasia
1450     ... om_collectivite=Baskerville
1451     &{args_demande} = Create Dictionary
1452     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1453     ... demande_type=Dépôt Initial
1454     ... om_collectivite=Baskerville
1455     ... date_demande=01/01/2018
1456     ${di_finalisation_auto_KO} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1457    
1458     &{args_petitionnaire} = Create Dictionary
1459     ... particulier_nom=Potemkine
1460     ... particulier_prenom=Vladimir
1461     ... om_collectivite=Baskerville
1462     &{args_demande} = Create Dictionary
1463     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1464     ... demande_type=Dépôt Initial
1465     ... om_collectivite=Baskerville
1466     ... date_demande=01/01/2018
1467     ${di_finalisation_sans_LT} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1468    
1469     &{args_petitionnaire} = Create Dictionary
1470     ... particulier_nom=Polikov
1471     ... particulier_prenom=Dimitri
1472     ... om_collectivite=Baskerville
1473     &{args_demande} = Create Dictionary
1474     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1475     ... demande_type=Dépôt Initial
1476     ... om_collectivite=Baskerville
1477     ... date_demande=01/01/2018
1478     ${di_finalisation_auto_OK} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1479    
1480    
1481     #Test avec finaliser_automatiquement à false on devrait voir s'afficher dans l'onglet
1482     # 'Instruction' la commande 'Finaliser le document'
1483     Ajouter une instruction au DI ${di_finalisation_auto_KO} Test finalisation automatique avec LT
1484     Click On Back Button In Subform
1485     Element Should Contain css=div#portlet-actions.ui-widget-content.ui-corner-all.ui-state-default span.om-prev-icon.om-icon-16.finalise Finaliser le document
1486    
1487     #Test avec finaliser_automatiquement à true mais sans Lettre Type on ne devrait voir
1488     #s'afficher dans l'onglet
1489     # ni la commande 'Finaliser le document'
1490     # ni la commande 'Reprendre la rédaction du document'
1491     Ajouter une instruction au DI ${di_finalisation_sans_LT} Test finalisation automatique sans LT
1492     Should Not Contain css=div.formEntete.ui-corner-all css=span.om-prev-icon.om-icon-16.finalise
1493     Should Not Contain css=div.formEntete.ui-corner-all css=span.om-prev-icon.om-icon-16.definalise
1494    
1495     #Evenement avec LT : finaliser automatiquement passe de false à true
1496     &{args_evenement} = Create Dictionary
1497     ... libelle=Test finalisation automatique avec LT
1498     ... finaliser_automatiquement=true
1499    
1500     Modifier l'événement ${args_evenement}
1501    
1502     #Test avec finaliser_automatiquement à true on devrait voir s'afficher dans l'onglet
1503     # 'Instruction' la commande 'Finaliser le document'
1504     Ajouter une instruction au DI ${di_finalisation_auto_OK} Test finalisation automatique avec LT
1505     Element Should Contain css=div#portlet-actions.ui-widget-content.ui-corner-all.ui-state-default span.om-prev-icon.om-icon-16.definalise Reprendre la rédaction du document
1506    
1507     Marqueur de dépôt électronique et de parcelle temporaire
1508     [Documentation] L'objet de ce 'Test Case' est de vérifier le bon fonctionnement
1509     ... des indicateurs de dépôt électronique et de présence de parcelle temporaire
1510     ... sur un DI.
1511    
1512     Depuis la page d'accueil admin admin
1513    
1514     # On ajoute le DI sur lequel la vérification sera effectuée
1515     &{args_petitionnaire} = Create Dictionary
1516     ... particulier_nom=Doisneau
1517     ... particulier_prenom=Robert
1518     ... om_collectivite=MARSEILLE
1519     &{args_demande} = Create Dictionary
1520     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1521     ... demande_type=Dépôt Initial
1522     ... om_collectivite=MARSEILLE
1523     ... depot_electronique=true
1524     ... parcelle_temporaire=true
1525     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1526    
1527     # On vérifie que le DI nouvellement créé contient bien les indicateurs positifs
1528     Depuis le contexte du dossier d'instruction ${di}
1529     # Depot electronique
1530     Wait Until Element Is Visible dossier_petitionnaire
1531     Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16
1532     # Parcelle temporaire
1533     Open Fieldset dossier_instruction localisation
1534     Wait Until Element Is Visible parcelle_temporaire
1535     ${parcelle_temporaire} = Get Text parcelle_temporaire
1536     Should Not Be Empty ${parcelle_temporaire}
1537    
1538     # On vérifie que l'indicateur de parcelle temporaire est à Oui
1539     Should Be Equal ${parcelle_temporaire} Oui
1540    
1541     Vérification du rechargement de l'onglet DI
1542    
1543     [Documentation] L'objet de ce 'Test Case' est de vérifier le bon fonctionnement
1544     ... du rechargement de l'onglet DI lorsqu'on clique dessus à partir d'un autre
1545     ... onglet et que tous les paramètres de recherche sont maintenus.
1546    
1547     # ajoute le DI sur lequel la vérification sera effectuée
1548     &{args_petitionnaire} = Create Dictionary
1549     ... particulier_nom=Neige
1550     ... particulier_prenom=Jean
1551     ... om_collectivite=MARSEILLE
1552     &{args_demande} = Create Dictionary
1553     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1554     ... demande_type=Dépôt Initial
1555     ... om_collectivite=MARSEILLE
1556     Depuis la page d'accueil admin admin
1557     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1558     ${di_sans_espace} = Sans Espace ${di}
1559    
1560     # recherche sur le dossier
1561     Depuis la page d'accueil instr instr
1562     Go To Submenu In Menu instruction dossier_instruction_recherche
1563     Input Text css=input#dossier ${di_sans_espace}
1564     Input Text css=input#particulier Neige
1565     Click On Search Button
1566    
1567     # sélectionne le dossier
1568     Click Element Until No More Element xpath=//a[normalize-space(text()) = '${di}']
1569    
1570     # vérifie que son état est 'delai de notification envoye'
1571     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=span#etat delai de notification envoye
1572    
1573     # passe sur l'onglet 'Instruction'
1574     Click Element Until New Element css=a#instruction css=div#sousform-instruction
1575    
1576     # affiche le formulaire d'ajout d'instruction
1577     Click Element Until No More Element css=a#action-soustab-instruction-corner-ajouter
1578    
1579     # saisi l'instruction
1580     Saisir instruction accepter un dossier sans réserve
1581     Click On Submit Button In Subform Until Message Vos modifications ont bien été enregistrées.
1582     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
1583    
1584     # passe sur l'onglet 'DI'
1585     Click Element Until New Element css=a#main css=div#form-content
1586    
1587     # vérifie que son état est 'dossier accepter'
1588     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=span#etat dossier accepter
1589    
1590     # clique sur le bouton de retour
1591     Click Element Until No More Element css=div.formControls-top a.retour
1592    
1593     # vérifie que le résultat ne contient que le dossier
1594     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
1595     ... Element Should Be Visible xpath=//table[contains(@class, "tab-tab")]/tbody/tr/td[contains(concat(" ", normalize-space(@class), " "), " col-3 ")]/a[normalize-space(text()) = "${di}"]
1596     Element Should Not Be Visible xpath=//table[contains(@class, "tab-tab")]/tbody/tr/td[contains(concat(" ", normalize-space(@class), " "), " col-3 ")]/a[normalize-space(text()) != "${di}"]
1597    
1598     Affichage des dates sur l'instruction
1599    
1600     [Documentation] Test l'affichage des dates d'une instruction dans le cas où
1601     ... l'option d'affichage de sdates en lecture seule est active et dans le cas
1602     ... où il n'y a pas de lettretype associé à l'événement
1603    
1604     # Jeu de données
1605     Depuis la page d'accueil admin admin
1606     @{etat_source} = Create List delai de notification envoye
1607     @{type_di} = Create List PCI - P - Initial
1608     # Evenement sans lettretype
1609     &{args} = Create Dictionary
1610     ... libelle=evenement_sans_lettretype
1611     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1612     ... dossier_instruction_type=${type_di}
1613     Ajouter l'événement depuis le menu ${args}
1614     # Evenement avec lettretype
1615     &{args} = Create Dictionary
1616     ... libelle=evenement_avec_lettretype
1617     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1618     ... dossier_instruction_type=${type_di}
1619     ... lettretype=arrete ARRETE
1620     Ajouter l'événement depuis le menu ${args}
1621    
1622     # DI
1623     &{args_petitionnaire} = Create Dictionary
1624     ... particulier_nom=Boileau
1625     ... particulier_prenom=Aubrette
1626     ... om_collectivite=MARSEILLE
1627     &{args_demande} = Create Dictionary
1628     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1629     ... demande_type=Dépôt Initial
1630     ... om_collectivite=MARSEILLE
1631     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1632    
1633     # Ajout d'une instruction avec un évenement sans lettretype
1634     ${instr_sans_lettretype} = Ajouter une instruction au DI ${di} evenement_sans_lettretype
1635     Page Should Not Contain Element css=#fieldset-sousform-instruction-dates
1636    
1637     # Ajout d'une instruction avec un évenement avec lettretype
1638     ${instr_avec_lettretype} = Ajouter une instruction au DI ${di} evenement_avec_lettretype
1639     Click On Submit Button In Subform
1640     Page Should Contain Element css=#fieldset-sousform-instruction-dates
1641    
1642     # Activation de l'option passant la date de l'événement en lecture seule
1643     &{param_values} = Create Dictionary
1644     ... libelle=option_date_evenement_instruction_lecture_seule
1645     ... valeur=true
1646     ... om_collectivite=MARSEILLE
1647     Ajouter le paramètre depuis le menu (surcharge) ${param_values}
1648    
1649     # Accès au formulaire d'ajout d'une instruction et vérification que la date est
1650     # visible mais non modifiable
1651     Depuis l'onglet instruction du dossier d'instruction ${di}
1652     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter
1653     Page Should Contain Element css=div.field-type-datestatic date_evenement
1654    
1655     # Accès au formulaire de modification d'une instruction et vérification que la date est
1656     # visible mais non modifiable
1657     Depuis l'instruction du dossier d'instruction ${di} ${instr_avec_lettretype}
1658     Click On SubForm Portlet Action instruction modifier
1659     Page Should Contain Element css=div.field-type-datestatic date_evenement
1660    
1661     #Supprime le paramètre de saisie du nom des dossiers
1662     &{param_values} = Create Dictionary
1663     ... selection_col=libellé
1664     ... search_value=option_date_evenement_instruction_lecture_seule
1665     ... click_value=option_date_evenement_instruction_lecture_seule
1666     Supprimer le paramètre (surcharge) ${param_values}
1667    
1668    
1669     Historisation des rapports d'instruction
1670    
1671     [Documentation] Vérifie que le tableau de l'historique des rapports d'instruction s'affiche
1672     ... et fonctionne correctement. Vérifie également qu'un rapport d'instruction un fois
1673     ... finalisé n'est plus ni modifiable, ni supprimable. Pour finir valide l'affichage
1674     ... des rapports d'instruction depuis le sous onglet Pièce(s) & Document(s) de l'onglet
1675     ... Pièce(s).
1676    
1677     # Commencer par donner les droits aux instructeurs pour visualiser l'historique des rapports
1678     Depuis la page d'accueil admin admin
1679     Ajouter le droit depuis le menu storage INSTRUCTEUR
1680     Ajouter le droit depuis le menu rapport_instruction_supprimer INSTRUCTEUR
1681    
1682     # Création d'un instructeur et d'un dossier
1683     Ajouter la collectivité depuis le menu K7 mono
1684     Ajouter la direction depuis le menu K7 K7 null Chef K7 null null K7
1685     Ajouter la division depuis le menu SB42 subdivision SB7 null
1686     ... Chef K7 null null K7
1687    
1688     Ajouter l'utilisateur Cheney DeGrasse [email protected] cdegrasse cdegrasse INSTRUCTEUR K7
1689    
1690     Ajouter l'instructeur depuis le menu Cheney DeGrasse subdivision SB7 instructeur Cheney DeGrasse
1691     &{args_affectation} = Create Dictionary
1692     ... instructeur=Cheney DeGrasse (SB42)
1693     ... om_collectivite=K7
1694     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1695     Ajouter l'affectation depuis le menu ${args_affectation}
1696    
1697     &{args_petitionnaire} = Create Dictionary
1698     ... particulier_nom=Bradamate
1699     ... particulier_prenom=Davignon
1700     ... om_collectivite=K7
1701     &{args_demande} = Create Dictionary
1702     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1703     ... demande_type=Dépôt Initial
1704     ... om_collectivite=K7
1705     ... depot_electronique=true
1706     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1707    
1708     # Test du rapport d'instruction en tant qu'instructeur
1709     Depuis la page d'accueil cdegrasse cdegrasse
1710     &{args_ri} = Create Dictionary
1711     ... description_projet_om_html=Description du projet v1
1712     Ajouter et finaliser le rapport d'instruction ${di} ${args_ri}
1713    
1714     # Le tableau d'historique doit être visible et vide
1715     # Les actions modifier et supprimer ne doivent pas être dans le portlet
1716     Depuis le contexte du rapport d'instruction ${di}
1717     Portlet Action Should Not Be In SubForm rapport_instruction supprimer
1718     Portlet Action Should Not Be In SubForm rapport_instruction modifier
1719     Element Should Contain css=#sousform-storage-rapport_instruction Aucun enregistrement.
1720    
1721     # Reprise de l'édition, la première version du rapport doit apparaître dans le tableau
1722     Click On SubForm Portlet Action rapport_instruction definalise
1723     Wait Until Page Contains La définalisation du document s'est effectuée avec succès.
1724     Element Should Contain css=#sousform-storage-rapport_instruction tbody tr:nth-child(1) td.lastcol 1
1725     # La nouvelle édition est modifiable et supprimable
1726     Portlet Action Should Be In SubForm rapport_instruction supprimer
1727     Portlet Action Should Be In SubForm rapport_instruction modifier
1728    
1729     # Modification du rapport et finalisation
1730     &{args_ri} = Create Dictionary
1731     ... description_projet_om_html=Description du projet v2
1732     Modifier le rapport d'instruction ${di} ${args_ri}
1733     Depuis le contexte du rapport d'instruction ${di}
1734     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise
1735     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La finalisation du document s'est effectuée avec succès.
1736     Portlet Action Should Not Be In SubForm rapport_instruction supprimer
1737     Portlet Action Should Not Be In SubForm rapport_instruction modifier
1738     # Seul le premier rapport doit être visible dans le tableau
1739     Element Should Contain css=#sousform-storage-rapport_instruction tbody tr:nth-child(1) td.lastcol 1
1740     Page Should Not Contain Element css=#sousform-storage-rapport_instruction tbody tr:nth-child(2)
1741    
1742     # Test de la consultation d'un rapport historisé
1743     Click Element Until New Element
1744     ... css=a[id^=action-soustab-storage-left-consulter]
1745     ... css=div#sousform-storage div#uid
1746     Element Should Contain css=div#sousform-storage div#uid rapport_instruction_1.pdf
1747     # Test du lien de retour
1748     Click Element Until New Element
1749     ... css=a[id^=sousform-action-storage-back]
1750     ... css=div#sousform-storage div.pagination-nb
1751     # Test de l'action de téléchargement
1752     Click Link css=a[id^=action-soustab-storage-left-telecharger]
1753     Select Window NEW
1754     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Description du projet v1
1755    
1756     # Suppression des droits
1757     Depuis la page d'accueil admin admin
1758     Supprimer le droit depuis le contexte du profil storage INSTRUCTEUR
1759     Supprimer le droit depuis le contexte du profil rapport_instruction_supprimer INSTRUCTEUR
1760    
1761     Sélection des contraintes à conserver
1762     [Documentation] Le but de ce test est de vérifier que la sélection des contraintes
1763     ... à conserver fonctionner correctement et que les contraintes non sélectionnées
1764     ... sont bien supprimées lorsque l'on clique sur le bouton "Conserver les contraintes sélectionnées"
1765    
1766     Depuis la page d'accueil admin admin
1767     # Création d'un nouveau dossier
1768     &{args_petitionnaire} = Create Dictionary
1769     ... particulier_nom=Alphonse
1770     ... particulier_prenom=Monjeau
1771     ... om_collectivite=MARSEILLE
1772     &{args_demande} = Create Dictionary
1773     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1774     ... demande_type=Dépôt Initial
1775     ... om_collectivite=MARSEILLE
1776     ... depot_electronique=true
1777     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1778    
1779     # Ajout de 3 contraintes de groupe et sous-groupe différent
1780     ${id_contrainte1} = Ajouter la contrainte depuis le menu Contrainte TNR Conserve 1 PLU MARSEILLE TNR Groupe 1 TNR sousgroupe 1 1ère contrainte instr
1781     ${id_contrainte2} = Ajouter la contrainte depuis le menu Contrainte TNR Non Conserve 2 PLU MARSEILLE TNR Groupe 1 TNR sousgroupe 2 2ème contrainte instr
1782     ${id_contrainte3} = Ajouter la contrainte depuis le menu Contrainte TNR Non Conserve 3 PLU MARSEILLE TNR Groupe 2 TNR sousgroupe 3 3ème contrainte instr
1783    
1784     @{contraintes_a_selectionner} = Create List ${id_contrainte_1} ${id_contrainte_2} ${id_contrainte3}
1785     Ajouter des contraintes depuis l'onglet du dossier d'instruction ${di} ${contraintes_a_selectionner}
1786     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR Conserve 1
1787     Page Should Contain TNR Non Conserve 2
1788     Page Should Contain TNR Non Conserve 3
1789    
1790     # Utilisation du bouton de suppression des contraintes non sélectionnées
1791    
1792     # Clique sur l'action de sélection et vérification que toutes les contraintes sont cochées
1793     Select Checkbox css=#checkbox_select_all_none
1794     Checkbox Should Be Selected css=table[id="sousgroupe_tnr sousgroupe 1"] input.checkbox-contrainte_conserve
1795     Checkbox Should Be Selected css=table[id="sousgroupe_tnr sousgroupe 2"] input.checkbox-contrainte_conserve
1796     Checkbox Should Be Selected css=table[id="sousgroupe_tnr sousgroupe 3"] input.checkbox-contrainte_conserve
1797    
1798     # Utilisation de l'action de conservation des actions après avoir sélectionné toutes les lignes
1799     Click Element css=input[name=supprimer_contraintes_non_selectionnees]
1800     Wait Until Element Contains css=#sousform-dossier_contrainte #sousform-message Aucune contrainte supprimée
1801     La page ne doit pas contenir d'erreur
1802     Page Should Not Contain Element css=#sousform-dossier_contrainte #sousform-message .ui-state-error
1803    
1804     # Sélection des lignes à conserver
1805     Unselect Checkbox css=#checkbox_select_all_none
1806     Checkbox Should Not Be Selected css=table[id="sousgroupe_tnr sousgroupe 1"] input.checkbox-contrainte_conserve
1807     Checkbox Should Not Be Selected css=table[id="sousgroupe_tnr sousgroupe 2"] input.checkbox-contrainte_conserve
1808     Checkbox Should Not Be Selected css=table[id="sousgroupe_tnr sousgroupe 3"] input.checkbox-contrainte_conserve
1809    
1810     # Vérification de la sélection par groupe
1811     Select Checkbox css=#checkbox_select_all_groupe_tnr_groupe_1
1812     Checkbox Should Be Selected css=table[id="sousgroupe_tnr sousgroupe 1"] input.checkbox-contrainte_conserve
1813     Checkbox Should Be Selected css=table[id="sousgroupe_tnr sousgroupe 2"] input.checkbox-contrainte_conserve
1814     Checkbox Should Not Be Selected css=table[id="sousgroupe_tnr sousgroupe 3"] input.checkbox-contrainte_conserve
1815    
1816     Unselect Checkbox css=table[id="sousgroupe_tnr sousgroupe 2"] .checkbox-contrainte_conserve
1817     # Utilisation du bouton de suppression des contraintes non sélectionnées
1818     Click Element css=input[name=supprimer_contraintes_non_selectionnees]
1819    
1820     # Vérification de la liste des contraintes supprimées dans le message de validation
1821     Wait Until Element Contains css=#sousform-dossier_contrainte #sousform-message Contrainte TNR Non Conserve 2
1822     Element Should Contain css=#sousform-dossier_contrainte #sousform-message Contrainte TNR Non Conserve 3
1823     Element Should Not Contain css=#sousform-dossier_contrainte #sousform-message Contrainte TNR Conserve 1
1824    
1825     # Vérification que les éléments supprimés ne sont plus présent dans le tableau
1826     Page Should Not Contain Element css=table[id="sousgroupe_tnr sousgroupe 3"]
1827     Page Should Not Contain Element css=table[id="sousgroupe_tnr sousgroupe 2"]
1828     Page Should Contain Element css=table[id="sousgroupe_tnr sousgroupe 1"]
1829    
1830     # Vérification que si l'utilisateur n'a pas le droit de supprimer des contraintes
1831     # les checkbox et les actions ne sont pas visible
1832     Depuis la page d'accueil assist assist
1833     Depuis l'onglet contrainte(s) du dossier d'instruction ${di}
1834     Page Should Not Contain Element css=input[name=supprimer_contraintes_non_selectionnees]
1835     Page Should Not Contain Element css=#checkbox_select_all_none
1836     Page Should Not Contain Element css=input.checkbox-contrainte_conserve
1837     Page Should Not Contain Element css=div#sousform-dossier_contrainte span.delete-16
1838    
1839     Finalisation instruction avec signataire obligatoire
1840     [Documentation] Le but de ce test est de vérifier que lorsque l'option
1841     ... signataire obligatoire est activé pour un événement, si l'instruction
1842     ... associé a cet événement n'a pas de signataire alors elle ne peut
1843     ... pas être finalisé
1844    
1845     Depuis la page d'accueil admin admin
1846    
1847     # Paramétrage de l'événement avec finalisation obligatoire
1848     &{args_lettretype} = Create Dictionary
1849     ... id=TEST_SIGNATAIRE_OBLIGATOIRE
1850     ... libelle=Test
1851     ... sql=Aucune REQUÊTE
1852     ... titre=&idx, &destinataire, aujourdhui&aujourdhui, datecourrier&datecourrier, &departement
1853     ... corps=Ceci est un document
1854     ... actif=true
1855     ... collectivite=agglo
1856     Ajouter la lettre-type depuis le menu &{args_lettretype}
1857    
1858     @{etat_source} = Create List delai de notification envoye
1859     @{type_di} = Create List PCI - P - Initial
1860     # Évenement avec signataire obligatoire
1861     &{args_evenement1} = Create Dictionary
1862     ... libelle=TEST_OPTION_SIGNATAIRE_OBLIGATOIRE
1863     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1864     ... dossier_instruction_type=${type_di}
1865     ... lettretype=TEST_SIGNATAIRE_OBLIGATOIRE Test
1866     ... signataire_obligatoire=true
1867     Ajouter l'événement depuis le menu ${args_evenement1}
1868     # Évenement sans signataire obligatoire
1869     &{args_evenement1} = Create Dictionary
1870     ... libelle=TEST_OPTION_SIGNATAIRE_OBLIGATOIRE_INACTIVE
1871     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
1872     ... dossier_instruction_type=${type_di}
1873     ... lettretype=TEST_SIGNATAIRE_OBLIGATOIRE Test
1874     Ajouter l'événement depuis le menu ${args_evenement1}
1875    
1876     # Création d'un nouveau dossier
1877     &{args_petitionnaire} = Create Dictionary
1878     ... particulier_nom=Neil
1879     ... particulier_prenom=Campbell
1880     ... om_collectivite=MARSEILLE
1881     &{args_demande} = Create Dictionary
1882     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1883     ... demande_type=Dépôt Initial
1884     ... om_collectivite=MARSEILLE
1885     ... depot_electronique=true
1886     ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
1887    
1888     # Ajout d'une instruction sans signataire associé
1889     Ajouter une instruction au DI et la finaliser ${di} TEST_OPTION_SIGNATAIRE_OBLIGATOIRE false null null choisir signataire
1890     Error Message Should Be Le document ne peut pas être finalisé car aucun signataire n'a été sélectionné.
1891    
1892     # Modification pour ajouter un signataire -> l'instruction doit être finalisable
1893     Depuis l'instruction du dossier d'instruction ${di} TEST_OPTION_SIGNATAIRE_OBLIGATOIRE
1894     # TODO : ajouter un keywords de modification d'une instruction et factoriser le code des tests avec
1895     Click Element Until New Element css=#action-sousform-instruction-modifier css=#signataire_arrete
1896     Select From List By Label css=#signataire_arrete Albert Dupont
1897     Click On Submit Button In Subform
1898     Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées.
1899     Click On SubForm Portlet Action instruction finaliser
1900     Valid Message Should Be La finalisation du document s'est effectuée avec succès.
1901    
1902     # Ajout d'une instruction sans signataire obligatoire et sans signataire
1903     Ajouter une instruction au DI et la finaliser ${di} TEST_OPTION_SIGNATAIRE_OBLIGATOIRE_INACTIVE false null null choisir signataire
1904     Valid Message Should Be La finalisation du document s'est effectuée avec succès.
1905    
1906     TNR Vérification du bon fonctionnement de l'export du listing
1907    
1908     Depuis la page d'accueil admin admin
1909     Go To Submenu In Menu instruction dossier_instruction_recherche
1910     ${link_export_listing}= Get Element Attribute css=.tab-export a href
1911     ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link_export_listing} ${EXECDIR}${/}binary_files${/}
1912     La page ne doit pas contenir d'erreur
1913    
1914     # Récupération du contenu du fichier pour vérifier les champs affiché.
1915     # Vérifie que les champs "Id Plat'AU du service consultant" et
1916     # "libellé du service consultant" ne sont pas présent
1917     ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name}
1918     ${content_file} = Get File ${full_path_to_file}
1919     ${header_csv_file} = Set Variable dossier;pétitionnaire;correspondant;"architecte (nom)";"architecte (cabinet)";localisation;nature;"nombre de logements créés";"surface créée";"famille de travaux";"nature de travaux";"description du projet";"date de dépôt";"date de complétude";"date limite";instructeur;division;état;enjeu;collectivité;"dossier plat'au";"consultation plat'au";"pièce(s) plat'au";"autres objets plat'au"
1920     Should Contain ${content_file} ${header_csv_file}
1921    
1922     # Activation du mode service consulté et vérification que les champs "Id Plat'AU du service consultant"
1923     # et "libellé du service consultant" ne sont pas présent
1924     Activer le mode service consulté
1925     Go To Submenu In Menu instruction dossier_instruction_recherche
1926     ${link_export_listing}= Get Element Attribute css=.tab-export a href
1927     ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link_export_listing} ${EXECDIR}${/}binary_files${/}
1928     La page ne doit pas contenir d'erreur
1929    
1930     # Récupération du contenu du fichier pour vérifier les champs affiché.
1931     # Vérifie que les champs "Id Plat'AU du service consultant" et
1932     # "libellé du service consultant" sont présent
1933     ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name}
1934     ${content_file} = Get File ${full_path_to_file}
1935     ${header_csv_file} = Set Variable dossier;pétitionnaire;correspondant;"architecte (nom)";"architecte (cabinet)";localisation;nature;"nombre de logements créés";"surface créée";"famille de travaux";"nature de travaux";"description du projet";"date de dépôt";"date de complétude";"date limite";instructeur;division;état;enjeu;collectivité;"dossier plat'au";"consultation plat'au";"pièce(s) plat'au";"autres objets plat'au";"service consultant : identifiant";"service consultant : libellé"
1936     Should Contain ${content_file} ${header_csv_file}
1937    
1938     # Désactivation du mode service consulté
1939     Désactiver le mode service consulté
1940    
1941    
1942     Nom de l'utilisateur qui a créé/finalisé l'instruction dans le listing des instructions du dossier
1943    
1944     Depuis la page d'accueil guichet guichet
1945    
1946     &{args_petitionnaire} = Create Dictionary
1947     ... particulier_nom=Tilco
1948     ... particulier_prenom=Balu
1949    
1950     &{args_demande} = Create Dictionary
1951     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1952     ... demande_type=Dépôt Initial
1953    
1954     ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire}
1955    
1956     ${libelle_di_spaceless} = Sans espace ${libelle_di}
1957    
1958     Depuis la page d'accueil instr instr
1959    
1960     Ajouter une instruction au DI ${libelle_di} rejet tacite
1961    
1962     #Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#formulaire table.tab-tab tr.odd td.col-5 guichet (Guichet Unique)
1963     ${selector}= Set Variable //div[@id = 'sousform-instruction']/descendant::table[contains(@class, 'tab-tab')]/descendant::td[contains(@class, 'col-3')]/a[text()[contains(., "delai de notification envoye")]]/ancestor::tr/td[contains(@class, 'col-5')]/a
1964     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain xpath=${selector} guichet (Guichet Unique)
1965     #Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#formulaire table.tab-tab tr.even td.col-5 instr (Instructeur)
1966     ${selector}= Set Variable //div[@id = 'sousform-instruction']/descendant::table[contains(@class, 'tab-tab')]/descendant::td[contains(@class, 'col-3')]/a[text()[contains(., "dossier rejeter manque de pieces")]]/ancestor::tr/td[contains(@class, 'col-5')]/a
1967     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain xpath=${selector} instr (Instructeur)
1968    
1969     ${libelle_di} = Set Variable AT 013055 12 00001P0
1970     Ajouter une instruction au DI ${libelle_di} rejet tacite
1971    
1972     #Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#formulaire table.tab-tab tr.odd td.col-5 ${EMPTY}
1973     ${selector}= Set Variable //div[@id = 'sousform-instruction']/descendant::table[contains(@class, 'tab-tab')]/descendant::td[contains(@class, 'col-3')]/a[text()[contains(., "delai de notification envoye")]]/ancestor::tr/td[contains(@class, 'col-5')]/a
1974     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain xpath=${selector} ${EMPTY}
1975     #Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#formulaire table.tab-tab tr.odd td.col-5 instr (Instructeur)
1976     ${selector}= Set Variable //div[@id = 'sousform-instruction']/descendant::table[contains(@class, 'tab-tab')]/descendant::td[contains(@class, 'col-3')]/a[text()[contains(., "dossier rejeter manque de pieces")]]/ancestor::tr/td[contains(@class, 'col-5')]/a
1977     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain xpath=${selector} instr (Instructeur)
1978    
1979     # Supprime l'instruction de rejet tacite car empêche les tests suivants sur
1980     # le dossier AT 013055 12 00001P0 de fonctionner
1981     Depuis la page d'accueil admin admin
1982     Supprimer l'instruction ${libelle_di} rejet tacite
1983    
1984     Modification d'un document généré par une instruction
1985     [Documentation] Cette action permet d'ajouter manuellement le document disponible via le
1986     ... lien du portlet "Édition".
1987     ... Cette action n'est disponible que si l'instruction est finalisé, si une date d'envoi pour signature
1988     ... existe, et que la date de retour signature n'est pas renseignée.
1989    
1990     # Jeu de données
1991     #
1992     &{args_petitionnaire_modif_doc} = Create Dictionary
1993     ... qualite=particulier
1994     ... particulier_nom=TEST_modif
1995     ... particulier_prenom=TEST_doc
1996     ... om_collectivite=MARSEILLE
1997    
1998     &{args_demande_modif_doc} = Create Dictionary
1999     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2000     ... demande_type=Dépôt Initial
2001     ... om_collectivite=MARSEILLE
2002    
2003     # On crée un nouveau dossier d'instruction
2004     ${di_modif_doc} = Ajouter la demande par WS ${args_demande_modif_doc} ${args_petitionnaire_modif_doc}
2005    
2006     # On entre dans le dossier d'instruction en tant qu'admin afin d'accéder au journal d'instruction
2007     Depuis la page d'accueil admin admin
2008     Depuis l'onglet instruction du dossier d'instruction ${di_modif_doc}
2009     Click On Link Notification du delai legal maison individuelle
2010    
2011     # On vérifie le contenu PDF de l'édition généré automatiquement par l'instruction
2012     Click On SubForm Portlet Action instruction edition new_window
2013     Open PDF ${OM_PDF_TITLE}
2014     # On verifie que le document comporte le type de dossier, et le nom et prénom du particulier
2015     # afin de s'assurer que le PDF est bien le document généré par l'instruction
2016     PDF Page Number Should Contain 1 Permis de construire pour une maison individuelle et / ou ses annexes
2017     PDF Page Number Should Contain 1 TEST_modif
2018     PDF Page Number Should Contain 1 TEST_doc
2019     # On ferme le PDF
2020     Close PDF
2021     Sleep 1
2022    
2023     Depuis l'onglet instruction du dossier d'instruction ${di_modif_doc}
2024     Click On Link Notification du delai legal maison individuelle
2025     # On accède à la modale de modification du document
2026     Click On SubForm Portlet Action instruction modale_selection_document_signe modale
2027     # On remplit le formulaire de modification du document généré par l'instruction
2028     # Ajout du nouveau document
2029     Add File document_signe testImportManuel.pdf
2030     # Ajout de la date de retour signature
2031     ${date_retour_sign} = Convert Date ${DATE_FORMAT_YYYY-MM-DD} result_format=%d/%m/%Y
2032     Input Datepicker modale_date_retour_signature ${date_retour_sign}
2033     Click On Submit Button In Subform
2034     #On ferme la modale
2035     Click Element Until No More Element css=.ui-dialog-titlebar-close
2036    
2037     #On vérifie que la date de retour signature s'est bien mise à jour
2038     Wait Until Element Contains css=#date_retour_signature ${date_retour_sign}
2039     # On vérifie le contenu du PDF 'Édition' pour vérifier qu'il est bien mis à jour avec le nouveau document.
2040     Click On SubForm Portlet Action instruction edition new_window
2041     Open PDF ${OM_PDF_TITLE}
2042     PDF Page Number Should Contain 1 TEST IMPORT MANUEL 1

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26