*** Settings *** Documentation Test de task. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Activation de l'option 'option_notification_piece_numerisee' [Documentation] Il est nécessaire de faire cette manipulation pour éviter le ... FAIL: Element with locator 'dossier_message_id' not found. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} Depuis la page d'accueil admin admin Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU PCI Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP 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. # 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 Gerer le paramètre par WS ${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 Gerer le paramètre par WS ${param_dossier_commune} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${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 Gerer le paramètre par WS ${platau_type_demande_initial} # Active le mode service consulté &{param_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${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 &{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} # Désactive le mode service consulté &{param_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_service_consulte} Vérification du state de Création DA lors de l'ajout d'un dossier Publik # 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 Gerer le paramètre par WS ${param_division} &{param_saisie_complete} = Create Dictionary ... libelle=option_dossier_saisie_numero_complet ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_saisie_complete} # Active le mode service consulté &{param_division} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${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_20 ... departement=020 ... commune=900 ... insee=20900 ... direction_code=WG ... direction_libelle=Direction de LIBRECOM_WS_CREATE_DI_MULTI_20 ... direction_chef=Chef ... division_code=WG ... division_libelle=Division WG ... division_chef=Chef ... guichet_om_utilisateur_nom=Herien Kollin ... guichet_om_utilisateur_email=hkollin@openads-test.fr ... guichet_om_utilisateur_login=hkollin ... guichet_om_utilisateur_pwd=hkollin ... instr_om_utilisateur_nom=Larolos Feauchemin ... instr_om_utilisateur_email=lfeauchemin@openads-test.fr ... instr_om_utilisateur_login=lfeauchemin ... instr_om_utilisateur_pwd=lfeauchemin ... code_entite=LBCOM_56 ... acteur=LIBRECOM-ACT-056 Isolation d'un contexte ${librecom_multi_1_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${librecom_multi_1_values["acteur"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_type_demande_initial} # Récupère le payload de création DI ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}create_DI_payload.txt ${json_payload} = Replace String ${json_payload} KWE-Z9G-OYW 000-MMM-00 ${json_payload} = Replace String ${json_payload} 515-Q0L-KMX MMM-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"]} ${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 Gerer le paramètre par WS ${platau_type_demande_initial} # Active option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} # En tant qu'admin Depuis la page d'accueil admin admin # Ajoute une commune &{com_values} = Create Dictionary ... typecom=COM ... com=20900 ... reg=20 ... dep=20 ... arr=900 ... tncc=0 ... ncc=LIBRECOM_WS_CREATE_DI_MULTI_20 ... nccenr=LIBRECOM_WS_CREATE_DI_MULTI_20 ... libelle=LIBRECOM_WS_CREATE_DI_MULTI_20 ... 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} ... category=portal Ajouter la tâche par WS ${task_values} ${msg} = Déclencher le traitement des tâches par WS ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1 ${dossier_autorisation} = Get Substring ${di_lib} 0 -2 ${dossier_autorisation} = Sans espace ${dossier_autorisation} &{task_values} = Create Dictionary ... type=creation_DA ... dossier=${dossier_autorisation} ... state=new ... object_id=${dossier_autorisation} ... link_dossier=${dossier_autorisation} ... stream=output Vérifier que la tâche a bien été ajoutée ou modifiée ${task_values} &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_division} # Désactive option_dossier_commune &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} 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} Désactivation de l'option 'option_notification_piece_numerisee' [Documentation] Il est nécessaire de faire cette manipulation pour éviter le ... FAIL: Element with locator 'dossier_message_id' not found. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${om_param}