*** 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 *** Variables *** ${alternate_filestorage} filestorage_plop *** Test Cases *** Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU [Documentation] Il est nécessaire de faire cette manipulation pour tous les tests liés à la transmission à Plat'AU. ... Si cette case n'est pas coché, il n'y a pas d'ajout de tâche sur le type de da détaillé concerné. Depuis la page d'accueil admin admin &{args_type_DA_detaille_modification} = Create Dictionary ... dossier_platau=true Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification} Modifier type de dossier d'autorisation détaillé DP ${args_type_DA_detaille_modification} Vérification de l'ajout des tasks creation_DA, creation_DI, depot_DI et qualification_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 ... terrain_adresse_localite=TEST300AdresseLocalite &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM01 ... particulier_prenom=TEST300TASKPRENOM01 ... localite=TEST300Localite ... om_collectivite=MARSEILLE ${di1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${date_ddmmyyyy} Saisir les données techniques du DI ${di1} ${donnees_techniques_values} 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} # On remplit Input Text css=div#adv-search-adv-fields input#dossier ${di1_da} Input Text css=div#adv-search-adv-fields input#type qualification_DI # On valide le formulaire de recherche Click On Search Button Element Should Contain css=td.col-1 a.lienTable qualification_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. ... Vérifie également la création d'une tâche modification_DA lors de la modification des données techniques. Depuis la page d'accueil admin admin &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${di1_da} ... state=new ... object_id=${di1_da} ... link_dossier=${di1_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=${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 Modifier la task ${id_creation_DA} ${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} &{task_values} = Create Dictionary ... type=modification_DA ... dossier=${di1_da} 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 ${instr_ac} = Ajouter une instruction au DI ${di1} Changer l'autorité compétente 'commune état' ${instr_ac} = Evaluate ${instr_ac} - 1 ${instr_ac} = Convert to String ${instr_ac} &{task_values} = Create Dictionary ... type=qualification_DI ... dossier=${di1_sans_espace} ... state=new ... object_id=${instr_ac} ... 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' &{task_values} = Create Dictionary ... type=qualification_DI ... dossier=${di1_sans_espace} ... state=new ... object_id=${instr_ac} ... link_dossier=${di1_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} Vérification qu'il n'y a pas d'ajout de la task ajout_piece lors de l'ajout d'un document de travail au dossier d'instruction [Documentation] Permet de vérifier que la tâche ajout_piece n'est pas ajouté lors de l'ajout d'un document de travail ... au dossier d'instruction. Depuis la page d'accueil admin admin # On ajoute un document de travail &{document_travail_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... description_type=document de travail ... date_creation=06/06/2001 Ajouter un document de travail depuis le dossier d'instruction ${di1} ${document_travail_values} &{task_values} = Create Dictionary ... type=ajout_piece ... dossier=${di1_sans_espace} ... stream=output # On accède au tableau Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple Run Keyword If ${passed}==False 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=#type ajout_piece Input Text css=#dossier ${di1_sans_espace} Select From List By Label css=#stream output # On valide le formulaire de recherche Click On Search Button # Aucune tache d'ajout de pièce ne doit être trouvé Element Should Contain css=#tab-task Aucun enregistrement. 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 ... terrain_adresse_localite=TEST300AdresseLocalite ... depot_electronique=true ... source_depot=platau &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM02 ... particulier_prenom=TEST300TASKPRENOM02 ... localite=TEST300Localite ... om_collectivite=MARSEILLE ${di2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} &{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} 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_PCI ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} &{param_type_demande_modificatif} = Create Dictionary ... libelle=param_type_demande_modificatif_PCI ... 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_PCI ... 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["external_uids"]["acteur"]} # 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} 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} # 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_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} # Vérification liste des identifiants externe sur le DI # dossier_consultation Open Fieldset dossier_instruction lien_id_interne_uid_externe Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${payload_dict["external_uids"]["dossier"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${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 '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} Activation de la configuration du filestorage alternatif # On change la configuration du filestorage Move File ..${/}dyn${/}filestorage.inc.php ..${/}dyn${/}filestorage.inc.php.bak Copy File ..${/}tests${/}binary_files${/}alternate_filestorage.inc.php ..${/}dyn${/} Move File ..${/}dyn${/}alternate_filestorage.inc.php ..${/}dyn${/}filestorage.inc.php Ajout d'une tâche ajout_piece en utilisant le filestorage alternatif [Documentation] Ce test case permet de vérifier le bon fonctionnement de l'ajout d'une tâche ajout_piece avec un filesotrage alternatif. ... On ajout tout d'abord la tâche par web service et on vérifie que l'uid contient bien le préfixe fs qui a été configuré dans le fichier ... filesotrage.inc.php. On vérifie ensuite que le fichier a bien été ajouté dans le filestorage alternatif (../var/filestorage_plop) ... et qu'il n'est pas présent dans le filstorage pricipal. On traite la tâche ajout pièce ce qui va lié la pièce à un dossier et on consulte ... la pièce afin de vérifier que l'uid contient bien le préfixe dans le sous titre. # 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PIECE_AFS ... departement=016 ... commune=098 ... insee=16098 ... direction_code=O ... direction_libelle=Direction de LIBRECOM_WS_PIECE_AFS ... direction_chef=Chef ... division_code=OO ... division_libelle=Division OO ... division_chef=Chef ... guichet_om_utilisateur_nom=KhalilAFS GibrAFS ... guichet_om_utilisateur_email=kgibrafs@openads-test.fr ... guichet_om_utilisateur_login=kgibrafs ... guichet_om_utilisateur_pwd=kgibrafs ... instr_om_utilisateur_nom=DomirAFS TambAFS ... instr_om_utilisateur_email=dtambafs@openads-test.fr ... instr_om_utilisateur_login=dtambafs ... instr_om_utilisateur_pwd=dtambafs ... code_entite=LBCOM_16 ... acteur=LIBRECOM-ACT-016-AFS 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"]} # Ajouter le type de document avec le code '90' tel qu'il est dans la payload ${dnt_code} = Set Variable 95 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU AFS ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # 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 kgibrafs kgibrafs # 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 ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-10 ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "95" ${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 # 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 # L'uid doit contenir le préfixe correspondant au filestorage alternatif ${uid} = Set Variable ${json_payload_loaded['document_numerise']['uid']} ${prefix} = Get Substring ${uid} 0 5 Should Be Equal As Strings ${prefix} fs:// # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage alternatif, le fichier doit être présent File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.info # Vérification dans le filestorage principale, le fichier ne doit pas être présent File Should Not Exist ..${/}var${/}filstorage${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Not Exist ..${/}var${/}filstorage${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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 pièce Depuis le contexte de la pièce par le dossier d'instruction ${di_lib} ... Document numérisé Plat'AU # Lors de la consultation de la pièce, on affiche l'uid dans le sous titre. # Le traitement déplaçant le fichier dans le backend de storage principal, l'uid # affiché doit être différent Page Should Not Contain sousform-document_numerise ${uid} Vérification de l'ajout de la task output prescription archéologique lors d'une décision sur un dossier ajouté par une task input [Documentation] Permet de vérfier l'ajout d'une tâche de prescription si le WF est ... correctement paramétré. # 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 ou modifier le paramètre depuis le menu ${param_division} # &{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} &{param_mode_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_mode_service_consulte} # définir les paramètres de type de demande &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PRESCRIPTION ... departement=016 ... commune=100 ... insee=16100 ... direction_code=1 ... direction_libelle=Direction de LIBRECOM_WS_PRESCRIPTION ... direction_chef=Chef ... division_code=01 ... division_libelle=Division 01 ... division_chef=Chef ... guichet_om_utilisateur_nom=Zurie Parmentier ... guichet_om_utilisateur_email=zparmentier@openads-test.fr ... guichet_om_utilisateur_login=zparmentier ... guichet_om_utilisateur_pwd=zparmentier ... instr_om_utilisateur_nom=Mirabelle Laberge ... instr_om_utilisateur_email=mlaberge@openads-test.fr ... instr_om_utilisateur_login=mlaberge ... instr_om_utilisateur_pwd=mlaberge ... code_entite=LBCOM_16 ... acteur=LIBRECOM-ACT-016-PRESCRIPTION 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 # Ajout PRESCRIPTION avis_decision + action + evenement &{args_avis_decision} = Create Dictionary ... libelle=300 - Prescription ... typeavis=favorable ... avis_decision_type=Conforme ... avis_decision_nature=Favorable ... prescription=true Ajouter l'avis de décision ${args_avis_decision} &{args_action} = Create Dictionary ... action=prescription300 ... libelle=prescription300 ... regle_avis=avis_decision ... regle_date_decision=date_evenement 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 - Prescription ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=${args_action.libelle} ... avis_decision=${args_avis_decision.libelle} Ajouter l'événement depuis le menu ${args_evenement} # 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-20 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-20 ${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 ${di_lib_sans_espace} = Sans espace ${di_lib} # Ajout d'une instruction prescription et vérification de la création de la tâche ${instr_ad} = Ajouter une instruction au DI ${di_lib} ${args_evenement.libelle} &{task_values} = Create Dictionary ... type=prescription ... dossier=${di_lib_sans_espace} ... state=new ... object_id=${instr_ad} ... link_dossier=${di_lib_sans_espace} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} # Vérification que le champ commentaire est bien intégré au json ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['avis_decision']} Dictionary Should Contain Key ${json_payload_loaded['avis_decision']['libelle']} ${args_avis_decision.libelle} # On vérifie qu'il n'y ait pas de tâche decision_DI ou avis_consultation Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display Input Text css=div#adv-search-adv-fields input#dossier ${di_lib} Input Text css=div#adv-search-adv-fields input#type decision_DI Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. Input Text css=div#adv-search-adv-fields input#dossier ${di_lib} Input Text css=div#adv-search-adv-fields input#type avis_consultation Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. # &{param_mode_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_mode_service_consulte} 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_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"]} # Ajouter le type de document avec le code '90' tel qu'il est dans la payload ${dnt_code} = Set Variable 90 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # 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"]} # On remplace le code postal par une valeur trop grande # afin de vérifier si elle va être tronqué ${dossier_json_payload} = Replace String ${dossier_json_payload} ... "terrain_adresse_code_postal" : "75001" "terrain_adresse_code_postal" : "7500138432" ${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} # On vérifie que le code postal a bien été tronqué (7500138432 doit devenir 75001) Open Fieldset dossier_instruction localisation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#terrain_adresse_code_postal 75001 # 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 ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-10 ${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 # 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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU # ajout d'une seconde pièce au dossier # Ajouter le type de document avec le code '91' tel qu'il est dans la payload ${dnt_code_2} = Set Variable 91 &{dnt_values_2} = Create Dictionary ... code=${dnt_code_2} ... libelle=Document numérisé Plat'AU 2 ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values_2} Valid Message Should Contain Vos modifications ont bien été enregistrées. # 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} ${external_uid_piece_2} = 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 # 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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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} ... Document numérisé Plat'AU 2 # 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 ... Document numérisé Plat'AU 2 # Vérification liste des identifiants externe sur le DI # piece Depuis le contexte du dossier d'instruction ${di_lib} Open Fieldset dossier_instruction lien_id_interne_uid_externe Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${piece_payload_dict["external_uids"]["dossier"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${dossier_payload_dict["external_uids"]["dossier_consultation"]} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_1} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe ${external_uid_piece_2} 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_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=TT ... division_libelle=Division TT ... 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"]} # Ajouter le type de document avec le code '92' tel qu'il est dans la payload ${dnt_code} = Set Variable 92 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU ... 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'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 ${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": "92" ${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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU # 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 ${json_payload} = Replace String ${json_payload} "dossier_consultation": "FE4-JR5-8W", ${EMPTY} ${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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU # 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} Vérification de l'ajout d'une même pièce sur deux dossiers pour le même acteur [Documentation] Permet de vérifier que la même pièce peut être ajoutée sur 2 dossiers ... avec le même acteur # 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_multi_3_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_PIECE_MULTI_3 ... departement=018 ... commune=088 ... insee=18088 ... direction_code=D ... direction_libelle=Direction de LIBRECOM_WS_PIECE_MULTI_3 ... direction_chef=Chef ... division_code=D ... division_libelle=Division D ... division_chef=Chef ... guichet_om_utilisateur_nom=Malcom Ferdinand ... guichet_om_utilisateur_email=mferdinand@openads-test.fr ... guichet_om_utilisateur_login=mferdinand ... guichet_om_utilisateur_pwd=mferdinand ... instr_om_utilisateur_nom=Dominique Bourg ... instr_om_utilisateur_email=dbourg@openads-test.fr ... instr_om_utilisateur_login=dbourg ... instr_om_utilisateur_pwd=dbourg ... code_entite=LBCOM_18 ... acteur=LIBRECOM-ACT-018 Isolation d'un contexte ${librecom_multi_3_values} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_consulte ... ${librecom_multi_3_values["acteur"]} ${librecom_multi_3_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_3_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_3_values["code_entite"]} ${librecom_multi_3_values["om_collectivite_libelle"]} # Ajouter le type de document avec le code '93' tel qu'il est dans la payload ${dnt_code} = Set Variable 93 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU ... 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'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_3_values["acteur"]} ${dossier_json_payload} = Replace String ${dossier_json_payload} 7SZ-SX8-TR4 000-AAA-18 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-18 ${dossier_json_payload} = Replace String ${dossier_json_payload} 00009 000018P0 ${dossier_json_payload} = Replace String ${dossier_json_payload} 13055 ${librecom_multi_3_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_1} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib_1} = Replace String Using Regexp ${dossier_msg} ${di_regex_1} \\1 ${di_lib_sans_espace_1} = Sans espace ${di_lib_1} ${di_to_search_1} = Replace String ${di_lib_sans_espace_1} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3 Depuis la page d'accueil mferdinand mferdinand # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction par recherche ${di_to_search_1} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_to_search_1} # 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 # Remplace certaines valeurs ${dossier_json_payload} = Replace String ${dossier_json_payload} AAA-000-18 BBB-000-18 ${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_2} = Catenate ^.*\\[[0-9]+\\] ${dossier_task_values["type"]} ... ${dossier_payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib_2} = Replace String Using Regexp ${dossier_msg} ${di_regex_2} \\1 ${di_lib_sans_espace_2} = Sans espace ${di_lib_2} ${di_to_search_2} = Replace String ${di_lib_sans_espace_2} ${librecom_multi_3_values["code_entite"]} ${SPACE}${librecom_multi_3_values["code_entite"]} # En tant qu'instructeur de la collectivité/du service LIBRECOM_WS_PIECE_MULTI_3 Depuis la page d'accueil mferdinand mferdinand # Vérifier que le dossier a bien été ajouté Depuis le contexte du dossier d'instruction par recherche ${di_to_search_2} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=#dossier_libelle ${di_to_search_2} # Ajout de la pièce au 1er 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_3_values["acteur"]} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-AAA-18 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-18 ${json_payload} = Replace String ${json_payload} FE4-JR5-8W AAA-000-18 ${json_payload} = Replace String ${json_payload} "document_numerise_type_code": "90" "document_numerise_type_code": "93" ${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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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_1} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${piece_di_lib_1} = Replace String Using Regexp ${msg} ${piece_di_regex_1} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib_1} ${di_lib_sans_espace_1} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_1} # 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_1} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU # Ajout de la même pièce au second dossier # En tant qu'admin Depuis la page d'accueil admin admin # modifie l'ID de la consultation ${json_payload} = Replace String ${json_payload} AAA-000-18 BBB-000-18 ${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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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_2} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} * ... : pièce : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${piece_di_lib_2} = Replace String Using Regexp ${msg} ${piece_di_regex_2} \\1 # Le DI devrait être le même que celui du dossier Should Be Equal ${piece_di_lib_2} ${di_lib_sans_espace_2} # Depuis la page des pièces du dossier Depuis l'onglet des pièces du dossier d'instruction ${di_to_search_2} # 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_2} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU # 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} Vérification de l'ajout de la tâche add_piece par IHM web, puis traitement [Documentation] Permet de vérifier que l'ajout d'une pièce via l'IHM fonctionne # 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # isole le contexte du test (création d'une collectivité) &{librecom_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_IHM_PIECE ... departement=017 ... commune=097 ... insee=17097 ... direction_code=Q ... direction_libelle=Direction de LIBRECOM_IHM_PIECE ... direction_chef=Chef ... division_code=Q ... division_libelle=Division Q ... division_chef=Chef ... guichet_om_utilisateur_nom=Emmanuel Kant ... guichet_om_utilisateur_email=ekant@openads-test.fr ... guichet_om_utilisateur_login=ekant ... guichet_om_utilisateur_pwd=ekant ... instr_om_utilisateur_nom=Bertrand Russell ... instr_om_utilisateur_email=brussell@openads-test.fr ... instr_om_utilisateur_login=brussell ... instr_om_utilisateur_pwd=brussell ... code_entite=LBCOM_17 ... acteur=LIBRECOM-ACT-017 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"]} # Ajouter le type de document avec le code '94' tel qu'il est dans la payload ${dnt_code} = Set Variable 94 &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=Document numérisé Plat'AU ... document_numerise_type_categorie=Autre Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # 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-17 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-17 ${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_IHM_PIECE Depuis la page d'accueil ekant ekant # 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-17 ${json_payload} = Replace String ${json_payload} 1EY-RT8-5X PPP-000-17 ${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": "94" ${piece_payload_dict} = To Json ${json_payload} # Ajoute la tâche via l'IHM ${task_data_type} = Create List ${NONE} add_piece ${task_data_payload} = Create List ${NONE} ${json_payload} ${task_data} = Create Dictionary ... type=${task_data_type} ... json_payload=${task_data_payload} ${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} ${response} = Post Request ${session} /app/index.php?module=form&obj=task&action=996 files=${task_data} # get the task ID by parsing the response ${task_id_msg_matches} = Get Regexp Matches ${response.content} T\xc3\xa2che ([0-9]+) ajout\xc3\xa9e avec succ\xc3\xa8s 1 Length Should Be ${task_id_msg_matches} 1 ${task_id} = Get From List ${task_id_msg_matches} 0 # créé le dictionnaire qui va permettre de vérifier les infos de la tâche ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ... task=${task_id} ... state=new ... 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']} # On enlève le préfixe de l'uid ${uid_without_prefix} = Get Substring ${uid} 5 ${path_1} = Get Substring ${uid} 5 7 ${path_2} = Get Substring ${uid} 5 9 # Vérification dans le filestorage File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix} File Should Exist ..${/}var${/}${alternate_filestorage}${/}${path_1}${/}${path_2}${/}${uid_without_prefix}.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 : '[^']+' créée sur le dossier d'instruction '([^']+)'.*$ ${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} ... Document numérisé Plat'AU # 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 ... Document numérisé Plat'AU 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 ou modifier le paramètre depuis le menu ${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 &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # Active le mode service consulté &{param_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_service_consulte} # 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_19 ... acteur=LIBRECOM-ACT-019 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 ... commentaire=true 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-19 ${dossier_json_payload} = Replace String ${dossier_json_payload} 2SZ-SX8-AZ6 AAA-000-19 ${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 null null null null commentaire sur la pec 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} # Vérification que le champ commentaire est bien intégré au json ${json_payload_loaded} = Récupérer le contenu du champ json_payload ${task_values} Log Dictionary ${json_payload_loaded['instruction']} Dictionary Should Contain Key ${json_payload_loaded['instruction']} commentaire # 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} # Désactive le mode service consulté &{param_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_service_consulte} Désactivation de la configuration du filestorage alternatif # On remet la configuration du filestorage par défaut Move File ..${/}dyn${/}filestorage.inc.php.bak ..${/}dyn${/}filestorage.inc.php Vérification des fiches de synthèse des dossiers d'instruction [Documentation] Contrôle les affichages spécifiques pour le DI. ... ... Les cas d'affichage possibles pour le fieldset "Consultation" : ... 1/ Avoir le type d'affichage du type de DA avec la valeur ... "CONSULTATION ENTRANTE" + le dépôt électronique à "Oui". ... 2/ Dans tous les autres cas le fieldset ne doit pas être affiché. ... ... Les cas d'affichage possibles pour le fieldset "Plat'AU : identifiants techniques" : ... 1/ L'option option_dossier_commune est activée + le dépôt électronique à ... "Oui" + avoir des valeurs pour le DI en question dans la table ... lien_id_interne_uid_externe ... 2/ L'option option_dossier_commune est désactivée + avoir des valeurs pour ... le DI en question dans la table lien_id_interne_uid_externe ... 3/ Dans tous les autres cas le fieldset ne doit pas être affiché. # 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 ou modifier le paramètre depuis le menu ${param_division} # activer la saisie complète des numéros &{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} # isole le contexte du test (création d'une collectivité) &{librecom_multi_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_AFF_DI ... departement=016 ... commune=099 ... insee=16099 ... direction_code=V ... direction_libelle=Direction de LIBRECOM_WS_AFF_DI ... direction_chef=Chef ... division_code=V ... division_libelle=Division V ... division_chef=Chef ... guichet_om_utilisateur_nom=Merci Collin ... guichet_om_utilisateur_email=mcollin@openads-test.fr ... guichet_om_utilisateur_login=mcollin ... guichet_om_utilisateur_pwd=mcollin ... instr_om_utilisateur_nom=Carolos Beauchemin ... instr_om_utilisateur_email=cbeauchemin@openads-test.fr ... instr_om_utilisateur_login=cbeauchemin ... instr_om_utilisateur_pwd=cbeauchemin ... code_entite=LBCOM_20 ... acteur=LIBRECOM-ACT-020 Isolation d'un contexte ${librecom_multi_values} # ajouter le paramètre 'acteur' à la collectivité/au service Ajouter le paramètre depuis le menu platau_acteur_service_consulte ... ${librecom_multi_values["acteur"]} ${librecom_multi_values["om_collectivite_libelle"]} # Change le type affichage du type de DA &{args_da_type} = Create Dictionary ... affichage_form=CONSULTATION ENTRANTE Modifier le type de dossier d'autorisation Permis de construire ${args_da_type} # Fieldset "Consultation" cas 1/ # Avoir le type d'affichage du type de DA avec la valeur "CONSULTATION ENTRANTE" # + le dépôt électronique à "Oui". &{args_dossier} = Create Dictionary ... om_collectivite=LIBRECOM_WS_AFF_DI ... 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 ... depot_electronique=true ... source_depot=platau &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM03 ... particulier_prenom=TEST300TASKPRENOM03 ... localite=TEST300Localite ... om_collectivite=LIBRECOM_WS_AFF_DI ${di_case_1} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${date_ddmmyyyy} Saisir les données techniques du DI ${di_case_1} ${donnees_techniques_values} Depuis le contexte du dossier d'instruction ${di_case_1} Page Should Contain Element css=#fieldset-form-dossier_instruction-consultation # Fieldset "Consultation" cas 2/ # Dans tous les autres cas le fieldset ne doit pas être affiché # Avec le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non" &{args_dossier} = Create Dictionary ... om_collectivite=LIBRECOM_WS_AFF_DI ... 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 ... depot_electronique=false ... source_depot=app &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=TEST300TASKNOM04 ... particulier_prenom=TEST300TASKPRENOM04 ... localite=TEST300Localite ... om_collectivite=LIBRECOM_WS_AFF_DI ${di_case_2} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} &{donnees_techniques_values} = Create Dictionary ... enga_decla_lieu=TEST300engadelalieu ... enga_decla_date=${date_ddmmyyyy} Saisir les données techniques du DI ${di_case_2} ${donnees_techniques_values} Depuis le contexte du dossier d'instruction ${di_case_2} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation # Change le type affichage du type de DA &{args_da_type} = Create Dictionary ... affichage_form=ADS Modifier le type de dossier d'autorisation Permis de construire ${args_da_type} # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Oui" Depuis le contexte du dossier d'instruction ${di_case_1} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation # Sans le type d'affichage "CONSULTATION ENTRANTE" + dépôt électronique à "Non" Depuis le contexte du dossier d'instruction ${di_case_2} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-consultation # Fieldset "Plat'AU : identifiants techniques" cas 1/ # L'option option_dossier_commune est activée + le dépôt électronique à "Oui" # + avoir des valeurs pour le DI en question dans la table lien_id_interne_uid_externe # Prépare la payload ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_ref.txt ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X 000-CCC-00 ${json_payload} = Replace String ${json_payload} 3XY-DK4-7X CCC-000-00 ${json_payload} = Replace String ${json_payload} 013055 20 016099 21 ${json_payload} = Replace String ${json_payload} 01305520 01609921 ${json_payload} = Replace String ${json_payload} 2020 2021 ${json_payload} = Replace String ${json_payload} 07777P0 01111P ${json_payload} = Replace String ${json_payload} 13055 ${librecom_multi_values["insee"]} ${json_payload} = Replace String ${json_payload} EF-DSQ-4512 ${librecom_multi_values["acteur"]} ${payload_dict} = To Json ${json_payload} # définir les paramètres de type de demande &{param_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_PCI ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_type_demande_initial} # Active option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} # Ajoute une commune &{com_values} = Create Dictionary ... typecom=COM ... com=16099 ... reg=16 ... dep=16 ... arr=099 ... tncc=0 ... ncc=LIBRECOM_WS_AFF_DI ... nccenr=LIBRECOM_WS_AFF_DI ... libelle=LIBRECOM_WS_AFF_DI ... can=16 ... 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_for_consultation ... json_payload=${json_payload} Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS ${di_lib_expected} = Replace String Using Regexp ${payload_dict["dossier"]["dossier_libelle"]} ... [^ ]{7}$ 01111P0 Depuis le contexte du dossier d'instruction ${di_lib_expected} Page Should Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # Fieldset "Plat'AU : identifiants techniques" cas 2/ # L'option option_dossier_commune est désactivée + avoir des valeurs pour le # DI en question dans la table lien_id_interne_uid_externe # Désactive option_dossier_commune &{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} Depuis le contexte du dossier d'instruction ${di_lib_expected} Page Should Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # Fieldset "Plat'AU : identifiants techniques" cas 3/ # Dans tous les autres cas le fieldset ne doit pas être affiché. # option_dossier_commune activée + depot_electrionique à "Oui" + aucune valeur # dans la table lien_id_interne_uid_externe &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} Depuis le contexte du dossier d'instruction ${di_case_1} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # option_dossier_commune activée + depot_electrionique à "Non" + aucune valeur # dans la table lien_id_interne_uid_externe Depuis le contexte du dossier d'instruction ${di_case_2} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # option_dossier_commune désactivée + depot_electrionique à "Non" + aucune valeur # dans la table lien_id_interne_uid_externe &{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} Depuis le contexte du dossier d'instruction ${di_case_1} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # option_dossier_commune désactivée + depot_electrionique à "Oui" + aucune valeur # dans la table lien_id_interne_uid_externe Depuis le contexte du dossier d'instruction ${di_case_2} Page Should Not Contain Element css=#fieldset-form-dossier_instruction-lien_id_interne_uid_externe # Remet les paramètres par défaut &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} &{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} Vérification de la suppression d'un objet lié à une tâche non traitée [Documentation] XXX Depuis la page d'accueil admin admin # Activer l'option de suppression des dossiers &{options} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${options} # Ajouter un service de type plat'au &{service} = Create Dictionary ... abrege=DC300 ... libelle=Direction Circulation TEST300 ... edition=Consultation - Pour conformité ... type_consultation=Pour conformité ... om_collectivite=MARSEILLE ... service_type=Plat'AU ... generate_edition=true Ajouter le service depuis le listing ${service} # Ajouter un dossier : creation_DA + creation_DI + depot_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_piece &{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 ${di} ${document_numerise_values} Depuis le contexte de la pièce par le dossier d'instruction ${di} ${document_numerise_values.document_numerise_type} ${dn} = Get Value css=input#document_numerise # Ajouter une consultation : creation_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 Text css=span#consultation # Ajouter une instruction de décision : decision_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 une pièce depuis le dossier d'instruction ${di} ${document_numerise_values.document_numerise_type} 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} # Désactiver l'option de suppression des dossiers &{options} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${options} Vérification du traitement de la tâche create_DI # 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 ou modifier le paramètre depuis le menu ${param_division} &{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} # Active le mode service consulté &{param_division} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} # 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=W ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_1 ... direction_chef=Chef ... division_code=W ... division_libelle=Division W ... 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 Ajouter le paramètre depuis le menu platau_acteur_service_instructeur ... ${librecom_multi_1_values["acteur"]} ${librecom_multi_1_values["om_collectivite_libelle"]} # Récupère le payload de create_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} # définir les paramètres de type de demande &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # Active option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} # 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_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-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_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-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"]} ${dossier_libelle} = Get Text css=#dossier_libelle ${dossier_libelle} = Sans espace ${dossier_libelle} Depuis la page d'accueil admin admin # On vérifie qu'il n'y ait pas de tâche creation_DI Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type creation_DI Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche creation_DA Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type creation_DA Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche ajout_piece Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type ajout_piece Click On Search Button 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} Input Text css=div#adv-search-adv-fields input#type modification_DI Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche depot_DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type depot_DI Select From List By Label css=div#adv-search-adv-fields select#state new 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} Input Text css=div#adv-search-adv-fields input#type qualification_DI Select From List By Label css=div#adv-search-adv-fields select#state new Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche create_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} Input Text css=div#adv-search-adv-fields input#type create_DI Select From List By Label css=div#adv-search-adv-fields select#state done 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 X ... 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 Ajouter le paramètre depuis le menu platau_acteur_service_instructeur ... ${librecom_multi_2_values["acteur"]} ${librecom_multi_2_values["om_collectivite_libelle"]} # Récupère le payload de create_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_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_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_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_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"]} ${dossier_libelle} = Get Text css=#dossier_libelle ${dossier_libelle} = Sans espace ${dossier_libelle} Depuis la page d'accueil admin admin # On vérifie qu'il n'y ait pas de tâche creation_DI Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple Run Keyword If ${passed}==False Click Element css=#toggle-advanced-display Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type creation_DI Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche creation_DA Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type creation_DA Click On Search Button Element Should Contain css=.tab-data Aucun enregistrement. # On vérifie qu'il n'y ait pas de tâche ajout_piece Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type ajout_piece Click On Search Button 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} Input Text css=div#adv-search-adv-fields input#type modification_DI Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche depot_DI est bien ajoutée Input Text css=div#adv-search-adv-fields input#dossier ${dossier_libelle} Input Text css=div#adv-search-adv-fields input#type depot_DI Select From List By Label css=div#adv-search-adv-fields select#state new 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} Input Text css=div#adv-search-adv-fields input#type qualification_DI Select From List By Label css=div#adv-search-adv-fields select#state new Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. # On vérifie que la tâche create_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} Input Text css=div#adv-search-adv-fields input#type create_DI Select From List By Label css=div#adv-search-adv-fields select#state done Click On Search Button Element Should Not Contain css=.tab-data Aucun enregistrement. 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} &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} # Désactive option_dossier_commune &{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} Vérification du traitement de la tâche create_message [Documentation] Vérifie que le traitement de la tâche create_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 # 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 ou modifier le paramètre depuis le menu ${param_division} &{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} # Active le mode service consulté &{param_division} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} # 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} # définir les paramètres de type de demande &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... valeur=DI ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${platau_type_demande_initial} # Active option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_dossier_commune} # Ajoute une 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=01/11/2020 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 'new', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Récupère le payload de create_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"]} ${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 # Réinitialisation des paramètres Depuis la page d'accueil admin admin &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} # Désactive option_dossier_commune &{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} Vérification du contrôle de données et déclencheur [Documentation] Vérifie le bon fonctionnement du contrôle de saisi des champs requis Plat'AU ... et de la mise à jour des tâches en fonction de ce qui a été saisi dans le dossier. # 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 ou modifier le paramètre depuis le menu ${param_division} &{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} # Active le mode service consulté &{param_division} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Ajouter ou modifier le paramètre depuis le menu ${param_division} # isole le contexte du test (création d'une collectivité) &{librecom_multi_1_values} = Create Dictionary ... om_collectivite_libelle=LIBRECOM_WS_CONTROLE_DONNEE_MULTI_1 ... departement=019 ... commune=100 ... insee=19100 ... direction_code=BCD ... direction_libelle=Direction de LIBRECOM_WS_CONTROLE_DONNEE_MULTI_1 ... direction_chef=Chef ... division_code=BCD ... division_libelle=Division BCD ... division_chef=Chef ... guichet_om_utilisateur_nom=Pacquenett Lerrault ... guichet_om_utilisateur_email=plerrault@openads-test.fr ... guichet_om_utilisateur_login=plerrault ... guichet_om_utilisateur_pwd=plerrault ... instr_om_utilisateur_nom=Molaine Trimard ... instr_om_utilisateur_email=mtrimard@openads-test.fr ... instr_om_utilisateur_login=mtrimard ... instr_om_utilisateur_pwd=mtrimard ... code_entite=LBCOM_24 ... acteur=LIBRECOM-ACT-024 Isolation d'un contexte ${librecom_multi_1_values} &{args_dossier} = Create Dictionary ... om_collectivite=LIBRECOM_WS_CONTROLE_DONNEE_MULTI_1 ... 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=LIBRECOM_WS_CONTROLE_DONNEE_MULTI_1 ${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} # On vérifie le message concernant les champs requis Depuis l'onglet instruction du dossier d'instruction ${di} ${instr_qualif} = Get Text css=td.col-0 a.lienTable Depuis le contexte du dossier d'instruction ${di} Element Should Contain css=div.panel_information.ui-state-demat-color p span.text La transmission à Plat'AU n'est pas possible car certains champs requis ne sont pas saisis. Click Element css=#fieldset-message-tab_demat-color legend Wait Until Element Is Visible css=#fieldset-message-tab-content # On vérifie la liste des champs à saisir Element Should Contain css=#fieldset-message-tab-content Dans le formulaire données techniques le champ : date de signature Element Should Contain css=#fieldset-message-tab-content Dans le formulaire données techniques le champ : lieu de signature Element Should Contain css=#fieldset-message-tab-content Dans le formulaire dossier le champ : Localité Element Should Contain css=#fieldset-message-tab-content Dans le formulaire demandeur le champ : localité pour ${args_petitionnaire1.particulier_nom} ${args_petitionnaire1.particulier_prenom} # Vérification status des tâches, les tâche doivent être en draft &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${da} ... state=draft ... 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=draft ... 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=draft ... 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=qualification_DI ... dossier=${di_se} ... state=draft ... object_id=${instr_qualif} ... link_dossier=${di_se} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{args_dossier} = Create Dictionary ... terrain_adresse_localite=300TESTLocalite Modifier le dossier d'instruction ${di} ${args_dossier} Depuis le contexte du dossier d'instruction ${di} Click On Form Portlet Action dossier_instruction modifier Open Fieldset dossier_instruction demandeur Click Element css=.edit_demandeur Input Text css=#localite Plop Click Element css=#sformulaire div.formControls input[type="button"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Click Element css=#sformulaire div.formControls a.retour # On rend le dossier transmissible &{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} # On vérifie qu'il n'y a plus de message concernant les champs requis # et que le formulaire du di est bien mis à jour lors du clic sur le bouton retour # de l'overlay Click On Back Button In Subform Element Should Not Be Visible css=div.panel_information.ui-state-demat-color p span.text # Vérification status des tâches, les tâches doivent être en new car le dossier est transmissible &{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} ${id_creation_DA} = Get Text css=#task &{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} ${id_creation_DI} = Get Text css=#task &{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} ${id_depot_DI} = Get Text css=#task &{task_values} = Create Dictionary ... type=qualification_DI ... dossier=${di_se} ... state=new ... object_id=${instr_qualif} ... 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 # On met les tâche à done pour dire qu'elles sont été transmisent à Plat'AU &{task_values_modif} = Create Dictionary ... state=done Modifier la task ${id_creation_DA} ${task_values_modif} &{task_values_modif} = Create Dictionary ... state=done Modifier la task ${id_creation_DI} ${task_values_modif} &{task_values_modif} = Create Dictionary ... state=done Modifier la task ${id_depot_DI} ${task_values_modif} &{task_values_modif} = Create Dictionary ... state=done Modifier la task ${id_qualification_DI} ${task_values_modif} &{args_dossier} = Create Dictionary ... date_affichage=${date_ddmmyyyy} Modifier le dossier d'instruction ${di} ${args_dossier} # Vérification status des tâches &{task_values} = Create Dictionary ... type=modification_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} ${id_modification_DA} = Get Text css=#task &{task_values} = Create Dictionary ... type=modification_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} ${id_modification_DI} = Get Text css=#task &{args_dossier} = Create Dictionary ... terrain_adresse_localite=${EMPTY} Modifier le dossier d'instruction ${di} ${args_dossier} # On vérifie que le message est modifié Depuis le contexte du dossier d'instruction ${di} Element Should Contain css=div.panel_information.ui-state-demat-color p span.text La transmission des modifications à Plat'AU n'est pas possible car certains champs requis ne sont pas saisis. Click Element css=#fieldset-message-tab_demat-color legend Wait Until Element Is Visible css=#fieldset-message-tab-content Element Should Contain css=#fieldset-message-tab-content Dans le formulaire dossier le champ : Localité # Vérification status des tâches, il faut qu'elles soient en draft &{task_values} = Create Dictionary ... type=modification_DA ... dossier=${da} ... state=draft ... 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=modification_DI ... dossier=${di_se} ... state=draft ... 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} &{args_dossier} = Create Dictionary ... terrain_adresse_localite=plop Modifier le dossier d'instruction ${di} ${args_dossier} # On vérifie qu'il n'y a plus de message concernant les champs requis Depuis le contexte du dossier d'instruction ${di} Element Should Not Be Visible css=div.panel_information.ui-state-demat-color p span.text Rendre les types de dossier d'autorisation détaillés utilisés non transmissible à Plat'AU [Documentation] Il est nécessaire de faire cette manipulation pour revenir à un état normal Depuis la page d'accueil admin admin &{args_type_DA_detaille_modification} = Create Dictionary ... dossier_platau=false Modifier type de dossier d'autorisation détaillé PCI ${args_type_DA_detaille_modification} Modifier type de dossier d'autorisation détaillé DP ${args_type_DA_detaille_modification} TNR vérification que la création de dossiers non transmissible n'entraine pas une tache creation_da [Documentation] Vérifie que lorsqu'un dossier est créé, si ce n'est pas un type de dossier ... transmissible à Plat'Au alors il n'y a pas de tâche creation_da ajoutée à la liste des ... task # Tout les types de dossier ont été rendu non transmissible au test précédent # n'importe quel type de dossier peut donc être utilisé Depuis la page d'accueil admin admin # Création d'un dossier non transmissible &{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 ... depot_electronique=true ... source_depot=platau &{args_petitionnaire1} = Create Dictionary ... qualite=particulier ... particulier_nom=Sirois ... particulier_prenom=Eugenia ... om_collectivite=MARSEILLE ${di} = Ajouter la demande par WS ${args_dossier} ${args_petitionnaire1} # Vérification de l'absence de task creation_da lié au dossier Depuis le menu Moniteur Plat'AU ${passed} = Run Keyword And Return Status Element Should Contain css=#advanced-form legend Afficher la recherche simple Run Keyword If ${passed}==False 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 ${di_sans_espace} = Sans espace ${di} ${di_da} = Replace String Using Regexp ${di_sans_espace} [A-Z][0-9]+$ ${EMPTY} Input Text css=#type creation_da Input Text css=#dossier ${di_da} Select From List By Label css=#state new Select From List By Label css=#stream output # On valide le formulaire de recherche Click On Search Button # Aucune tache d'ajout de pièce ne doit être trouvé Element Should Contain css=#tab-task Aucun enregistrement.