# # Description # # @package openads # @version SVN : $Id $ # *** Settings *** Documentation Test les pièces numérisées et leur historisations. # 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 *** Constitution d'un jeu de données [Documentation] Préparation du jeu de données nécessaire pour les tests : ... - activation de l'option option_normaliser_nommage_document_numerise ... - isolation d'un contexte dédié au test ... - Ajout d'un dossier et d'un uid_externe qu'il lui est associé ... - Rend transmissible les PCI ... - Paramètre un acteur &{om_param} = Create Dictionary ... libelle=option_normaliser_nommage_document_numerise ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} &{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 &{contexte_values} = Create Dictionary ... om_collectivite_libelle=150_03_COLL ... departement=003 ... commune=150 ... insee=03150 ... direction_code=X ... direction_libelle=Direction de 150_03_COLL ... direction_chef=Chef ... division_code=150_3 ... division_libelle=Division 150_3 ... division_chef=Chef ... guichet_om_utilisateur_nom=guichet 150_03 ... guichet_om_utilisateur_email=g150_03@openads-test.fr ... guichet_om_utilisateur_login=g150_03 ... guichet_om_utilisateur_pwd=g150_03 ... instr_om_utilisateur_nom=instr 150_03 ... instr_om_utilisateur_email=i150_03@openads-test.fr ... instr_om_utilisateur_login=i150_03 ... instr_om_utilisateur_pwd=i150_03 ... code_entite=CE_15003 ... acteur=150_03_ACT Isolation d'un contexte ${contexte_values} set Suite Variable ${contexte_values} # ajouter le paramètre 'acteur' à la collectivité/au service &{platau_acteur_service_instructeur} = Create Dictionary ... libelle=platau_acteur_service_instructeur ... valeur=${contexte_values.acteur} ... om_collectivite=${contexte_values.om_collectivite_libelle} Gerer le paramètre par WS ${platau_acteur_service_instructeur} # Liste des arguments pour la demande &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... om_collectivite=${contexte_values.om_collectivite_libelle} # Liste des arguments pour le pétitionnaire &{args_petitionnaire} = Create Dictionary ... particulier_nom=150_030 ... particulier_prenom=document_numerise_normalisation ... om_collectivite=${contexte_values.om_collectivite_libelle} ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Les dossiers sont accessibles dans la suite du test Set Suite Variable ${di} ${di_sans_espace} = Sans Espace ${di} Set Suite Variable ${di_sans_espace} Set Suite Variable ${code_type_document} 111 Set Suite Variable ${libelle_type_document} Autre type à préciser ${date_sans_tiret} = Replace String ${DATE_FORMAT_YYYY-MM-DD} - ${EMPTY} Set Suite Variable ${date_sans_tiret} # Création d'un UID associé au dossier set Suite Variable ${external_uid_di} 150_003_DOC &{external_uid_values} = Create Dictionary ... object=dossier ... object_id=${di_sans_espace} ... external_uid=${external_uid_di} ... dossier=${di_sans_espace} ... category=platau Ajouter un external UID ${external_uid_values} Normalisation d'un document ajouté depuis l'interface [Documentation] Depuis le contexte d'un dossier, depuis l'onglet Pièces & Document, ... ajoute un document puis vérifie que le nom a bien le format attendu. # Ajout d'une pièce Depuis la page d'accueil admin admin &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... document_numerise_type=${libelle_type_document} ... description_type=TST 150-030 Nommage Piece Interface Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # Récupération de l'id du document Depuis le contexte de la pièce par le dossier d'instruction ${di} ${document_numerise_values.description_type} ${id} = Get Value css=input#document_numerise # Vérification de son nom. Dans ce cas c'est la description et pas le nom de la pièce qui doit être utilisée. Click On Back Button In SubForm ${nom_normalise} = Normaliser nom document ${di} ${DATE_FORMAT_YYYY-MM-DD} ${code_type_document} ${id} ${document_numerise_values.description_type} Element Should Contain css=table.document_numerise ${nom_normalise} # Stockage de l'id de la variable courante pour déterminer celle des tests suivant Set Suite Variable ${id} Normalisation d'un document ajouté par une tâche [Documentation] Traite une tâche d'ajout de pièce et vérifie que le nom de la pièce ... à le format voulu. Depuis la page d'accueil admin admin ${id} = Evaluate ${id} + 1 ${code_type_document} = set Variable 19 ${nomenclature_cerfa} = set Variable PC31-1 ${libelle_type_document} = set Variable Attestation de l’aménageur certifiant qu’il a réalisé ou prendra en charge l’intégralité des travaux # Préparation et ajout de la tâche de création de la pièce ${json_payload} = Get File ${EXECDIR}${/}binary_files${/}json_ajout_piece_with_b64.json ${json_payload} = Replace String ${json_payload} "date_creation": "2020-11-27" "date_creation": "${DATE_FORMAT_YYYY-MM-DD}" ${json_payload} = Replace String ${json_payload} GH-EQ6-5432 ${contexte_values.acteur} ${json_payload} = Replace String ${json_payload} 7XY-DK8-5X ${external_uid_di} ${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": "${code_type_document}" ${piece_payload_dict} = To Json ${json_payload} ${json_payload} = Replace String ${json_payload} ... "nom_fichier": "2020112790.pdf" "nom_fichier": "UN_NOM_RANDOM_POUR_TEST.pdf" ${external_uid_piece_1} = Set Variable ${piece_payload_dict["external_uids"]["piece"]} ${task_values} = Create Dictionary ... type=add_piece ... json_payload=${json_payload} ${task_id} = Ajouter la tâche par WS ${task_values} # Traitement de la tâche ${msg} = Déclencher le traitement des tâches par WS # Vérification du nom du fichier sur le dossier. Dans ce cas le document à une # nomenclature cerfa associé. C'est donc cette nomenclature qui constitue son # TYPEPIECE Depuis la page d'accueil admin admin Depuis l'onglet des pièces du dossier d'instruction ${di} # TODO : remplacer cette variable par un traitement de découpage à 50 caractères dans le KW # Normaliser nom document ${libelle_type_doc_50_char} = set Variable Attestation de l amenageur certifiant qu il a real ${nom_normalise} = Normaliser nom document ${di} ${DATE_FORMAT_YYYY-MM-DD} ${nomenclature_cerfa} ${id} ${libelle_type_doc_50_char} Element Should Contain css=table.document_numerise ${nom_normalise} # Mise à jour de l'id de la variable courante pour déterminer celle des tests suivant Set Suite Variable ${id} # TODO : faire fonctionner le test "Normalisation d'un document ajouté par numérisation" # dans un runall *** Activer l'option de numérisation Activer l'option de numérisation Normalisation d'un document ajouté par numérisation [Documentation] En utilisant le WS de numérisation, ajoute une pièce à un dossier ... puis vérifie que cette pièce a bien la nomenclature : IDDI_DATE_TYPEPIECE_IDPIECE_LIBTYPEPIECE. # Variable nécessaire à la suite du test ${id} = Evaluate ${id} + 1 # Création d'un document à numérisé Copy File ..${/}tests${/}binary_files${/}testImportManuel.pdf ..${/}var${/}digitalization${/}Todo${/}${di_sans_espace}${/}${date_sans_tiret}${code_type_document}.PDF Run chmod 777 -R ..${/}var${/}digitalization${/}Todo${/}${di_sans_espace}${/}${date_sans_tiret}${code_type_document}.PDF # Import du fichier par Web Service Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Numériser les documents ${di_sans_espace} ${date_sans_tiret}${code_type_document}.PDF # Vérification du nom du fichier sur le dossier Depuis la page d'accueil admin admin Depuis l'onglet des pièces du dossier d'instruction ${di} ${libelle_type_doc_50_char} = set Variable Autre type a preciser ${nom_normalise} = Normaliser nom document ${di} ${DATE_FORMAT_YYYY-MM-DD} ${code_type_document} ${id} ${libelle_type_doc_50_char} Element Should Contain css=table.document_numerise ${nom_normalise} # Mise à jour de l'id de la variable courante pour déterminer celle des tests suivant Set Suite Variable ${id} Désactiver l'option de numérisation Désactiver l'option de numérisation *** Test Cases *** Reset du jeu de données [Documentation] Remet en l'état le paramétrage des tests ... - desactive l'option option_normaliser_nommage_document_numerise ... - les PCI ne sont plus transmissible &{om_param} = Create Dictionary ... delete=true ... libelle=option_normaliser_nommage_document_numerise ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} &{om_param} = Create Dictionary ... delete=true ... libelle=option_notification_piece_numerisee ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} 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}