*** Settings *** Documentation Test des tasks Publik (Portal). # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup Run Keywords ... For Suite Setup ... AND Activation des options des task ... AND Activation des platau_type_demande ... AND Rendre les types de dossier d'autorisation détaillés utilisés transmissible à Plat'AU DP ... AND Activation de la configuration portal IDE'AU Suite Teardown Run Keywords ... Desactivation des options générales ... AND Desactivation de la configuration portal IDE'AU ... AND Desactivation des options des task ... AND Rendre Un Type De Dossier D'autorisation Detailles Non Transmissible A Plat'AU DP ... AND For Suite Teardown *** Test Cases *** Activation des options générales # 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} # 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} Set Suite Variable ${librecom_multi_1_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_acteur_service_instructeur} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${librecom_multi_1_values["acteur"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${platau_acteur_service_instructeur} #-- ajouter manuellement une commune en saisissant une date de validité dans le passé &{oldcom_values} = Create Dictionary ... typecom=COM ... com=45645 ... reg=45 ... dep=45 ... arr=645 ... tncc=0 ... ncc=LIBRECOM_OLD ... nccenr=LibreCom_old ... libelle=LIBRECOM_OLD ... can=45 ... comparent= ... om_validite_debut=01/11/2020 Ajouter commune avec dates validité ${oldcom_values} Set Suite Variable ${oldcom_values} Vérification du state de Création DA lors de l'ajout d'un dossier Publik # 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} # 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} Nouvelle itération avec une payload JSON minimale [Documentation] Ajout d'une tâche de création de DI via WS, puis traitement + Vérification de la date de création et de la date de dernière modification sur le moniteur Plat'AU. ... Vérifie l'ajout de la tâche via WS et son traitement. ... Vérifie la date de création et la date de dernière modification sur le listing des tasks. # 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} Set Suite Variable ${param_entite} # ajoute le paramètre 'code_entite' à la collectivité/le service &{param_code_entite} = Create Dictionary ... libelle=code_entite ... valeur=${librecom_multi_1_values["code_entite"]} ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_code_entite} # Ajout du lien pour les suivis de demande &{param_args} = Create Dictionary ... libelle=portal_code_suivi_base_url ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # Récupère le template de payload JSON et le transforme en dictionnaire ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_payload_min.txt ${payload_dict} = To Json ${json_payload} # sauvegarde le code d'acteur ${acteur_code} = Set Variable ${payload_dict["external_uids"]["acteur"]} Set Suite Variable ${acteur_code} # 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_multi_1_values["acteur"]} # TNR pour vérifier le tronquage des chaînes de caractère sur un caractère accentué ${json_payload} = Replace String ${json_payload} "personne_morale_categorie_juridique": "SA" "personne_morale_categorie_juridique": "SA____________\u00e9_" # Modifie le code de suivi de demande ${json_payload} = Replace String ${json_payload} TESTCODESUIVI CNPHNTFB ${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} ... category=portal Ajouter la tâche par WS ${task_values} # Lancer le traitement des tâches (entrantes avec statut 'à traiter', par défaut) ${msg} = Déclencher le traitement des tâches par WS # Extraction du libellé du DI dans le message ${di_regex} = Catenate ^.*\\[[0-9]+\\] ${task_values["type"]} ${payload_dict["dossier"]["dossier"]} : ... dossier instruction '([^']+)' .*$ ${di_lib} = Replace String Using Regexp ${msg} ${di_regex} \\1 # En tant qu'instructeur de la collectivité/du service LIBRECOM Depuis la page d'accueil hkollin hkollin # 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_multi_1_values["code_entite"]} # Demandeur principale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Form Value 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 # Dépôt électronique Element Should Be Visible css=span.om-icon.om-icon-16.om-icon-fix.depot-electronique-16 # Code suivi de demande Open All Fieldset Using Javascript dossier_instruction Element Should Contain css=span#lien_iiue_portal CNPHNTFB # Suppression du lien pour les suivis de demande &{param_args} = Create Dictionary ... libelle=portal_code_suivi_base_url ... valeur=LIEN_PORTAL/[PORTAL_CODE_SUIVI]/load ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} # On vérifie qu'un dossier issus du portail ne peut pas être supprimé # On active l'option de suppression &{om_param} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} Depuis la page d'accueil admin admin Depuis le contexte du dossier d'instruction ${di_lib} Portlet Action Should Not Be In Form dossier_instruction supprimer *** Keywords *** Desactivation des options générales &{om_param} = Create Dictionary ... libelle=option_suppression_dossier_instruction ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} &{param_entite} = Create Dictionary ... libelle=option_om_collectivite_entity ... delete=true ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_entite} &{param_code_entite} = Create Dictionary ... libelle=code_entite ... delete=true ... om_collectivite=${librecom_multi_1_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_code_entite} &{param_dossier_commune} = Create Dictionary ... libelle=option_dossier_commune ... delete=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_dossier_commune} Activation de la configuration portal IDE'AU Run sed -i '$ a\\$config\["type_portal_sve"\] = "ideau";' ${EXECDIR}${/}..${/}dyn${/}config.inc.php Desactivation de la configuration portal IDE'AU Run sed -i '$d' ${EXECDIR}${/}..${/}dyn${/}config.inc.php