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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26