*** Settings *** Documentation Test de task. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup Run Keywords ... For Suite Setup ... AND Activation des options des task ... AND Activation des platau_type_demande ... AND Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP Suite Teardown Run Keywords ... Desactivation des options des task ... AND Rendre Un Type De Dossier D'autorisation Detailles Non Transmissible A Plat'AU DP ... AND For Suite Teardown *** Test Cases *** Build Variables &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Set Suite Variable ${param_dossier_commune} &{param_numero_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=true ... om_collectivite=agglo Set Suite Variable ${param_numero_complete} 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. [Documentation] Vérifie l'ajout de la tâche via WS et son traitement. ... Vérifie la date de création et la date de dernière modification sur le listing des tasks. # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS ... departement=013 ... commune=095 ... insee=13095 ... direction_code=E ... direction_libelle=Direction de LIBRECOM_WS ... direction_chef=Chef ... division_code=E ... division_libelle=Division E ... division_chef=Chef ... guichet_om_utilisateur_nom=Thom Moht ... guichet_om_utilisateur_email=tmoth@openads-test.fr ... guichet_om_utilisateur_login=tmoth ... guichet_om_utilisateur_pwd=tmoth ... instr_om_utilisateur_nom=Qualdi Idlauq ... instr_om_utilisateur_email=qidlauq@openads-test.fr ... instr_om_utilisateur_login=qidlauq ... instr_om_utilisateur_pwd=qidlauq ... code_entite=LBCOM_13 ... acteur=LIBRECOM-ACT-013 Isolation d'un contexte ${librecom_values} Set Suite Variable ${librecom_values} # Récupère l'identifiant de la collectivité LIBRECOM_WS Depuis le contexte de la collectivité ${librecom_values["om_collectivite_libelle"]} ${librecom_ws_id} = Get Text css=#om_collectivite # récupération de l'identifiant de l'instructeur de la collectivité Depuis le contexte de l'instructeur ${librecom_values["instr_om_utilisateur_nom"]} ${librecom_instr_id} = Get Text css=span#instructeur # Récupère le template de payload JSON et le transforme en dictionnaire ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-01 ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-01 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} "om_collectivite": "2" "om_collectivite": "${librecom_ws_id}" ${json_payload} = Replace String ${json_payload} "instructeur": "1" "instructeur": "${librecom_instr_id}" ${payload_dict} = To Json ${json_payload} # sauvegarde le code d'acteur ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]} Set Suite Variable ${acteur_code} # retire le paramètre 'acteur' de la payload JSON Remove From Dictionary ${payload_dict["external_uids"]} acteur # (re)Converti la payload JSON en string ${json_string}= evaluate json.dumps(${payload_dict}) json # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_string} ${task_id} = Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # # Vérification de la date de création et de la date de dernière modification # sur le moniteur Plat'AU. # ${date} = Convert Date ${DATE_FORMAT_YYYY-MM-DD} result_format=%d/%m/%Y # Utilisation de la recherche avancée sur le listing des tâches &{search_task_values} = Create Dictionary ... task=${task_id} ... creation_date_min=${date} ... creation_date_max=${date} Depuis le listing des tasks à partir de la recherche avancée ${search_task_values} # Vérification de l'existence des colonnes de la date de création et de la # date de dernière modification Element Should Contain css=.tab-tab date de création Element Should Contain css=.tab-tab date de dernière modification # Vérification de la valeur recherchée Element Should Contain css=.tab-tab ${task_id} # Utilisation de la recherche avancée sur le listing des tâches # Utilisation de la recherche avancée sur le listing des tâches &{search_task_values} = Create Dictionary ... task=${task_id} ... creation_date_min=21/04/2022 ... creation_date_max=21/04/2022 Depuis le listing des tasks à partir de la recherche avancée ${search_task_values} # Vérification de la valeur recherchée Element Should Not Contain css=.tab-tab ${task_id} # Utilisation de la recherche avancée sur le listing des tâches &{search_task_values} = Create Dictionary ... task=${task_id} ... last_modification_date_min=${date} ... last_modification_date_max=${date} Depuis le listing des tasks à partir de la recherche avancée ${search_task_values} # Vérification de la valeur recherchée Element Should Contain css=.tab-tab ${task_id} # Utilisation de la recherche avancée sur le listing des tâches &{search_task_values} = Create Dictionary ... task=${task_id} ... last_modification_date_min=21/04/2022 ... last_modification_date_max=21/04/2022 Depuis le listing des tasks à partir de la recherche avancée ${search_task_values} # Vérification de la valeur recherchée Element Should Not Contain css=.tab-tab ${task_id} # Vérification du bon format du timestamp_log &{search_task_values} = Create Dictionary ... task=${task_id} ... creation_date_min=${date} ... creation_date_max=${date} ... last_modification_date_min=${date} ... last_modification_date_max=${date} Depuis le contexte d'une task à partir de la recherche avancée ${search_task_values} Element Should Contain css=#timestamp_log_jsontotab ${DATE_FORMAT_YYYY-MM-DD} Element Should Contain css=#timestamp_log_jsontotab modification_date # Le libellé du DI créé ne correspondra pas au numéro renseigné # car l'option de saisie complète du numéro de dossier n'est pas activée # Il sera créé avec la séquence, débutant au numéro 1 ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]} ... [^ ]{7}$ 00001P0 ${da_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation_libelle"]} ... [^ ]{5}$ 00001 # Idem pour les numéros DI et DA ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]} ... [^ ]{7}$ 00001P0 ${da_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_autorisation"]} ... [^ ]{7}$ 00001P0 # Extraction du libellé du DI dans le message ${di_regex} = Catenate .*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '${di_lib_expected}' .*$ ${di_matches} = Get Regexp Matches ${msg} ${di_regex} ${di_matches_len} = Get Length ${di_matches} Should Be True "${di_matches_len}" > "0" # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_expected} Depuis le contexte du dossier d'autorisation ${da_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected} # Vérifie que les données techniques ont bien été modifiées Depuis le contexte du dossier d'instruction ${di_lib_expected} Click On Form Portlet Action dossier_instruction donnees_techniques modale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm donnees_techniques modifier Open Fieldset In Subform donnees_techniques description-de-la-demande---du-projet Form Static Value Should Be ope_proj_desc Description test dossier parallele BIS # nouvelle itération mais avec la saisie complète des numéros de dossier # activer la complète des numéros de dossiers Set To Dictionary ${param_numero_complete} valeur=true Gerer le paramètre par WS ${param_numero_complete} # modification des externals uids Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-02 Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-02 # (re)Converti la payload JSON en string ${json_string}= evaluate json.dumps(${payload_dict}) json # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_string} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Cette fois-ci aucun changement dans les valeurs du numéro de dossier, ou presque # le numéro n'est pas 'P0' mais 'P00' (je ne sais pas pourquoi) ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]} ... P0$ P00 ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]} # Idem pour les numéros DI et DA ${di_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier"]} ... P0$ P00 ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]} # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '${di_lib_expected}' .*$ ${di_matches} = Get Regexp Matches ${msg} ${di_regex} ${di_matches_len} = Get Length ${di_matches} Should Be True "${di_matches_len}" > "0" # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_expected} Depuis le contexte du dossier d'autorisation ${da_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected} # nouvelle itération mais avec l'option commune et le rattachement via un numéro d'acteur # activer l'option dossier_commune Set To Dictionary ${param_dossier_commune} valeur=true Gerer le paramètre par WS ${param_dossier_commune} Depuis la page d'accueil admin admin #-- ajouter manuellement une commune en saisissant une date de validité dans le passé &{oldcom_values} = Create Dictionary ... typecom=COM ... com=45645 ... reg=45 ... dep=45 ... arr=645 ... tncc=0 ... ncc=LIBRECOM_OLD ... nccenr=LibreCom_old ... libelle=LIBRECOM_OLD ... can=45 ... comparent= ... om_validite_debut=01/11/2020 Ajouter commune avec dates validité ${oldcom_values} Set Suite Variable ${oldcom_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{param_platau_acteur} = Create Dictionary ... libelle=platau_acteur_service_consulte ... valeur=${librecom_values["acteur"]} ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_platau_acteur} # Change le numéro de dossier et le code commune dans la payload JSON ${json_payload} = Replace String ${json_payload} P0 P04 ${json_payload} = Replace String ${json_payload} ... ${librecom_values["insee"]} ${oldcom_values["com"]} ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]} ${payload_dict} = To Json ${json_payload} # retire le paramètre 'om_collectivite' de la payload JSON Remove From Dictionary ${payload_dict["dossier"]} om_collectivite # modification des externals uids Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-03 Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-03 # (re)Converti la payload JSON en string ${json_string}= evaluate json.dumps(${payload_dict}) json # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_string} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Cette fois-ci aucun changement dans les valeurs du numéro de dossier ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]} ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]} ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]} ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]} # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '${di_lib_expected}' .*$ ${di_matches} = Get Regexp Matches ${msg} ${di_regex} ${di_matches_len} = Get Length ${di_matches} Should Be True "${di_matches_len}" > "0" # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_expected} Depuis le contexte du dossier d'autorisation ${da_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected} # nouvelle itération avec le même DA pour être sûr qu'il est réutilisé avec succès Depuis la page d'accueil admin admin # Change le numéro de dossier et le code commune dans la payload JSON ${json_payload} = Replace String ${json_payload} P04 P03 ${payload_dict} = To Json ${json_payload} # retire le paramètre 'om_collectivite' de la payload JSON Remove From Dictionary ${payload_dict["dossier"]} om_collectivite # modification des externals uids Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-04 Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-04 # (re)Converti la payload JSON en string ${json_string}= evaluate json.dumps(${payload_dict}) json # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_string} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Cette fois-ci aucun changement dans les valeurs du numéro de dossier ${di_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_libelle"]} ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]} ${di_expected} = Set Variable ${payload_dict["dossier"]["dossier"]} ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]} # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '${di_lib_expected}' .*$ ${di_matches} = Get Regexp Matches ${msg} ${di_regex} ${di_matches_len} = Get Length ${di_matches} Should Be True "${di_matches_len}" > "0" # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_expected} Depuis le contexte du dossier d'autorisation ${da_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_autorisation_libelle ${da_lib_expected} # nouvelle itération avec l'option des codes entités Depuis la page d'accueil admin admin # active l'option entité pour la collectivité/le service &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... valeur=true ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_entite} Set Suite Variable ${param_entite} # ajoute le paramètre 'code_entite' à la collectivité/le service &{param_code_entite} = Create Dictionary ... libelle=code_entite ... valeur=${librecom_values["code_entite"]} ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_code_entite} # modification des externals uids Set To Dictionary ${payload_dict["external_uids"]} dossier=000-AAA-05 Set To Dictionary ${payload_dict["external_uids"]} consultation=AAA-000-05 # (re)Converti la payload JSON en string ${json_string}= evaluate json.dumps(${payload_dict}) json # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_string} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Cette fois-ci aucun changement dans les valeurs du numéro de dossier ${di_lib_expected} = Catenate ${payload_dict["dossier"]["dossier_libelle"]} ... ${librecom_values["code_entite"]}01 ${da_lib_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation_libelle"]} ${di_expected} = Catenate ${payload_dict["dossier"]["dossier"]} ... ${librecom_values["code_entite"]}01 ${da_expected} = Set Variable ${payload_dict["dossier"]["dossier_autorisation"]} # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '${di_lib_expected}' .*$ ${di_matches} = Get Regexp Matches ${msg} ${di_regex} ${di_matches_len} = Get Length ${di_matches} Should Be True "${di_matches_len}" > "0" # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib_expected} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_expected} Depuis le contexte du dossier d'autorisation par la recherche ${da_lib_expected} # l'onglet du DA est vide dans le mode MC, mais le simple fait d'arriver à y accéder # montre qu'il existe Nouvelle itération avec une payload JSON minimale # Ajout du lien pour les suivis de demande &{param_args} = Create Dictionary ... libelle=portal_code_suivi_base_url ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # On désactive l'option de suppression &{om_param} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} # nouvelle itération avec deux DI non-réglementaires # générant deux DA/DI différents à cause que l'option code entité Depuis la page d'accueil admin admin # # sans l'option de code entité # Set To Dictionary ${param_entite} valeur=false # Ajouter ou modifier le paramètre depuis le menu ${param_entite} # Récupère le template de payload JSON et le transforme en dictionnaire ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt # sauvegarde le code d'acteur ${payload_dict} = To Json ${json_payload} ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]} Set Suite Variable ${acteur_code} # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-07 ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-07 ${json_payload} = Replace String ${json_payload} 00009 7a9eeP0 ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]} ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]} ${payload_dict} = To Json ${json_payload} # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1 Log ${di_lib} ${di_lib_no_space} = Sans espace ${di_lib} ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_to_search} # Commune Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#commune ${oldcom_values["libelle"]} # En tant qu'admin Depuis la page d'accueil admin admin # Remplace certaines valeurs #${json_payload} = Replace String ${json_payload} 000-AAA-07 000-AAA-08 ${json_payload} = Replace String ${json_payload} AAA-000-07 AAA-000-08 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1 Log ${di_lib} ${di_lib_no_space} = Sans espace ${di_lib} ${di_to_search} = Replace String ${di_lib_no_space} ${librecom_values["code_entite"]} ${SPACE}${librecom_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_to_search} # nouvelle itération avec deux DI non-réglementaires sans l'option code entité # sans l'option de code entité Set To Dictionary ${param_entite} valeur=false Gerer le paramètre par WS ${param_entite} # Récupère le template de payload JSON et le transforme en dictionnaire ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-AAA-09 ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-09 ${json_payload} = Replace String ${json_payload} 00009 4d67qsP0 ${json_payload} = Replace String ${json_payload} 13055 ${oldcom_values["com"]} ${json_payload} = Replace String ${json_payload} ${acteur_code} ${librecom_values["acteur"]} ${payload_dict} = To Json ${json_payload} # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1 Log ${di_lib} ${di_lib_no_space} = Sans espace ${di_lib} # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil tmoth tmoth # Vérifier que le dossier a bien été ajouté #Depuis le contexte du dossier d'instruction par recherche ${di_lib_no_space} Depuis le contexte du dossier d'instruction ${di_lib_no_space} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib_no_space} # Vérification liste des identifiants externe sur le DI # dossier_consultation Open Fieldset dossier_instruction plat_au---identifiants-techniques Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques ${payload_dict["external_uids"]["dossier"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-plat_au---identifiants-techniques ${payload_dict["external_uids"]["dossier_consultation"]} # En tant qu'admin Depuis la page d'accueil admin admin # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} AAA-000-09 ZZZ-000-09 # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS Should Be Equal ${passed} ${FALSE} Set To Dictionary ${param_dossier_commune} valeur=false Gerer le paramètre par WS ${param_dossier_commune} # Vérification du bon fonctionnement de la RA pour l'input contenu_json # Permet de vérifier que l'on a bien un résultat lors de la recherche d'une occurence dans le json_payload des # tâches et de les afficher sur le listing des moniteurs plat'au et ide'au Depuis la page d'accueil admin admin Depuis le menu Moniteur Plat'AU Wait Until Element Is Visible css=div#adv-search-adv-fields input#contenu_json Input Text css=div#adv-search-adv-fields input#contenu_json *000-AAA-01* Click On Search Button Element Should Contain css=td.col-1 a.lienTable Création DI pour consultation Element Should Contain css=td.col-4 a.lienTable PC0130952007777P0 Input Text css=div#adv-search-adv-fields input#contenu_json *PC 045645 20 07777P04* Click On Search Button Element Should Contain css=td.col-1 a.lienTable Création DI pour consultation Element Should Contain css=td.col-4 a.lienTable PC0456452007777P04 Vérification de l'ajout (app) d'un dossier d'instruction sur existant + Vérification du filtre sur les types de dossier d'instruction [Documentation] Le but est de vérifier que l'ajout de la tâche creation_DI et creation_DA ... est bien effectué lors de l'ajout d'un dossier sur existant. ... Permet de vérifier que le paramètre *dit_code__to_transmit__platau* ... filtre bien la transmission Plat'AU d'un DI en fonction du type de DI. # Ajout d'un dossier initial et traitement de toutes les tâches de création de dossier. Depuis la page d'accueil admin admin &{args_dossier} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_adresse_localite=TEST300AdresseLocalite &{args_petitionnaire2} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOMM ... particulier_prenom=TEST300TASKPRENOMM ... localite=TEST300Localite ... om_collectivite=MARSEILLE ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire2} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${DATE_DDMMYYYY} Saisir les données techniques du DI ${di2} ${donnees_techniques_values} ${di2_sans_espace} = Sans espace ${di2} ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY} &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${di2_da} ... state=new ... object_id=${di2_da} ... link_dossier=${di2_da} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_creation_DA} = Get Text css=#task &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di2_sans_espace} ... state=new ... object_id=${di2_sans_espace} ... link_dossier=${di2_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_creation_DI} = Get Text css=#task # On traite les tâches output pour qu'elles soient en 'terminé' &{task_values_modif} = Create Dictionary ... state=terminé Modifier la task ${id_creation_DI} ${task_values_modif} La page ne doit pas contenir d'erreur Modifier la task ${id_creation_DA} ${task_values_modif} La page ne doit pas contenir d'erreur Ajouter une instruction au DI et la finaliser ${di2} accepter un dossier sans réserve # Sans le paramètre *dit_code__to_transmit__platau* renseigné, tous les types de DI sont transmissibles # Ajout d'un dossier modificatif et vérification de la bonne création de la tâche creation_modif # liste des taches possible pour un modificatif &{args_demande} = Create Dictionary ... demande_type=Demande de modification ... dossier_instruction=${di2} ${di_modif} = Ajouter la demande par WS ${args_demande} ${di_modif_sans_espace} = Sans espace ${di_modif} ${di_modif_da} = Replace String Using Regexp ${di_modif_sans_espace} [A-Z][0-9]+$ ${EMPTY} # Si le dossier d'autorisation n'a pas de lien_id_interne_uid_externe # alors on ajoute une nouvelle tache creation_DA &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${di2_da} ... state=new ... object_id=${di2_da} ... link_dossier=${di2_da} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_creation_da_modif} = Get Text css=#task &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di_modif_sans_espace} ... state=new ... object_id=${di_modif_sans_espace} ... link_dossier=${di_modif_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_creation_di_modif} = Get Text css=#task &{task_values} = Create Dictionary ... type=depot_DI ... dossier=${di_modif_sans_espace} ... state=new ... object_id=${di_modif_sans_espace} ... link_dossier=${di_modif_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_depot_modif} = Get Text css=#task Modifier la task ${id_creation_di_modif} ${task_values_modif} La page ne doit pas contenir d'erreur Modifier la task ${id_creation_da_modif} ${task_values_modif} La page ne doit pas contenir d'erreur Modifier la task ${id_depot_modif} ${task_values_modif} La page ne doit pas contenir d'erreur # Avec le paramètre *dit_code__to_transmit__platau* renseigné, seulement les types de DI # identifiés sont transmissibles # Autorise la transmission sur les modificatifs et transferts &{param_dit_filtre} = Create Dictionary ... libelle=dit_code__to_transmit__platau ... valeur=M;T ... om_collectivite=agglo Gerer le paramètre par WS ${param_dit_filtre} # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier Ajouter une instruction au DI et la finaliser ${di_modif} accepter un dossier sans réserve # Ajout d'un modificatif transmissible &{args_demande} = Create Dictionary ... demande_type=Demande de modification ... dossier_instruction=${di2} ${di_modif_2} = Ajouter la demande par WS ${args_demande} ${di_modif_2_sans_espace} = Sans espace ${di_modif_2} # Vérification de l'existance de la tâches de création de DI &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di_modif_2_sans_espace} ... state=new ... object_id=${di_modif_2_sans_espace} ... link_dossier=${di_modif_2_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_depot_modif_2} = Get Text css=#task Modifier la task ${id_depot_modif_2} ${task_values_modif} La page ne doit pas contenir d'erreur # Modification du paramètre pour que les modificatifs ne soient plus transmissibles &{param_dit_filtre} = Create Dictionary ... libelle=dit_code__to_transmit__platau ... valeur=T ... om_collectivite=agglo Gerer le paramètre par WS ${param_dit_filtre} # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier Ajouter une instruction au DI et la finaliser ${di_modif_2} accepter un dossier sans réserve # Ajout d'un modificatif non transmissible &{args_demande} = Create Dictionary ... demande_type=Demande de modification ... dossier_instruction=${di2} ${di_modif_3} = Ajouter la demande par WS ${args_demande} ${di_modif_3_sans_espace} = Sans espace ${di_modif_3} # Vérification de la nonexistance de la tâches de création de DI Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di_modif_3_sans_espace} # Clotûre le dernier DI du DA pour permettre l'ajout d'un nouveau dossier Ajouter une instruction au DI et la finaliser ${di_modif_3} accepter un dossier sans réserve # Ajout d'un transfert transmissible &{args_demande} = Create Dictionary ... demande_type=Demande de transfert ... dossier_instruction=${di2} ${di_trsf} = Ajouter la demande par WS ${args_demande} ${di_trsf_sans_espace} = Sans espace ${di_trsf} # Vérification de l'existance de la tâches de création de DI &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di_trsf_sans_espace} ... state=new ... object_id=${di_trsf_sans_espace} ... link_dossier=${di_trsf_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_depot_trsf} = Get Text css=#task Modifier la task ${id_depot_trsf} ${task_values_modif} La page ne doit pas contenir d'erreur Reset Params - Vérification de l'ajout et du filtre sur les types de dossier d'instruction # Suppression du paramètre de filtre des types de DI &{param_args} = Create Dictionary ... delete=true ... libelle=dit_code__to_transmit__platau ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # désactiver la complète des numéros de dossiers Set To Dictionary ${param_numero_complete} valeur=false Gerer le paramètre par WS ${param_numero_complete} Vérification de la suppression d'un objet lié à une tâche non traitée [Documentation] XXX # Activer l'option de suppression des dossiers &{options} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${options} Depuis la page d'accueil admin admin # Ajouter un service de type plat'au &{service} = Create Dictionary ... abrege=DC300 ... libelle=Direction Circulation TEST300 ... edition=Consultation - Pour conformité ... type_consultation=Pour conformité ... om_collectivite=MARSEILLE ... service_type=Plat'AU ... generate_edition=true Ajouter le service depuis le listing ${service} # Ajouter un dossier : Création DA + Création demande + Dépôt DI &{args_dossier} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_adresse_localite=TEST300AdresseLocalite &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM05 ... particulier_prenom=TEST300TASKPRENOM05 ... localite=TEST300Localite ... om_collectivite=MARSEILLE ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} ${di_se} = Sans espace ${di} ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${DATE_DDMMYYYY} Saisir les données techniques du DI ${di} ${donnees_techniques_values} # Ajouter une pièce numérisée : Ajout pièce &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${DATE_DDMMYYYY} ... document_numerise_type=Test type document numerise de catégorie PLATAU Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} ${dn} = Get Value css=input#document_numerise # Ajouter une consultation : Création consultation Ajouter une consultation depuis un dossier ${di} ${service.abrege} - ${service.libelle} Depuis le contexte de la consultation ${di} ${service.abrege} - ${service.libelle} ${consultation} = Get Value css=#sousform-consultation #consultation # Ajouter une instruction de décision : Décision DI ${instr_dec} = Ajouter une instruction au DI ${di} accepter un dossier sans réserve # Vérification status des tâches &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${da} ... state=new ... object_id=${da} ... link_dossier=${da} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di_se} ... state=new ... object_id=${di_se} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=depot_DI ... dossier=${di_se} ... state=new ... object_id=${di_se} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di_se} ... state=new ... object_id=${dn} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=creation_consultation ... dossier=${di_se} ... state=new ... object_id=${consultation} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${id_qualification_DI} = Get Text css=#task &{task_values} = Create Dictionary ... type=decision_DI ... dossier=${di_se} ... state=new ... object_id=${instr_dec} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # Suppression de tous les objets Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${service.abrege} - ${service.libelle} Supprimer l'instruction ${di} accepter un dossier sans réserve Supprimer le dossier d'instruction ${di} # Vérification status des tâches &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${da} ... state=canceled ... object_id=${da} ... link_dossier=${da} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di_se} ... state=canceled ... object_id=${di_se} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=depot_DI ... dossier=${di_se} ... state=canceled ... object_id=${di_se} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di_se} ... state=canceled ... object_id=${dn} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=creation_consultation ... dossier=${di_se} ... state=canceled ... object_id=${consultation} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{task_values} = Create Dictionary ... type=decision_DI ... dossier=${di_se} ... state=canceled ... object_id=${instr_dec} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Reset Params - Vérification de la suppression d'un objet lié à une tâche non traitée # Désactiver l'option de suppression des dossiers &{options} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${options} # Création d'un nouveau dossier dont le numéro va reprendre celui du dossier # supprimer. Nécessaire pour éviter que dans les tests suivants des tâches existent # sur un dossier alors qu'il viens juste d'être ajouté &{args_dossier} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial &{args_petitionnaire1} = Create Dictionary ... particulier_nom=TEST300TASKNOM05 ... particulier_prenom=TEST300TASKPRENOM05 ... om_collectivite=MARSEILLE Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} Vérification du traitement de la tâche création DI # isole le contexte du test (création d'une collectivité) &{librecom_multi_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_1 ... departement=017 ... commune=100 ... insee=17100 ... direction_code=WE ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_1 ... direction_chef=Chef ... division_code=WE ... division_libelle=Division WE ... division_chef=Chef ... guichet_om_utilisateur_nom=Derien Bollin ... guichet_om_utilisateur_email=dbollin@openads-test.fr ... guichet_om_utilisateur_login=dbollin ... guichet_om_utilisateur_pwd=dbollin ... instr_om_utilisateur_nom=Marolos Heauchemin ... instr_om_utilisateur_email=mheauchemin@openads-test.fr ... instr_om_utilisateur_login=mheauchemin ... instr_om_utilisateur_pwd=mheauchemin ... code_entite=LBCOM_21 ... acteur=LIBRECOM-ACT-021 Isolation d'un contexte ${librecom_multi_1_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_acteur_service_instructeur} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${librecom_multi_1_values["acteur"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_acteur_service_instructeur} # Récupère le payload de création DI ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-DDD-00 ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX DDD-000-00 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]} ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]} ${payload_dict} = To Json ${json_payload} # Active option_dossier_commune Set To Dictionary ${param_dossier_commune} valeur=true Gerer le paramètre par WS ${param_dossier_commune} # En tant qu'admin Depuis la page d'accueil admin admin # Ajoute une commune &{com_values} = Create Dictionary ... typecom=COM ... com=17100 ... reg=17 ... dep=17 ... arr=100 ... tncc=0 ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_1 ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_1 ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_1 ... can=17 ... comparent= ... om_validite_debut=01/11/2020 Ajouter commune avec dates validité ${com_values} # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Ajouter le type de document avec le code '90' tel qu'il est dans la payload ${dnt_code} = Set Variable 96 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU create DI ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # Ajout d'une pièce # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche Ajout pièce ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-11 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY} ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96" ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf" ${piece_payload_dict} = To Json ${json_payload} ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]} # Ajoute la tâche d'ajout de pièce ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # ajout manuellement les éléments qui ont du être défini par défaut Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input # Ajout d'une deuxième pièce # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche Ajout pièce ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_1_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-DDD-00 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-12 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY} ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96" ${piece_payload_dict} = To Json ${json_payload} ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf" ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]} # Ajoute la tâche d'ajout de pièce ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # ajout manuellement les éléments qui ont du être défini par défaut Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input ${msg} = Déclencher le traitement des tâches par WS Depuis la page d'accueil mheauchemin mheauchemin Depuis le listing dossier_instruction Click Link ${librecom_multi_1_values["om_collectivite_libelle"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle ${dossier_libelle} = Get Text css=#dossier_libelle ${dossier_libelle} = Sans espace ${dossier_libelle} Depuis la page d'accueil admin admin Depuis le menu Moniteur Plat'AU # On vérifie qu'il n'y ait pas de tâche Création demande ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche Création DA ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche Ajout pièce ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Ajout pièce (sortant) Run Keyword If ${passed}==False Select From List By Label css=select#type Ajout pièce (sortant) Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Modification DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Modification DI Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Dépôt DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Dépôt DI Select From List By Label css=div#adv-search-adv-fields select#state à traiter Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Qualification DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Qualification DI Select From List By Label css=div#adv-search-adv-fields select#state à traiter Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche création DI a bien été mis à jour avec l'identifiant du dossier Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY} Select From List By Label css=div#adv-search-adv-fields select#type Création demande Select From List By Label css=div#adv-search-adv-fields select#state terminé Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. &{librecom_multi_2_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_MULTI_2 ... departement=018 ... commune=101 ... insee=18101 ... direction_code=X ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_2 ... direction_chef=Chef ... division_code=X ... division_libelle=Division XX ... division_chef=Chef ... guichet_om_utilisateur_nom=Latienne Bollon ... guichet_om_utilisateur_email=lbollon@openads-test.fr ... guichet_om_utilisateur_login=lbollon ... guichet_om_utilisateur_pwd=lbollon ... instr_om_utilisateur_nom=Marvolos Treauchemin ... instr_om_utilisateur_email=mtreauchemin@openads-test.fr ... instr_om_utilisateur_login=mtreauchemin ... instr_om_utilisateur_pwd=mtreauchemin ... code_entite=LBCOM_22 ... acteur=LIBRECOM-ACT-022 Isolation d'un contexte ${librecom_multi_2_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_acteur_service_instructeur} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${librecom_multi_2_values["acteur"]} ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_acteur_service_instructeur} # Récupère le payload de création DI ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-EEE-00 ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX EEE-000-00 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_2_values["insee"]} ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_2_values["acteur"]} ${payload_dict} = To Json ${json_payload} # Ajoute une commune &{com_values} = Create Dictionary ... typecom=COM ... com=18101 ... reg=18 ... dep=18 ... arr=101 ... tncc=0 ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_2 ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_2 ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_2 ... can=18 ... comparent= ... om_validite_debut=01/11/2020 Ajouter commune avec dates validité ${com_values} # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Ajout d'une pièce # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche Ajout pièce ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-13 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY} ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96" ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824.pdf" ${piece_payload_dict} = To Json ${json_payload} ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]} # Ajoute la tâche d'ajout de pièce ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # ajout manuellement les éléments qui ont du être défini par défaut Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input # Ajout d'une deuxième pièce # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche Ajout pièce ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-EEE-00 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-14 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY} ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "96" ${piece_payload_dict} = To Json ${json_payload} ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "20210824-1.pdf" ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]} # Ajoute la tâche d'ajout de pièce ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # ajout manuellement les éléments qui ont du être défini par défaut Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input ${msg} = Déclencher le traitement des tâches par WS Depuis la page d'accueil mtreauchemin mtreauchemin Depuis le listing dossier_instruction Click Link ${librecom_multi_2_values["om_collectivite_libelle"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle ${dossier_libelle} = Get Text css=#dossier_libelle ${dossier_libelle} = Sans espace ${dossier_libelle} Set Suite Variable ${dossier_libelle} Depuis la page d'accueil admin admin Depuis le menu Moniteur Plat'AU # On vérifie qu'il n'y ait pas de tâche Création demande ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DI (sortant) Run Keyword If ${passed}==False Select From List By Label css=select#type Création DI Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche Création DA ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA (sortant) Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche Ajout pièce ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Ajout pièce (sortant) (sortant) Run Keyword If ${passed}==False Select From List By Label css=select#type Ajout pièce (sortant) Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Modification DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Modification DI Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Dépôt DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Dépôt DI Select From List By Label css=div#adv-search-adv-fields select#state à traiter Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche Qualification DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Select From List By Label css=div#adv-search-adv-fields select#type Qualification DI Select From List By Label css=div#adv-search-adv-fields select#state à traiter Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche création DI a bien été mis à jour avec l'identifiant du dossier Input Text css=div#adv-search-adv-fields input#object_id ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#dossier ${EMPTY} Select From List By Label css=div#adv-search-adv-fields select#type Création demande Select From List By Label css=div#adv-search-adv-fields select#state terminé Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. Reset Params - Vérification du traitement de la tâche création DI Depuis la page d'accueil admin admin ${task_values} = Create Dictionary ... type=modification_DI ... dossier=${dossier_libelle} Depuis le contexte d'une task à partir de la recherche avancée ${task_values} ${task_values} = Create Dictionary ... type=depot_DI ... dossier=${dossier_libelle} Depuis le contexte d'une task à partir de la recherche avancée ${task_values} # Désactive option_dossier_commune Set To Dictionary ${param_dossier_commune} valeur=false Gerer le paramètre par WS ${param_dossier_commune} Vérification du traitement de la tâche message [Documentation] Vérifie que le traitement de la tâche message entraine bien ... la création d'un message avec toutes les informations nécessaires issues du json ... payload # isole le contexte du test (création d'une collectivité) &{librecom_multi_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1 ... departement=018 ... commune=100 ... insee=18100 ... direction_code=ABC ... direction_libelle=Direction de LIBRECOM_WS_CREATE_MESSAGE_MULTI_1 ... direction_chef=Chef ... division_code=ABC ... division_libelle=Division ABC ... division_chef=Chef ... guichet_om_utilisateur_nom=Jacquenett Perrault ... guichet_om_utilisateur_email=jperrault@openads-test.fr ... guichet_om_utilisateur_login=jperrault ... guichet_om_utilisateur_pwd=jperrault ... instr_om_utilisateur_nom=Solaine Grimard ... instr_om_utilisateur_email=sgrimard@openads-test.fr ... instr_om_utilisateur_login=sgrimard ... instr_om_utilisateur_pwd=sgrimard ... code_entite=LBCOM_23 ... acteur=LIBRECOM-ACT-023 Isolation d'un contexte ${librecom_multi_1_values} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_instructeur ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # En tant qu'admin Depuis la page d'accueil admin admin # Ajoute d'une tâche de création de DI # Récupère l'identifiant de la collectivité LIBRECOM_WS Depuis le contexte de la collectivité ${librecom_multi_1_values["om_collectivite_libelle"]} ${librecom_ws_id} = Get Text css=#om_collectivite # Récupère le template de payload JSON et le transforme en dictionnaire ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-FFF-00 ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX FFF-000-00 ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_multi_1_values["acteur"]} ${json_payload} = Replace String ${json_payload} 00009 00030P0 ${json_payload} = Replace String ${json_payload} "om_collectivite": "3" "om_collectivite": "${librecom_ws_id}" ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_1_values["insee"]} ${payload_dict} = To Json ${json_payload} # Active option_dossier_commune Set To Dictionary ${param_dossier_commune} valeur=true Gerer le paramètre par WS ${param_dossier_commune} # Ajoute des commune &{com_values} = Create Dictionary ... typecom=COM ... com=18100 ... reg=18 ... dep=18 ... arr=100 ... tncc=0 ... ncc=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1 ... nccenr=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1 ... libelle=LIBRECOM_WS_CREATE_MESSAGE_MULTI_1 ... can=18 ... comparent= ... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY} Ajouter commune avec dates validité ${com_values} &{com_values} = Create Dictionary ... typecom=COM ... com=18100 ... reg=18 ... dep=18 ... arr=100 ... tncc=0 ... ncc=TESTCOM ... nccenr=TESTCOM ... libelle=TESTCOM ... can=18 ... comparent= ... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY} Ajouter commune avec dates validité ${com_values} # Ajoute d'une tâche de création de DI (devant aussi créer le DA associé si inexistant) ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Récupère le payload de message ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_message_payload.txt ${json_payload} = Replace String ${json_payload} 7SZ-SX8-TR4 000-FFF-00 ${payload_dict} = To Json ${json_payload} # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation ${task_values} = Create Dictionary ... type=create_message ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # ajout manuellement les éléments qui ont du être défini par défaut Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input ${msg} = Déclencher le traitement des tâches par WS Depuis la page d'accueil sgrimard sgrimard # Récupération du libellé du dossier Depuis le listing dossier_instruction Click Link ${librecom_multi_1_values["om_collectivite_libelle"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle ${dossier_libelle} = Get Text css=#dossier_libelle # Vérifie que le message a bien été créé Depuis l'onglet des messages du dossier d'instruction ${dossier_libelle} Click Link Incomplétude|complétude Wait Until Element Is Visible css=div#sousform-dossier_message span#contenu Element Should Contain css=div#sousform-dossier_message span#contenu Le dossier a été déclaré complet|incomplet par la collectivité Element Should Contain css=div#sousform-dossier_message span#categorie platau # On ajoute un second message totalement identique pour vérifier que la gestion des doublons ne # s'applique pas au message créée par tâche ${task_values} = Create Dictionary ... type=create_message ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} Set To Dictionary ${task_values} task=${task_id} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input ${msg} = Déclencher le traitement des tâches par WS Depuis la page d'accueil sgrimard sgrimard Depuis l'onglet des messages du dossier d'instruction ${dossier_libelle} Page Should Contain Element //*[contains(text(), "Incomplétude|complétude")] limit=2 Reset Params - Vérification du traitement de la tâche message # Désactive option_dossier_commune Set To Dictionary ${param_dossier_commune} valeur=false Gerer le paramètre par WS ${param_dossier_commune} Vérification du flux contrôle de légalité [Documentation] Permet de vérifier le bon fonctionnement de l'action envoyer ... au contrôle de légalité qui crée une nouvelle tâche Envoi contrôle de légalité # En tant qu'admin Depuis la page d'accueil admin admin # Modification de l'événement pour transmission au CL par Plat'AU &{args_evenement} = Create Dictionary ... libelle=accepter un dossier sans réserve ... envoi_cl_platau=true Modifier l'événement ${args_evenement} &{args_evenement} = Create Dictionary ... libelle=accord tacite (sans arrete) ... envoi_cl_platau=true Modifier l'événement ${args_evenement} # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_CONTROLE_LEGALITE ... departement=025 ... commune=160 ... insee=25160 ... direction_code=GM ... direction_libelle=Direction de LIBRECOM_CONTROLE_LEGALITE ... direction_chef=Chef ... division_code=GM ... division_libelle=Division GM ... division_chef=Chef ... guichet_om_utilisateur_nom=Shalil Dibran ... guichet_om_utilisateur_email=sdibran@openads-test.fr ... guichet_om_utilisateur_login=sdibran ... guichet_om_utilisateur_pwd=sdibran ... instr_om_utilisateur_nom=Uomir Sambu ... instr_om_utilisateur_email=usambu@openads-test.fr ... instr_om_utilisateur_login=usambu ... instr_om_utilisateur_pwd=usambu ... code_entite=LBCOM_25 ... acteur=LIBRECOM-ACT-025 Isolation d'un contexte ${librecom_values} # Prépare le dossiers d'instruction &{args_dossier} = Create Dictionary ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_adresse_localite=TEST300controlelegalite ... depot_electronique=true &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOMCONTROLELEGALITE ... particulier_prenom=TEST300TASKPRENOMCONTROLELEGALITE ... localite=TEST300Localite ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} ${di_se} = Sans espace ${di} ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${DATE_DDMMYYYY} Saisir les données techniques du DI ${di} ${donnees_techniques_values} Ajouter une instruction au DI et la finaliser ${di} accepter un dossier sans réserve Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite &{args_date} = Create Dictionary ... date_retour_signature=${DATE_DDMMYYYY} Modifier le suivi des dates ${di} accepter un dossier sans réserve ${args_date} # Tant qu'on n'a pas envoyé au cl, le champ envoi au controle de légalité est modifiable Click On SubForm Portlet Action instruction modifier_suivi Element Should Not Be Visible css=#date_envoi_controle_legalite[disabled="disabled"] Element Should Be Visible css=#date_envoi_controle_legalite Click On Back Button In Subform Element Should Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite Click On SubForm Portlet Action instruction envoyer_au_controle_de_legalite modale Cliquer sur le bouton de la fenêtre modale Confirmer Valid Message Should Contain In Subform Votre demande de transfert au contrôle de légalité à bien été prise en compte. Form Static Value Should Be css=#date_envoi_controle_legalite ${EMPTY} Portlet Action Should Not Be In SubForm instruction envoyer_au_controle_de_legalite Click On SubForm Portlet Action instruction modifier_suivi Element Should Be Visible css=#date_envoi_controle_legalite[disabled="disabled"] Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve ${id_instruction} = Get Value css=.form-content input#instruction Form Value Should Contain css=#date_envoi_controle_legalite En cours de traitement. # Vérification status des tâches, il faut qu'elles soient en brouillon &{task_values} = Create Dictionary ... type=envoi_CL ... dossier=${di_se} ... state=new ... object_id=${id_instruction} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Vérifier que la tâche à une payload fonctionnelle ${task_values} ${task_id} = Get Text css=#task &{task_values_modif} = Create Dictionary ... state=terminé Modifier la task ${task_id} ${task_values_modif} La page ne doit pas contenir d'erreur Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve Form Static Value Should Be css=#date_envoi_controle_legalite ${DATE_DDMMYYYY} Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite # Prépare le dossiers d'instruction &{args_dossier} = Create Dictionary ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_adresse_localite=TEST300controlelegalitesansarrete ... depot_electronique=true &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOMCONTROLELEGALITESANSARRETE ... particulier_prenom=TEST300TASKPRENOMCONTROLELEGALITESANSARRETE ... localite=TEST300Localite ... om_collectivite=LIBRECOM_CONTROLE_LEGALITE ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} ${di_se} = Sans espace ${di} ${da} = Replace String Using Regexp ${di_se} [A-Z][0-9]+$ ${EMPTY} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${DATE_DDMMYYYY} Saisir les données techniques du DI ${di} ${donnees_techniques_values} Ajouter une instruction au DI ${di} accord tacite (sans arrete) Click On Link accord tacite (sans arrete) Click On SubForm Portlet Action instruction envoyer_au_controle_de_legalite modale Cliquer sur le bouton de la fenêtre modale Confirmer Valid Message Should Contain In Subform Votre demande de transfert au contrôle de légalité à bien été prise en compte. Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite ${id_instruction_sans_arrete} = Get Value css=.form-content input#instruction Form Value Should Contain css=#date_envoi_controle_legalite En cours de traitement. # Vérification status des tâches, il faut qu'elles soient en brouillon &{task_values} = Create Dictionary ... type=envoi_CL ... dossier=${di_se} ... state=new ... object_id=${id_instruction_sans_arrete} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Vérifier que la tâche à une payload fonctionnelle ${task_values} ${task_id} = Get Text css=#task &{task_values_modif} = Create Dictionary ... state=terminé Modifier la task ${task_id} ${task_values_modif} La page ne doit pas contenir d'erreur Depuis l'instruction du dossier d'instruction ${di} accord tacite (sans arrete) Form Static Value Should Be css=#date_envoi_controle_legalite ${DATE_DDMMYYYY} Element Should Not Be Visible css=#action-sousform-instruction-envoyer_au_controle_de_legalite Reset Params - Vérification du flux contrôle de légalité Depuis la page d'accueil admin admin &{args_evenement} = Create Dictionary ... libelle=accepter un dossier sans réserve ... envoi_cl_platau=false Modifier l'événement ${args_evenement} Vérification de l'ajout d'un dossier d'instruction depuis Plat'AU + vérification d'un dépôt sur dossier existant [Documentation] Vérifie la création de dossier avec une tâche issue de Plat'AU. ... Dans ce contexte il ne doit pas y avoir de task de création de DA, ni de création de DI. ... Vérifie également le dépôt d'une demande sur dossier existant, qui ne créée pas de dossier. # Isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_CREATE_DI_PLATAU ... departement=030 ... commune=111 ... insee=30111 ... direction_code=STI ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_PLATAU ... direction_chef=Chef ... division_code=STI ... division_libelle=Division STI ... division_chef=Chef ... guichet_om_utilisateur_nom=Agnès Leroux ... guichet_om_utilisateur_email=aleroux@openads-test.fr ... guichet_om_utilisateur_login=aleroux ... guichet_om_utilisateur_pwd=aleroux ... instr_om_utilisateur_nom=Nathalie Beaulé ... instr_om_utilisateur_email=nbeaule@openads-test.fr ... instr_om_utilisateur_login=nbeaule ... instr_om_utilisateur_pwd=nbeaule ... code_entite=LBCOM_30 ... acteur=LIBRECOM-ACT-030 Isolation d'un contexte ${librecom_values} Set Suite Variable ${librecom_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_acteur_service_instructeur} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${librecom_values["acteur"]} ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_acteur_service_instructeur} ## ## Vérification de l'ajout d'un dossier d'instruction depuis Plat'AU ## # Récupère le payload de création DI ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 123-DDD-12 ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX DDD-123-12 ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} 71Z-Y9O-KWQ ${librecom_values["acteur"]} ${payload_dict} = To Json ${json_payload} # Les attributs state et stream ne sont pas nécessaires lors de l'ajout de la tache # Ici ces attributs sont utilisés lors de la vérification des données de la tâches en consultation ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=platau Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS # En tant qu'admin Depuis la page d'accueil admin admin &{seach_di_values} = Create Dictionary ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Depuis le contexte du dossier d'instruction par la recherche avance ${seach_di_values} ${librecom_values["om_collectivite_libelle"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#dossier_libelle ${dossier_libelle} = Get Text css=#dossier_libelle ${di} = Sans espace ${dossier_libelle} Depuis le menu Moniteur Plat'AU # On vérifie qu'il n'y ait pas de tâche Création demande ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création demande Run Keyword If ${passed}==False Select From List By Label css=select#type Création demande Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche Création DA ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Création DA Run Keyword If ${passed}==False Select From List By Label css=select#type Création DA Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. ## ## Vérification d'un dépôt sur dossier existant. ## L'objectif est de vérifier l'ajout d'une demande sur existant et de vérifier également ## que dans le cas de plusieurs types de demande similaire, l'état du dossier initial ## est correctement pris en compte. ## # Création des événements de DPC &{args_evenement_01} = Create Dictionary ... libelle=Dépôt de pièces complémentaire 01 TEST300VERIFDEPOTEXISTS Ajouter l'événement depuis le menu ${args_evenement_01} &{args_evenement_02} = Create Dictionary ... libelle=Dépôt de pièces complémentaire 02 TEST300VERIFDEPOTEXISTS Ajouter l'événement depuis le menu ${args_evenement_02} # Création de deux types de dépôt sur existant partageant le même code mais ne s'appliquant # pas sur le même état @{etats_autorises} = Create List ... delai de notification envoye &{args_demande_type_01} = Create Dictionary ... code=DPC ... libelle=Dépot de pièces complémentaire DP 01 TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Récupération des demandeurs avec modification et ajout ... evenement=${args_evenement_01.libelle} Ajouter un nouveau type de demande depuis le menu ${args_demande_type_01} @{etats_autorises} = Create List ... dossier incomplet &{args_demande_type_02} = Create Dictionary ... code=DPC ... libelle=Dépot de pièces complémentaire DP 02 TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Récupération des demandeurs avec modification et ajout ... evenement=${args_evenement_02.libelle} Ajouter un nouveau type de demande depuis le menu ${args_demande_type_02} # définir les paramètres de type de demande &{platau_type_demande_dpc} = Create Dictionary ... libelle=platau_type_demande_dpc_DP ... valeur=DPC ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande_dpc} # Récupère le payload de création DI sur exisant (dépôt de pièce complémentaire) ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS # Vérifie que l'instruction s'est correctement appliqué au dossier d'instruction # et que le bon type de demande a été sélectionné Depuis l'onglet instruction du dossier d'instruction ${dossier_libelle} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-tab ${args_evenement_01.libelle} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=.tab-tab ${args_evenement_02.libelle} # Ajoute une instruction pour modifier l'état du dossier d'insturction Ajouter une instruction au DI ${dossier_libelle} Notification de pieces manquante # Réapplique la demande sur existant ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS # Vérifie que l'instruction s'est correctement appliqué au dossier d'instruction # et que le bon type de demande a été sélectionné Depuis l'onglet instruction du dossier d'instruction ${dossier_libelle} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-tab ${args_evenement_02.libelle} ## ## Vérification d'un dépôt sur dossier existant. ## L'objectif est de vérifier l'ajout d'une demande sur existant qui ajoute une dossier d'instruction ## et de vérifier la gestion des contraintes de récupération des demandeurs. ## # Active l'option pour afficher le menu task_portal &{param_args} = Create Dictionary ... libelle=option_notification ... valeur=portal ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_args} # Ajout d'un modificatif sur l'autorisation avec une contrainte de récupération # des demandeurs "Récupération des demandeurs avec modification et ajout" # Ajout d'un événement permettant de reprendre l'instruction du dossier initial &{args_action} = Create Dictionary ... action=changer_etat_300 ... libelle=changer_etat_300 ... regle_etat=etat Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List dossier incomplet @{type_di} = Create List DP - P - Initiale &{args_evenement} = Create Dictionary ... libelle=Reprendre instruction 300 ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=${args_action.libelle} ... etat=delai de notification envoye Ajouter l'événement depuis le menu ${args_evenement} Ajouter une instruction au DI ${dossier_libelle} ${args_evenement.libelle} Ajouter une instruction au DI ${dossier_libelle} accepter un dossier avec reserve # Création du type de demande @{etats_autorises} = Create List ... dossier accepter &{args_demande_type} = Create Dictionary ... code=DPM ... libelle=Modificatif DP TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Récupération des demandeurs avec modification et ajout ... evenement=Notification du delai legal maison individuelle ... dossier_instruction_type=DP - Modificatif Ajouter un nouveau type de demande depuis le menu ${args_demande_type} # Défini les paramètres de type de demande &{platau_type_demande} = Create Dictionary ... libelle=platau_type_demande_DPM_DP ... valeur=DPM ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande} # Traitement de la tâche ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${json_payload} = Replace String ${json_payload} dpc DPM ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPM/11 ${json_payload} = Replace String ${json_payload} Perry FRANCOEUR ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal ${task_id} = Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS Depuis le contexte de la task ${task_id} IDE'AU ${dossier} = Get Text css=#object_id # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction Depuis le contexte du dossier d'instruction ${dossier} null false ${dossier} = Get Text css=#dossier_libelle Open Fieldset dossier_instruction localisation Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance Open Fieldset dossier_instruction demandeur Element Should Not Contain liste_demandeur Perry Katy Element Should Contain liste_demandeur FRANCOEUR Katy Element Should Contain liste_demandeur Bloom Orlando Element Should Contain liste_demandeur LAGRANGE Marcel Element Should Contain liste_demandeur Dupré Michel Element Should Contain liste_demandeur Perry Plop Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve # # Ajout d'un code de suivi portail au dossier d'instruction # # Activitation de la configuration portal IDE'AU Run sed -i '$ a\\$config\["type_portal_sve"\] = "ideau";' ${EXECDIR}${/}..${/}dyn${/}config.inc.php Sleep 3 # Ajout du lien pour les suivis de demande &{param_args} = Create Dictionary ... libelle=portal_code_suivi_base_url ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # Utilisation de l'action 997 pour ajouter le code de suivi &{data} = Create Dictionary ... external_uid=code-suivi://TEST300CODESUIVIPORTAL ${COOKIE} = Get Cookie ${SESSION_COOKIE} ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value} ${session} = Set Variable ${PROJECT_NAME}_web_ihm Create Session ${session} ${PROJECT_URL} cookies=${cookies} ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers} # Vérification du lien Depuis le contexte du dossier d'instruction ${dossier} Open All Fieldset Using Javascript dossier_instruction Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL # Ajout de plusieurs codes de suivi &{data} = Create Dictionary ... external_uid=code-suivi://TEST300CODESUIVIPORTAL2 ${COOKIE} = Get Cookie ${SESSION_COOKIE} ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value} ${session} = Set Variable ${PROJECT_NAME}_web_ihm Create Session ${session} ${PROJECT_URL} cookies=${cookies} ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers} &{data} = Create Dictionary ... external_uid=code-suivi://TEST300CODESUIVIPORTAL3 ${COOKIE} = Get Cookie ${SESSION_COOKIE} ${cookies} = Create Dictionary ${SESSION_COOKIE}=${COOKIE.value} ${session} = Set Variable ${PROJECT_NAME}_web_ihm Create Session ${session} ${PROJECT_URL} cookies=${cookies} ${headers} = Create Dictionary Content-Type=application/x-www-form-urlencoded ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=997&idx=${task_id} data=${data} headers=${headers} # Vérification des liens Depuis le contexte du dossier d'instruction ${dossier} Open All Fieldset Using Javascript dossier_instruction Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL2 Element Should Contain css=span#lien_iiue_portal TEST300CODESUIVIPORTAL3 # Suppression du lien pour les suivis de demande &{param_args} = Create Dictionary ... delete=true ... libelle=portal_code_suivi_base_url ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # Desactivation de la configuration portal IDE'AU Run sed -i '$d' ${EXECDIR}${/}..${/}dyn${/}config.inc.php Sleep 3 # Ajout d'une DAACT sur l'autorisation avec une contrainte de récupération # des demandeurs "Récupération des demandeurs sans modification ni ajout" # Création du type de demande @{etats_autorises} = Create List ... dossier accepter &{args_demande_type} = Create Dictionary ... code=DPDAACT ... libelle=DAACT DP TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Récupération des demandeurs sans modification ni ajout ... evenement=Notification du delai legal maison individuelle ... dossier_instruction_type=DP - Achèvement et conformité Ajouter un nouveau type de demande depuis le menu ${args_demande_type} # Défini les paramètres de type de demande &{platau_type_demande} = Create Dictionary ... libelle=platau_type_demande_DPDAACT_DP ... valeur=DPDAACT ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande} # Traitement de la tâche ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${json_payload} = Replace String ${json_payload} dpc DPDAACT ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPDAACT/22 ${json_payload} = Replace String ${json_payload} Perry MAHEU ${json_payload} = Replace String ${json_payload} LAGRANGE GADBOIS ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal ${task_id} = Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS Depuis le contexte de la task ${task_id} IDE'AU ${dossier} = Get Text css=#object_id # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction Depuis le contexte du dossier d'instruction ${dossier} null false ${dossier} = Get Text css=#dossier_libelle Open Fieldset dossier_instruction localisation Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance Open Fieldset dossier_instruction demandeur Element Should Not Contain liste_demandeur MAHEU Katy Element Should Not Contain liste_demandeur GADBOIS Marcel Element Should Contain liste_demandeur FRANCOEUR Katy Element Should Contain liste_demandeur Bloom Orlando Element Should Contain liste_demandeur LAGRANGE Marcel Element Should Contain liste_demandeur Dupré Michel Element Should Contain liste_demandeur Perry Plop Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve # Ajout d'un transfert sur l'autorisation avec une contrainte de récupération # des demandeurs "Sans récupération des demandeurs" # Création du type de demande @{etats_autorises} = Create List ... dossier accepter &{args_demande_type} = Create Dictionary ... code=DPT ... libelle=Transfert DP TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Sans récupération des demandeurs ... evenement=Notification du delai legal maison individuelle ... dossier_instruction_type=DP - Transfert Ajouter un nouveau type de demande depuis le menu ${args_demande_type} # Défini les paramètres de type de demande &{platau_type_demande} = Create Dictionary ... libelle=platau_type_demande_DPT_DP ... valeur=DPT ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande} # Traitement de la tâche ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${json_payload} = Replace String ${json_payload} dpc DPT ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPT/33 ${json_payload} = Replace String ${json_payload} Perry SEGUIN ${json_payload} = Replace String ${json_payload} LAGRANGE DUFRESNE ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal ${task_id} = Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS Depuis le contexte de la task ${task_id} IDE'AU ${dossier} = Get Text css=#object_id # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction Depuis le contexte du dossier d'instruction ${dossier} null false ${dossier} = Get Text css=#dossier_libelle Open Fieldset dossier_instruction localisation Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance Open Fieldset dossier_instruction demandeur Element Should Not Contain liste_demandeur FRANCOEUR Katy Element Should Not Contain liste_demandeur Bloom Orlando Element Should Not Contain liste_demandeur LAGRANGE Marcel Element Should Not Contain liste_demandeur Dupré Michel Element Should Not Contain liste_demandeur Perry Plop Element Should Contain liste_demandeur SEGUIN Katy Element Should Contain liste_demandeur DUFRESNE Marcel Ajouter une instruction au DI ${dossier} accepter un dossier avec reserve # Ajout d'une DOC sur l'autorisation avec une contrainte de récupération # des demandeurs "Récupération des demandeurs sans modification avec ajout" # Création du type de demande @{etats_autorises} = Create List ... dossier accepter &{args_demande_type} = Create Dictionary ... code=DPDOC ... libelle=DOC DP TEST300VERIFDEPOTEXISTS ... groupe=Autorisation ADS ... dossier_autorisation_type_detaille=DP (Déclaration préalable) ... demande_nature=Dossier existant ... etats_autorises=@{etats_autorises} ... contraintes=Récupération des demandeurs sans modification avec ajout ... evenement=Notification du delai legal maison individuelle ... dossier_instruction_type=DP - Ouverture de chantier Ajouter un nouveau type de demande depuis le menu ${args_demande_type} # Défini les paramètres de type de demande &{platau_type_demande} = Create Dictionary ... libelle=platau_type_demande_DPDOC_DP ... valeur=DPDOC ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande} # Traitement de la tâche ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_sur_existant_payload.txt ${json_payload} = Replace String ${json_payload} 13055 ${librecom_values["insee"]} ${json_payload} = Replace String ${json_payload} XXX ${di} ${json_payload} = Replace String ${json_payload} dpc DPDOC ${json_payload} = Replace String ${json_payload} pieces_complementaires/44 DPDOC/44 ${json_payload} = Replace String ${json_payload} Perry PICARD ${json_payload} = Replace String ${json_payload} LAGRANGE CAMUS ${payload_dict} = To Json ${json_payload} ${task_values} = Create Dictionary ... type=create_DI ... json_payload=${json_payload} ... category=portal ${task_id} = Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS Depuis le contexte de la task ${task_id} IDE'AU ${dossier} = Get Text css=#object_id # Contrôle la localisation et les demandeurs depuis le nouveau dossier d'instruction Depuis le contexte du dossier d'instruction ${dossier} null false Open Fieldset dossier_instruction localisation Element Should Not Contain fieldset-form-dossier_instruction-localisation rue de l'espoir Element Should Contain fieldset-form-dossier_instruction-localisation rue de l'espérance Open Fieldset dossier_instruction demandeur Element Should Contain liste_demandeur SEGUIN Katy Element Should Contain liste_demandeur DUFRESNE Marcel Element Should Contain liste_demandeur PICARD Katy Element Should Contain liste_demandeur CAMUS Marcel Reset params - Vérification de l'ajout et d'un dépôt sur dossier existant # Suppression du paramétrage de notification &{param_args} = Create Dictionary ... delete=true ... libelle=option_notification ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_args}