*** Settings *** Documentation Test des tasks de Prise en Compte (PEC) dans le mode service consulté. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup Run Keywords ... For Suite Setup ... AND Activation des options des task ... AND Activer le mode service consulté ... AND Activation des platau_type_demande ... AND Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP Suite Teardown Run Keywords ... Desactivation des options des task ... AND Désactiver le mode service consulté ... AND Rendre Un Type De Dossier D'autorisation Detailles Non Transmissible A Plat'AU DP ... AND For Suite Teardown *** Test Cases *** Ajout d'une tâche de création de PeC avec vérification de la gestion du state annulé, et d'avis de consultation via WS, puis traitement [Documentation] Vérification de la création des tâches *PeC consultation* et ... *avis* en stream Sortant. ... Vérification de la gestion de la tâche lors de la suppression de l'objet lié ... si celle-ci à subit plusieurs modification de object_id. # 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 &{platau_acteur_service_consulte} = Create Dictionary ... libelle=platau_acteur_service_consulte ... valeur=${librecom_multi_1_values["acteur"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_acteur_service_consulte} # 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"]} Gerer le paramètre par WS ${param_entite} # Ajoute le paramètre 'code_entite' à la collectivité/le service &{param_code_entite} = Create Dictionary ... libelle=code_entite ... valeur=${librecom_multi_1_values["code_entite"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_code_entite} # En tant qu'admin Depuis la page d'accueil admin admin # 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} &{args_evenement_2} = Create Dictionary ... libelle=300 - Prise en compte métier 2 ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=Changer PeC ... etat=delai de notification envoye ... pec_metier=Refusé (autre motif) ... commentaire=true Ajouter l'événement depuis le menu ${args_evenement_2} # 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 'à traiter', 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} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${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érifier que la tâche à une payload fonctionnelle ${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 Dictionary Should Contain Value ${json_payload_loaded['instruction']} commentaire sur la pec # Ajout d'une deuxième 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_2} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier null null null null commentaire sur la pec 2 # On ajoute 1 à l'id de l'instruction car dans le keyword 'ajouter une instruction au DI' on recheche le nom de l'évènement, or il existe deux évènements identiques du même nom, et c'est l'avant dernier qui est récupéré, sauf que nous voulons récupérer le dernier évènement 'Prise en compte métier' ${instr_pec_2} = Evaluate ${instr_pec_2} + 1 ${instr_pec_2} = Convert to String ${instr_pec_2} Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${args_evenement.pec_metier} &{task_values} = Create Dictionary ... type=pec_metier_consultation ... dossier=${di_to_search_se} ... state=new ... object_id=${instr_pec_2} ... 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 Dictionary Should Contain Value ${json_payload_loaded['instruction']} commentaire sur la pec 2 # Ajout d'une troisième 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_3} = Ajouter une instruction au DI ${di_to_search} 300 - Prise en compte métier 2 null null null null commentaire sur la pec 3 Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${args_evenement_2.pec_metier} &{task_values} = Create Dictionary ... type=pec_metier_consultation ... dossier=${di_to_search_se} ... state=new ... object_id=${instr_pec_3} ... 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 Dictionary Should Contain Value ${json_payload_loaded['instruction']} commentaire sur la pec 3 # Suppression de la troisième instruction de prise en compte métier Supprimer l'instruction ${di_to_search} ${instr_pec_3} Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${args_evenement.pec_metier} &{task_values} = Create Dictionary ... type=pec_metier_consultation ... dossier=${di_to_search_se} ... state=new ... object_id=${instr_pec_2} ... 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 Dictionary Should Contain Value ${json_payload_loaded['instruction']} commentaire sur la pec 2 # Suppression de la deuxième instruction de prise en compte métier Supprimer l'instruction ${di_to_search} ${instr_pec_2} Depuis le contexte du dossier d'instruction par recherche ${di_to_search} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${args_evenement.pec_metier} &{di_values} = Create Dictionary ... terrain_adresse_lieu_dit=lieu-dit Modifier le dossier d'instruction ${di_to_search} ${di_values} Element Should Contain css=#fieldset-form-dossier_instruction-qualification ${args_evenement.pec_metier} # TNR : vérifie que la modification du dossier ne change pas la pec &{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 Dictionary Should Contain Value ${json_payload_loaded['instruction']} commentaire sur la pec # 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} Vérifier que la tâche à une payload fonctionnelle ${task_values}