*** 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 *** Activation des options générales [Documentation] Il est nécessaire de faire : ... l'activation de 'option_notification_piece_numerisee' pour éviter le fail : ... FAIL: Element with locator 'dossier_message_id' not found. ... l'activation de l'option 'option_afficher_division' pour éviter le fail ... liée a l'affichage de la vision ex : '"Juriste" == "Juriste (H)"' should be true. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} # 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} # 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} 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 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 Vérification de l'ajout de la task Sortant 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 &{param_mode_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_mode_service_consulte} # 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 &{param_platau_acteur} = Create Dictionary ... libelle=platau_acteur_service_consulte ... valeur=${librecom_values["acteur"]} ... om_collectivite=${librecom_values["om_collectivite_libelle"]} Gerer le paramètre par WS ${param_platau_acteur} # 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 'à 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} # 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é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['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 Décision DI ou avis Depuis le menu Moniteur Plat'AU # Input Text css=div#adv-search-adv-fields input#dossier ${di_lib} # Select From List By Label css=div#adv-search-adv-fields select#type Décision 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} # Select From List By Label css=div#adv-search-adv-fields select#type Avis # Click On Search Button # Element Should Contain css=.tab-data Aucun enregistrement. ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Décision DI Run Keyword If ${passed}==False Select From List By Label css=select#type Décision DI Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di_lib} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. ${passed} = Run Keyword And Return Status Element Should Not Contain css=div#adv-search-adv-fields select#type Avis Run Keyword If ${passed}==False Select From List By Label css=select#type Avis Run Keyword If ${passed}==False Input Text css=div#adv-search-adv-fields input#dossier ${di_lib} Run Keyword If ${passed}==False Click On Search Button Run Keyword If ${passed}==False Element Should Contain css=.tab-data Aucun enregistrement. Reset params - Vérification de l'ajout de la task Sortant Prescription archéologique lors d'une décision sur un dossier ajouté par une task input &{param_mode_service_consulte} = Create Dictionary ... libelle=option_mode_service_consulte ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_mode_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 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 des options [Documentation] Il est nécessaire de faire cette manipulation sur : ... l'option 'option_notification_piece_numerisee' pour éviter le ... FAIL: Element with locator 'dossier_message_id' not found. ... et sur l'option 'option_afficher_division' pour éviter le fail ... liée a l'affichage de la vision ex : '"Juriste" == "Juriste (H)"' should be true. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} &{param_division} = Create Dictionary ... libelle=option_afficher_division ... valeur=false ... om_collectivite=agglo Gerer le paramètre par WS ${param_division} # Supprimer les paramètres de type de demande &{platau_type_demande_initial} = Create Dictionary ... libelle=platau_type_demande_initial_DP ... delete=true ... om_collectivite=agglo Gerer le paramètre par WS ${platau_type_demande_initial}