*** 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 For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Vérification de l'ajout des tasks creation_DA et creation_DI et depot_DI lors de l'ajout d'un dossier d'instruction. [Documentation] Permet de vérifier le bon fonctionnement de la création des tâches lié à la création d'un dossier d'instruction ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné 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 &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM01 ... particulier_prenom=TEST300TASKPRENOM01 ... om_collectivite=MARSEILLE ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} Depuis le menu Moniteur Plat'AU ${di1_sans_espace} = Sans espace ${di1} ${di1_da} = Replace String Using Regexp ${di1_sans_espace} [A-Z][0-9]+$ ${EMPTY} Set Suite Variable ${di1} Set Suite Variable ${di1_sans_espace} Set Suite Variable ${di1_da} # On recherche l'enregistrement Click Element css=#toggle-advanced-display # Wait Until Element Is Visible css=div#adv-search-adv-fields input#dossier Wait Until Element Is Visible css=div#adv-search-adv-fields input#type # On remplit Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} Input Text css=div#adv-search-adv-fields input#type creation_DA # On valide le formulaire de recherche Click On Search Button Element Should Contain css=td.col-1 a.lienTable creation_DA Element Should Contain css=td.col-4 a.lienTable ${di1_da} # On remplit Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} Input Text css=div#adv-search-adv-fields input#type creation_DI # On valide le formulaire de recherche Click On Search Button Element Should Contain css=td.col-1 a.lienTable creation_DI Element Should Contain css=td.col-4 a.lienTable ${di1_da} # On remplit Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} Input Text css=div#adv-search-adv-fields input#type depot_DI # On valide le formulaire de recherche Click On Search Button Element Should Contain css=td.col-1 a.lienTable depot_DI Element Should Contain css=td.col-4 a.lienTable ${di1_da} Click On Link ${di1_sans_espace} ${id_depot_DI} = Get Text css=#task ${id_next_task} = Evaluate ${id_depot_DI} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} Vérification de la mise à jour de la task creation_DI lors de l'ajout des données techniques [Documentation] Permet de vérifier que la tâche creation_DI est mise à jour sur son state est à new lors de la modification du DI ... et qu'il n'y a pas de création de tache modification_DI, vérifie aussi que lors que la tache creation_DI n'est pas en state new ... il y a bien une création de la tâche modification_DI Depuis la page d'accueil admin admin &{task_values} = Create Dictionary ... type=creation_DI ... dossier=${di1_sans_espace} ... state=new ... object_id=${di1_sans_espace} ... link_dossier=${di1_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 ${time_stamp_log} = Get Text css=#timestamp_log &{donnees_techniques_values} = Create Dictionary ... ope_proj_desc=Description test dossier parallele Saisir les données techniques du DI ${di1} ${donnees_techniques_values} Depuis le contexte d'une task à partir de la recherche avancée ${task_values} ${timestamp_log_changed} = Get Text css=#timestamp_log Should Not Be Equal As Strings ${time_stamp_log} ${timestamp_log_changed} Click On Back Button # On vérifie qu'il n'y pas de task modification_DI Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} Input Text css=div#adv-search-adv-fields input#type modification_DI Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. &{task_values_modif} = Create Dictionary ... state=done Modifier la task ${id_creation_DI} ${task_values_modif} La page ne doit pas contenir d'erreur &{donnees_techniques_values} = Create Dictionary ... ope_proj_desc=Description test dossier parallele BIS Saisir les données techniques du DI ${di1} ${donnees_techniques_values} La page ne doit pas contenir d'erreur &{task_values} = Create Dictionary ... type=modification_DI ... dossier=${di1_sans_espace} Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Vérification de l'ajout de la task qualification lors du changement de qualification d'un dossier d'instruction [Documentation] Permet de vérifier que la tâche qualification_DI est bien ajoutée lors du changement de l'autorité compétente. ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné Depuis la page d'accueil admin admin Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état' &{task_values} = Create Dictionary ... type=qualification_DI ... dossier=${di1_sans_espace} ... state=new ... object_id=${di1_sans_espace} ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend Element Should Contain css=#json_payload "autorite_competente_code": "ETATMAIRE" Supprimer l'instruction ${di1} Changer l'autorité compétente 'commune état' Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend Element Should Not Contain css=#json_payload "autorite_competente_code": "ETATMAIRE" ${id_qualification_DI} = Get Text css=#task ${id_next_task} = Evaluate ${id_qualification_DI} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} Vérification de l'ajout de la task ajout_piece lors de l'ajout d'une piece au dossier d'instruction [Documentation] Permet de vérifier que la tâche ajout_piece est bien ajouté lors de l'ajout du pièce au dossier d'instruction ... et que le contenu ajouté et téléchargé à partir de la tâche est identique. ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné Depuis la page d'accueil admin admin # On ajoute un document numérisé par DI &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_ddmmyyyy} ... document_numerise_type=autres pièces composant le dossier (A0) Ajouter une pièce depuis le dossier d'instruction ${di1} ${document_numerise_values} &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} ${link_piece} = Set Variable ${json_payload_loaded['document_numerise']['path']} ${output_dir} ${output_name}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_piece} ${EXECDIR}${/}binary_files${/} ${base64_file} = Run base64 ${output_dir}${output_name} ${base64_model} = Run base64 ${EXECDIR}${/}binary_files${/}testImportManuel.pdf Should Be Equal As Strings ${base64_file} ${base64_model} ${id_qualification_DI} = Get Text css=#task ${id_next_task} = Evaluate ${id_qualification_DI} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} Vérification de l'ajout de la task decision lors de l'ajout d'une décision dans le di [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision au dossier d'instruction ... et que le contenu généré et téléchargé à partir de la tâche est identique. ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné Depuis la page d'accueil admin admin Ajouter une instruction au DI et la finaliser ${di1} accepter un dossier sans réserve Click On SubForm Portlet Action instruction edition new_window Open PDF ${OM_PDF_TITLE} ${link_decision_portlet} = Get Location Close PDF ${output_dir_decision_portlet} ${output_name_decision_portlet}= Télécharger un fichier ${SESSION_COOKIE} ${link_decision_portlet} ${EXECDIR}${/}binary_files${/} &{task_values} = Create Dictionary ... type=decision_DI ... dossier=${di1_sans_espace} ... state=new ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend Element Should Contain css=#json_payload "avis_decision": "7", ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} ${link_decision} = Set Variable ${json_payload_loaded['instruction']['path']} ${output_dir_json_payload} ${output_name_json_payload}= Télécharger un fichier ${SESSION_COOKIE} ${PROJECT_URL}${link_decision} ${EXECDIR}${/}binary_files${/} ${base64_file_portlet} = Run base64 ${output_dir_decision_portlet}${output_name_decision_portlet} ${base64_json_payload} = Run base64 ${output_dir_json_payload}${output_name_json_payload} Should Be Equal As Strings ${base64_file_portlet} ${base64_json_payload} ${id_decision_DI} = Get Text css=#task ${id_next_task} = Evaluate ${id_decision_DI} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} Vérification de l'ajout de la task decision lors de l'ajout d'une décision tacite dans le di [Documentation] Permet de vérifier que la tâche decision_DI est bien ajoutée lors de l'ajout de la décision tacite au dossier d'instruction ... et que la tâche ne contient pas de fichier à télécharger. ... Vérifie aussi qu'il n'y a pas de création d'autre tâche non concerné 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 &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM02 ... particulier_prenom=TEST300TASKPRENOM02 ... om_collectivite=MARSEILLE ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} ${di2_sans_espace} = Sans espace ${di2} ${di2_da} = Replace String Using Regexp ${di2_sans_espace} [A-Z][0-9]+$ ${EMPTY} Ajouter une instruction au DI ${di2} accord tacite (sans arrete) &{task_values} = Create Dictionary ... type=decision_DI ... dossier=${di2_sans_espace} Depuis le contexte d'une task à partir de la recherche avancée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Dictionary Should Not Contain Key ${json_payload_loaded['instruction']} path ${id_decision_DI} = Get Text css=#task ${id_next_task} = Evaluate ${id_decision_DI} + 1 Vérifier qu'il n'y a pas de création d'autre tâche non concerné ${id_next_task} ${di1_da} Vérification de l'ajout et de la consultation d'une tâche de type stream input [Documentation] Permet de vérifier que l'ajout de la tâche à partir du WS de test ... fonctionne correctement # 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-00 ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X AAA-000-00 ${json_payload} = Replace String ${json_payload} 013055 20 013055 19 ${json_payload} = Replace String ${json_payload} 01305520 01305519 ${json_payload} = Replace String ${json_payload} 2020 2019 ${json_payload} = Replace String ${json_payload} 07777P0 01111P0 ${json_payload} = Replace String ${json_payload} "acteur": "EF-DSQ-4512", ${EMPTY} ${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_for_consultation ... json_payload=${json_payload} 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} dossier=${payload_dict["dossier"]["dossier"]} Set To Dictionary ${task_values} state=new Set To Dictionary ${task_values} stream=input Depuis la page d'accueil admin admin Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset#fieldset-form-task-json_payload>legend ${json_payload_to_compare} = Get Text css=#json_payload Should Be Equal As Strings ${json_payload} ${json_payload_to_compare} Ajout d'une tâche de création de DI via WS, puis traitement [Documentation] Vérifie l'ajout de la tâche via WS et son traitement # En tant qu'admin Depuis la page d'accueil admin admin # Permet le même comportement du test qu'il soit exécuté en runone ou runall &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=true ... om_collectivite=agglo Ajouter le paramètre depuis le menu (surcharge) ${param_division} # desactiver l'option dossier_commune et la saisie complète des numéros &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} # définir les paramètres de type de demande &{param_type_demande_initial} = Create Dictionary ... libelle=param_type_demande_initial ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial} &{param_type_demande_modificatif} = Create Dictionary ... libelle=param_type_demande_modificatif ... valeur=DM ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_modificatif} &{param_type_demande_transfert} = Create Dictionary ... libelle=param_type_demande_transfert ... valeur=DT ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_transfert} # 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} &{loincom_values} = Create Dictionary ... om_collectivite_libelle=LOINCOM_WS ... departement=796 ... commune=095 ... insee=79695 ... direction_code=F ... direction_libelle=Direction de LOINCOM_WS ... direction_chef=Chef ... division_code=F ... division_libelle=Division F ... division_chef=Chef ... guichet_om_utilisateur_nom=Somar Ramos ... guichet_om_utilisateur_email=sramos@openads-test.fr ... guichet_om_utilisateur_login=sramos ... guichet_om_utilisateur_pwd=sramos ... instr_om_utilisateur_nom=Bliguet Teugilb ... instr_om_utilisateur_email=bteugilb@openads-test.fr ... instr_om_utilisateur_login=bteugilb ... instr_om_utilisateur_pwd=bteugilb Isolation d'un contexte ${loincom_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è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}" ${payload_dict} = To Json ${json_payload} # sauvegarde le code d'acteur ${acteur_code} = Set Variable ${payload_dict["dossier"]["acteur"]} # retire le paramètre 'acteur' de la payload JSON Remove From Dictionary ${payload_dict["dossier"]} 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} Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS # 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} # 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_saisie_complete} valeur=true Ajouter ou modifier le paramètre depuis le menu ${param_saisie_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 'new', 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 Depuis la page d'accueil admin admin Set To Dictionary ${param_dossier_commune} valeur=true Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} #-- 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} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_consulte ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]} # 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 'new', 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 'new', 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"]} Ajouter ou modifier le paramètre depuis le menu ${param_entite} # ajoute le paramètre 'code_entite' à la collectivité/le service Ajouter le paramètre depuis le menu code_entite ... ${librecom_values["code_entite"]} ${librecom_values["om_collectivite_libelle"]} # 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 'new', 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 Depuis la page d'accueil admin admin # 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-06 ${json_payload} = Replace String ${json_payload} 2SZ-SX8-AZ6 AAA-000-06 ${json_payload} = Replace String ${json_payload} 00009 00009P0 ${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} # 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 'new', 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 # 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} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib} # Commune Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#commune ${oldcom_values["libelle"]} # Code entité ${num_entite_value} = Get Value css=input#numerotation_entite Should Be Equal ${num_entite_value} ${librecom_values["code_entite"]} # Demandeur principale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_petitionnaire Perry Katy # Date demande = date dépôt Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#date_depot 23/11/2020 # Autres demandeurs Open Fieldset dossier_instruction demandeur Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#liste_demandeur Madame Perry Katy Element Should Contain css=#liste_demandeur Métropole Construction SA Métropole Element Should Contain css=#liste_demandeur Monsieur Bloom Orlando Element Should Contain css=#liste_demandeur 67 rue de l'espérance # Dépôt électronique Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16 # 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 # 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 'new', 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 'new', 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é 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 # 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 'new', 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} # 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 'new', par défaut) ${passed} = Run Keyword And Return Status Déclencher le traitement des tâches par WS Should Be Equal ${passed} ${FALSE} # fin, suppression des options Depuis la page d'accueil admin admin Set To Dictionary ${param_division} valeur=false Ajouter ou modifier le paramètre depuis le menu ${param_division} Set To Dictionary ${param_saisie_complete} valeur=true Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} Set To Dictionary ${param_dossier_commune} valeur=false Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} Vérification de l'ajout de la tâche add_piece par ws, puis traitement [Documentation] Permet de vérifier que la tâche ajout_pièce en stream input ajout bien un fichier dans le filestorage ... à partir du contenu du json payload vérifie aussi que l'uid du fichier ajouté est bien enregistré ... dans le json payload # En tant qu'admin Depuis la page d'accueil admin admin # Permet le même comportement du test qu'il soit exécuté en runone ou runall &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=true ... om_collectivite=agglo Ajouter le paramètre depuis le menu (surcharge) ${param_division} # desactiver l'option dossier_commune et la saisie complète des numéros &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} # définir les paramètres de type de demande &{param_type_demande_initial} = Create Dictionary ... libelle=param_type_demande_initial ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PIECE ... departement=014 ... commune=095 ... insee=14095 ... direction_code=G ... direction_libelle=Direction de LIBRECOM_WS_PIECE ... direction_chef=Chef ... division_code=G ... division_libelle=Division G ... division_chef=Chef ... guichet_om_utilisateur_nom=Khalil Gibran ... guichet_om_utilisateur_email=kgibran@openads-test.fr ... guichet_om_utilisateur_login=kgibran ... guichet_om_utilisateur_pwd=kgibran ... instr_om_utilisateur_nom=Domir Tambu ... instr_om_utilisateur_email=dtambu@openads-test.fr ... instr_om_utilisateur_login=dtambu ... instr_om_utilisateur_pwd=dtambu ... code_entite=LBCOM_14 ... acteur=LIBRECOM-ACT-014 Isolation d'un contexte ${librecom_values} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_consulte ... ${librecom_values["acteur"]} ${librecom_values["om_collectivite_libelle"]} # 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ère le template de payload JSON et le transforme en dictionnaire ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt # Remplace certaines valeurs ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_values["acteur"]} ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-10 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-10 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 00001P0 ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_values["insee"]} ${dossier_payload_dict} = To Json ${dossier_json_payload} # Ajoute d'une tâche de création de DI ${dossier_task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${dossier_json_payload} Ajouter la tâche par WS ${dossier_task_values} # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${dossier_msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1 # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE Depuis la page d'accueil kgibran kgibran # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction ${di_lib} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_lib} # En tant qu'admin Depuis la page d'accueil admin admin # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche ajout_piece ${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_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-10 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-10 ${piece_payload_dict} = To Json ${json_payload} # 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 # se rend sur la page de la tâche #Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Depuis le contexte de la task ${task_id} # vérifie qu'elle a bien été ajoutée Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['document_numerise']} Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']} ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS Log ${msg} # Extraction du libellé du DI dans le message ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '([^']+)' .*$ ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_lib} # Le nom du fichier doit être présent en tant que pièce Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"] ... ${piece_payload_dict["document_numerise"]["nom_fichier"]} # Depuis la pièce Depuis le contexte de la pièce par le dossier d'instruction ${di_lib} ... photographie du terrain dans l'environnement proche # La date de création doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#date_creation 27/11/2020 # Le type de pièce doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#document_numerise_type ... photographie du terrain dans l'environnement proche # ajout d'une seconde pièce au dossier # json_payload correspondant à la tâche ajout_piece, dont on modifie certaines valeurs ${json_payload} = Replace String ${json_payload} ... "date_creation": "2020-11-27" "date_creation": "2020-12-04" ${json_payload} = Replace String ${json_payload} ... "document_numerise_nature_code": "INIT" "document_numerise_nature_code": "COMP" ${json_payload} = Replace String ${json_payload} ... "document_numerise_type_code": "90" "document_numerise_type_code": "91" ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "2020120490.pdf" # Remplace certaines valeurs ${json_payload} = Replace String ${json_payload} PPP-000-10 PPP-000-11 ${piece_payload_dict} = To Json ${json_payload} # 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 # se rend sur la page de la tâche #Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Depuis le contexte de la task ${task_id} # vérifie qu'elle a bien été ajoutée Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['document_numerise']} Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']} ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS Log ${msg} # Extraction du libellé du DI dans le message ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '([^']+)' .*$ ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib} ${dossier_payload_dict["dossier"]["dossier"]} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_lib} # Le nom du fichier doit être présent en tant que pièce Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be ... css=table.document_numerise:nth-child(4) td a.lienDocumentNumerise span[title="Télécharger"] ... ${piece_payload_dict["document_numerise"]["nom_fichier"]} # Depuis la pièce Depuis le contexte de la pièce par le dossier d'instruction ${di_lib} ... photographie du terrain dans le paysage lointain # La date de création doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#date_creation 04/12/2020 # Le type de pièce doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#document_numerise_type ... photographie du terrain dans le paysage lointain Vérification de l'ajout d'une même pièce sur deux dossiers, le tout ajouté par WS [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers # En tant qu'admin Depuis la page d'accueil admin admin # Permet le même comportement du test qu'il soit exécuté en runone ou runall &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=true ... om_collectivite=agglo Ajouter le paramètre depuis le menu (surcharge) ${param_division} # desactiver l'option dossier_commune et activer la saisie complète des numéros &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} # définir les paramètres de type de demande &{param_type_demande_initial} = Create Dictionary ... libelle=param_type_demande_initial ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_multi_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_1 ... departement=015 ... commune=085 ... insee=15085 ... direction_code=T ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_1 ... direction_chef=Chef ... division_code=T ... division_libelle=Division T ... division_chef=Chef ... guichet_om_utilisateur_nom=Joseph Proudhon ... guichet_om_utilisateur_email=jproudhon@openads-test.fr ... guichet_om_utilisateur_login=jproudhon ... guichet_om_utilisateur_pwd=jproudhon ... instr_om_utilisateur_nom=François Rebalais ... instr_om_utilisateur_email=frebalais@openads-test.fr ... instr_om_utilisateur_login=frebalais ... instr_om_utilisateur_pwd=frebalais ... code_entite=LBCOM_15 ... acteur=LIBRECOM-ACT-015 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_consulte ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # Active l'option entité pour la collectivité/le service &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... valeur=true ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Ajouter ou modifier le paramètre depuis le menu ${param_entite} # Ajoute le paramètre 'code_entite' à la collectivité/le service Ajouter le paramètre depuis le menu code_entite ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # Ajout d'un dossier # Récupère le template de payload JSON et le transforme en dictionnaire ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt # Remplace certaines valeurs ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]} ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-15 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-15 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000011P0 ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]} ${dossier_payload_dict} = To Json ${dossier_json_payload} # Ajoute d'une tâche de création de DI ${dossier_task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${dossier_json_payload} Ajouter la tâche par WS ${dossier_task_values} # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${dossier_msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1 ${di_lib_sans_espace} = Sans espace ${di_lib} ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_1 Depuis la page d'accueil jproudhon jproudhon # 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} # Ajout de la pièce au dossier # En tant qu'admin Depuis la page d'accueil admin admin # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche ajout_piece ${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-AAA-15 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15 ${piece_payload_dict} = To Json ${json_payload} # 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 # se rend sur la page de la tâche #Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Depuis le contexte de la task ${task_id} # vérifie qu'elle a bien été ajoutée Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['document_numerise']} Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']} ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS Log ${msg} # Extraction du libellé du DI dans le message ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '([^']+)' .*$ ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib} ${di_lib_sans_espace} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_to_search} # Le nom du fichier doit être présent en tant que pièce Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"] ... ${piece_payload_dict["document_numerise"]["nom_fichier"]} # Depuis la pièce Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search} ... photographie du terrain dans l'environnement proche # La date de création doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#date_creation 27/11/2020 # Le type de pièce doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#document_numerise_type ... photographie du terrain dans l'environnement proche # Ajout d'un second dossier (simulant une seconde consultation sur le même dossier) # En tant qu'admin Depuis la page d'accueil admin admin # Ajout d'une seconde entité &{librecom_multi_2_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_2 ... departement=016 ... commune=086 ... insee=16086 ... direction_code=C ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_2 ... direction_chef=Chef ... division_code=C ... division_libelle=Division C ... division_chef=Chef ... guichet_om_utilisateur_nom=Peter Kropotkin ... guichet_om_utilisateur_email=pkropotkin@openads-test.fr ... guichet_om_utilisateur_login=pkropotkin ... guichet_om_utilisateur_pwd=pkropotkin ... instr_om_utilisateur_nom=Mikhail Bakunin ... instr_om_utilisateur_email=mbakunin@openads-test.fr ... instr_om_utilisateur_login=mbakunin ... instr_om_utilisateur_pwd=mbakunin ... code_entite=LBCOM_16 ... acteur=LIBRECOM-ACT-016 Isolation d'un contexte ${librecom_multi_2_values} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_consulte ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]} # Active l'option entité pour la collectivité/le service &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... valeur=true ... om_collectivite=${librecom_multi_2_values["om_collectivite_libelle"]} Ajouter ou modifier le paramètre depuis le menu ${param_entite} # Ajoute le paramètre 'code_entite' à la collectivité/le service Ajouter le paramètre depuis le menu code_entite ... ${librecom_multi_2_values["code_entite"]} ${librecom_multi_2_values["om_collectivite_libelle"]} # Ajout d'un dossier # Remplace certaines valeurs, mais conserve le même external_uid pour le dossier ${dossier_json_payload} = Replace String ${dossier_json_payload} ${librecom_multi_1_values["acteur"]} ${librecom_multi_2_values["acteur"]} ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-15 AAA-000-16 ${dossier_payload_dict} = To Json ${dossier_json_payload} # Ajoute d'une tâche de création de DI ${dossier_task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${dossier_json_payload} Ajouter la tâche par WS ${dossier_task_values} # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${dossier_msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1 ${di_lib_sans_espace} = Sans espace ${di_lib} ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_2_values["code_entite"]} ${SPACE}${librecom_multi_2_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_2 Depuis la page d'accueil pkropotkin pkropotkin # 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} # Ajout de la même pièce au second dossier # En tant qu'admin Depuis la page d'accueil admin admin # On récupère le contenu du fichier json_ajout_piece_with_b64.json qui sera notre # json_payload correspondant à la tâche ajout_piece ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json # Remplace certaines valeurs, et conserve le même external_uid que la pièce ajoutée au dossier # précédent ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${librecom_multi_2_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-15 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-15 ${piece_payload_dict} = To Json ${json_payload} # 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 # se rend sur la page de la tâche #Depuis le contexte d'une task à partir de la recherche avancée ${task_values} Depuis le contexte de la task ${task_id} # vérifie qu'elle a bien été ajoutée Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['document_numerise']} Dictionary Should Contain Key ${json_payload_loaded['document_numerise']} uid ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']} ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS Log ${msg} # Extraction du libellé du DI dans le message ${piece_di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '([^']+)' .*$ ${piece_di_lib} = Replace String Using Regexp ${msg} ${piece_di_regex} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib} ${di_lib_sans_espace} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_to_search} # Le nom du fichier doit être présent en tant que pièce Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be ... css=table.document_numerise:nth-child(3) td a.lienDocumentNumerise span[title="Télécharger"] ... ${piece_payload_dict["document_numerise"]["nom_fichier"]} # Depuis la pièce Depuis le contexte de la pièce par le dossier d'instruction ${di_to_search} ... photographie du terrain dans l'environnement proche # La date de création doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#date_creation 27/11/2020 # Le type de pièce doit correspondre Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Text Should Be css=#document_numerise_type ... photographie du terrain dans l'environnement proche # desactiver l'option saisie complète des numéros &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} Ajout d'une tâche de création de PeC et d'avis de consultation via WS, puis traitement [Documentation] Vérification de la création des tâches *pec_metier_consultation* et ... *avis_consultation* en stream output. # En tant qu'admin Depuis la page d'accueil admin admin # Permet le même comportement du test qu'il soit exécuté en runone ou runall &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=true ... om_collectivite=agglo Ajouter le paramètre depuis le menu (surcharge) ${param_division} # desactiver l'option dossier_commune et activer la saisie complète des numéros &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_saisie_complete} # définir les paramètres de type de demande &{param_type_demande_initial} = Create Dictionary ... libelle=param_type_demande_initial ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial} # Active le mode service consulté &{param_division} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=true ... om_collectivite=agglo Ajouter le paramètre depuis le menu (surcharge) ${param_division} # isole le contexte du test (création d'une collectivité) &{librecom_multi_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PEC_AVIS_1 ... departement=06 ... commune=095 ... insee=16095 ... direction_code=U ... direction_libelle=Direction de LIBRECOM_WS_PEC_AVIS_1 ... direction_chef=Chef ... division_code=U ... division_libelle=Division U ... division_chef=Chef ... guichet_om_utilisateur_nom=Adrien Caya ... guichet_om_utilisateur_email=acaya@openads-test.fr ... guichet_om_utilisateur_login=acaya ... guichet_om_utilisateur_pwd=acaya ... instr_om_utilisateur_nom=Mandel Deslauriers ... instr_om_utilisateur_email=mdeslauriers@openads-test.fr ... instr_om_utilisateur_login=mdeslauriers ... instr_om_utilisateur_pwd=mdeslauriers ... code_entite=LBCOM_17 ... acteur=LIBRECOM-ACT-017 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_consulte ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # Active l'option entité pour la collectivité/le service &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... valeur=true ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Ajouter ou modifier le paramètre depuis le menu ${param_entite} # Ajoute le paramètre 'code_entite' à la collectivité/le service Ajouter le paramètre depuis le menu code_entite ... ${librecom_multi_1_values["code_entite"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # Ajoute l'action et l'événement pour changer la prise en compte métier &{args_action} = Create Dictionary ... action=changer_pec ... libelle=Changer PeC ... regle_pec_metier=pec_metier Ajouter l'action depuis le menu ${args_action} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List DP - P - Initiale &{args_evenement} = Create Dictionary ... libelle=300 - Prise en compte métier ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=Changer PeC ... etat=delai de notification envoye ... pec_metier=Pris en compte Ajouter l'événement depuis le menu ${args_evenement} # Ajout d'un dossier # Récupère le template de payload JSON et le transforme en dictionnaire ${dossier_json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt # Remplace certaines valeurs ${dossier_json_payload} = Replace String ${dossier_json_payload} EF-DSQ-4512 ${librecom_multi_1_values["acteur"]} ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-17 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-17 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000012P0 ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_1_values["insee"]} ${dossier_payload_dict} = To Json ${dossier_json_payload} # Ajoute d'une tâche de création de DI ${dossier_task_values} = Create Dictionary ... type=create_DI_for_consultation ... json_payload=${dossier_json_payload} Ajouter la tâche par WS ${dossier_task_values} # Lancer le traitement des tâches (entrantes avec statut 'new', par défaut) ${dossier_msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${dossier_msg} ${di_regex} \\1 ${di_lib_sans_espace} = Sans espace ${di_lib} ${di_to_search} = Replace String ${di_lib_sans_espace} ${librecom_multi_1_values["code_entite"]} ${SPACE}${librecom_multi_1_values["code_entite"]} ${di_to_search_se} = Sans espace ${di_to_search} # Ajout d'une instruction de prise en compte et vérification de la modification # sur le dossier d'instruction, ainsi que de la création de la tâche ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Form Static Value Should Be pec_metier ${args_evenement.pec_metier} &{task_values} = Create Dictionary ... type=pec_metier_consultation ... dossier=${di_to_search_se} ... state=new ... object_id=${instr_pec} ... link_dossier=${di_to_search_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # Ajoute l'avis de décision et l'événement pour changer l'avis &{ad_values} = Create Dictionary ... libelle=Avis favorable ... typeavis=favorable ... avis_decision_type=Conforme ... avis_decision_nature=Favorable Ajouter l'avis de décision ${ad_values} @{etat_source} = Create List delai de notification envoye @{type_di} = Create List DP - P - Initiale &{args_evenement} = Create Dictionary ... libelle=300 - Avis favorable ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=accepter un dossier ... etat=dossier accepter ... avis_decision=${ad_values.libelle} Ajouter l'événement depuis le menu ${args_evenement} # Ajout d'une instruction de décision et vérification de la création de la tâche ${instr_pec} = Ajouter une instruction au DI ${di_to_search} 300 - Avis favorable &{task_values} = Create Dictionary ... type=avis_consultation ... dossier=${di_to_search_se} ... state=new ... object_id=${instr_pec} ... link_dossier=${di_to_search_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values}