*** 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. Depuis la page d'accueil admin admin # 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} Gerer le service par WS ${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 Depuis la page d'accueil admin admin # 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 # En tant qu'admin Depuis la page d'accueil admin admin # 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"]} # 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 Gerer l'événement par WS ${args_evenement_01} &{args_evenement_02} = Create Dictionary ... libelle=Dépôt de pièces complémentaire 02 TEST300VERIFDEPOTEXISTS Gerer l'événement par WS ${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 Gerer l'action par WS ${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} Gerer l'événement par WS ${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}