*** Settings *** Documentation Les documents de travail sont une variante des documents numérisées, ... non notifiables et modifiables manuellement Resource resources/resources.robot Suite Setup Run Keywords ... For Suite Setup ... AND Constitution du jeu de données Suite Teardown Run Keywords ... Décomposition du jeu de données ... AND For Suite Teardown *** Keywords *** Constitution du jeu de données # Autoriser les pièces numérisées &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} # Créer et remplir une 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=MARSEILLE &{args_petitionnaire} = Create Dictionary ... particulier_civilite=Madame ... particulier_nom=Rivière ... particulier_prenom=Coralie ... om_collectivite=MARSEILLE # ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis la page d'accueil instr instr Ajouter une consultation depuis un dossier ${di} 59.13 - Régie des Tranports de Marseille - DTP/CIP Depuis la page d'accueil admin admin &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=20/09/2015 ... document_numerise_type=vues et coupes du projet dans le profil du terrain naturel Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel2.pdf ... date_creation=10/09/2005 ... document_numerise_type=vues et coupes du projet dans le profil du terrain naturel Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # Les dossiers sont accessibles dans la suite du test Set Suite Variable ${di} Décomposition du jeu de données &{option_miniature} = Create Dictionary ... delete=true ... libelle=option_notification_piece_numerisee ... om_collectivite=agglo Gerer le paramètre par WS ${option_miniature} *** Test Cases *** CRUD Document de travail [Documentation] Ajoute, modifie, télécharge et supprime un document de travail. Depuis la page d'accueil instr instr # Vérifie que l'onglet document s'affiche sans erreur et que les listing des docs # d'instruction et des documents de travail sont bien présents Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di} Element Should Contain css=#sousform-document_instruction Documents d'instruction générés Element Should Contain css=#sousform-document_travail Documents de travail # Test de la redirection du bouton retour du formulaire d'ajout Click Element id=action-soustab-document_numerise-corner-ajouter Click On Back Button In SubForm L'onglet documents d'instruction est visible # Ajout d'un document de travail &{doc_travail_values} = Create Dictionary ... uid_upload=testImportManuel.jpg ... description_type=document de travail ... date_creation=22/08/2021 ${doc_travail} = Ajouter un document de travail depuis le dossier d'instruction ${di} ${doc_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # Vérification de l'affichage dans le tableau Click On Back Button In SubForm Element Should Contain css=#sousform-document_travail .tab-data document de travail Element Should Contain css=#sousform-document_travail .tab-data 20210822DOCTRAV.jpg # Modification du document de travail Depuis la page d'accueil instrpoly instrpoly &{doc_travail_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... description_type=document de travail (modifié) ... date_creation=23/08/2021 Modifier un document de travail depuis le dossier d'instruction ${di} document de travail ${doc_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # Vérification de l'affichage dans le tableau et de la redirection de l'action retour # vers l'onglet des documents Click On Back Button In SubForm Click On Back Button In SubForm L'onglet documents d'instruction est visible Element Should Contain css=#sousform-document_travail .tab-data document de travail (modifié) Element Should Contain css=#sousform-document_travail .tab-data 20210823DOCTRAV.pdf # On clique pour visualiser le document Click Element css=div#sousform-document_travail tr.tab-data td.col-1 a.lienTable span.reqmo-16 Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TEST IMPORT MANUEL 1 Close PDF # Suppression du document de travail Depuis la page d'accueil instrpolycomm instrpolycomm Supprimer un document de travail depuis le dossier d'instruction ${di} document de travail (modifié) Valid Message Should Contain La suppression a été correctement effectuée. Vérification que les instructeurs ne peuvent ajouter que des documents de travail [Documentation] Ce tests sert à vérifier que les droits d'ajout des pièces ... et des documents de travail sont bien gérés séparemment. Vérifie que pour ... les instructeurs il est possible d'ajouter des documents de travail mais ... pas des pièces. ... Vérifie également que depuis le tableau des documents de travail seule ... l'action d'ajout des documents de travail est accessible. # Ajout d'un dossier &{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=MARSEILLE &{args_petitionnaire} = Create Dictionary ... particulier_nom=BRAVAS ... particulier_prenom=Denise ... om_collectivite=MARSEILLE ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Vérification avec un profil administrateur que l'action d'ajout des pièces est présente # dans le sous-onglet Pièces déposés Depuis la page d'accueil admin admin Depuis l'onglet des pièces du dossier d'instruction ${di} Element Should Contain css=a#action-soustab-blocnote-message-ajouter AJOUTER AJOUTER UNE PIÈCE # Accède au sous onglet Documents et on vérifie que l'action d'ajout des documents de travail # est présente et pas celle d'ajout des documents numérisé (1 seul action d'ajout) Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di} Page Should Contain Element css=a#action-soustab-document_numerise-corner-ajouter None INFO 1 # Vérification avec un profil instructeur que l'action d'ajout des pièces n'est pas présente # dans le sous-onglet Pièces déposés Depuis la page d'accueil instr instr Depuis l'onglet des pièces du dossier d'instruction ${di} Page Should Not Contain css=a#action-soustab-blocnote-message-ajouter # Accède au sous onglet Documents et on vérifie que l'action d'ajout des documents de travail # est présente et pas celle d'ajout des documents numérisé (1 seul action d'ajout) Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di} Page Should Contain Element css=a#action-soustab-document_numerise-corner-ajouter None INFO 1 Test d'affichage prévisualisation - documents de travail [Documentation] Vérifie l'affichage de la prévisualisation des documents de travail. ... Vérifie que l'action de prévisualisation n'est pas présente pour les fichiers qui ... ne sont ni des pdf, ni des images. ... Test l'affichage des images et des pdf. Depuis la page d'accueil admin admin # 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=MARSEILLE # Liste des arguments pour le pétitionnaire &{args_petitionnaire} = Create Dictionary ... particulier_civilite=Monsieur ... particulier_nom=Cloutier ... particulier_prenom=Paul ... om_collectivite=MARSEILLE # ${di_preview} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajout de documents de travail de différent format &{doc_travail_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... description_type=document de travail format pdf ... date_creation=25/08/2021 ${doc_travail} = Ajouter un document de travail depuis le dossier d'instruction ${di_preview} ${doc_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. &{doc_travail_values} = Create Dictionary ... uid_upload=testImportManuel.jpg ... description_type=document de travail format jpg ... date_creation=25/08/2021 ${doc_travail} = Ajouter un document de travail depuis le dossier d'instruction ${di_preview} ${doc_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. &{doc_travail_values} = Create Dictionary ... uid_upload=fichier_1.odt ... description_type=document de travail format odt ... date_creation=25/08/2021 ${doc_travail} = Ajouter un document de travail depuis le dossier d'instruction ${di_preview} ${doc_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. ${sub_xpath} = Set Variable //ancestor::tr/td[contains(@class, "icons")]/a/span[contains(@title, "Prévisualiser")]/ancestor::a # Test de la prévisualisation d'un pdf Depuis la page d'accueil instrpolycomm instrpolycomm # clique sur le lien de prévisualisation (attends la fenêtre modale) Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_preview} Click Element Until New Element ... xpath=//a[normalize-space(text()) = "document de travail format pdf"]${sub_xpath} ... css=.ui-widget-overlay # vérifie que l'iframe PDF est bien chargée dans la fenêtre modale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Be Visible css=.ui-dialog iframe#frame_pdf # sélectionne l'iframe PDF Select Frame frame_pdf # vérifie que le PDF contient la bonne valeur Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Be Visible css=div#viewer .page .textLayer Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=div#viewer .page .textLayer TEST IMPORT MANUEL 1 # désélectionne l'iframe PDF Unselect Frame # ferme la fenêtre modale en cliquant sur le bouton retour Click Element Until No More Element ... css=.ui-dialog div#sousform-document_numerise_preview_edition .retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Not Be Visible css=.ui-widget-overlay # Test de la prévisualisation d'une image Depuis la page d'accueil instr instr # clique sur le lien de prévisualisation (attends la fenêtre modale) Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_preview} Click Element Until New Element ... xpath=//a[normalize-space(text()) = "document de travail format jpg"]${sub_xpath} ... css=.ui-widget-overlay # vérifie que l'image est bien chargée dans la fenêtre modale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Be Visible css=.previsualise_img # ferme la fenêtre modale en cliquant sur le bouton retour Click Element Until No More Element ... css=.ui-dialog div#sousform-document_numerise_preview_edition .retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Not Be Visible css=.ui-widget-overlay # Test de l'affichage de l'action pour les autres types de fichier Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_preview} Click Element Until New Element ... xpath=//a[normalize-space(text()) = "document de travail format odt"]${sub_xpath} ... css=.ui-widget-overlay # vérifie que le texte et le lien de téléchargement sont bien chargée dans la fenêtre modale Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Be Visible css=.text-info Element Should Be Visible css=a.lien-info # ferme la fenêtre modale en cliquant sur le bouton retour Click Element Until No More Element ... css=.ui-dialog div#sousform-document_numerise_preview_edition .retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Not Be Visible css=.ui-widget-overlay