/[openfoncier]/trunk/tests/300_002_task.robot
ViewVC logotype

Annotation of /trunk/tests/300_002_task.robot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18876 - (hide annotations)
Tue Oct 8 08:41:06 2024 UTC (3 months, 3 weeks ago) by softime
File size: 143251 byte(s)
merge: fusion de la branche d'intégration 6.8.0-develop dans le trunk

1 ejpritchard 18765 *** Settings ***
2     Documentation Test de task.
3    
4     # On inclut les mots-clefs
5     Resource resources/resources.robot
6     # On ouvre/ferme le navigateur au début/à la fin du Test Suite.
7     Suite Setup For Suite Setup
8     Suite Teardown For Suite Teardown
9    
10    
11     *** Variables ***
12     ${alternate_filestorage} filestorage_plop
13    
14     *** Test Cases ***
15     Activation de l'option 'option_notification_piece_numerisee'
16     [Documentation] Il est nécessaire de faire cette manipulation pour éviter le
17     ... FAIL: Element with locator 'dossier_message_id' not found.
18    
19     &{om_param} = Create Dictionary
20     ... libelle=option_notification_piece_numerisee
21     ... valeur=true
22     ... om_collectivite=agglo
23     Gerer le paramètre par WS ${om_param}
24    
25     Depuis la page d'accueil admin admin
26     Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU PCI
27     Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP
28    
29    
30     Ajout d'une tâche de création de DI via WS, puis traitement + Vérification de la date de création et de la date de dernière modification sur le moniteur Plat'AU.
31     [Documentation] Vérifie l'ajout de la tâche via WS et son traitement.
32     ... Vérifie la date de création et la date de dernière modification sur le listing des tasks.
33    
34     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
35     &{param_division} = Create Dictionary
36     ... libelle=option_afficher_division
37     ... valeur=true
38     ... om_collectivite=agglo
39     Gerer le paramètre par WS ${param_division}
40     set Suite Variable ${param_division}
41    
42     # desactiver l'option dossier_commune et la saisie complète des numéros
43     &{param_dossier_commune} = Create Dictionary
44     ... libelle=option_dossier_commune
45     ... valeur=false
46     ... om_collectivite=agglo
47     Gerer le paramètre par WS ${param_dossier_commune}
48     set Suite Variable ${param_dossier_commune}
49     &{param_saisie_complete} = Create Dictionary
50     ... libelle=option_dossier_saisie_numero_complet
51     ... valeur=false
52     ... om_collectivite=agglo
53     Gerer le paramètre par WS ${param_saisie_complete}
54     set Suite Variable ${param_saisie_complete}
55    
56     # définir les paramètres de type de demande
57     &{platau_type_demande_initial} = Create Dictionary
58     ... libelle=platau_type_demande_initial_PCI
59     ... valeur=DI
60     ... om_collectivite=agglo
61     Gerer le paramètre par WS ${platau_type_demande_initial}
62     &{platau_type_demande_initial} = Create Dictionary
63     ... libelle=platau_type_demande_initial_DP
64     ... valeur=DI
65     ... om_collectivite=agglo
66     Gerer le paramètre par WS ${platau_type_demande_initial}
67     &{param_type_demande_modificatif} = Create Dictionary
68     ... libelle=param_type_demande_modificatif_PCI
69     ... valeur=DM
70     ... om_collectivite=agglo
71     Gerer le paramètre par WS ${param_type_demande_modificatif}
72     &{param_type_demande_transfert} = Create Dictionary
73     ... libelle=param_type_demande_transfert_PCI
74     ... valeur=DT
75     ... om_collectivite=agglo
76     Gerer le paramètre par WS ${param_type_demande_transfert}
77    
78     # isole le contexte du test (création d'une collectivité)
79     &{librecom_values} = Create Dictionary
80     ... om_collectivite_libelle=LIBRECOM_WS
81     ... departement=013
82     ... commune=095
83     ... insee=13095
84     ... direction_code=E
85     ... direction_libelle=Direction de LIBRECOM_WS
86     ... direction_chef=Chef
87     ... division_code=E
88     ... division_libelle=Division E
89     ... division_chef=Chef
90     ... guichet_om_utilisateur_nom=Thom Moht
91     ... [email protected]
92     ... guichet_om_utilisateur_login=tmoth
93     ... guichet_om_utilisateur_pwd=tmoth
94     ... instr_om_utilisateur_nom=Qualdi Idlauq
95     ... [email protected]
96     ... instr_om_utilisateur_login=qidlauq
97     ... instr_om_utilisateur_pwd=qidlauq
98     ... code_entite=LBCOM_13
99     ... acteur=LIBRECOM-ACT-013
100     Isolation d'un contexte ${librecom_values}
101     Set Suite Variable ${librecom_values}
102    
103     # Récupère l'identifiant de la collectivité LIBRECOM_WS
104     Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]}
105     ${librecom_ws_id} = Get Text css=#om_collectivite
106    
107     # récupération de l'identifiant de l'instructeur de la collectivité
108     Depuis le contexte de l'instructeur ${librecom_values["instr_om_utilisateur_nom"]}
109     ${librecom_instr_id} = Get Text css=span#instructeur
110    
111     # Récupère le template de payload JSON et le transforme en dictionnaire
112     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
113     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-01
114     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-01
115     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
116     ${json_payload} = Replace String ${json_payload} "om_collectivite": "2" "om_collectivite": "${librecom_ws_id}"
117     ${json_payload} = Replace String ${json_payload} "instructeur": "1" "instructeur": "${librecom_instr_id}"
118    
119     ${payload_dict} = To Json ${json_payload}
120    
121     # sauvegarde le code d'acteur
122     ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]}
123     Set Suite Variable ${acteur_code}
124    
125     # retire le paramètre 'acteur' de la payload JSON
126     Remove From Dictionary ${payload_dict["external_uids"]} acteur
127    
128     # (re)Converti la payload JSON en string
129     ${json_string}= evaluate json.dumps(${payload_dict}) json
130    
131     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
132     ${task_values} = Create Dictionary
133     ... type=create_DI_for_consultation
134     ... json_payload=${json_string}
135     ${task_id} = Ajouter la tâche par WS ${task_values}
136    
137     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
138     ${msg} = Déclencher le traitement des tâches par WS
139    
140     #
141     # Vérification de la date de création et de la date de dernière modification
142     # sur le moniteur Plat'AU.
143     #
144    
145     ${date} = Convert Date ${DATE_FORMAT_YYYY-MM-DD} result_format=%d/%m/%Y
146    
147     # Utilisation de la recherche avancée sur le listing des tâches
148     &{search_task_values} = Create Dictionary
149     ... task=${task_id}
150     ... creation_date_min=${date}
151     ... creation_date_max=${date}
152     Depuis le listing des tasks à partir de la recherche avancée ${search_task_values}
153    
154     # Vérification de l'existence des colonnes de la date de création et de la
155     # date de dernière modification
156     Element Should Contain css=.tab-tab date de création
157     Element Should Contain css=.tab-tab date de dernière modification
158     # Vérification de la valeur recherchée
159     Element Should Contain css=.tab-tab ${task_id}
160    
161     # Utilisation de la recherche avancée sur le listing des tâches
162     # Utilisation de la recherche avancée sur le listing des tâches
163     &{search_task_values} = Create Dictionary
164     ... task=${task_id}
165     ... creation_date_min=21/04/2022
166     ... creation_date_max=21/04/2022
167     Depuis le listing des tasks à partir de la recherche avancée ${search_task_values}
168    
169     # Vérification de la valeur recherchée
170     Element Should Not Contain css=.tab-tab ${task_id}
171    
172     # Utilisation de la recherche avancée sur le listing des tâches
173     &{search_task_values} = Create Dictionary
174     ... task=${task_id}
175     ... last_modification_date_min=${date}
176     ... last_modification_date_max=${date}
177     Depuis le listing des tasks à partir de la recherche avancée ${search_task_values}
178     # Vérification de la valeur recherchée
179     Element Should Contain css=.tab-tab ${task_id}
180    
181     # Utilisation de la recherche avancée sur le listing des tâches
182     &{search_task_values} = Create Dictionary
183     ... task=${task_id}
184     ... last_modification_date_min=21/04/2022
185     ... last_modification_date_max=21/04/2022
186     Depuis le listing des tasks à partir de la recherche avancée ${search_task_values}
187     # Vérification de la valeur recherchée
188     Element Should Not Contain css=.tab-tab ${task_id}
189    
190     # Vérification du bon format du timestamp_log
191     &{search_task_values} = Create Dictionary
192     ... task=${task_id}
193     ... creation_date_min=${date}
194     ... creation_date_max=${date}
195     ... last_modification_date_min=${date}
196     ... last_modification_date_max=${date}
197     Depuis le contexte d'une task à partir de la recherche avancée ${search_task_values}
198     Element Should Contain css=#timestamp_log_jsontotab ${DATE_FORMAT_YYYY-MM-DD}
199     Element Should Contain css=#timestamp_log_jsontotab modification_date
200    
201     # Le libellé du DI créé ne correspondra pas au numéro renseigné
202     # car l'option de saisie complète du numéro de dossier n'est pas activée
203     # Il sera créé avec la séquence, débutant au numéro 1
204     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
205     ... [^ ]{7}$ 00001P0
206     ${da_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
207     ... [^ ]{5}$ 00001
208     # Idem pour les numéros DI et DA
209     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
210     ... [^ ]{7}$ 00001P0
211     ${da_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation"]}
212     ... [^ ]{7}$ 00001P0
213    
214     # Extraction du libellé du DI dans le message
215     ${di_regex} = Catenate .*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
216     ... dossier instruction '${di_lib_expected}' .*$
217     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
218     ${di_matches_len} = Get Length ${di_matches}
219     Should Be True "${di_matches_len}" > "0"
220    
221     # Vérifier que le dossier a bien été ajouté
222     Depuis le contexte du dossier d'instruction ${di_lib_expected}
223     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
224     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
225     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
226     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
227     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
228    
229     # Vérifie que les données techniques ont bien été modifiées
230     Depuis le contexte du dossier d'instruction ${di_lib_expected}
231     Click On Form Portlet Action dossier_instruction donnees_techniques modale
232     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm donnees_techniques modifier
233     Open Fieldset In Subform donnees_techniques description-de-la-demande---du-projet
234     Form Static Value Should Be ope_proj_desc Description test dossier parallele BIS
235    
236     # nouvelle itération mais avec la saisie complète des numéros de dossier
237    
238     # activer la complète des numéros de dossiers
239     Set To Dictionary ${param_saisie_complete} valeur=true
240     Gerer le paramètre par WS ${param_saisie_complete}
241    
242     # modification des externals uids
243     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-02
244     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-02
245    
246     # (re)Converti la payload JSON en string
247     ${json_string}= evaluate json.dumps(${payload_dict}) json
248    
249     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
250     ${task_values} = Create Dictionary
251     ... type=create_DI_for_consultation
252     ... json_payload=${json_string}
253     Ajouter la tâche par WS ${task_values}
254    
255     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
256     ${msg} = Déclencher le traitement des tâches par WS
257    
258     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier, ou presque
259     # le numéro n'est pas 'P0' mais 'P00' (je ne sais pas pourquoi)
260     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
261     ... P0$ P00
262     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
263     # Idem pour les numéros DI et DA
264     ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]}
265     ... P0$ P00
266     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
267    
268     # Extraction du libellé du DI dans le message
269     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
270     ... dossier instruction '${di_lib_expected}' .*$
271     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
272     ${di_matches_len} = Get Length ${di_matches}
273     Should Be True "${di_matches_len}" > "0"
274    
275     # Vérifier que le dossier a bien été ajouté
276     Depuis le contexte du dossier d'instruction ${di_lib_expected}
277     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
278     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
279     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
280     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
281     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
282    
283    
284     # nouvelle itération mais avec l'option commune et le rattachement via un numéro d'acteur
285    
286     # activer l'option dossier_commune
287     Set To Dictionary ${param_dossier_commune} valeur=true
288     Gerer le paramètre par WS ${param_dossier_commune}
289    
290     Depuis la page d'accueil admin admin
291    
292     #-- ajouter manuellement une commune en saisissant une date de validité dans le passé
293     &{oldcom_values} = Create Dictionary
294     ... typecom=COM
295     ... com=45645
296     ... reg=45
297     ... dep=45
298     ... arr=645
299     ... tncc=0
300     ... ncc=LIBRECOM_OLD
301     ... nccenr=LibreCom_old
302     ... libelle=LIBRECOM_OLD
303     ... can=45
304     ... comparent=
305     ... om_validite_debut=01/11/2020
306     Ajouter commune avec dates validité ${oldcom_values}
307     Set Suite Variable ${oldcom_values}
308    
309     # ajouter le paramètre 'acteur' à la collectivité/au service
310     &{param_platau_acteur} = Create Dictionary
311     ... libelle=platau_acteur_service_consulte
312     ... valeur=${librecom_values["acteur"]}
313     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
314     Gerer le paramètre par WS ${param_platau_acteur}
315    
316     # Change le numéro de dossier et le code commune dans la payload JSON
317     ${json_payload} = Replace String ${json_payload} P0 P04
318     ${json_payload} = Replace String ${json_payload}
319     ... ${librecom_values["insee"]} ${oldcom_values["com"]}
320     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
321     ${payload_dict} = To Json ${json_payload}
322    
323     # retire le paramètre 'om_collectivite' de la payload JSON
324     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
325    
326     # modification des externals uids
327     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-03
328     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-03
329    
330     # (re)Converti la payload JSON en string
331     ${json_string}= evaluate json.dumps(${payload_dict}) json
332    
333     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
334     ${task_values} = Create Dictionary
335     ... type=create_DI_for_consultation
336     ... json_payload=${json_string}
337     Ajouter la tâche par WS ${task_values}
338    
339     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
340     ${msg} = Déclencher le traitement des tâches par WS
341    
342     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
343     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
344     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
345     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
346     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
347    
348     # Extraction du libellé du DI dans le message
349     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
350     ... dossier instruction '${di_lib_expected}' .*$
351     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
352     ${di_matches_len} = Get Length ${di_matches}
353     Should Be True "${di_matches_len}" > "0"
354    
355     # En tant qu'instructeur de la collectivité/du service LIBRECOM
356     Depuis la page d'accueil tmoth tmoth
357    
358     # Vérifier que le dossier a bien été ajouté
359     Depuis le contexte du dossier d'instruction ${di_lib_expected}
360     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
361     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
362     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
363     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
364     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
365    
366    
367     # nouvelle itération avec le même DA pour être sûr qu'il est réutilisé avec succès
368     Depuis la page d'accueil admin admin
369    
370     # Change le numéro de dossier et le code commune dans la payload JSON
371     ${json_payload} = Replace String ${json_payload} P04 P03
372     ${payload_dict} = To Json ${json_payload}
373    
374     # retire le paramètre 'om_collectivite' de la payload JSON
375     Remove From Dictionary ${payload_dict["dossier"]} om_collectivite
376    
377     # modification des externals uids
378     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-04
379     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-04
380    
381     # (re)Converti la payload JSON en string
382     ${json_string}= evaluate json.dumps(${payload_dict}) json
383    
384     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
385     ${task_values} = Create Dictionary
386     ... type=create_DI_for_consultation
387     ... json_payload=${json_string}
388     Ajouter la tâche par WS ${task_values}
389    
390     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
391     ${msg} = Déclencher le traitement des tâches par WS
392    
393     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
394     ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]}
395     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
396     ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]}
397     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
398    
399     # Extraction du libellé du DI dans le message
400     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
401     ... dossier instruction '${di_lib_expected}' .*$
402     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
403     ${di_matches_len} = Get Length ${di_matches}
404     Should Be True "${di_matches_len}" > "0"
405    
406     # En tant qu'instructeur de la collectivité/du service LIBRECOM
407     Depuis la page d'accueil tmoth tmoth
408    
409     # Vérifier que le dossier a bien été ajouté
410     Depuis le contexte du dossier d'instruction ${di_lib_expected}
411     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
412     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
413     Depuis le contexte du dossier d'autorisation ${da_lib_expected}
414     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
415     ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected}
416    
417    
418     # nouvelle itération avec l'option des codes entités
419     Depuis la page d'accueil admin admin
420    
421     # active l'option entité pour la collectivité/le service
422     &{param_entite} = Create Dictionary
423     ... libelle=option_om_collectivite_entity
424     ... valeur=true
425     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
426     Gerer le paramètre par WS ${param_entite}
427     Set Suite Variable ${param_entite}
428    
429    
430     # ajoute le paramètre 'code_entite' à la collectivité/le service
431     &{param_code_entite} = Create Dictionary
432     ... libelle=code_entite
433     ... valeur=${librecom_values["code_entite"]}
434     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
435     Gerer le paramètre par WS ${param_code_entite}
436    
437     # modification des externals uids
438     Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-05
439     Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-05
440    
441     # (re)Converti la payload JSON en string
442     ${json_string}= evaluate json.dumps(${payload_dict}) json
443    
444     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
445     ${task_values} = Create Dictionary
446     ... type=create_DI_for_consultation
447     ... json_payload=${json_string}
448     Ajouter la tâche par WS ${task_values}
449    
450     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
451     ${msg} = Déclencher le traitement des tâches par WS
452    
453     # Cette fois-ci aucun changement dans les valeurs du numéro de dossier
454     ${di_lib_expected} = Catenate ${payload_dict["dossier"]["dossier_libelle"]}
455     ... ${librecom_values["code_entite"]}01
456     ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]}
457     ${di_expected} = Catenate ${payload_dict["dossier"]["dossier"]}
458     ... ${librecom_values["code_entite"]}01
459     ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]}
460    
461     # Extraction du libellé du DI dans le message
462     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
463     ... dossier instruction '${di_lib_expected}' .*$
464     ${di_matches} = Get Regexp Matches ${msg} ${di_regex}
465     ${di_matches_len} = Get Length ${di_matches}
466     Should Be True "${di_matches_len}" > "0"
467    
468     # En tant qu'instructeur de la collectivité/du service LIBRECOM
469     Depuis la page d'accueil tmoth tmoth
470    
471     # Vérifier que le dossier a bien été ajouté
472     Depuis le contexte du dossier d'instruction ${di_lib_expected}
473     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
474     ... Element Should Contain css=#dossier_libelle ${di_lib_expected}
475     Depuis le contexte du dossier d'autorisation par la recherche ${da_lib_expected}
476     # l'onglet du DA est vide dans le mode MC, mais le simple fait d'arriver à y accéder
477     # montre qu'il existe
478    
479    
480     Nouvelle itération avec une payload JSON minimale
481    
482     # Ajout du lien pour les suivis de demande
483     &{param_args} = Create Dictionary
484     ... libelle=portal_code_suivi_base_url
485     ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load
486     ... om_collectivite=agglo
487     Gerer le paramètre par WS ${param_args}
488    
489     # Récupère le template de payload JSON et le transforme en dictionnaire
490     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
491    
492     # Remplace certaines valeurs
493     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-06
494     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-06
495     ${json_payload} = Replace String ${json_payload} 00009 00009P0
496     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
497     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
498     # TNR pour vérifier le tronquage des chaînes de caractère sur un caractère accentué
499     ${json_payload} = Replace String ${json_payload} "personne_morale_categorie_juridique": "SA" "personne_morale_categorie_juridique": "SA____________\u00e9_"
500     # Modifie le code de suivi de demande
501     ${json_payload} = Replace String ${json_payload} TESTCODESUIVI CNPHNTFB
502     ${payload_dict} = To Json ${json_payload}
503    
504     # Converti la payload JSON en string
505     ${json_string}= evaluate json.dumps(${payload_dict}) json
506    
507     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
508     ${task_values} = Create Dictionary
509     ... type=create_DI_for_consultation
510     ... json_payload=${json_string}
511     ... category=portal
512     Ajouter la tâche par WS ${task_values}
513    
514     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
515     ${msg} = Déclencher le traitement des tâches par WS
516    
517     # Extraction du libellé du DI dans le message
518     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
519     ... dossier instruction '([^']+)' .*$
520     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
521    
522     # En tant qu'instructeur de la collectivité/du service LIBRECOM
523     Depuis la page d'accueil tmoth tmoth
524    
525     # Vérifier que le dossier a bien été ajouté
526     Depuis le contexte du dossier d'instruction ${di_lib}
527     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
528     ... Element Should Contain css=#dossier_libelle ${di_lib}
529    
530     # Commune
531     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
532     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
533    
534     # Code entité
535     ${num_entite_value} = Get Value css=input#numerotation_entite
536     Should Be Equal ${num_entite_value} ${librecom_values["code_entite"]}
537    
538     # Demandeur principale
539     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
540     ... Form Value Should Contain css=#dossier_petitionnaire Perry Katy
541    
542     # Date demande = date dépôt
543     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
544     ... Element Should Contain css=#date_depot 23/11/2020
545    
546     # Autres demandeurs
547     Open Fieldset dossier_instruction demandeur
548     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
549     ... Element Should Contain css=#liste_demandeur Madame Perry Katy
550     Element Should Contain css=#liste_demandeur Métropole Construction SA Métropole
551     Element Should Contain css=#liste_demandeur Monsieur Bloom Orlando
552    
553     # Dépôt électronique
554     Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16
555    
556     # Code suivi de demande
557     Open All Fieldset Using Javascript dossier_instruction
558     Element Should Contain css=span#lien_iiue_portal CNPHNTFB
559    
560     # Suppression du lien pour les suivis de demande
561     &{param_args} = Create Dictionary
562     ... libelle=portal_code_suivi_base_url
563     ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load
564     ... om_collectivite=agglo
565     Gerer le paramètre par WS ${param_args}
566    
567    
568     # On vérifie qu'un dossier issus du portail ne peut pas être supprimé
569     # On active l'option de suppression
570     &{om_param} = Create Dictionary
571     ... libelle=option_suppression_dossier_instruction
572     ... valeur=true
573     ... om_collectivite=agglo
574     Gerer le paramètre par WS ${om_param}
575    
576     Depuis la page d'accueil admin admin
577     Depuis le contexte du dossier d'instruction ${di_lib}
578    
579     Portlet Action Should Not Be In Form dossier_instruction supprimer
580    
581     # On désactive l'option de suppression
582     &{om_param} = Create Dictionary
583     ... libelle=option_suppression_dossier_instruction
584     ... valeur=false
585     ... om_collectivite=agglo
586     Gerer le paramètre par WS ${om_param}
587    
588     # nouvelle itération avec deux DI non-réglementaires
589     # générant deux DA/DI différents à cause que l'option code entité
590     Depuis la page d'accueil admin admin
591    
592     # # sans l'option de code entité
593     # Set To Dictionary ${param_entite} valeur=false
594     # Ajouter ou modifier le paramètre depuis le menu ${param_entite}
595    
596     # Récupère le template de payload JSON et le transforme en dictionnaire
597     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
598    
599     # Remplace certaines valeurs
600     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-07
601     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-07
602     ${json_payload} = Replace String ${json_payload} 00009 7a9eeP0
603     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
604     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
605     ${payload_dict} = To Json ${json_payload}
606    
607     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
608     ${task_values} = Create Dictionary
609     ... type=create_DI_for_consultation
610     ... json_payload=${json_payload}
611     Ajouter la tâche par WS ${task_values}
612    
613     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
614     ${msg} = Déclencher le traitement des tâches par WS
615    
616     # Extraction du libellé du DI dans le message
617     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
618     ... dossier instruction '([^']+)' .*$
619     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
620     Log ${di_lib}
621    
622     ${di_lib_no_space} = Sans espace ${di_lib}
623     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
624    
625     # En tant qu'instructeur de la collectivité/du service LIBRECOM
626     Depuis la page d'accueil tmoth tmoth
627    
628     # Vérifier que le dossier a bien été ajouté
629     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
630     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
631     ... Element Should Contain css=#dossier_libelle ${di_to_search}
632    
633     # Commune
634     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
635     ... Element Should Contain css=#commune ${oldcom_values["libelle"]}
636    
637     # En tant qu'admin
638     Depuis la page d'accueil admin admin
639    
640     # Remplace certaines valeurs
641     #${json_payload} = Replace String ${json_payload} 000-AAA-07 000-AAA-08
642     ${json_payload} = Replace String ${json_payload} AAA-000-07 AAA-000-08
643    
644     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
645     ${task_values} = Create Dictionary
646     ... type=create_DI_for_consultation
647     ... json_payload=${json_payload}
648     Ajouter la tâche par WS ${task_values}
649    
650     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
651     ${msg} = Déclencher le traitement des tâches par WS
652    
653     # Extraction du libellé du DI dans le message
654     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
655     ... dossier instruction '([^']+)' .*$
656     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
657     Log ${di_lib}
658    
659     ${di_lib_no_space} = Sans espace ${di_lib}
660     ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]}
661    
662     # En tant qu'instructeur de la collectivité/du service LIBRECOM
663     Depuis la page d'accueil tmoth tmoth
664    
665     # Vérifier que le dossier a bien été ajouté
666     Depuis le contexte du dossier d'instruction par recherche ${di_to_search}
667     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
668     ... Element Should Contain css=#dossier_libelle ${di_to_search}
669    
670    
671     # nouvelle itération avec deux DI non-réglementaires sans l'option code entité
672    
673     # sans l'option de code entité
674     Set To Dictionary ${param_entite} valeur=false
675     Gerer le paramètre par WS ${param_entite}
676    
677     # Récupère le template de payload JSON et le transforme en dictionnaire
678     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt
679    
680     # Remplace certaines valeurs
681     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-09
682     ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-09
683     ${json_payload} = Replace String ${json_payload} 00009 4d67qsP0
684     ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]}
685     ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]}
686     ${payload_dict} = To Json ${json_payload}
687    
688     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
689     ${task_values} = Create Dictionary
690     ... type=create_DI_for_consultation
691     ... json_payload=${json_payload}
692     Ajouter la tâche par WS ${task_values}
693    
694     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
695     ${msg} = Déclencher le traitement des tâches par WS
696    
697     # Extraction du libellé du DI dans le message
698     ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} :
699     ... dossier instruction '([^']+)' .*$
700     ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1
701     Log ${di_lib}
702    
703     ${di_lib_no_space} = Sans espace ${di_lib}
704    
705     # En tant qu'instructeur de la collectivité/du service LIBRECOM
706     Depuis la page d'accueil tmoth tmoth
707    
708     # Vérifier que le dossier a bien été ajouté
709     #Depuis le contexte du dossier d'instruction par recherche ${di_lib_no_space}
710     Depuis le contexte du dossier d'instruction ${di_lib_no_space}
711     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
712     ... Element Should Contain css=#dossier_libelle ${di_lib_no_space}
713    
714     # Vérification liste des identifiants externe sur le DI
715     # dossier_consultation
716     Open Fieldset dossier_instruction plat_au---identifiants-techniques
717     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
718     ... Element Should Contain css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques ${payload_dict["external_uids"]["dossier"]}
719     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL}
720     ... Element Should Contain css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques ${payload_dict["external_uids"]["dossier_consultation"]}
721    
722     # En tant qu'admin
723     Depuis la page d'accueil admin admin
724    
725     # Remplace certaines valeurs
726     ${json_payload} = Replace String ${json_payload} AAA-000-09 ZZZ-000-09
727    
728     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
729     ${task_values} = Create Dictionary
730     ... type=create_DI_for_consultation
731     ... json_payload=${json_payload}
732     Ajouter la tâche par WS ${task_values}
733    
734     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
735     ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS
736     Should Be Equal ${passed} ${FALSE}
737    
738     # fin, suppression des options
739     Set To Dictionary ${param_division} valeur=false
740     Gerer le paramètre par WS ${param_division}
741     Set To Dictionary ${param_saisie_complete} valeur=true
742     Gerer le paramètre par WS ${param_saisie_complete}
743     Set To Dictionary ${param_dossier_commune} valeur=false
744     Gerer le paramètre par WS ${param_dossier_commune}
745    
746     # Vérification du bon fonctionnement de la RA pour l'input contenu_json
747     # Permet de vérifier que l'on a bien un résultat lors de la recherche d'une occurence dans le json_payload des
748     # tâches et de les afficher sur le listing des moniteurs plat'au et ide'au
749     Depuis la page d'accueil admin admin
750    
751     Depuis le menu Moniteur Plat'AU
752    
753     Wait Until Element Is Visible css=div#adv-search-adv-fields input#contenu_json
754    
755     Input Text css=div#adv-search-adv-fields input#contenu_json *000-AAA-01*
756     Click On Search Button
757    
758     Element Should Contain css=td.col-1 a.lienTable Création DI pour consultation
759     Element Should Contain css=td.col-4 a.lienTable PC0130952007777P0
760    
761     Input Text css=div#adv-search-adv-fields input#contenu_json *PC 045645 20 07777P04*
762     Click On Search Button
763    
764     Element Should Contain css=td.col-1 a.lienTable Création DI pour consultation
765     Element Should Contain css=td.col-4 a.lienTable PC0456452007777P04
766    
767    
768     Vérification de l'ajout (app) d'un dossier d'instruction sur existant + Vérification du filtre sur les types de dossier d'instruction
769     [Documentation] Le but est de vérifier que l'ajout de la tâche creation_DI et creation_DA
770     ... est bien effectué lors de l'ajout d'un dossier sur existant.
771     ... Permet de vérifier que le paramètre *dit_code__to_transmit__platau*
772     ... filtre bien la transmission Plat'AU d'un DI en fonction du type de DI.
773    
774     # Ajout d'un dossier initial et traitement de toutes les tâches de création de dossier.
775     Depuis la page d'accueil admin admin
776     &{args_dossier} = Create Dictionary
777     ... om_collectivite=MARSEILLE
778     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
779     ... demande_type=Dépôt Initial
780     ... terrain_adresse_localite=TEST300AdresseLocalite
781     &{args_petitionnaire2} = Create Dictionary
782     ... qualite=particulier
783     ... particulier_nom=TEST300TASKNOMM
784     ... particulier_prenom=TEST300TASKPRENOMM
785     ... localite=TEST300Localite
786     ... om_collectivite=MARSEILLE
787     ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire2}
788    
789     &{donnees_techniques_values} = Create Dictionary
790     ... enga_decla_lieu=TEST300engadelalieu
791     ... enga_decla_date=${date_ddmmyyyy}
792     Saisir les données techniques du DI ${di2} ${donnees_techniques_values}
793    
794     ${di2_sans_espace} = Sans espace ${di2}
795     ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY}
796    
797     &{task_values} = Create Dictionary
798     ... type=creation_DA
799     ... dossier=${di2_da}
800     ... state=new
801     ... object_id=${di2_da}
802     ... link_dossier=${di2_da}
803     ... stream=output
804     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
805     ${id_creation_DA} = Get Text css=#task
806    
807     &{task_values} = Create Dictionary
808     ... type=creation_DI
809     ... dossier=${di2_sans_espace}
810     ... state=new
811     ... object_id=${di2_sans_espace}
812     ... link_dossier=${di2_sans_espace}
813     ... stream=output
814     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
815     ${id_creation_DI} = Get Text css=#task
816    
817     # On traite les tâches output pour qu'elles soient en 'terminé'
818     &{task_values_modif} = Create Dictionary
819     ... state=terminé
820     Modifier la task ${id_creation_DI} ${task_values_modif}
821     La page ne doit pas contenir d'erreur
822     Modifier la task ${id_creation_DA} ${task_values_modif}
823     La page ne doit pas contenir d'erreur
824    
825     Ajouter une instruction au DI et la finaliser ${di2} accepter un dossier sans réserve
826    
827     # Sans le paramètre *dit_code__to_transmit__platau* renseigné, tous les types de DI sont transmissibles
828    
829     # Ajout d'un dossier modificatif et vérification de la bonne création de la tâche creation_modif
830     # liste des taches possible pour un modificatif
831     &{args_demande} = Create Dictionary
832     ... demande_type=Demande de modification
833     ... dossier_instruction=${di2}
834     ${di_modif} = Ajouter la demande par WS ${args_demande}
835    
836     ${di_modif_sans_espace} = Sans espace ${di_modif}
837     ${di_modif_da} = Replace String Using Regexp ${di_modif_sans_espace} [A-Z][0-9]+$ ${EMPTY}
838    
839     # Si le dossier d'autorisation n'a pas de lien_id_interne_uid_externe
840     # alors on ajoute une nouvelle tache creation_DA
841     &{task_values} = Create Dictionary
842     ... type=creation_DA
843     ... dossier=${di2_da}
844     ... state=new
845     ... object_id=${di2_da}
846     ... link_dossier=${di2_da}
847     ... stream=output
848     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
849     ${id_creation_da_modif} = Get Text css=#task
850    
851     &{task_values} = Create Dictionary
852     ... type=creation_DI
853     ... dossier=${di_modif_sans_espace}
854     ... state=new
855     ... object_id=${di_modif_sans_espace}
856     ... link_dossier=${di_modif_sans_espace}
857     ... stream=output
858     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
859     ${id_creation_di_modif} = Get Text css=#task
860    
861     &{task_values} = Create Dictionary
862     ... type=depot_DI
863     ... dossier=${di_modif_sans_espace}
864     ... state=new
865     ... object_id=${di_modif_sans_espace}
866     ... link_dossier=${di_modif_sans_espace}
867     ... stream=output
868     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
869     ${id_depot_modif} = Get Text css=#task
870    
871     Modifier la task ${id_creation_di_modif} ${task_values_modif}
872     La page ne doit pas contenir d'erreur
873     Modifier la task ${id_creation_da_modif} ${task_values_modif}
874     La page ne doit pas contenir d'erreur
875     Modifier la task ${id_depot_modif} ${task_values_modif}
876     La page ne doit pas contenir d'erreur
877    
878     # Avec le paramètre *dit_code__to_transmit__platau* renseigné, seulement les types de DI
879     # identifiés sont transmissibles
880    
881     # Autorise la transmission sur les modificatifs et transferts
882     &{param_dit_filtre} = Create Dictionary
883     ... libelle=dit_code__to_transmit__platau
884     ... valeur=M;T
885     ... om_collectivite=agglo
886     Gerer le paramètre par WS ${param_dit_filtre}
887    
888     # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier
889     Ajouter une instruction au DI et la finaliser ${di_modif} accepter un dossier sans réserve
890     # Ajout d'un modificatif transmissible
891     &{args_demande} = Create Dictionary
892     ... demande_type=Demande de modification
893     ... dossier_instruction=${di2}
894     ${di_modif_2} = Ajouter la demande par WS ${args_demande}
895     ${di_modif_2_sans_espace} = Sans espace ${di_modif_2}
896     # Vérification de l'existance de la tâches de création de DI
897     &{task_values} = Create Dictionary
898     ... type=creation_DI
899     ... dossier=${di_modif_2_sans_espace}
900     ... state=new
901     ... object_id=${di_modif_2_sans_espace}
902     ... link_dossier=${di_modif_2_sans_espace}
903     ... stream=output
904     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
905     ${id_depot_modif_2} = Get Text css=#task
906     Modifier la task ${id_depot_modif_2} ${task_values_modif}
907     La page ne doit pas contenir d'erreur
908    
909     # Modification du paramètre pour que les modificatifs ne soient plus transmissibles
910     &{param_dit_filtre} = Create Dictionary
911     ... libelle=dit_code__to_transmit__platau
912     ... valeur=T
913     ... om_collectivite=agglo
914     Gerer le paramètre par WS ${param_dit_filtre}
915    
916     # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier
917     Ajouter une instruction au DI et la finaliser ${di_modif_2} accepter un dossier sans réserve
918     # Ajout d'un modificatif non transmissible
919     &{args_demande} = Create Dictionary
920     ... demande_type=Demande de modification
921     ... dossier_instruction=${di2}
922     ${di_modif_3} = Ajouter la demande par WS ${args_demande}
923     ${di_modif_3_sans_espace} = Sans espace ${di_modif_3}
924     # Vérification de la nonexistance de la tâches de création de DI
925     Depuis le menu Moniteur Plat'AU
926     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande
927     Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande
928     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di_modif_3_sans_espace}
929    
930     # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier
931     Ajouter une instruction au DI et la finaliser ${di_modif_3} accepter un dossier sans réserve
932     # Ajout d'un transfert transmissible
933     &{args_demande} = Create Dictionary
934     ... demande_type=Demande de transfert
935     ... dossier_instruction=${di2}
936     ${di_trsf} = Ajouter la demande par WS ${args_demande}
937     ${di_trsf_sans_espace} = Sans espace ${di_trsf}
938     # Vérification de l'existance de la tâches de création de DI
939     &{task_values} = Create Dictionary
940     ... type=creation_DI
941     ... dossier=${di_trsf_sans_espace}
942     ... state=new
943     ... object_id=${di_trsf_sans_espace}
944     ... link_dossier=${di_trsf_sans_espace}
945     ... stream=output
946     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
947     ${id_depot_trsf} = Get Text css=#task
948     Modifier la task ${id_depot_trsf} ${task_values_modif}
949     La page ne doit pas contenir d'erreur
950    
951    
952     Reset Params - Vérification de l'ajout et du filtre sur les types de dossier d'instruction
953     # Suppression du paramètre de filtre des types de DI
954     &{param_args} = Create Dictionary
955     ... delete=true
956     ... libelle=dit_code__to_transmit__platau
957     ... om_collectivite=agglo
958     Gerer le paramètre par WS ${param_args}
959    
960    
961     Vérification des fiches de synthèse des dossiers d'instruction et de l'icône pour consulter depuis le listing
962     [Documentation] Contrôle les affichages spécifiques pour le DI.
963     ...
964     ... Les cas d'affichage possibles pour le fieldset "Consultation" :
965     ... 1/ Vérifications concernant l'affichage de type "CONSULTATION ENTRANTE"
966     ... a- Avoir le type d'affichage du type de DA avec la valeur
967     ... "CONSULTATION ENTRANTE" + source dépôt de la demande à 'platau' ou 'portal'.
968     ... b- Vérifie depuis le menu Guichet Unique > Nouveau dossier que l'ajout
969     ... d'une demande de "CONSULTATION ENTRANTE" ne permet la saisie que du pétionnaire
970     ... principal et pas des autres types de demandeur principal.
971     ... c- Vérifie que pour un affichage de type "CONSULTATION ENTRANTE" l'instructeur
972     ... secondaire est visible dans la synthèse et en modification du DI.
973     ... 2/ Dans tous les autres cas le fieldset ne doit pas être affiché.
974     ...
975     ... Dans les deux cas précédents, on vérifie également la classe de l'icône pour
976     ... consulter le dossier. Flêche jaune, le dossier est dématérialisé (cas 1) ; flêche
977     ... bleue le dossier est papier (cas 2).
978     ...
979     ... Les cas d'affichage possibles pour le fieldset "Plat'AU : identifiants techniques" :
980     ... 1/ Le type du datd est transmis à Plat'AU + l'option option_mode_service_consulte est
981     ... activée + source dépôt de la demande à 'platau' ou 'portal'.
982     ... 2/ Le type du datd est transmis à Plat'AU + l'option option_mode_service_consulte est
983     ... désactivée
984     ... 3/ Dans tous les autres cas le fieldset ne doit pas être affiché.
985    
986     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
987     &{param_division} = Create Dictionary
988     ... libelle=option_afficher_division
989     ... valeur=true
990     ... om_collectivite=agglo
991     Gerer le paramètre par WS ${param_division}
992    
993     # activer la saisie complète des numéros
994     &{param_saisie_complete} = Create Dictionary
995     ... libelle=option_dossier_saisie_numero_complet
996     ... valeur=true
997     ... om_collectivite=agglo
998     Gerer le paramètre par WS ${param_saisie_complete}
999    
1000     # isole le contexte du test (création d'une collectivité)
1001     &{librecom_multi_values} = Create Dictionary
1002     ... om_collectivite_libelle=LIBRECOM_WS_AFF_DI
1003     ... departement=016
1004     ... commune=099
1005     ... insee=16099
1006     ... direction_code=V
1007     ... direction_libelle=Direction de LIBRECOM_WS_AFF_DI
1008     ... direction_chef=Chef
1009     ... division_code=V
1010     ... division_libelle=Division V
1011     ... division_chef=Chef
1012     ... guichet_om_utilisateur_nom=Merci Collin
1013     ... [email protected]
1014     ... guichet_om_utilisateur_login=mcollin
1015     ... guichet_om_utilisateur_pwd=mcollin
1016     ... instr_om_utilisateur_nom=Carolos Beauchemin
1017     ... [email protected]
1018     ... instr_om_utilisateur_login=cbeauchemin
1019     ... instr_om_utilisateur_pwd=cbeauchemin
1020     ... code_entite=LBCOM_20
1021     ... acteur=LIBRECOM-ACT-020
1022     Isolation d'un contexte ${librecom_multi_values}
1023    
1024     # En tant qu'admin
1025     Depuis la page d'accueil admin admin
1026    
1027     # récupération de l'identifiant de l'instructeur de la collectivité
1028     Depuis le contexte de l'instructeur ${librecom_multi_values["instr_om_utilisateur_nom"]}
1029     ${librecom_instr_id} = Get Text css=span#instructeur
1030    
1031     # ajouter le paramètre 'acteur' à la collectivité/au service
1032     &{platau_acteur_service_consulte} = Create Dictionary
1033     ... libelle=platau_acteur_service_consulte
1034     ... valeur=${librecom_multi_values["acteur"]}
1035     ... om_collectivite=${librecom_multi_values["om_collectivite_libelle"]}
1036     Gerer le paramètre par WS ${platau_acteur_service_consulte}
1037    
1038     # Change le type affichage du type de DA
1039     &{args_da_type} = Create Dictionary
1040     ... affichage_form=CONSULTATION ENTRANTE
1041     Modifier le type de dossier d'autorisation Permis de construire ${args_da_type}
1042    
1043     # Fieldset "Consultation" cas 1/
1044     # Avoir le type d'affichage du type de DA avec la valeur "CONSULTATION ENTRANTE"
1045     # + source dépôt portal ou platau.
1046     &{args_dossier} = Create Dictionary
1047     ... om_collectivite=LIBRECOM_WS_AFF_DI
1048     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1049     ... demande_type=Dépôt Initial
1050     ... terrain_adresse_localite=TEST300AdresseLocalite
1051     ... depot_electronique=true
1052     ... source_depot=platau
1053     &{args_petitionnaire1} = Create Dictionary
1054     ... qualite=particulier
1055     ... particulier_nom=TEST300TASKNOM03
1056     ... particulier_prenom=TEST300TASKPRENOM03
1057     ... localite=TEST300Localite
1058     ... om_collectivite=LIBRECOM_WS_AFF_DI
1059     ${di_case_1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
1060    
1061     # TNR : Vérification que l'ajout de la demande via le menu ne permet de saisir
1062     # que le pétitionnaire principal et pas les autres types de demandeur
1063     # principaux
1064     Depuis le contexte de nouvelle demande via l'URL
1065     &{args_demande} = Create Dictionary
1066     ... om_collectivite=LIBRECOM_WS_AFF_DI
1067     ... dossier_autorisation_type_detaille=PCI - Permis de construire pour une maison individuelle et / ou ses annexes
1068     ... demande_type=Dépôt Initial
1069     Saisir la demande ${args_demande}
1070    
1071     Wait Until Element Is Visible css=#add_petitionnaire_principal
1072     @{petitionnaires}= Create List requerant_principal contrevenant_principal bailleur_principal plaignant_principal avocat_principal
1073     :FOR ${petitionnaire} IN @{petitionnaires}
1074     \ Element Should Not Be Visible css=#add_${petitionnaire}
1075     # Vérification de l'icône du listing : la ligne doit avoir la classe consult-demat
1076     Depuis le listing dossier_instruction
1077     ${di_case_1_sans_espace} = Sans espace ${di_case_1}
1078     Input Text css=div#adv-search-adv-fields input#dossier ${di_case_1_sans_espace}
1079     Click On Search Button
1080     Element Should Be Visible css=table.tab-tab tr.consult-demat
1081    
1082     # TNR vérification que le champs instructeur secondaire n'est pas visible en consultation par défaut
1083     Depuis le contexte du dossier d'instruction ${di_case_1}
1084     Page Should Not Contain css=#lib-instructeur_2
1085     # TNR vérification que le champs instructeur secondaire est visible en modification
1086     Click On Form Portlet Action dossier_instruction modifier
1087     Element Should Contain css=#instructeur_2 Choisir l'instructeur secondaire
1088    
1089     &{donnees_techniques_values} = Create Dictionary
1090     ... enga_decla_lieu=TEST300engadelalieu
1091     ... enga_decla_date=${date_ddmmyyyy}
1092     Saisir les données techniques du DI ${di_case_1} ${donnees_techniques_values}
1093    
1094     Depuis le contexte du dossier d'instruction ${di_case_1}
1095     Page Should Contain Element css=#fieldset-form-dossier_instruction-consultation
1096    
1097     # Fieldset "Consultation" cas 2/
1098     # Dans tous les autres cas le fieldset ne doit pas être affiché
1099    
1100     # Avec le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non"
1101     &{args_dossier} = Create Dictionary
1102     ... om_collectivite=LIBRECOM_WS_AFF_DI
1103     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1104     ... demande_type=Dépôt Initial
1105     ... terrain_adresse_localite=TEST300AdresseLocalite
1106     ... depot_electronique=false
1107     ... source_depot=app
1108     &{args_petitionnaire1} = Create Dictionary
1109     ... qualite=particulier
1110     ... particulier_nom=TEST300TASKNOM04
1111     ... particulier_prenom=TEST300TASKPRENOM04
1112     ... localite=TEST300Localite
1113     ... om_collectivite=LIBRECOM_WS_AFF_DI
1114     ${di_case_2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
1115    
1116     # Vérification de l'icône du listing : la ligne ne doit pas avoir la classe consult-demat
1117     Depuis le listing dossier_instruction
1118     ${di_case_2_sans_espace} = Sans espace ${di_case_2}
1119     Input Text css=div#adv-search-adv-fields input#dossier ${di_case_2_sans_espace}
1120     Click On Search Button
1121     Element Should Not Be Visible css=table.tab-tab tr.consult-demat
1122    
1123     &{donnees_techniques_values} = Create Dictionary
1124     ... enga_decla_lieu=TEST300engadelalieu
1125     ... enga_decla_date=${date_ddmmyyyy}
1126     Saisir les données techniques du DI ${di_case_2} ${donnees_techniques_values}
1127    
1128     Depuis le contexte du dossier d'instruction ${di_case_2}
1129     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
1130    
1131     # Change le type affichage du type de DA
1132     &{args_da_type} = Create Dictionary
1133     ... affichage_form=ADS
1134     Modifier le type de dossier d'autorisation Permis de construire ${args_da_type}
1135    
1136     # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Oui"
1137     Depuis le contexte du dossier d'instruction ${di_case_1}
1138     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
1139    
1140     # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non"
1141     Depuis le contexte du dossier d'instruction ${di_case_2}
1142     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation
1143    
1144     # Fieldset "Plat'AU : identifiants techniques" cas 1/
1145     # Le type du datd est transmis à Plat'AU + l'option option_mode_service_consulte est
1146     # activée + source dépôt de la demande à 'platau' ou 'portal'.
1147    
1148     # Prépare la payload
1149     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt
1150     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-CCC-00
1151     ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X CCC-000-00
1152     ${json_payload} = Replace String ${json_payload} 013055 20 016099 21
1153     ${json_payload} = Replace String ${json_payload} 01305520 01609921
1154     ${json_payload} = Replace String ${json_payload} 2020 2021
1155     ${json_payload} = Replace String ${json_payload} 07777P0 01111P
1156     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_values["insee"]}
1157     ${json_payload} = Replace String ${json_payload} EF-DSQ-4512 ${librecom_multi_values["acteur"]}
1158     ${json_payload} = Replace String ${json_payload} "instructeur": "1" "instructeur": "${librecom_instr_id}"
1159     ${payload_dict} = To Json ${json_payload}
1160     # définir les paramètres de type de demande
1161     &{param_type_demande_initial} = Create Dictionary
1162     ... libelle=platau_type_demande_initial_PCI
1163     ... valeur=DI
1164     ... om_collectivite=agglo
1165     Gerer le paramètre par WS ${param_type_demande_initial}
1166     # Active option_mode_service_consulte
1167     &{param_option_sc} = Create Dictionary
1168     ... libelle=option_mode_service_consulte
1169     ... valeur=true
1170     ... om_collectivite=agglo
1171     Gerer le paramètre par WS ${param_option_sc}
1172    
1173     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
1174     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
1175     ${task_values} = Create Dictionary
1176     ... type=create_DI_for_consultation
1177     ... json_payload=${json_payload}
1178     Ajouter la tâche par WS ${task_values}
1179     ${msg} = Déclencher le traitement des tâches par WS
1180     ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]}
1181     ... [^ ]{7}$ 01111P0
1182     Depuis le contexte du dossier d'instruction ${di_lib_expected}
1183     Page Should Contain Element css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques
1184    
1185     # Fieldset "Plat'AU : identifiants techniques" cas 2/
1186     # Le type du datd est transmis à Plat'AU + l'option option_mode_service_consulte est désactivée
1187     # Désactive option_mode_service_consulte
1188     &{param_option_sc} = Create Dictionary
1189     ... libelle=option_mode_service_consulte
1190     ... valeur=false
1191     ... om_collectivite=agglo
1192     Gerer le paramètre par WS ${param_option_sc}
1193     Depuis le contexte du dossier d'instruction ${di_lib_expected}
1194     Page Should Contain Element css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques
1195    
1196     # Fieldset "Plat'AU : identifiants techniques" cas 3/
1197     # Dans tous les autres cas le fieldset ne doit pas être affiché.
1198    
1199     # Désactive la transmission Plat'AU du datd
1200     &{args_type_DA_detaille_modification} = Create Dictionary
1201     ... dossier_platau=false
1202     Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification}
1203    
1204     Depuis le contexte du dossier d'instruction ${di_case_1}
1205     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques
1206    
1207     Depuis le contexte du dossier d'instruction ${di_case_2}
1208     Page Should Not Contain Element css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques
1209    
1210    
1211     Reset Params - Vérification des fiches de synthèse des dossiers d'instruction et de l'icône pour consulter depuis le listing
1212     # Remet les paramètres par défaut
1213     &{args_type_DA_detaille_modification} = Create Dictionary
1214     ... dossier_platau=true
1215     Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification}
1216     &{param_division} = Create Dictionary
1217     ... libelle=option_afficher_division
1218     ... valeur=false
1219     ... om_collectivite=agglo
1220     Gerer le paramètre par WS ${param_division}
1221     &{param_saisie_complete} = Create Dictionary
1222     ... libelle=option_dossier_saisie_numero_complet
1223     ... valeur=false
1224     ... om_collectivite=agglo
1225     Gerer le paramètre par WS ${param_saisie_complete}
1226    
1227    
1228     Vérification de la suppression d'un objet lié à une tâche non traitée
1229     [Documentation] XXX
1230    
1231     # Activer l'option de suppression des dossiers
1232     &{options} = Create Dictionary
1233     ... libelle=option_suppression_dossier_instruction
1234     ... valeur=true
1235     ... om_collectivite=agglo
1236     Gerer le paramètre par WS ${options}
1237    
1238     Depuis la page d'accueil admin admin
1239    
1240     # Ajouter un service de type plat'au
1241     &{service} = Create Dictionary
1242     ... abrege=DC300
1243     ... libelle=Direction Circulation TEST300
1244     ... edition=Consultation - Pour conformité
1245     ... type_consultation=Pour conformité
1246     ... om_collectivite=MARSEILLE
1247     ... service_type=Plat'AU
1248     ... generate_edition=true
1249     Ajouter le service depuis le listing ${service}
1250    
1251     # Ajouter un dossier : Création DA + Création demande + Dépôt DI
1252     &{args_dossier} = Create Dictionary
1253     ... om_collectivite=MARSEILLE
1254     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1255     ... demande_type=Dépôt Initial
1256     ... terrain_adresse_localite=TEST300AdresseLocalite
1257     &{args_petitionnaire1} = Create Dictionary
1258     ... qualite=particulier
1259     ... particulier_nom=TEST300TASKNOM05
1260     ... particulier_prenom=TEST300TASKPRENOM05
1261     ... localite=TEST300Localite
1262     ... om_collectivite=MARSEILLE
1263     ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
1264     ${di_se} = Sans espace ${di}
1265     ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY}
1266    
1267     &{donnees_techniques_values} = Create Dictionary
1268     ... enga_decla_lieu=TEST300engadelalieu
1269     ... enga_decla_date=${date_ddmmyyyy}
1270     Saisir les données techniques du DI ${di} ${donnees_techniques_values}
1271    
1272     # Ajouter une pièce numérisée : Ajout pièce
1273     &{document_numerise_values} = Create Dictionary
1274     ... uid_upload=testImportManuel.pdf
1275     ... date_creation=${date_ddmmyyyy}
1276     ... document_numerise_type=Test type document numerise de catégorie PLATAU
1277     Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values}
1278     ${dn} = Get Value css=input#document_numerise
1279    
1280     # Ajouter une consultation : Création consultation
1281     Ajouter une consultation depuis un dossier ${di} ${service.abrege} - ${service.libelle}
1282     Depuis le contexte de la consultation ${di} ${service.abrege} - ${service.libelle}
1283     ${consultation} = Get Value css=#sousform-consultation #consultation
1284    
1285     # Ajouter une instruction de décision : Décision DI
1286     ${instr_dec} = Ajouter une instruction au DI ${di} accepter un dossier sans réserve
1287    
1288     # Vérification status des tâches
1289     &{task_values} = Create Dictionary
1290     ... type=creation_DA
1291     ... dossier=${da}
1292     ... state=new
1293     ... object_id=${da}
1294     ... link_dossier=${da}
1295     ... stream=output
1296     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1297     &{task_values} = Create Dictionary
1298     ... type=creation_DI
1299     ... dossier=${di_se}
1300     ... state=new
1301     ... object_id=${di_se}
1302     ... link_dossier=${di_se}
1303     ... stream=output
1304     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1305     &{task_values} = Create Dictionary
1306     ... type=depot_DI
1307     ... dossier=${di_se}
1308     ... state=new
1309     ... object_id=${di_se}
1310     ... link_dossier=${di_se}
1311     ... stream=output
1312     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1313     &{task_values} = Create Dictionary
1314     ... type=ajout_piece
1315     ... dossier=${di_se}
1316     ... state=new
1317     ... object_id=${dn}
1318     ... link_dossier=${di_se}
1319     ... stream=output
1320     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1321     &{task_values} = Create Dictionary
1322     ... type=creation_consultation
1323     ... dossier=${di_se}
1324     ... state=new
1325     ... object_id=${consultation}
1326     ... link_dossier=${di_se}
1327     ... stream=output
1328     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1329     ${id_qualification_DI} = Get Text css=#task
1330     &{task_values} = Create Dictionary
1331     ... type=decision_DI
1332     ... dossier=${di_se}
1333     ... state=new
1334     ... object_id=${instr_dec}
1335     ... link_dossier=${di_se}
1336     ... stream=output
1337     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1338    
1339     # Suppression de tous les objets
1340     Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${service.abrege} - ${service.libelle}
1341     Supprimer l'instruction ${di} accepter un dossier sans réserve
1342     Supprimer le dossier d'instruction ${di}
1343    
1344     # Vérification status des tâches
1345     &{task_values} = Create Dictionary
1346     ... type=creation_DA
1347     ... dossier=${da}
1348     ... state=canceled
1349     ... object_id=${da}
1350     ... link_dossier=${da}
1351     ... stream=output
1352     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1353     &{task_values} = Create Dictionary
1354     ... type=creation_DI
1355     ... dossier=${di_se}
1356     ... state=canceled
1357     ... object_id=${di_se}
1358     ... link_dossier=${di_se}
1359     ... stream=output
1360     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1361     &{task_values} = Create Dictionary
1362     ... type=depot_DI
1363     ... dossier=${di_se}
1364     ... state=canceled
1365     ... object_id=${di_se}
1366     ... link_dossier=${di_se}
1367     ... stream=output
1368     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1369     &{task_values} = Create Dictionary
1370     ... type=ajout_piece
1371     ... dossier=${di_se}
1372     ... state=canceled
1373     ... object_id=${dn}
1374     ... link_dossier=${di_se}
1375     ... stream=output
1376     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1377     &{task_values} = Create Dictionary
1378     ... type=creation_consultation
1379     ... dossier=${di_se}
1380     ... state=canceled
1381     ... object_id=${consultation}
1382     ... link_dossier=${di_se}
1383     ... stream=output
1384     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1385     &{task_values} = Create Dictionary
1386     ... type=decision_DI
1387     ... dossier=${di_se}
1388     ... state=canceled
1389     ... object_id=${instr_dec}
1390     ... link_dossier=${di_se}
1391     ... stream=output
1392     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
1393    
1394    
1395     Reset Params - Vérification de la suppression d'un objet lié à une tâche non traitée
1396     # Désactiver l'option de suppression des dossiers
1397     &{options} = Create Dictionary
1398     ... libelle=option_suppression_dossier_instruction
1399     ... valeur=false
1400     ... om_collectivite=agglo
1401     Gerer le paramètre par WS ${options}
1402    
1403     # Création d'un nouveau dossier dont le numéro va reprendre celui du dossier
1404     # supprimer. Nécessaire pour éviter que dans les tests suivants des tâches existent
1405     # sur un dossier alors qu'il viens juste d'être ajouté
1406     &{args_dossier} = Create Dictionary
1407     ... om_collectivite=MARSEILLE
1408     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
1409     ... demande_type=Dépôt Initial
1410     &{args_petitionnaire1} = Create Dictionary
1411     ... particulier_nom=TEST300TASKNOM05
1412     ... particulier_prenom=TEST300TASKPRENOM05
1413     ... om_collectivite=MARSEILLE
1414     Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
1415    
1416    
1417     Vérification du traitement de la tâche création DI
1418    
1419     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1420     &{param_division} = Create Dictionary
1421     ... libelle=option_afficher_division
1422     ... valeur=true
1423     ... om_collectivite=agglo
1424     Gerer le paramètre par WS ${param_division}
1425    
1426     &{param_saisie_complete} = Create Dictionary
1427     ... libelle=option_dossier_saisie_numero_complet
1428     ... valeur=false
1429     ... om_collectivite=agglo
1430     Gerer le paramètre par WS ${param_saisie_complete}
1431    
1432     # Active le mode service consulté
1433     &{param_division} = Create Dictionary
1434     ... libelle=option_mode_service_consulte
1435     ... valeur=false
1436     ... om_collectivite=agglo
1437     Gerer le paramètre par WS ${param_division}
1438    
1439     # isole le contexte du test (création d'une collectivité)
1440     &{librecom_multi_1_values} = Create Dictionary
1441     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_1
1442     ... departement=017
1443     ... commune=100
1444     ... insee=17100
1445     ... direction_code=WE
1446     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_1
1447     ... direction_chef=Chef
1448     ... division_code=WE
1449     ... division_libelle=Division WE
1450     ... division_chef=Chef
1451     ... guichet_om_utilisateur_nom=Derien Bollin
1452     ... [email protected]
1453     ... guichet_om_utilisateur_login=dbollin
1454     ... guichet_om_utilisateur_pwd=dbollin
1455     ... instr_om_utilisateur_nom=Marolos Heauchemin
1456     ... [email protected]
1457     ... instr_om_utilisateur_login=mheauchemin
1458     ... instr_om_utilisateur_pwd=mheauchemin
1459     ... code_entite=LBCOM_21
1460     ... acteur=LIBRECOM-ACT-021
1461     Isolation d'un contexte ${librecom_multi_1_values}
1462    
1463     # ajouter le paramètre 'acteur' à la collectivité/au service
1464     &{platau_acteur_service_instructeur} = Create Dictionary
1465     ... libelle=platau_acteur_service_instructeur
1466     ... valeur=${librecom_multi_1_values["acteur"]}
1467     ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]}
1468     Gerer le paramètre par WS ${platau_acteur_service_instructeur}
1469    
1470     # Récupère le payload de création DI
1471     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
1472     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-DDD-00
1473     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX DDD-000-00
1474     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]}
1475     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]}
1476     ${payload_dict} = To Json ${json_payload}
1477     # définir les paramètres de type de demande
1478     &{platau_type_demande_initial} = Create Dictionary
1479     ... libelle=platau_type_demande_initial_DP
1480     ... valeur=DI
1481     ... om_collectivite=agglo
1482     Gerer le paramètre par WS ${platau_type_demande_initial}
1483     # Active option_dossier_commune
1484     &{param_dossier_commune} = Create Dictionary
1485     ... libelle=option_dossier_commune
1486     ... valeur=true
1487     ... om_collectivite=agglo
1488     Gerer le paramètre par WS ${param_dossier_commune}
1489    
1490     # En tant qu'admin
1491     Depuis la page d'accueil admin admin
1492    
1493     # Ajoute une commune
1494     &{com_values} = Create Dictionary
1495     ... typecom=COM
1496     ... com=17100
1497     ... reg=17
1498     ... dep=17
1499     ... arr=100
1500     ... tncc=0
1501     ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_1
1502     ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_1
1503     ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_1
1504     ... can=17
1505     ... comparent=
1506     ... om_validite_debut=01/11/2020
1507     Ajouter commune avec dates validité ${com_values}
1508     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
1509     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
1510     ${task_values} = Create Dictionary
1511     ... type=create_DI
1512     ... json_payload=${json_payload}
1513     Ajouter la tâche par WS ${task_values}
1514    
1515     # Ajouter le type de document avec le code '90' tel qu'il est dans la payload
1516     ${dnt_code} = Set Variable 96
1517     &{dnt_values} = Create Dictionary
1518     ... code=${dnt_code}
1519     ... libelle=Document numérisé Plat'AU create DI
1520     ... document_numerise_type_categorie=Autre
1521     Ajouter le type de pièces ${dnt_values}
1522     Valid Message Should Contain Vos modifications ont bien été enregistrées.
1523    
1524     # Ajout d'une pièce
1525     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1526     # json_payload correspondant à la tâche Ajout pièce
1527     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1528    
1529     # Remplace certaines valeurs
1530     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
1531     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00
1532     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-11
1533     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1534     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
1535     ${json_payload} = Replace String ${json_payload}
1536     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf"
1537     ${piece_payload_dict} = To Json ${json_payload}
1538     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1539    
1540     # Ajoute la tâche d'ajout de pièce
1541     ${task_values} = Create Dictionary
1542     ... type=add_piece
1543     ... json_payload=${json_payload}
1544     ${task_id} = Ajouter la tâche par WS ${task_values}
1545    
1546     # ajout manuellement les éléments qui ont du être défini par défaut
1547     Set To Dictionary ${task_values} task=${task_id}
1548     Set To Dictionary ${task_values} state=new
1549     Set To Dictionary ${task_values} stream=input
1550    
1551     # Ajout d'une deuxième pièce
1552     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1553     # json_payload correspondant à la tâche Ajout pièce
1554     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1555    
1556     # Remplace certaines valeurs
1557     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]}
1558     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00
1559     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-12
1560     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1561     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
1562     ${piece_payload_dict} = To Json ${json_payload}
1563     ${json_payload} = Replace String ${json_payload}
1564     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf"
1565     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1566    
1567     # Ajoute la tâche d'ajout de pièce
1568     ${task_values} = Create Dictionary
1569     ... type=add_piece
1570     ... json_payload=${json_payload}
1571     ${task_id} = Ajouter la tâche par WS ${task_values}
1572    
1573     # ajout manuellement les éléments qui ont du être défini par défaut
1574     Set To Dictionary ${task_values} task=${task_id}
1575     Set To Dictionary ${task_values} state=new
1576     Set To Dictionary ${task_values} stream=input
1577    
1578     ${msg} = Déclencher le traitement des tâches par WS
1579    
1580     Depuis la page d'accueil mheauchemin mheauchemin
1581    
1582     Depuis le listing dossier_instruction
1583    
1584     Click Link ${librecom_multi_1_values["om_collectivite_libelle"]}
1585     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
1586     ${dossier_libelle} = Get Text css=#dossier_libelle
1587     ${dossier_libelle} = Sans espace ${dossier_libelle}
1588    
1589     Depuis la page d'accueil admin admin
1590     Depuis le menu Moniteur Plat'AU
1591    
1592     # On vérifie qu'il n'y ait pas de tâche Création demande
1593    
1594     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande
1595     Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande
1596     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1597     Run Keyword If ${passed}==False Click On Search Button
1598     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1599    
1600     # On vérifie qu'il n'y ait pas de tâche Création DA
1601     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA
1602     Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA
1603     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1604     Run Keyword If ${passed}==False Click On Search Button
1605     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1606    
1607     # On vérifie qu'il n'y ait pas de tâche Ajout pièce
1608     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Ajout pièce (sortant)
1609     Run Keyword If ${passed}==False Select From List By Label css=select#type Ajout pièce (sortant)
1610     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1611     Run Keyword If ${passed}==False Click On Search Button
1612     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1613    
1614    
1615     # On vérifie que la tâche Modification DI est bien ajoutée
1616     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1617     Select From List By Label css=div#adv-search-adv-fields select#type Modification DI
1618    
1619     Click On Search Button
1620     Element Should Not Contain css=.tab-data Aucun enregistrement.
1621    
1622     # On vérifie que la tâche Dépôt DI est bien ajoutée
1623     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1624     Select From List By Label css=div#adv-search-adv-fields select#type Dépôt DI
1625     Select From List By Label css=div#adv-search-adv-fields select#state à traiter
1626    
1627     Click On Search Button
1628     Element Should Not Contain css=.tab-data Aucun enregistrement.
1629    
1630     # On vérifie que la tâche Qualification DI est bien ajoutée
1631     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1632     Select From List By Label css=div#adv-search-adv-fields select#type Qualification DI
1633     Select From List By Label css=div#adv-search-adv-fields select#state à traiter
1634    
1635     Click On Search Button
1636     Element Should Not Contain css=.tab-data Aucun enregistrement.
1637    
1638     # On vérifie que la tâche création DI a bien été mis à jour avec l'identifiant du dossier
1639     Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle}
1640     Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY}
1641     Select From List By Label css=div#adv-search-adv-fields select#type Création demande
1642     Select From List By Label css=div#adv-search-adv-fields select#state terminé
1643    
1644     Click On Search Button
1645     Element Should Not Contain css=.tab-data Aucun enregistrement.
1646    
1647     &{librecom_multi_2_values} = Create Dictionary
1648     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_2
1649     ... departement=018
1650     ... commune=101
1651     ... insee=18101
1652     ... direction_code=X
1653     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_2
1654     ... direction_chef=Chef
1655     ... division_code=X
1656     ... division_libelle=Division XX
1657     ... division_chef=Chef
1658     ... guichet_om_utilisateur_nom=Latienne Bollon
1659     ... [email protected]
1660     ... guichet_om_utilisateur_login=lbollon
1661     ... guichet_om_utilisateur_pwd=lbollon
1662     ... instr_om_utilisateur_nom=Marvolos Treauchemin
1663     ... [email protected]
1664     ... instr_om_utilisateur_login=mtreauchemin
1665     ... instr_om_utilisateur_pwd=mtreauchemin
1666     ... code_entite=LBCOM_22
1667     ... acteur=LIBRECOM-ACT-022
1668     Isolation d'un contexte ${librecom_multi_2_values}
1669    
1670     # ajouter le paramètre 'acteur' à la collectivité/au service
1671     &{platau_acteur_service_instructeur} = Create Dictionary
1672     ... libelle=platau_acteur_service_instructeur
1673     ... valeur=${librecom_multi_2_values["acteur"]}
1674     ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]}
1675     Gerer le paramètre par WS ${platau_acteur_service_instructeur}
1676    
1677     # Récupère le payload de création DI
1678     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
1679     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-EEE-00
1680     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX EEE-000-00
1681     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_2_values["insee"]}
1682     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_2_values["acteur"]}
1683     ${payload_dict} = To Json ${json_payload}
1684    
1685     # Ajoute une commune
1686     &{com_values} = Create Dictionary
1687     ... typecom=COM
1688     ... com=18101
1689     ... reg=18
1690     ... dep=18
1691     ... arr=101
1692     ... tncc=0
1693     ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_2
1694     ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_2
1695     ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_2
1696     ... can=18
1697     ... comparent=
1698     ... om_validite_debut=01/11/2020
1699     Ajouter commune avec dates validité ${com_values}
1700     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
1701     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
1702     ${task_values} = Create Dictionary
1703     ... type=create_DI
1704     ... json_payload=${json_payload}
1705     Ajouter la tâche par WS ${task_values}
1706    
1707     # Ajout d'une pièce
1708     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1709     # json_payload correspondant à la tâche Ajout pièce
1710     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1711    
1712     # Remplace certaines valeurs
1713     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
1714     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00
1715     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-13
1716     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1717     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
1718     ${json_payload} = Replace String ${json_payload}
1719     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf"
1720     ${piece_payload_dict} = To Json ${json_payload}
1721     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1722    
1723     # Ajoute la tâche d'ajout de pièce
1724     ${task_values} = Create Dictionary
1725     ... type=add_piece
1726     ... json_payload=${json_payload}
1727     ${task_id} = Ajouter la tâche par WS ${task_values}
1728    
1729     # ajout manuellement les éléments qui ont du être défini par défaut
1730     Set To Dictionary ${task_values} task=${task_id}
1731     Set To Dictionary ${task_values} state=new
1732     Set To Dictionary ${task_values} stream=input
1733    
1734     # Ajout d'une deuxième pièce
1735     # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre
1736     # json_payload correspondant à la tâche Ajout pièce
1737     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json
1738    
1739     # Remplace certaines valeurs
1740     ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]}
1741     ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00
1742     ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-14
1743     ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY}
1744     ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96"
1745     ${piece_payload_dict} = To Json ${json_payload}
1746     ${json_payload} = Replace String ${json_payload}
1747     ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf"
1748     ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]}
1749    
1750     # Ajoute la tâche d'ajout de pièce
1751     ${task_values} = Create Dictionary
1752     ... type=add_piece
1753     ... json_payload=${json_payload}
1754     ${task_id} = Ajouter la tâche par WS ${task_values}
1755    
1756     # ajout manuellement les éléments qui ont du être défini par défaut
1757     Set To Dictionary ${task_values} task=${task_id}
1758     Set To Dictionary ${task_values} state=new
1759     Set To Dictionary ${task_values} stream=input
1760    
1761     ${msg} = Déclencher le traitement des tâches par WS
1762    
1763     Depuis la page d'accueil mtreauchemin mtreauchemin
1764    
1765     Depuis le listing dossier_instruction
1766    
1767     Click Link ${librecom_multi_2_values["om_collectivite_libelle"]}
1768     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
1769     ${dossier_libelle} = Get Text css=#dossier_libelle
1770     ${dossier_libelle} = Sans espace ${dossier_libelle}
1771     Set Suite Variable ${dossier_libelle}
1772    
1773     Depuis la page d'accueil admin admin
1774    
1775     Depuis le menu Moniteur Plat'AU
1776    
1777     # On vérifie qu'il n'y ait pas de tâche Création demande
1778    
1779     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DI (sortant)
1780     Run Keyword If ${passed}==False Select From List By Label css=select#type Création DI
1781     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1782     Run Keyword If ${passed}==False Click On Search Button
1783     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1784    
1785     # On vérifie qu'il n'y ait pas de tâche Création DA
1786     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA (sortant)
1787     Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA
1788     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1789     Run Keyword If ${passed}==False Click On Search Button
1790     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1791    
1792     # On vérifie qu'il n'y ait pas de tâche Ajout pièce
1793     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Ajout pièce (sortant) (sortant)
1794     Run Keyword If ${passed}==False Select From List By Label css=select#type Ajout pièce (sortant)
1795     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1796     Run Keyword If ${passed}==False Click On Search Button
1797     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
1798    
1799     # On vérifie que la tâche Modification DI est bien ajoutée
1800     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1801     Select From List By Label css=div#adv-search-adv-fields select#type Modification DI
1802    
1803     Click On Search Button
1804     Element Should Not Contain css=.tab-data Aucun enregistrement.
1805    
1806     # On vérifie que la tâche Dépôt DI est bien ajoutée
1807     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1808     Select From List By Label css=div#adv-search-adv-fields select#type Dépôt DI
1809     Select From List By Label css=div#adv-search-adv-fields select#state à traiter
1810    
1811     Click On Search Button
1812     Element Should Not Contain css=.tab-data Aucun enregistrement.
1813    
1814     # On vérifie que la tâche Qualification DI est bien ajoutée
1815     Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle}
1816     Select From List By Label css=div#adv-search-adv-fields select#type Qualification DI
1817     Select From List By Label css=div#adv-search-adv-fields select#state à traiter
1818    
1819     Click On Search Button
1820     Element Should Not Contain css=.tab-data Aucun enregistrement.
1821    
1822     # On vérifie que la tâche création DI a bien été mis à jour avec l'identifiant du dossier
1823     Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle}
1824     Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY}
1825     Select From List By Label css=div#adv-search-adv-fields select#type Création demande
1826     Select From List By Label css=div#adv-search-adv-fields select#state terminé
1827    
1828     Click On Search Button
1829     Element Should Not Contain css=.tab-data Aucun enregistrement.
1830    
1831    
1832     Reset Params - Vérification du traitement de la tâche création DI
1833     Depuis la page d'accueil admin admin
1834    
1835     ${task_values} = Create Dictionary
1836     ... type=modification_DI
1837     ... dossier=${dossier_libelle}
1838     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1839    
1840     ${task_values} = Create Dictionary
1841     ... type=depot_DI
1842     ... dossier=${dossier_libelle}
1843     Depuis le contexte d'une task à partir de la recherche avancée ${task_values}
1844    
1845     &{param_division} = Create Dictionary
1846     ... libelle=option_afficher_division
1847     ... valeur=false
1848     ... om_collectivite=agglo
1849     Gerer le paramètre par WS ${param_division}
1850    
1851     # Désactive option_dossier_commune
1852     &{param_dossier_commune} = Create Dictionary
1853     ... libelle=option_dossier_commune
1854     ... valeur=false
1855     ... om_collectivite=agglo
1856     Gerer le paramètre par WS ${param_dossier_commune}
1857    
1858    
1859     Vérification du traitement de la tâche message
1860     [Documentation] Vérifie que le traitement de la tâche message entraine bien
1861     ... la création d'un message avec toutes les informations nécessaires issues du json
1862     ... payload
1863    
1864     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
1865     &{param_division} = Create Dictionary
1866     ... libelle=option_afficher_division
1867     ... valeur=true
1868     ... om_collectivite=agglo
1869     Gerer le paramètre par WS ${param_division}
1870    
1871     &{param_saisie_complete} = Create Dictionary
1872     ... libelle=option_dossier_saisie_numero_complet
1873     ... valeur=false
1874     ... om_collectivite=agglo
1875     Gerer le paramètre par WS ${param_saisie_complete}
1876    
1877     # Active le mode service consulté
1878     &{param_division} = Create Dictionary
1879     ... libelle=option_mode_service_consulte
1880     ... valeur=false
1881     ... om_collectivite=agglo
1882     Gerer le paramètre par WS ${param_division}
1883    
1884     # isole le contexte du test (création d'une collectivité)
1885     &{librecom_multi_1_values} = Create Dictionary
1886     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
1887     ... departement=018
1888     ... commune=100
1889     ... insee=18100
1890     ... direction_code=ABC
1891     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
1892     ... direction_chef=Chef
1893     ... division_code=ABC
1894     ... division_libelle=Division ABC
1895     ... division_chef=Chef
1896     ... guichet_om_utilisateur_nom=Jacquenett Perrault
1897     ... [email protected]
1898     ... guichet_om_utilisateur_login=jperrault
1899     ... guichet_om_utilisateur_pwd=jperrault
1900     ... instr_om_utilisateur_nom=Solaine Grimard
1901     ... [email protected]
1902     ... instr_om_utilisateur_login=sgrimard
1903     ... instr_om_utilisateur_pwd=sgrimard
1904     ... code_entite=LBCOM_23
1905     ... acteur=LIBRECOM-ACT-023
1906     Isolation d'un contexte ${librecom_multi_1_values}
1907    
1908    
1909     # ajouter le paramètre 'acteur' à la collectivité/au service
1910     Ajouter le paramètre depuis le menu platau_acteur_service_instructeur
1911     ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]}
1912    
1913     # En tant qu'admin
1914     Depuis la page d'accueil admin admin
1915    
1916     # Ajoute d'une tâche de création de DI
1917     # Récupère l'identifiant de la collectivité LIBRECOM_WS
1918     Depuis le contexte de la collectivité ${librecom_multi_1_values["om_collectivite_libelle"]}
1919     ${librecom_ws_id} = Get Text css=#om_collectivite
1920    
1921     # Récupère le template de payload JSON et le transforme en dictionnaire
1922     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
1923     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-FFF-00
1924     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX FFF-000-00
1925     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]}
1926     ${json_payload} = Replace String ${json_payload} 00009 00030P0
1927     ${json_payload} = Replace String ${json_payload} "om_collectivite": "3" "om_collectivite": "${librecom_ws_id}"
1928     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]}
1929     ${payload_dict} = To Json ${json_payload}
1930     # définir les paramètres de type de demande
1931     &{platau_type_demande_initial} = Create Dictionary
1932     ... libelle=platau_type_demande_initial_DP
1933     ... valeur=DI
1934     ... om_collectivite=agglo
1935     Gerer le paramètre par WS ${platau_type_demande_initial}
1936    
1937     # Active option_dossier_commune
1938     &{param_dossier_commune} = Create Dictionary
1939     ... libelle=option_dossier_commune
1940     ... valeur=true
1941     ... om_collectivite=agglo
1942     Gerer le paramètre par WS ${param_dossier_commune}
1943    
1944     # Ajoute des commune
1945     &{com_values} = Create Dictionary
1946     ... typecom=COM
1947     ... com=18100
1948     ... reg=18
1949     ... dep=18
1950     ... arr=100
1951     ... tncc=0
1952     ... ncc=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
1953     ... nccenr=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
1954     ... libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1
1955     ... can=18
1956     ... comparent=
1957     ... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY}
1958     Ajouter commune avec dates validité ${com_values}
1959     &{com_values} = Create Dictionary
1960     ... typecom=COM
1961     ... com=18100
1962     ... reg=18
1963     ... dep=18
1964     ... arr=100
1965     ... tncc=0
1966     ... ncc=TESTCOM
1967     ... nccenr=TESTCOM
1968     ... libelle=TESTCOM
1969     ... can=18
1970     ... comparent=
1971     ... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY}
1972     Ajouter commune avec dates validité ${com_values}
1973     # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant)
1974     ${task_values} = Create Dictionary
1975     ... type=create_DI
1976     ... json_payload=${json_payload}
1977     Ajouter la tâche par WS ${task_values}
1978    
1979     # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut)
1980     ${msg} = Déclencher le traitement des tâches par WS
1981    
1982     # Récupère le payload de message
1983     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_message_payload.txt
1984     ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-FFF-00
1985     ${payload_dict} = To Json ${json_payload}
1986     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
1987     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
1988     ${task_values} = Create Dictionary
1989     ... type=create_message
1990     ... json_payload=${json_payload}
1991     ${task_id} = Ajouter la tâche par WS ${task_values}
1992    
1993     # ajout manuellement les éléments qui ont du être défini par défaut
1994     Set To Dictionary ${task_values} task=${task_id}
1995     Set To Dictionary ${task_values} state=new
1996     Set To Dictionary ${task_values} stream=input
1997    
1998     ${msg} = Déclencher le traitement des tâches par WS
1999    
2000     Depuis la page d'accueil sgrimard sgrimard
2001     # Récupération du libellé du dossier
2002     Depuis le listing dossier_instruction
2003     Click Link ${librecom_multi_1_values["om_collectivite_libelle"]}
2004     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
2005     ${dossier_libelle} = Get Text css=#dossier_libelle
2006    
2007     # Vérifie que le message a bien été créé
2008     Depuis l'onglet des messages du dossier d'instruction ${dossier_libelle}
2009     Click Link Incomplétude|complétude
2010     Wait Until Element Is Visible css=div#sousform-dossier_message span#contenu
2011    
2012     Element Should Contain css=div#sousform-dossier_message span#contenu Le dossier a été déclaré complet|incomplet par la collectivité
2013     Element Should Contain css=div#sousform-dossier_message span#categorie platau
2014    
2015     # On ajoute un second message totalement identique pour vérifier que la gestion des doublons ne
2016     # s'applique pas au message créée par tâche
2017     ${task_values} = Create Dictionary
2018     ... type=create_message
2019     ... json_payload=${json_payload}
2020     ${task_id} = Ajouter la tâche par WS ${task_values}
2021     Set To Dictionary ${task_values} task=${task_id}
2022     Set To Dictionary ${task_values} state=new
2023     Set To Dictionary ${task_values} stream=input
2024     ${msg} = Déclencher le traitement des tâches par WS
2025     Depuis la page d'accueil sgrimard sgrimard
2026     Depuis l'onglet des messages du dossier d'instruction ${dossier_libelle}
2027     Page Should Contain Element //*[contains(text(), "Incomplétude|complétude")] limit=2
2028    
2029    
2030     Reset Params - Vérification du traitement de la tâche message
2031     # Réinitialisation des paramètres
2032     &{param_division} = Create Dictionary
2033     ... libelle=option_afficher_division
2034     ... valeur=false
2035     ... om_collectivite=agglo
2036     Gerer le paramètre par WS ${param_division}
2037    
2038     # Désactive option_dossier_commune
2039     &{param_dossier_commune} = Create Dictionary
2040     ... libelle=option_dossier_commune
2041     ... valeur=false
2042     ... om_collectivite=agglo
2043     Gerer le paramètre par WS ${param_dossier_commune}
2044    
2045    
2046     Vérification du flux contrôle de légalité
2047     [Documentation] Permet de vérifier le bon fonctionnement de l'action envoyer
2048     ... au contrôle de légalité qui crée une nouvelle tâche Envoi contrôle de légalité
2049    
2050     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2051     &{param_division} = Create Dictionary
2052     ... libelle=option_afficher_division
2053     ... valeur=true
2054     ... om_collectivite=agglo
2055     Gerer le paramètre par WS ${param_division}
2056    
2057     # desactiver l'option dossier_commune et la saisie complète des numéros
2058     &{param_dossier_commune} = Create Dictionary
2059     ... libelle=option_dossier_commune
2060     ... valeur=false
2061     ... om_collectivite=agglo
2062     Gerer le paramètre par WS ${param_dossier_commune}
2063     &{param_saisie_complete} = Create Dictionary
2064     ... libelle=option_dossier_saisie_numero_complet
2065     ... valeur=false
2066     ... om_collectivite=agglo
2067     Gerer le paramètre par WS ${param_saisie_complete}
2068    
2069     # définir les paramètres de type de demande
2070     &{platau_type_demande_initial} = Create Dictionary
2071     ... libelle=platau_type_demande_initial_DP
2072     ... valeur=DI
2073     ... om_collectivite=agglo
2074     Gerer le paramètre par WS ${platau_type_demande_initial}
2075    
2076     # En tant qu'admin
2077     Depuis la page d'accueil admin admin
2078    
2079     # Modification de l'événement pour transmission au CL par Plat'AU
2080     &{args_evenement} = Create Dictionary
2081     ... libelle=accepter un dossier sans réserve
2082     ... envoi_cl_platau=true
2083     Modifier l'événement ${args_evenement}
2084    
2085     &{args_evenement} = Create Dictionary
2086     ... libelle=accord tacite (sans arrete)
2087     ... envoi_cl_platau=true
2088     Modifier l'événement ${args_evenement}
2089    
2090     # isole le contexte du test (création d'une collectivité)
2091     &{librecom_values} = Create Dictionary
2092     ... om_collectivite_libelle=LIBRECOM_CONTROLE_LEGALITE
2093     ... departement=025
2094     ... commune=160
2095     ... insee=25160
2096     ... direction_code=GM
2097     ... direction_libelle=Direction de LIBRECOM_CONTROLE_LEGALITE
2098     ... direction_chef=Chef
2099     ... division_code=GM
2100     ... division_libelle=Division GM
2101     ... division_chef=Chef
2102     ... guichet_om_utilisateur_nom=Shalil Dibran
2103     ... [email protected]
2104     ... guichet_om_utilisateur_login=sdibran
2105     ... guichet_om_utilisateur_pwd=sdibran
2106     ... instr_om_utilisateur_nom=Uomir Sambu
2107     ... [email protected]
2108     ... instr_om_utilisateur_login=usambu
2109     ... instr_om_utilisateur_pwd=usambu
2110     ... code_entite=LBCOM_25
2111     ... acteur=LIBRECOM-ACT-025
2112     Isolation d'un contexte ${librecom_values}
2113    
2114     # Prépare le dossiers d'instruction
2115     &{args_dossier} = Create Dictionary
2116     ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE
2117     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2118     ... demande_type=Dépôt Initial
2119     ... terrain_adresse_localite=TEST300controlelegalite
2120     ... depot_electronique=true
2121     &{args_petitionnaire1} = Create Dictionary
2122     ... qualite=particulier
2123     ... particulier_nom=TEST300TASKNOMCONTROLELEGALITE
2124     ... particulier_prenom=TEST300TASKPRENOMCONTROLELEGALITE
2125     ... localite=TEST300Localite
2126     ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE
2127     ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
2128     ${di_se} = Sans espace ${di}
2129     ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY}
2130    
2131     &{donnees_techniques_values} = Create Dictionary
2132     ... enga_decla_lieu=TEST300engadelalieu
2133     ... enga_decla_date=${date_ddmmyyyy}
2134     Saisir les données techniques du DI ${di} ${donnees_techniques_values}
2135    
2136     Ajouter une instruction au DI et la finaliser ${di} accepter un dossier sans réserve
2137    
2138     Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite
2139    
2140     &{args_date} = Create Dictionary
2141     ... date_retour_signature=${date_ddmmyyyy}
2142     Modifier le suivi des dates ${di} accepter un dossier sans réserve ${args_date}
2143    
2144     # Tant qu'on n'a pas envoyé au cl, le champ envoi au controle de légalité est modifiable
2145     Click On SubForm Portlet Action instruction modifier_suivi
2146     Element Should Not Be Visible css=#date_envoi_controle_legalite[disabled="disabled"]
2147     Element Should Be Visible css=#date_envoi_controle_legalite
2148     Click On Back Button In Subform
2149    
2150     Element Should Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite
2151    
2152     Click On SubForm Portlet Action instruction envoyer_au_controle_de_legalite modale
2153     Cliquer sur le bouton de la fenêtre modale Confirmer
2154     Valid Message Should Contain In Subform Votre demande de transfert au contrôle de légalité à bien été prise en compte.
2155     Form Static Value Should Be css=#date_envoi_controle_legalite ${EMPTY}
2156     Portlet Action Should Not Be In SubForm instruction envoyer_au_controle_de_legalite
2157     Click On SubForm Portlet Action instruction modifier_suivi
2158     Element Should Be Visible css=#date_envoi_controle_legalite[disabled="disabled"]
2159    
2160     Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
2161     ${id_instruction} = Get Value css=.form-content input#instruction
2162     Form Value Should Contain css=#date_envoi_controle_legalite En cours de traitement.
2163    
2164     # Vérification status des tâches, il faut qu'elles soient en brouillon
2165     &{task_values} = Create Dictionary
2166     ... type=envoi_CL
2167     ... dossier=${di_se}
2168     ... state=new
2169     ... object_id=${id_instruction}
2170     ... link_dossier=${di_se}
2171     ... stream=output
2172     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2173     Vérifier que la tâche à une payload fonctionnelle ${task_values}
2174     ${task_id} = Get Text css=#task
2175     &{task_values_modif} = Create Dictionary
2176     ... state=terminé
2177     Modifier la task ${task_id} ${task_values_modif}
2178     La page ne doit pas contenir d'erreur
2179    
2180     Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
2181     Form Static Value Should Be css=#date_envoi_controle_legalite ${date_ddmmyyyy}
2182    
2183     Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve
2184     Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite
2185    
2186     # Prépare le dossiers d'instruction
2187     &{args_dossier} = Create Dictionary
2188     ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE
2189     ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
2190     ... demande_type=Dépôt Initial
2191     ... terrain_adresse_localite=TEST300controlelegalitesansarrete
2192     ... depot_electronique=true
2193     &{args_petitionnaire1} = Create Dictionary
2194     ... qualite=particulier
2195     ... particulier_nom=TEST300TASKNOMCONTROLELEGALITESANSARRETE
2196     ... particulier_prenom=TEST300TASKPRENOMCONTROLELEGALITESANSARRETE
2197     ... localite=TEST300Localite
2198     ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE
2199     ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1}
2200     ${di_se} = Sans espace ${di}
2201     ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY}
2202    
2203     &{donnees_techniques_values} = Create Dictionary
2204     ... enga_decla_lieu=TEST300engadelalieu
2205     ... enga_decla_date=${date_ddmmyyyy}
2206     Saisir les données techniques du DI ${di} ${donnees_techniques_values}
2207    
2208     Ajouter une instruction au DI ${di} accord tacite (sans arrete)
2209     Click On Link accord tacite (sans arrete)
2210     Click On SubForm Portlet Action instruction envoyer_au_controle_de_legalite modale
2211     Cliquer sur le bouton de la fenêtre modale Confirmer
2212     Valid Message Should Contain In Subform Votre demande de transfert au contrôle de légalité à bien été prise en compte.
2213     Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite
2214     ${id_instruction_sans_arrete} = Get Value css=.form-content input#instruction
2215     Form Value Should Contain css=#date_envoi_controle_legalite En cours de traitement.
2216    
2217     # Vérification status des tâches, il faut qu'elles soient en brouillon
2218     &{task_values} = Create Dictionary
2219     ... type=envoi_CL
2220     ... dossier=${di_se}
2221     ... state=new
2222     ... object_id=${id_instruction_sans_arrete}
2223     ... link_dossier=${di_se}
2224     ... stream=output
2225     Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}
2226     Vérifier que la tâche à une payload fonctionnelle ${task_values}
2227     ${task_id} = Get Text css=#task
2228     &{task_values_modif} = Create Dictionary
2229     ... state=terminé
2230     Modifier la task ${task_id} ${task_values_modif}
2231     La page ne doit pas contenir d'erreur
2232    
2233     Depuis l'instruction du dossier d'instruction ${di} accord tacite (sans arrete)
2234     Form Static Value Should Be css=#date_envoi_controle_legalite ${date_ddmmyyyy}
2235     Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite
2236    
2237     Reset Params - Vérification du flux contrôle de légalité
2238     # Réinitialisation des paramètres
2239     &{param_division} = Create Dictionary
2240     ... libelle=option_afficher_division
2241     ... valeur=false
2242     ... om_collectivite=agglo
2243     Gerer le paramètre par WS ${param_division}
2244    
2245     Depuis la page d'accueil admin admin
2246     &{args_evenement} = Create Dictionary
2247     ... libelle=accepter un dossier sans réserve
2248     ... envoi_cl_platau=false
2249     Modifier l'événement ${args_evenement}
2250    
2251    
2252     Vérification de l'ajout d'un dossier d'instruction depuis Plat'AU + vérification d'un dépôt sur dossier existant
2253     [Documentation] Vérifie la création de dossier avec une tâche issue de Plat'AU.
2254     ... Dans ce contexte il ne doit pas y avoir de task de création de DA, ni de création de DI.
2255     ... Vérifie également le dépôt d'une demande sur dossier existant, qui ne créée pas de dossier.
2256    
2257     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2258     &{param_division} = Create Dictionary
2259     ... libelle=option_afficher_division
2260     ... valeur=true
2261     ... om_collectivite=agglo
2262     Gerer le paramètre par WS ${param_division}
2263     &{param_saisie_complete} = Create Dictionary
2264     ... libelle=option_dossier_saisie_numero_complet
2265     ... valeur=false
2266     ... om_collectivite=agglo
2267     Gerer le paramètre par WS ${param_saisie_complete}
2268     &{param_mode_sc} = Create Dictionary
2269     ... libelle=option_mode_service_consulte
2270     ... valeur=false
2271     ... om_collectivite=agglo
2272     Gerer le paramètre par WS ${param_mode_sc}
2273     &{param_dossier_commune} = Create Dictionary
2274     ... libelle=option_dossier_commune
2275     ... valeur=false
2276     ... om_collectivite=agglo
2277     Gerer le paramètre par WS ${param_dossier_commune}
2278     &{param_saisie_complete} = Create Dictionary
2279     ... libelle=option_dossier_saisie_numero_complet
2280     ... valeur=false
2281     ... om_collectivite=agglo
2282     Gerer le paramètre par WS ${param_saisie_complete}
2283    
2284     # Isole le contexte du test (création d'une collectivité)
2285     &{librecom_values} = Create Dictionary
2286     ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_PLATAU
2287     ... departement=030
2288     ... commune=111
2289     ... insee=30111
2290     ... direction_code=STI
2291     ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_PLATAU
2292     ... direction_chef=Chef
2293     ... division_code=STI
2294     ... division_libelle=Division STI
2295     ... division_chef=Chef
2296     ... guichet_om_utilisateur_nom=Agnès Leroux
2297     ... [email protected]
2298     ... guichet_om_utilisateur_login=aleroux
2299     ... guichet_om_utilisateur_pwd=aleroux
2300     ... instr_om_utilisateur_nom=Nathalie Beaulé
2301     ... [email protected]
2302     ... instr_om_utilisateur_login=nbeaule
2303     ... instr_om_utilisateur_pwd=nbeaule
2304     ... code_entite=LBCOM_30
2305     ... acteur=LIBRECOM-ACT-030
2306     Isolation d'un contexte ${librecom_values}
2307     Set Suite Variable ${librecom_values}
2308    
2309     # ajouter le paramètre 'acteur' à la collectivité/au service
2310     &{platau_acteur_service_instructeur} = Create Dictionary
2311     ... libelle=platau_acteur_service_instructeur
2312     ... valeur=${librecom_values["acteur"]}
2313     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
2314     Gerer le paramètre par WS ${platau_acteur_service_instructeur}
2315    
2316     ##
2317     ## Vérification de l'ajout d'un dossier d'instruction depuis Plat'AU
2318     ##
2319    
2320     # Récupère le payload de création DI
2321     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt
2322     ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 123-DDD-12
2323     ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX DDD-123-12
2324     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2325     ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_values["acteur"]}
2326     ${payload_dict} = To Json ${json_payload}
2327     # définir les paramètres de type de demande
2328     &{platau_type_demande_initial} = Create Dictionary
2329     ... libelle=platau_type_demande_initial_DP
2330     ... valeur=DI
2331     ... om_collectivite=agglo
2332     Gerer le paramètre par WS ${platau_type_demande_initial}
2333     # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache
2334     # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation
2335     ${task_values} = Create Dictionary
2336     ... type=create_DI
2337     ... json_payload=${json_payload}
2338     ... category=platau
2339     Ajouter la tâche par WS ${task_values}
2340    
2341     ${msg} = Déclencher le traitement des tâches par WS
2342    
2343     # En tant qu'admin
2344     Depuis la page d'accueil admin admin
2345    
2346     &{seach_di_values} = Create Dictionary
2347     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
2348     Depuis le contexte du dossier d'instruction par la recherche avance ${seach_di_values} ${librecom_values["om_collectivite_libelle"]}
2349     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
2350     ${dossier_libelle} = Get Text css=#dossier_libelle
2351     ${di} = Sans espace ${dossier_libelle}
2352    
2353     Depuis le menu Moniteur Plat'AU
2354    
2355     # On vérifie qu'il n'y ait pas de tâche Création demande
2356     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande
2357     Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande
2358     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di}
2359     Run Keyword If ${passed}==False Click On Search Button
2360     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
2361    
2362     # On vérifie qu'il n'y ait pas de tâche Création DA
2363     ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA
2364     Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA
2365     Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di}
2366     Run Keyword If ${passed}==False Click On Search Button
2367     Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement.
2368    
2369     ##
2370     ## Vérification d'un dépôt sur dossier existant.
2371     ## L'objectif est de vérifier l'ajout d'une demande sur existant et de vérifier également
2372     ## que dans le cas de plusieurs types de demande similaire, l'état du dossier initial
2373     ## est correctement pris en compte.
2374     ##
2375    
2376     # Création des événements de DPC
2377     &{args_evenement_01} = Create Dictionary
2378     ... libelle=Dépôt de pièces complémentaire 01 TEST300VERIFDEPOTEXISTS
2379     Ajouter l'événement depuis le menu ${args_evenement_01}
2380     &{args_evenement_02} = Create Dictionary
2381     ... libelle=Dépôt de pièces complémentaire 02 TEST300VERIFDEPOTEXISTS
2382     Ajouter l'événement depuis le menu ${args_evenement_02}
2383    
2384     # Création de deux types de dépôt sur existant partageant le même code mais ne s'appliquant
2385     # pas sur le même état
2386     @{etats_autorises} = Create List
2387     ... delai de notification envoye
2388     &{args_demande_type_01} = Create Dictionary
2389     ... code=DPC
2390     ... libelle=Dépot de pièces complémentaire DP 01 TEST300VERIFDEPOTEXISTS
2391     ... groupe=Autorisation ADS
2392     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2393     ... demande_nature=Dossier existant
2394     ... etats_autorises=@{etats_autorises}
2395     ... contraintes=Récupération des demandeurs avec modification et ajout
2396     ... evenement=${args_evenement_01.libelle}
2397     Ajouter un nouveau type de demande depuis le menu ${args_demande_type_01}
2398     @{etats_autorises} = Create List
2399     ... dossier incomplet
2400     &{args_demande_type_02} = Create Dictionary
2401     ... code=DPC
2402     ... libelle=Dépot de pièces complémentaire DP 02 TEST300VERIFDEPOTEXISTS
2403     ... groupe=Autorisation ADS
2404     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2405     ... demande_nature=Dossier existant
2406     ... etats_autorises=@{etats_autorises}
2407     ... contraintes=Récupération des demandeurs avec modification et ajout
2408     ... evenement=${args_evenement_02.libelle}
2409     Ajouter un nouveau type de demande depuis le menu ${args_demande_type_02}
2410     # définir les paramètres de type de demande
2411     &{platau_type_demande_dpc} = Create Dictionary
2412     ... libelle=platau_type_demande_dpc_DP
2413     ... valeur=DPC
2414     ... om_collectivite=agglo
2415     Gerer le paramètre par WS ${platau_type_demande_dpc}
2416    
2417     # Récupère le payload de création DI sur exisant (dépôt de pièce complémentaire)
2418     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2419     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2420     ${json_payload} = Replace String ${json_payload} XXX ${di}
2421     ${payload_dict} = To Json ${json_payload}
2422     ${task_values} = Create Dictionary
2423     ... type=create_DI
2424     ... json_payload=${json_payload}
2425     ... category=portal
2426     Ajouter la tâche par WS ${task_values}
2427     ${msg} = Déclencher le traitement des tâches par WS
2428    
2429     # Vérifie que l'instruction s'est correctement appliqué au dossier d'instruction
2430     # et que le bon type de demande a été sélectionné
2431     Depuis l'onglet instruction du dossier d'instruction ${dossier_libelle}
2432     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-tab ${args_evenement_01.libelle}
2433     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=.tab-tab ${args_evenement_02.libelle}
2434    
2435     # Ajoute une instruction pour modifier l'état du dossier d'insturction
2436     Ajouter une instruction au DI ${dossier_libelle} Notification de pieces manquante
2437    
2438     # Réapplique la demande sur existant
2439     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2440     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2441     ${json_payload} = Replace String ${json_payload} XXX ${di}
2442     ${payload_dict} = To Json ${json_payload}
2443     ${task_values} = Create Dictionary
2444     ... type=create_DI
2445     ... json_payload=${json_payload}
2446     ... category=portal
2447     Ajouter la tâche par WS ${task_values}
2448     ${msg} = Déclencher le traitement des tâches par WS
2449    
2450     # Vérifie que l'instruction s'est correctement appliqué au dossier d'instruction
2451     # et que le bon type de demande a été sélectionné
2452     Depuis l'onglet instruction du dossier d'instruction ${dossier_libelle}
2453     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-tab ${args_evenement_02.libelle}
2454    
2455     ##
2456     ## Vérification d'un dépôt sur dossier existant.
2457     ## L'objectif est de vérifier l'ajout d'une demande sur existant qui ajoute une dossier d'instruction
2458     ## et de vérifier la gestion des contraintes de récupération des demandeurs.
2459     ##
2460    
2461     # Active l'option pour afficher le menu task_portal
2462     &{param_args} = Create Dictionary
2463     ... libelle=option_notification
2464     ... valeur=portal
2465     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
2466     Gerer le paramètre par WS ${param_args}
2467    
2468     # Ajout d'un modificatif sur l'autorisation avec une contrainte de récupération
2469     # des demandeurs "Récupération des demandeurs avec modification et ajout"
2470     # Ajout d'un événement permettant de reprendre l'instruction du dossier initial
2471     &{args_action} = Create Dictionary
2472     ... action=changer_etat_300
2473     ... libelle=changer_etat_300
2474     ... regle_etat=etat
2475     Ajouter l'action depuis le menu ${args_action}
2476     @{etat_source} = Create List dossier incomplet
2477     @{type_di} = Create List DP - P - Initiale
2478     &{args_evenement} = Create Dictionary
2479     ... libelle=Reprendre instruction 300
2480     ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source}
2481     ... dossier_instruction_type=${type_di}
2482     ... action=${args_action.libelle}
2483     ... etat=delai de notification envoye
2484     Ajouter l'événement depuis le menu ${args_evenement}
2485     Ajouter une instruction au DI ${dossier_libelle} ${args_evenement.libelle}
2486     Ajouter une instruction au DI ${dossier_libelle} accepter un dossier avec reserve
2487     # Création du type de demande
2488     @{etats_autorises} = Create List
2489     ... dossier accepter
2490     &{args_demande_type} = Create Dictionary
2491     ... code=DPM
2492     ... libelle=Modificatif DP TEST300VERIFDEPOTEXISTS
2493     ... groupe=Autorisation ADS
2494     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2495     ... demande_nature=Dossier existant
2496     ... etats_autorises=@{etats_autorises}
2497     ... contraintes=Récupération des demandeurs avec modification et ajout
2498     ... evenement=Notification du delai legal maison individuelle
2499     ... dossier_instruction_type=DP - Modificatif
2500     Ajouter un nouveau type de demande depuis le menu ${args_demande_type}
2501     # Défini les paramètres de type de demande
2502     &{platau_type_demande} = Create Dictionary
2503     ... libelle=platau_type_demande_DPM_DP
2504     ... valeur=DPM
2505     ... om_collectivite=agglo
2506     Gerer le paramètre par WS ${platau_type_demande}
2507     # Traitement de la tâche
2508     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2509     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2510     ${json_payload} = Replace String ${json_payload} XXX ${di}
2511     ${json_payload} = Replace String ${json_payload} dpc DPM
2512     ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPM/11
2513     ${json_payload} = Replace String ${json_payload} Perry FRANCOEUR
2514     ${payload_dict} = To Json ${json_payload}
2515     ${task_values} = Create Dictionary
2516     ... type=create_DI
2517     ... json_payload=${json_payload}
2518     ... category=portal
2519     ${task_id} = Ajouter la tâche par WS ${task_values}
2520     ${msg} = Déclencher le traitement des tâches par WS
2521     Depuis le contexte de la task ${task_id} IDE'AU
2522     ${dossier} = Get Text css=#object_id
2523     # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction
2524     Depuis le contexte du dossier d'instruction ${dossier} null false
2525     ${dossier} = Get Text css=#dossier_libelle
2526     Open Fieldset dossier_instruction localisation
2527     Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir
2528     Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance
2529     Open Fieldset dossier_instruction demandeur
2530     Element Should Not Contain liste_demandeur Perry Katy
2531     Element Should Contain liste_demandeur FRANCOEUR Katy
2532     Element Should Contain liste_demandeur Bloom Orlando
2533     Element Should Contain liste_demandeur LAGRANGE Marcel
2534     Element Should Contain liste_demandeur Dupré Michel
2535     Element Should Contain liste_demandeur Perry Plop
2536     Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve
2537    
2538     #
2539     # Ajout d'un code de suivi portail au dossier d'instruction
2540     #
2541    
2542     # Ajout du lien pour les suivis de demande
2543     &{param_args} = Create Dictionary
2544     ... libelle=portal_code_suivi_base_url
2545     ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load
2546     ... om_collectivite=agglo
2547     Gerer le paramètre par WS ${param_args}
2548    
2549     # Utilisation de l'action 997 pour ajouter le code de suivi
2550     &{data} = Create Dictionary
2551     ... external_uid=code-suivi://TEST300CODESUIVIPORTAL
2552     ${COOKIE} = Get Cookie ${SESSION_COOKIE}
2553     ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value}
2554     ${session} = Set Variable ${PROJECT_NAME}_web_ihm
2555     Create Session ${session} ${PROJECT_URL} cookies=${cookies}
2556     ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded
2557     ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers}
2558     # Vérification du lien
2559     Depuis le contexte du dossier d'instruction ${dossier}
2560     Open All Fieldset Using Javascript dossier_instruction
2561     Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL
2562    
2563     # Ajout de plusieurs codes de suivi
2564     &{data} = Create Dictionary
2565     ... external_uid=code-suivi://TEST300CODESUIVIPORTAL2
2566     ${COOKIE} = Get Cookie ${SESSION_COOKIE}
2567     ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value}
2568     ${session} = Set Variable ${PROJECT_NAME}_web_ihm
2569     Create Session ${session} ${PROJECT_URL} cookies=${cookies}
2570     ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded
2571     ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers}
2572     &{data} = Create Dictionary
2573     ... external_uid=code-suivi://TEST300CODESUIVIPORTAL3
2574     ${COOKIE} = Get Cookie ${SESSION_COOKIE}
2575     ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value}
2576     ${session} = Set Variable ${PROJECT_NAME}_web_ihm
2577     Create Session ${session} ${PROJECT_URL} cookies=${cookies}
2578     ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded
2579     ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers}
2580     # Vérification des liens
2581     Depuis le contexte du dossier d'instruction ${dossier}
2582     Open All Fieldset Using Javascript dossier_instruction
2583     Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL
2584     Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL2
2585     Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL3
2586    
2587     # Suppression du lien pour les suivis de demande
2588     &{param_args} = Create Dictionary
2589     ... delete=true
2590     ... libelle=portal_code_suivi_base_url
2591     ... om_collectivite=agglo
2592     Gerer le paramètre par WS ${param_args}
2593    
2594     # Ajout d'une DAACT sur l'autorisation avec une contrainte de récupération
2595     # des demandeurs "Récupération des demandeurs sans modification ni ajout"
2596    
2597     # Création du type de demande
2598     @{etats_autorises} = Create List
2599     ... dossier accepter
2600     &{args_demande_type} = Create Dictionary
2601     ... code=DPDAACT
2602     ... libelle=DAACT DP TEST300VERIFDEPOTEXISTS
2603     ... groupe=Autorisation ADS
2604     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2605     ... demande_nature=Dossier existant
2606     ... etats_autorises=@{etats_autorises}
2607     ... contraintes=Récupération des demandeurs sans modification ni ajout
2608     ... evenement=Notification du delai legal maison individuelle
2609     ... dossier_instruction_type=DP - Achèvement et conformité
2610     Ajouter un nouveau type de demande depuis le menu ${args_demande_type}
2611     # Défini les paramètres de type de demande
2612     &{platau_type_demande} = Create Dictionary
2613     ... libelle=platau_type_demande_DPDAACT_DP
2614     ... valeur=DPDAACT
2615     ... om_collectivite=agglo
2616     Gerer le paramètre par WS ${platau_type_demande}
2617     # Traitement de la tâche
2618     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2619     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2620     ${json_payload} = Replace String ${json_payload} XXX ${di}
2621     ${json_payload} = Replace String ${json_payload} dpc DPDAACT
2622     ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPDAACT/22
2623     ${json_payload} = Replace String ${json_payload} Perry MAHEU
2624     ${json_payload} = Replace String ${json_payload} LAGRANGE GADBOIS
2625     ${payload_dict} = To Json ${json_payload}
2626     ${task_values} = Create Dictionary
2627     ... type=create_DI
2628     ... json_payload=${json_payload}
2629     ... category=portal
2630     ${task_id} = Ajouter la tâche par WS ${task_values}
2631     ${msg} = Déclencher le traitement des tâches par WS
2632     Depuis le contexte de la task ${task_id} IDE'AU
2633     ${dossier} = Get Text css=#object_id
2634     # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction
2635     Depuis le contexte du dossier d'instruction ${dossier} null false
2636     ${dossier} = Get Text css=#dossier_libelle
2637     Open Fieldset dossier_instruction localisation
2638     Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir
2639     Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance
2640     Open Fieldset dossier_instruction demandeur
2641     Element Should Not Contain liste_demandeur MAHEU Katy
2642     Element Should Not Contain liste_demandeur GADBOIS Marcel
2643     Element Should Contain liste_demandeur FRANCOEUR Katy
2644     Element Should Contain liste_demandeur Bloom Orlando
2645     Element Should Contain liste_demandeur LAGRANGE Marcel
2646     Element Should Contain liste_demandeur Dupré Michel
2647     Element Should Contain liste_demandeur Perry Plop
2648     Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve
2649    
2650     # Ajout d'un transfert sur l'autorisation avec une contrainte de récupération
2651     # des demandeurs "Sans récupération des demandeurs"
2652    
2653     # Création du type de demande
2654     @{etats_autorises} = Create List
2655     ... dossier accepter
2656     &{args_demande_type} = Create Dictionary
2657     ... code=DPT
2658     ... libelle=Transfert DP TEST300VERIFDEPOTEXISTS
2659     ... groupe=Autorisation ADS
2660     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2661     ... demande_nature=Dossier existant
2662     ... etats_autorises=@{etats_autorises}
2663     ... contraintes=Sans récupération des demandeurs
2664     ... evenement=Notification du delai legal maison individuelle
2665     ... dossier_instruction_type=DP - Transfert
2666     Ajouter un nouveau type de demande depuis le menu ${args_demande_type}
2667     # Défini les paramètres de type de demande
2668     &{platau_type_demande} = Create Dictionary
2669     ... libelle=platau_type_demande_DPT_DP
2670     ... valeur=DPT
2671     ... om_collectivite=agglo
2672     Gerer le paramètre par WS ${platau_type_demande}
2673     # Traitement de la tâche
2674     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2675     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2676     ${json_payload} = Replace String ${json_payload} XXX ${di}
2677     ${json_payload} = Replace String ${json_payload} dpc DPT
2678     ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPT/33
2679     ${json_payload} = Replace String ${json_payload} Perry SEGUIN
2680     ${json_payload} = Replace String ${json_payload} LAGRANGE DUFRESNE
2681     ${payload_dict} = To Json ${json_payload}
2682     ${task_values} = Create Dictionary
2683     ... type=create_DI
2684     ... json_payload=${json_payload}
2685     ... category=portal
2686     ${task_id} = Ajouter la tâche par WS ${task_values}
2687     ${msg} = Déclencher le traitement des tâches par WS
2688     Depuis le contexte de la task ${task_id} IDE'AU
2689     ${dossier} = Get Text css=#object_id
2690     # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction
2691     Depuis le contexte du dossier d'instruction ${dossier} null false
2692     ${dossier} = Get Text css=#dossier_libelle
2693     Open Fieldset dossier_instruction localisation
2694     Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir
2695     Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance
2696     Open Fieldset dossier_instruction demandeur
2697     Element Should Not Contain liste_demandeur FRANCOEUR Katy
2698     Element Should Not Contain liste_demandeur Bloom Orlando
2699     Element Should Not Contain liste_demandeur LAGRANGE Marcel
2700     Element Should Not Contain liste_demandeur Dupré Michel
2701     Element Should Not Contain liste_demandeur Perry Plop
2702     Element Should Contain liste_demandeur SEGUIN Katy
2703     Element Should Contain liste_demandeur DUFRESNE Marcel
2704     Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve
2705    
2706     # Ajout d'une DOC sur l'autorisation avec une contrainte de récupération
2707     # des demandeurs "Récupération des demandeurs sans modification avec ajout"
2708    
2709     # Création du type de demande
2710     @{etats_autorises} = Create List
2711     ... dossier accepter
2712     &{args_demande_type} = Create Dictionary
2713     ... code=DPDOC
2714     ... libelle=DOC DP TEST300VERIFDEPOTEXISTS
2715     ... groupe=Autorisation ADS
2716     ... dossier_autorisation_type_detaille=DP (Déclaration préalable)
2717     ... demande_nature=Dossier existant
2718     ... etats_autorises=@{etats_autorises}
2719     ... contraintes=Récupération des demandeurs sans modification avec ajout
2720     ... evenement=Notification du delai legal maison individuelle
2721     ... dossier_instruction_type=DP - Ouverture de chantier
2722     Ajouter un nouveau type de demande depuis le menu ${args_demande_type}
2723     # Défini les paramètres de type de demande
2724     &{platau_type_demande} = Create Dictionary
2725     ... libelle=platau_type_demande_DPDOC_DP
2726     ... valeur=DPDOC
2727     ... om_collectivite=agglo
2728     Gerer le paramètre par WS ${platau_type_demande}
2729     # Traitement de la tâche
2730     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt
2731     ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]}
2732     ${json_payload} = Replace String ${json_payload} XXX ${di}
2733     ${json_payload} = Replace String ${json_payload} dpc DPDOC
2734     ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPDOC/44
2735     ${json_payload} = Replace String ${json_payload} Perry PICARD
2736     ${json_payload} = Replace String ${json_payload} LAGRANGE CAMUS
2737     ${payload_dict} = To Json ${json_payload}
2738     ${task_values} = Create Dictionary
2739     ... type=create_DI
2740     ... json_payload=${json_payload}
2741     ... category=portal
2742     ${task_id} = Ajouter la tâche par WS ${task_values}
2743     ${msg} = Déclencher le traitement des tâches par WS
2744     Depuis le contexte de la task ${task_id} IDE'AU
2745     ${dossier} = Get Text css=#object_id
2746     # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction
2747     Depuis le contexte du dossier d'instruction ${dossier} null false
2748     Open Fieldset dossier_instruction localisation
2749     Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir
2750     Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance
2751     Open Fieldset dossier_instruction demandeur
2752     Element Should Contain liste_demandeur SEGUIN Katy
2753     Element Should Contain liste_demandeur DUFRESNE Marcel
2754     Element Should Contain liste_demandeur PICARD Katy
2755     Element Should Contain liste_demandeur CAMUS Marcel
2756    
2757    
2758     Reset params - Vérification de l'ajout et d'un dépôt sur dossier existant
2759     &{param_division} = Create Dictionary
2760     ... libelle=option_afficher_division
2761     ... valeur=false
2762     ... om_collectivite=agglo
2763     Gerer le paramètre par WS ${param_division}
2764    
2765     # Suppression du paramétrage de notification
2766     &{param_args} = Create Dictionary
2767     ... delete=true
2768     ... libelle=option_notification
2769     ... om_collectivite=${librecom_values["om_collectivite_libelle"]}
2770     Gerer le paramètre par WS ${param_args}
2771    
2772    
2773     Vérification de l'ajout de deux consultation Plat'AU sur le même dossier dans le même traitement des tâches
2774     [Documentation] Vérifie la création de dossier avec deux tâches issues de Plat'AU.
2775     ... Dans ce contexte la 2ème tâche ne doit pas se retrouver en brouillon.
2776    
2777     # Permet le même comportement du test qu'il soit exécuté en runone ou runall
2778     &{param_division} = Create Dictionary
2779     ... libelle=option_afficher_division
2780     ... valeur=true
2781     ... om_collectivite=agglo
2782     Gerer le paramètre par WS ${param_division}
2783    
2784     # Passage en mode service consulté (ABF/MC)
2785     &{param_option_mode_service_consulte} = Create Dictionary
2786     ... libelle=option_mode_service_consulte
2787     ... valeur=true
2788     ... om_collectivite=agglo
2789     Gerer le paramètre par WS ${param_option_mode_service_consulte}
2790    
2791     # Suppression du suffixe P0 sur les PCI
2792     &{val_PCI} = Create Dictionary
2793     ... suffixe=false
2794     Modifier type de dossier d'instruction PCI P ${val_PCI}
2795    
2796     # Isole le contexte du test (création d'une collectivité)
2797     &{librecom_1_values} = Create Dictionary
2798     ... om_collectivite_libelle=LIBRECOM_WS_DOUBLE_DI_PLATAU_1
2799     ... departement=060
2800     ... commune=040
2801     ... insee=62040
2802     ... direction_code=TT
2803     ... direction_libelle=Direction de LIBRECOM_WS_DOUBLE_DI_PLATAU_1
2804     ... direction_chef=Chef
2805     ... division_code=TT
2806     ... division_libelle=Division TT
2807     ... division_chef=Chef
2808     ... guichet_om_utilisateur_nom=Agathe Youh
2809     ... [email protected]
2810     ... guichet_om_utilisateur_login=ayouh
2811     ... guichet_om_utilisateur_pwd=ayouh
2812     ... instr_om_utilisateur_nom=Najem Cadamon
2813     ... [email protected]
2814     ... instr_om_utilisateur_login=ncadamon
2815     ... instr_om_utilisateur_pwd=ncadamon
2816     ... code_entite=LBCOM_60
2817     ... acteur=LIBRECOM-ACT-060
2818    
2819     &{librecom_2_values} = Create Dictionary
2820     ... om_collectivite_libelle=LIBRECOM_WS_DOUBLE_DI_PLATAU_2
2821     ... departement=${librecom_1_values.departement}
2822     ... commune=${librecom_1_values.commune}
2823     ... insee=${librecom_1_values.insee}
2824     ... direction_code=UU
2825     ... direction_libelle=Direction de LIBRECOM_WS_DOUBLE_DI_PLATAU_2
2826     ... direction_chef=Chef
2827     ... division_code=UU
2828     ... division_libelle=Division UU
2829     ... division_chef=Chef
2830     ... guichet_om_utilisateur_nom=Zom Doug
2831     ... [email protected]
2832     ... guichet_om_utilisateur_login=zdoug
2833     ... guichet_om_utilisateur_pwd=zdoug
2834     ... instr_om_utilisateur_nom=Gen Hial
2835     ... [email protected]
2836     ... instr_om_utilisateur_login=ghial
2837     ... instr_om_utilisateur_pwd=ghial
2838     ... code_entite=LBCOM_61
2839     ... acteur=LIBRECOM-ACT-061
2840    
2841     # &{commune_1} = Create Dictionary
2842     # ... typecom=COM
2843     # ... com=${librecom_1_values.insee}
2844     # ... reg=16
2845     # ... dep=60
2846     # ... arr=222
2847     # ... ncc=Commune-task-1
2848     # ... nccenr=Commune-task-1
2849     # ... libelle=Commune-task-1
2850     # ${commune_id_1} = Ajouter commune avec dates validité ${commune_1}
2851    
2852     Isolation d'un contexte ${librecom_1_values}
2853     Isolation d'un contexte ${librecom_2_values}
2854    
2855     # &{librecom_1_values_code_entite} = Create Dictionary
2856     # ... libelle=code_entite
2857     # ... valeur=${librecom_1_values.code_entite}
2858     # ... om_collectivite=${librecom_1_values.om_collectivite_libelle}
2859     # Gerer le paramètre par WS ${librecom_1_values_code_entite}
2860     # &{librecom_2_values_code_entite} = Create Dictionary
2861     # ... libelle=code_entite
2862     # ... valeur=${librecom_2_values.code_entite}
2863     # ... om_collectivite=${librecom_2_values.om_collectivite_libelle}
2864     # Gerer le paramètre par WS ${librecom_2_values_code_entite}
2865    
2866     # ajouter le paramètre 'acteur' à la collectivité/au service
2867     &{platau_acteur_service_instructeur} = Create Dictionary
2868     ... libelle=platau_acteur_service_instructeur
2869     ... valeur=${librecom_1_values["acteur"]}
2870     ... om_collectivite=${librecom_1_values["om_collectivite_libelle"]}
2871     Gerer le paramètre par WS ${platau_acteur_service_instructeur}
2872     &{platau_acteur_service_instructeur_2} = Create Dictionary
2873     ... libelle=platau_acteur_service_instructeur
2874     ... valeur=${librecom_2_values["acteur"]}
2875     ... om_collectivite=${librecom_2_values["om_collectivite_libelle"]}
2876     Gerer le paramètre par WS ${platau_acteur_service_instructeur_2}
2877    
2878     # définir les paramètres de type de demande
2879     &{platau_type_demande_initial} = Create Dictionary
2880     ... libelle=platau_type_demande_initial_PCI
2881     ... valeur=DI
2882     ... om_collectivite=agglo
2883     Gerer le paramètre par WS ${platau_type_demande_initial}
2884    
2885     # Rendre les PCI non transmissibles à Plat'AU (en activant uniquement les modificatifs)
2886     &{param_dit_filtre} = Create Dictionary
2887     ... libelle=dit_code__to_transmit__platau
2888     ... valeur=M
2889     ... om_collectivite=agglo
2890     Gerer le paramètre par WS ${param_dit_filtre}
2891    
2892     ##
2893     ## Vérification de l'ajout d'un dossier d'instruction depuis Plat'AU
2894     ##
2895    
2896     # Récupère le payload de création DI
2897     ${di} = Set Variable PC0600402400001
2898     ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_for_consultation_payload_double_1.json
2899     ${json_payload} = Replace String ${json_payload} PC0620402400005 ${di}
2900     ${json_payload} = Replace String ${json_payload} L46-EMJ-5NO ${librecom_1_values["acteur"]}
2901     ${json_payload} = Replace String ${json_payload} L5G-GDW-Q1L EEE-456-13
2902     ${json_payload} = Replace String ${json_payload} LZY-Y76-M6O 13-EEE-456
2903     ${json_payload} = Replace String ${json_payload} 62510 ${librecom_1_values["insee"]}
2904     ${payload_dict} = To Json ${json_payload}
2905     ${task_values} = Create Dictionary
2906     ... type=create_DI_for_consultation
2907     ... json_payload=${json_payload}
2908     ... category=platau
2909     Ajouter la tâche par WS ${task_values}
2910    
2911     # Récupère le payload de création DI
2912     ${json_payload_2} = Get File ${EXECDIR}${/}binary_files${/}create_DI_for_consultation_payload_double_2.json
2913     ${json_payload_2} = Replace String ${json_payload_2} PC0620402400005 ${di}
2914     ${json_payload_2} = Replace String ${json_payload_2} 0K8-P4Z-PWK ${librecom_2_values["acteur"]}
2915     ${json_payload_2} = Replace String ${json_payload_2} L5G-GDW-Q1L EEE-456-13
2916     ${json_payload_2} = Replace String ${json_payload_2} LZY-Y76-M6O 13-EEE-456
2917     ${json_payload_2} = Replace String ${json_payload_2} 62510 ${librecom_2_values["insee"]}
2918     ${payload_dict_2} = To Json ${json_payload_2}
2919     ${task_values_2} = Create Dictionary
2920     ... type=create_DI_for_consultation
2921     ... json_payload=${json_payload_2}
2922     ... category=platau
2923     Ajouter la tâche par WS ${task_values_2}
2924    
2925     ${msg} = Déclencher le traitement des tâches par WS
2926    
2927     # En tant qu'admin
2928     Depuis la page d'accueil admin admin
2929    
2930     #${di_1} = Set Variable PC0600402400001LBCOM_6001
2931     ${di_1} = Set Variable PC0600402400001
2932     &{seach_di_values} = Create Dictionary
2933     ... om_collectivite=${librecom_1_values["om_collectivite_libelle"]}
2934     Depuis le contexte du dossier d'instruction par la recherche avance ${seach_di_values} ${librecom_1_values["om_collectivite_libelle"]}
2935     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
2936     ${dossier_libelle} = Get Text css=#dossier_libelle
2937     ${di_created} = Sans espace ${dossier_libelle}
2938     Should Be Equal ${di_1} ${di_created}
2939    
2940     #${di_2} = Set Variable PC0600402400001LBCOM_6101
2941     ${di_2} = Set Variable PC0600402400002
2942     &{seach_di_2_values} = Create Dictionary
2943     ... om_collectivite=${librecom_2_values["om_collectivite_libelle"]}
2944     Depuis le contexte du dossier d'instruction par la recherche avance ${seach_di_2_values} ${librecom_2_values["om_collectivite_libelle"]}
2945     Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle
2946     ${dossier_libelle_2} = Get Text css=#dossier_libelle
2947     ${di_2_created} = Sans espace ${dossier_libelle_2}
2948     Should Be Equal ${di_2} ${di_2_created}
2949    
2950    
2951     Reset params - Vérification de l'ajout de deux consultation Plat'AU sur le même dossier dans le même traitement des tâches
2952    
2953     &{param_division} = Create Dictionary
2954     ... libelle=option_afficher_division
2955     ... valeur=false
2956     ... om_collectivite=agglo
2957     Gerer le paramètre par WS ${param_division}
2958    
2959     # Sortie du mode service consulté (ABF/MC)
2960     &{param_option_mode_service_consulte} = Create Dictionary
2961     ... libelle=option_mode_service_consulte
2962     ... valeur=false
2963     ... om_collectivite=agglo
2964     Gerer le paramètre par WS ${param_option_mode_service_consulte}
2965    
2966     # Réactivation du suffixe P0 sur les PCI
2967     &{val_PCI} = Create Dictionary
2968     ... suffixe=true
2969     Modifier type de dossier d'instruction PCI P ${val_PCI}
2970    
2971     # Ne plus restreindre les dossiers transmissibles à Plat'AU
2972     &{param} = Create Dictionary
2973     ... libelle=dit_code__to_transmit__platau
2974     ... delete=true
2975     ... om_collectivite=agglo
2976     Gerer le paramètre par WS ${param}
2977    
2978    
2979     Rendre les types de dossier d'autorisation détaillés utilisés non transmissible à Plat'AU
2980     [Documentation] Il est nécessaire de faire cette manipulation pour revenir à un état normal
2981     Depuis la page d'accueil admin admin
2982     &{args_type_DA_detaille_modification} = Create Dictionary
2983     ... dossier_platau=false
2984     Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification}
2985     Modifier type de dossier d'autorisation détaillé DP ${args_type_DA_detaille_modification}
2986    
2987    
2988     Désactivation de l'option 'option_notification_piece_numerisee'
2989     [Documentation] Il est nécessaire de faire cette manipulation pour éviter le
2990     ... FAIL: Element with locator 'dossier_message_id' not found.
2991    
2992     &{om_param} = Create Dictionary
2993     ... libelle=option_notification_piece_numerisee
2994     ... valeur=false
2995     ... om_collectivite=agglo
2996     Gerer le paramètre par WS ${om_param}
2997    

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26