# # Description # # @package openads # @version SVN : $Id $ # *** Settings *** Documentation Test les pièces. # 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] L'objet de ce 'Test Case' est de constituer un jeu de de ... données cohérent pour les scénarios fonctionnels qui suivent. &{om_param} = Create Dictionary ... libelle=option_notification_piece_numerisee ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${om_param} # 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=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 # Données de la pièce &{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} # Données de la pièce &{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} 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} La page ne doit pas contenir d'erreur Element Should Contain css=#sousform-document_instruction Documents d'instruction 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 Wait Until Element Is Visible css=div.switcher__label.onglet_active[data-view="document_instruction"] # 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 Page Should Contain Element css=div.switcher__label.onglet_active[data-view="document_instruction"] 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 de l'affichage sur le dossier d'autorisation [Documentation] Vérifie l'affichage sur les dossiers d'autorisation. # On ajoute un type de pièce non affiché sur les DA Depuis la page d'accueil admin admin ${dntc_libelle} = Set Variable Non visible au public &{dntc_values} = Create Dictionary ... libelle=${dntc_libelle} Ajouter la catégorie de pièces ${dntc_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. ${dnt_code} = Set Variable NVPLAN ${dnt_libelle} = Set Variable Plan non public ${instructeur_qualite} = Create List ... instructeur &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=${dnt_libelle} ... document_numerise_type_categorie=${dntc_libelle} ... aff_da=false ... instructeur_qualite=${instructeur_qualite} Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # On ajoute une pièce numérisée sur le DI vérifié &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=21/09/2015 ... document_numerise_type=${dnt_libelle} Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # On récupère le numéro du dossier d'autorisation depuis le numéro du DI ${dossier_autorisation} = Get Substring ${di} 0 -2 # Depuis la page d'accueil guichet guichet # Depuis l'onglet des pièces du dossier d'autorisation ${dossier_autorisation} # On vérifie que le numéro du dossier d'instruction est affiché Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain ${di} # On vérifie que le nom du fichier est affiché Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 20150920DGPA05.pdf # On vérifie que la pièce n'est pas affiché Page Should Not Contain 20150921NVPLAN.pdf # On clique pour visualiser le document Click Element css=tr.col4 td.col-1 a.lienTable span.reqmo-16 Open PDF ${OM_PDF_TITLE} # On vérifie la localisation du terrain Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TEST IMPORT MANUEL 2 # On ferme le PDF Close PDF # Activation de l'option option_cache_piece_num_refuse_da et vérification # du bon foncitonnement de l'option &{param_values_1} = Create Dictionary ... libelle=option_cache_piece_num_refuse_da ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values_1} Depuis la page d'accueil admin admin Ajouter une instruction au DI et la finaliser ${di} ARRÊTÉ DE REFUS &{args_instruction} = Create Dictionary ... date_retour_rar=${DATE_FORMAT_DD/MM/YYYY} Modifier le suivi des dates ${di} ARRÊTÉ DE REFUS ${args_instruction} Depuis la page d'accueil guichet guichet Depuis l'onglet des pièces du dossier d'autorisation ${dossier_autorisation} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Not Contain 20150920DGPA05.pdf # Suppression de l'instruction d'arrete de refus et suppression de l'option Depuis la page d'accueil admin admin &{args_instruction} = Create Dictionary ... date_retour_rar=${EMPTY} Modifier le suivi des dates ${di} ARRÊTÉ DE REFUS ${args_instruction} Depuis l'instruction du dossier d'instruction ${di} Arrêté de Refus signé Click On SubForm Portlet Action instruction definaliser Supprimer l'instruction ${di} Arrêté de Refus signé Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction definaliser Supprimer l'instruction ${di} ARRÊTÉ DE REFUS Reset Params - Vérification de l'affichage sur le dossier d'autorisation &{param_args} = Create Dictionary ... delete=true ... libelle=option_cache_piece_num_refuse_da ... om_collectivite=agglo Gerer le paramètre par WS ${param_args} Vérification de l'affichage sur la demande d'avis [Documentation] Vérifie l'affichage sur les demandes d'avis. # On ajoute un type de pièce non affiché sur les demandes d'avis Depuis la page d'accueil admin admin ${dntc_libelle} = Set Variable Top secret &{dntc_values} = Create Dictionary ... libelle=${dntc_libelle} Ajouter la catégorie de pièces ${dntc_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. ${dnt_code} = Set Variable TSPLAN ${dnt_libelle} = Set Variable Plan top secret ${instructeur_qualite} = Create List ... instructeur &{dnt_values} = Create Dictionary ... code=${dnt_code} ... libelle=${dnt_libelle} ... document_numerise_type_categorie=${dntc_libelle} ... aff_service_consulte=false ... instructeur_qualite=${instructeur_qualite} Ajouter le type de pièces ${dnt_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # On ajoute une pièce numérisée sur le DI vérifié &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=21/09/2015 ... document_numerise_type=${dnt_libelle} Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # Depuis la page d'accueil consu consu # Depuis l'onglet des pièces de la demande d'avis en cours du dossier d'instruction ${di} # On vérifie que le nom du fichier est affiché Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 20150920DGPA05.pdf # On vérifie que la pièce n'est pas affiché Page Should Not Contain 20150921TSPLAN.pdf # On vérifie que la pièce n'est pas affiché Page Should Not Contain 20150921TSPLAN.pdf # On clique pour visualiser le document Click Element css=tr.col3 td.firstcol a.lienTable span.reqmo-16 Open PDF ${OM_PDF_TITLE} # On vérifie la localisation du terrain Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TEST IMPORT MANUEL 2 # On ferme le PDF Close PDF Téléchargement de l'intégralité des documents numerise [Documentation] Contrôle que l'action "télécharger tous les documents" dans l'onglet ... Documents(s) d'un dossier d'instruction produit bien une archive téléchargeable ... contenant toutes les pièces. ... On ajoute plusieurs fois le même type de pièce le même jour pour vérifier que les ... fichiers sont bien suffixés. Depuis la page d'accueil admin admin &{args_petitionnaire} = Create Dictionary ... particulier_nom=Compagnon ... particulier_prenom=Jean ... om_collectivite=MARSEILLE &{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 ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajout d'un document d'instruction et de documents de travail de format différent &{document_travail_values} = Create Dictionary ... uid_upload=testImportManuel.jpg ... date_creation=31/03/2016 ... description_type=image Ajouter un document de travail depuis le dossier d'instruction ${di_libelle} ${document_travail_values} &{document_travail_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=31/03/2016 ... description_type=pdf Ajouter un document de travail depuis le dossier d'instruction ${di_libelle} ${document_travail_values} &{document_travail_values} = Create Dictionary ... uid_upload=fichier_1.odt ... date_creation=30/03/2016 ... description_type=texte Ajouter un document de travail depuis le dossier d'instruction ${di_libelle} ${document_travail_values} # Récupération du nom des documents d'instruction Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_libelle} ${nom_fichier_doc_instr} = Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Get Text css=#sousform-document_instruction .tab-data td.col-1 span # Utilisation de l'action de téléchargement des documents ${path_archive} ${archive_name} = Télécharger tous les documents # Composition du nom correct de l'archive zip ${di_libelle_spaceless} = Sans espace ${di_libelle} ${date_ddmmyyyy} = Date du jour EN ${date_jour_sans_tirets} = STR_REPLACE - ${EMPTY} ${date_ddmmyyyy} ${correct_archive_name_di} = Set Variable ${di_libelle_spaceless}_${date_jour_sans_tirets}.zip # Vérification du nom de l'archive, qui doit commencer par le n° de DI Should Be Equal ${correct_archive_name_di} ${archive_name} # L'archive doit contenir les 3 documents de travail et le document d'instruction Archive Should Contain File ${path_archive} 20160331DOCTRAV.pdf Archive Should Contain File ${path_archive} 20160331DOCTRAV.jpg Archive Should Contain File ${path_archive} 20160330DOCTRAV.odt # A mettre à jour suite à l'évolution des noms de fichier d'instruction Archive Should Contain File ${path_archive} ${nom_fichier_doc_instr} Trouillotage numérique [Documentation] Vérification de l'affichage du tampon ... et de son contenu. &{param_values} = Create Dictionary ... libelle=option_trouillotage_numerique ... valeur=true ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # On ajoute le DI depuis lequel on va vérifier le trouillotage numérique &{args_petitionnaire} = Create Dictionary ... particulier_nom=Bourdon ... particulier_prenom=Lucidota ... om_collectivite=MARSEILLE &{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 ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis la page d'accueil admin admin # On ajoute une pièce numérisée sur le DI &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=01/01/1999 ... document_numerise_type=arrêté Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # Vérification que le fichier est remplacé par celui du service de # trouillotage Depuis le contexte de la pièce par le dossier d'instruction ${di} arrêté Click On Link Télécharger Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TEST TROUILLOTAGE PDF Close PDF Reset params - Trouillotage numérique &{param_values} = Create Dictionary ... delete=true ... libelle=option_trouillotage_numerique ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} Constitution du dossier final [Documentation] Vérification des différentes étapes lors de la constitution ... du dossier finalisation &{param_values} = Create Dictionary ... libelle=id_avis_consultation_tacite ... valeur=4 ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} &{args_petitionnaire} = Create Dictionary ... particulier_nom=Alric ... particulier_prenom=Lily-June ... om_collectivite=MARSEILLE &{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 ... date_demande=01/01/2018 ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Vérification que lorsqu'un document d'instruction est récupéré, # si celui-ci n'a pas de date de finalisation, # alors il doit être traité comme les autres documents sans date (rapport d'instruction) Depuis la page d'accueil admin admin Ajouter une instruction au DI et la finaliser ${di} Consultation service d'hygiène municipal ${date_finalisation_instr} = Set Variable ${EMPTY} &{date_instruction} = Create Dictionary ... date_finalisation_courrier=${date_finalisation_instr} Modifier le suivi des dates ${di} Consultation service d'hygiène municipal ${date_instruction} On clique sur l'onglet document_numerise Pièces & Documents Click Element css=a.om-prev-icon.om-icon-16.toutes-les-pieces-16.right Page Should Not Contain Undefined variable # Modification de la date de finalisation de l'instruction pour pouvoir vérifier si la bonne # date est affiché dans l'onglet pièces & documents ${date_finalisation_instr} = Set Variable 02/06/2001 &{date_instruction} = Create Dictionary ... date_finalisation_courrier=${date_finalisation_instr} ... date_envoi_signature=03/06/2001 ... date_retour_signature=04/06/2001 Modifier le suivi des dates ${di} Notification du delai legal maison individuelle ${date_instruction} #charger des pièces &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... document_numerise_type=arrêté ... date_creation=05/05/2018 Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... document_numerise_type=arrêté ... date_creation=15/03/2018 Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # #Faire des demandes de consultation pour inf, pour consu avec avis rendu # Pour conformité Ajouter une consultation depuis un dossier ${di} 59.01 - Direction de l'Eau et de l'Assainissement #Rendre un avis à l'avis attendu &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable ... fichier_upload=testImportManuel.pdf Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} #consultation avec Avis tacite Depuis la page d'accueil admin admin Ajouter une consultation depuis un dossier ${di} 59.01 - Direction de l'Eau et de l'Assainissement &{args_avis_consultation} = Create Dictionary ... avis_consultation=Tacite Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} #Avec avis attendu sans retour d'avis Depuis la page d'accueil admin admin Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service Select From List By Label css=select#service 59.01 - SERAM Input Text css=#date_envoi 03/02/2018 Click On Submit Button In Subform Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées Click On Back Button In Subform # #Pour information Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service Select From List By Label css=select#service 59.12 - Direction de la Propreté Urbaine Input Text css=#date_envoi 15/02/2018 Click On Submit Button In Subform Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # Ajout d'une date de retour &{date_retour} = Create Dictionary ... date_retour=16/03/2018 Modifier la consultation ${date_retour} Click On Back Button In Subform # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=table.tab-tab ... pour conformite Element Should Contain css=table.tab-tab pour information Element Should Contain css=table.tab-tab avec avis attendu #Valider et finaliser le rapport d'instruction et créer un rapport d'instruction historisé Depuis le contexte du rapport d'instruction ${di} Click On Submit Button In Subform Valid Message Should Contain Vos modifications ont bien été enregistrées. Click On Back Button In Subform Depuis le contexte du rapport d'instruction ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction definalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La définalisation du document s'est effectuée avec succès. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. # Depuis la page d'accueil instr instr # Ajout d'un document de travail &{document_travail_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... description_type=document de travail ... date_creation=06/06/2001 Ajouter un document de travail depuis le dossier d'instruction ${di} ${document_travail_values} # Récupération du nom du fichier du doc de travail et du doc d'instruction Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di} Wait Until Element Is Visible id=sousform-document_travail ${nom_fichier_doc_trav} = Get Text css=#sousform-document_travail .tab-data td.col-1 span ${nom_fichier_doc_instr} = Get Text css=#sousform-document_instruction .tab-data td.col-1 span #On se place sur l'onglet de gestion des pièces du DI Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents #On bascule vers le dossier final Click Element css=a.om-prev-icon.om-icon-16.toutes-les-pieces-16.right Sleep 1 Page Should Not Contain Element css=#telecharger_dossier_final # Vérifie que tous les documents attendus sont présents, que le document de travail # n'est pas visible et que les dates sont correctes ${pieces} = Set Variable @{locators_pieces_document} = Get WebElements css=.tab-data :FOR ${locator} IN @{locators_pieces_document} \ ${line} = Get Text ${locator} \ ${pieces} = Catenate ${pieces} ${line} Should Contain ${pieces} rapport_instruction Should Contain ${pieces} Non applicable Should Contain ${pieces} consultation_avis_pour_conformite Should Contain ${pieces} consultation_pour_conformite_tacite Should Contain ${pieces} consultation_avec_avis_attendu Should Contain ${pieces} 03/02/2018 Should Contain ${pieces} consultation_pour_information Should Contain ${pieces} 16/03/2018 Should Contain ${pieces} 20180505ARRT.pdf Should Contain ${pieces} 05/05/2018 Should Contain ${pieces} ${nom_fichier_doc_instr} Should Contain ${pieces} ${date_finalisation_instr} Should Not Contain ${pieces} ${nom_fichier_doc_trav} #vérifier que les éléments de la classe en surbrillance sont ceux qu'on attend (boucle for) ${pieces_recommandees} = Set Variable @{locators_pieces_recommandees} = Get WebElements css=.dossier_final_piece_recommandee :FOR ${locator} IN @{locators_pieces_recommandees} \ ${line} = Get Text ${locator} \ ${pieces_recommandees} = Catenate ${pieces_recommandees} ${line} Should Contain ${pieces_recommandees} rapport_instruction_2.pdf Should Contain ${pieces_recommandees} consultation_avis_pour_conformite Should Contain ${pieces_recommandees} consultation_pour_conformite_tacite Should Contain ${pieces_recommandees} 20180505ARRT.pdf Should Not Contain ${pieces_recommandees} consultation_avec_avis_attendu Should Not Contain ${pieces_recommandees} consultation_pour_information Should Not Contain ${pieces_recommandees} 20180315ARRT.pdf Should Not Contain ${pieces_recommandees} rapport_instruction_1.pdf #On vérifie que rien n'est pré coché @{locators_checkboxes_all} = Get WebElements css=.checkbox-dossier_final :FOR ${locator} IN @{locators_checkboxes_all} \ Checkbox Should Not Be Selected ${locator} # vérification des boutons de coche # Vérifie que toutes les cases à cocher sont sélectionnées Click Button id=checkbox_select_all_none Sleep 1 :FOR ${locator} IN @{locators_checkboxes_all} \ Checkbox Should Be Selected ${locator} # Vérifie que toutes les cases à cocher sont désélectionnées Click Button id=checkbox_select_all_none :FOR ${locator} IN @{locators_checkboxes_all} \ Checkbox Should Not Be Selected ${locator} # Vérifie que seulement les cases ) cocher recommandées sont sélectionnées Click Button Sélectionner les pièces et documents recommandés @{locators_checkboxes_pieces_recommandees} = Get WebElements css=tr.dossier_final_piece_recommandee td.checkbox-dossier_final :FOR ${locator} IN @{locators_checkboxes_pieces_recommandees} \ Checkbox Should Be Selected ${locator} # #Cliquer sur Constituer le dossier final Click Element name:constituer_dossier_final Wait Until Element Is Visible css=.message.ui-widget.ui-corner-all.ui-state-highlight Element Should Contain css=.message.ui-widget.ui-corner-all.ui-state-highlight Le dossier final a bien été constitué Page Should Not Contain Element css=div#telecharger_dossier_final # Télécharger toutes les pièces et vérifier l'archive ${path_archive} ${archive_name} = Télécharger le dossier final # Composition du nom correct de l'archive zip ${di_libelle_spaceless} = Sans espace ${di} ${date_ddmmyyyy} = Date du jour EN ${date_jour_sans_tirets} = STR_REPLACE - ${EMPTY} ${date_ddmmyyyy} ${correct_archive_name_di} = Set Variable ${di_libelle_spaceless}_dossier_final_${date_jour_sans_tirets}.zip # Vérification du nom de l'archive, et de son contenu Should Be Equal ${correct_archive_name_di} ${archive_name} Archive Should Contain File ${path_archive} 20180505ARRT.pdf #Recharger et vérifier le précochage Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents #On clique sur le sous onglet correspondant au dossier final Click Element css=a.om-prev-icon.om-icon-16.toutes-les-pieces-16.right Sleep 1 La page ne doit pas contenir d'erreur #Le dernier dossier final comportait toutes les pièces recommandées cochées :FOR ${locator} IN @{locators_checkboxes_pieces_recommandees} \ Checkbox Should Be Selected ${locator} #télécharger toutes les pièces et vérifier l'archive ${path_archive} ${archive_name} = Télécharger le dossier final # Composition du nom correct de l'archive zip ${di_libelle_spaceless} = Sans espace ${di} ${date_ddmmyyyy} = Date du jour EN ${date_jour_sans_tirets} = STR_REPLACE - ${EMPTY} ${date_ddmmyyyy} ${correct_archive_name_di} = Set Variable ${di_libelle_spaceless}_dossier_final_${date_jour_sans_tirets}.zip # Vérification du nom de l'archive, et de son contenu Should Be Equal ${correct_archive_name_di} ${archive_name} Archive Should Contain File ${path_archive} 20180505ARRT.pdf # Ajoute un rapport d'instruction historisé à l'archive ${locator_checkbox} = Set Variable xpath=//span[normalize-space(text()) = "rapport_instruction_1.pdf"]//ancestor::tr/td[contains(@class, "col-0")]/div/input[contains(@class, "checkbox-dossier_final")] Select Checkbox ${locator_checkbox} #Cliquer sur Constituer le dossier final Click Element name:constituer_dossier_final Wait Until Element Is Visible css=.message.ui-widget.ui-corner-all.ui-state-highlight Element Should Contain css=.message.ui-widget.ui-corner-all.ui-state-highlight Le dossier final a bien été constitué Page Should Not Contain Element css=div#telecharger_dossier_final #Le dernier dossier final comportait toutes les pièces recommandées cochées Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents #On clique sur le sous onglet correspondant au dossier final Click Element css=a.om-prev-icon.om-icon-16.toutes-les-pieces-16.right Sleep 1 La page ne doit pas contenir d'erreur #Le dossier final doit contenir le rapport historisé Checkbox Should Be Selected ${locator_checkbox} Reset params - Constitution du dossier final &{param_values} = Create Dictionary ... libelle=id_avis_consultation_tacite ... valeur=-1 ... om_collectivite=agglo Gerer le paramètre par WS ${param_values} # Vérification de l'absence de doublon dans la liste des documents d'instruction de l'onglet Docs. Instructon # [Documentation] Test vérifiant que si une lettretype non active est liée à une instruction, # ... avec une autre lettretype de même id mais qui est active, elle n'apparaît pas dans le listing # ... des documents d'instruction de l'onglet pièce. # ... Vérifie également que si 2 lettretypes actives de même id existent c'est celle liée à la collectivité # ... du dossier ou, si il n'y a pas de collectivité correspondante, celle de la collectivité de niveau 2 # ... qui est affichée # Depuis la page d'accueil admin admin # # Ajout d'une lettretype non active de même id que le recepisse de depot # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_DOC_INSTR # ... libelle=lettretype non active # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=false # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_DOC_INSTR # ... libelle=lettretype agglo # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=true # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_DOC_INSTR # ... libelle=lettretype allauch # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=true # ... collectivite=ALLAUCH # Ajouter la lettre-type depuis le menu &{args_lettretype} # @{etat_source} = Create List delai de notification envoye # @{type_di} = Create List PCI - P - Initial # &{args_evenement1} = Create Dictionary # ... libelle=TEST_DOUBLON_LETTRETYPE # ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} # ... dossier_instruction_type=${type_di} # ... lettretype=TNR_DOUBLON_DOC_INSTR lettretype agglo # Ajouter l'événement depuis le menu ${args_evenement1} # # Cas 1 : Vérification dans l'onglet pièce que le recepisse de depot est visible mais pas # # la lettretype non active # &{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=Beaudouin # ... particulier_prenom=Serge # ... om_collectivite=MARSEILLE # ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajouter une instruction au DI et la finaliser ${di_libelle} TEST_DOUBLON_LETTRETYPE # Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_libelle} # Element Should Contain css=#sousform-document_instruction lettretype agglo # Element Should Not Contain css=#sousform-document_instruction lettretype non active # # vérifie que la lettretype associée à la collectivité allauch n'est pas visible # Element Should Not Contain css=#sousform-document_instruction lettretype allauch # # Cas 2 : vérifie que la lettretype de la collectivité est affiché et pas celle lié à l'agglo # &{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=ALLAUCH # &{args_petitionnaire} = Create Dictionary # ... particulier_nom=DOUBLON # ... particulier_prenom=DOCS. INSTRUCTION # ... om_collectivite=ALLAUCH # ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajouter une instruction au DI et la finaliser ${di_libelle} TEST_DOUBLON_LETTRETYPE # Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${di_libelle} # Element Should Contain css=#sousform-document_instruction lettretype allauch # # vérifie que la lettretype non active et celle associée à l'agglo ne sont pas visible # Element Should Not Contain css=#sousform-document_instruction lettretype non active # Element Should Not Contain css=#sousform-document_instruction lettretype agglo # Vérification de l'absence de doublon dans la liste des téléchargement de l'onglet 'Téléchargement' # [Documentation] Test vérifiant que si une lettretype non active est liée à une instruction, # ... avec une autre lettretype de même id mais qui est active, elle n'apparaît pas dans le listing # ... du "Téléchargement" de l'onglet "Pièces & documents". # Depuis la page d'accueil admin admin # # Ajout d'une lettretype non active de même id que le recepisse de depot # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_TELECHARGEMENT # ... libelle=lettretype non active # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=false # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_TELECHARGEMENT # ... libelle=lettretype agglo # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=true # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # @{etat_source} = Create List delai de notification envoye # @{type_di} = Create List PCI - P - Initial # &{args_evenement1} = Create Dictionary # ... libelle=TEST_DOUBLON_LETTRETYPE_telechargement # ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} # ... dossier_instruction_type=${type_di} # ... lettretype=TNR_DOUBLON_TELECHARGEMENT lettretype agglo # Ajouter l'événement depuis le menu ${args_evenement1} # # Vérification dans l'onglet "Téléchargement" que le recepisse de depot est visible mais pas # # la lettretype non active # &{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=Loguigui # ... particulier_prenom=Padrik # ... om_collectivite=MARSEILLE # ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajouter une instruction au DI et la finaliser ${di_libelle} TEST_DOUBLON_LETTRETYPE_telechargement # Depuis le contexte du dossier d'instruction ${di_libelle} # On clique sur l'onglet document_numerise Pièces & Documents # Click Element css=div.switcher__label[data-view="document_numerise_telechargement"] # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-listing-container Lettretype agglo # Element Should Not Contain css=.tab-listing-container Lettretype non active # Vérification de l'absence de doublon dans la liste des dossiers finaux de l'onglet 'Dossier final' # [Documentation] Test vérifiant que si une lettretype non active est liée à une instruction, # ... avec une autre lettretype de même id mais qui est active, elle n'apparaît pas dans le listing # ... du "Dossier final" de l'onglet "Pièces & documents". # Depuis la page d'accueil admin admin # # Ajout d'une lettretype non active de même id que le recepisse de depot # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_DOSS_FINAL # ... libelle=lettretype non active # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=false # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # &{args_lettretype} = Create Dictionary # ... id=TNR_DOUBLON_DOSS_FINAL # ... libelle=lettretype agglo # ... sql=Aucune REQUÊTE # ... titre=null # ... corps=null # ... actif=true # ... collectivite=agglo # Ajouter la lettre-type depuis le menu &{args_lettretype} # @{etat_source} = Create List delai de notification envoye # @{type_di} = Create List PCI - P - Initial # &{args_evenement1} = Create Dictionary # ... libelle=TEST_DOUBLON_LETTRETYPE_doss_final # ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} # ... dossier_instruction_type=${type_di} # ... lettretype=TNR_DOUBLON_DOSS_FINAL lettretype agglo # Ajouter l'événement depuis le menu ${args_evenement1} # # Vérification dans l'onglet "Dossier final" que le recepisse de depot est visible mais pas # # la lettretype non active # &{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=Liguoguo # ... particulier_prenom=Radrik # ... om_collectivite=MARSEILLE # ${di_libelle} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajouter une instruction au DI et la finaliser ${di_libelle} TEST_DOUBLON_LETTRETYPE_doss_final # Depuis le contexte du dossier d'instruction ${di_libelle} # On clique sur l'onglet document_numerise Pièces & Documents # Click Element css=div.switcher__label[data-view="document_numerise_dossier_final"] # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=.tab-listing-container lettretype agglo # Element Should Not Contain css=.tab-listing-container lettretype non active 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 Vérification du bon fonctionnement des sous onglets en fonction des permissions [Documentation] Permet de vérifier l'affichage des sous onglet en fonction des permissions de l'utilisateur # On test l'affichage lorsque le profil n'a pas accès à l'onglet Depuis la page d'accueil admin admin Supprimer le droit depuis le contexte du profil document_numerise_telechargement INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents # - Vérifier que le toggle ne contient pas l'onglet "Téléchargement" Element Should Not Be Visible css=div[data-view="document_numerise_telechargement"] Depuis la page d'accueil admin admin # On remet le droit sur le profil INSTRUCTEUR Ajouter le droit depuis le menu document_numerise_telechargement INSTRUCTEUR # Vérification de la non présence du sous onglet Document d'instruction si les deux permissions son supprimées Supprimer le droit depuis le contexte du profil document_instruction INSTRUCTEUR Supprimer le droit depuis le contexte du profil document_travail INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents # - Vérifier que le toggle ne contient pas l'onglet "Téléchargement" Element Should Not Be Visible css=div[data-view="document_instruction"] Depuis la page d'accueil admin admin # On remet le droit sur le profil INSTRUCTEUR Ajouter le droit depuis le menu document_instruction INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents # - Vérifier que le toggle ne contient pas l'onglet "Téléchargement" Element Should Be Visible css=div[data-view="document_instruction"] Click Element css=div.switcher__label[data-view="document_instruction"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Not Contain Documents de travail Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Documents d'instruction Depuis la page d'accueil admin admin # On remet le droit sur le profil INSTRUCTEUR Supprimer le droit depuis le contexte du profil document_instruction INSTRUCTEUR Ajouter le droit depuis le menu document_travail INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents # - Vérifier que le toggle ne contient pas l'onglet "Téléchargement" Element Should Be Visible css=div[data-view="document_instruction"] Click Element css=div.switcher__label[data-view="document_instruction"] Page Should Not Contain Documents d'instruction Page Should Contain Documents de travail Depuis la page d'accueil admin admin # On remet le droit sur le profil INSTRUCTEUR Ajouter le droit depuis le menu document_instruction INSTRUCTEUR Supprimer le droit depuis le contexte du profil document_numerise_dossier_final INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents # - Vérifier que le toggle ne contient pas l'onglet "Téléchargement" Element Should Not Be Visible css=div[data-view="document_numerise_dossier_final"] Depuis la page d'accueil admin admin # On veut seulement les pièces pétitionnaires Supprimer le droit depuis le contexte du profil document_numerise_telechargement INSTRUCTEUR Supprimer le droit depuis le contexte du profil document_instruction INSTRUCTEUR Supprimer le droit depuis le contexte du profil document_travail INSTRUCTEUR Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} On clique sur l'onglet document_numerise Pièces & Documents Element Should Not Be Visible css=#switch-toutes_les_pieces-pieces_deposees Reset Params - Vérification du bon fonctionnement des sous onglets en fonction des permissions # On rétablie les permissions comme avant Depuis la page d'accueil admin admin Ajouter le droit depuis le menu document_instruction INSTRUCTEUR Ajouter le droit depuis le menu document_numerise_telechargement INSTRUCTEUR Ajouter le droit depuis le menu document_travail INSTRUCTEUR Ajouter le droit depuis le menu document_numerise_dossier_final INSTRUCTEUR Téléchargement de l'ensemble des documents [Documentation] Test vérifiant le bon fonctionnement du sous onglet 'Téléchargement', ... de son bon affichage, et du téléchargement de l'ensemble des documents, comprenant : ... les documents de travail, les documents d'instruction, les pièces pétitionnaire, ... les documents de consultation ainsi que les documents PeC. Depuis la page d'accueil admin admin # Modification de l'événement 'Notification du delai legal maison individuelle', # afin de retrouver son type de document 'Récépissé' dans la liste des documents &{args_evenement} = Create Dictionary ... libelle=Notification du delai legal maison individuelle ... document_type=Récépissé Modifier l'événement ${args_evenement} # Ajout d'un DI &{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 ... qualite=particulier ... particulier_nom=Pantouflard ... particulier_prenom=Bob ... om_collectivite=MARSEILLE ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Ajout d'une consultation Ajouter une consultation depuis un dossier ${di} 59.13 - Régie des Tranports de Marseille - DTP/CIP ${id_consultation} = Get Element Attribute css=#form-content #consultation value Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} # On vérifie que le document généré est présent On clique sur l'onglet document_numerise Pièces & Documents # Vérifie qu'il n'y a pas de problème dans le contenu du sous onglet "Téléchargement" Click Element css=div.switcher__label[data-view="document_numerise_telechargement"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain consultation_${id_consultation} Depuis la page d'accueil consu consu &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable ... motivation=Pas de réserves ... fichier_upload=20130207F6.pdf Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} # On vérifie que le retour d'avis est présent On clique sur l'onglet document_numerise Pièces & Documents Click Element css=div.switcher__label[data-view="document_numerise_telechargement"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain consultation_avis_${id_consultation} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain retour d'avis # Le document généré de la consultation ne doit pas être présent Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Not Contain consultation_${id_consultation} Depuis la page d'accueil admin admin Depuis le contexte du dossier d'instruction ${di} # Ajout d'un document numerise (PIÈCE) &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=31/03/2016 ... document_numerise_type=arrêté retour préfecture Ajouter une pièce depuis le dossier d'instruction ${di} ${document_numerise_values} # Ajout d'un document de travail &{document_travail_values} = Create Dictionary ... uid_upload=testImportManuel.jpg ... date_creation=31/03/2016 ... description_type=image Ajouter un document de travail depuis le dossier d'instruction ${di} ${document_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. &{document_travail_values} = Create Dictionary ... uid_upload=20091106AUTPCP.pdf ... date_creation=31/03/2016 ... description_type=pdf Ajouter un document de travail depuis le dossier d'instruction ${di} ${document_travail_values} Valid Message Should Contain Vos modifications ont bien été enregistrées. # Ajout d'un rapport d'instruction Depuis le contexte du rapport d'instruction ${di} Click On Submit Button In Subform Click On Back Button In Subform Depuis le contexte du rapport d'instruction ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. # On ajoute une version pour avoir un storage en plus du om_fichier_rapport_instruction Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction definalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La définalisation du document s'est effectuée avec succès. Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. Click On Back Button In Subform # Ajout d'un document d'instruction ${instr_id} = Ajouter une instruction au DI et la finaliser ${di} Consultation service d'hygiène municipal Click On Back Button In Subform Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} # Vérification de l'accès à l'onglet "Pièces & Documents" On clique sur l'onglet document_numerise Pièces & Documents Page Should Not Contain Droits insuffisants. Vous n'avez pas suffisamment de droits pour acceder à cette page. # Vérifie que c'est bien l'onglet "Pièces pétitionnaire" qui à la classe css "onglet_active" Page Should Contain Element css=div.switcher__label.onglet_active[data-view="document_numerise"] # Vérifie que le sous onglet "Téléchargement" est bien présent Element Should Be Visible css=#switch-toutes_les_pieces-pieces_deposees Téléchargement # Vérifie qu'il n'y a pas de problème dans le contenu du sous onglet "Téléchargement" Click Element css=div.switcher__label[data-view="document_numerise_telechargement"] La page ne doit pas contenir d'erreur # Vérifie que lorsque l'on clique sur un des sous onglets, la class css de cette élément à bien "onglet_active" présent Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=div.switcher__label.onglet_active[data-view="document_numerise_telechargement"] # Et que les autres élement n'ont pas de class "onglet_active" Page Should Not Contain Element css=div.switcher__label.onglet_active[data-view="document_numerise"] Page Should Not Contain Element css=div.switcher__label.onglet_active[data-view="document_instruction"] Page Should Not Contain Element css=div.switcher__label.onglet_active[data-view="document_numerise_dossier_final"] # Vérifie les lignes d'entête Element Should Contain css=thead .col-0 ${EMPTY} Element Should Contain css=thead .col-1 date Element Should Contain css=thead .col-2 type Element Should Contain css=thead .col-3 nom du fichier Element Should Contain css=thead .col-4 catégorie Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di} # - Vérifier que le toggle contient bien l'onglet "Téléchargement" On clique sur l'onglet document_numerise Pièces & Documents Element Should Be Visible css=div[data-view="document_numerise_telechargement"] Click Element css=div[data-view="document_numerise_telechargement"] # On vérifie que les 3 sections sont présente dans le tableau de téléchargement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Pièces pétitionnaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Documents d'instruction Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Documents de travail # On vérifie que les fichiers ajoutés sont bien présents # pièce pétitionnaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 20160331ART.pdf # Documents de travail Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 20160331DOCTRAV.pdf Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 20160331DOCTRAV.jpg # Rapport d'instruction Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain rapport_instruction_1.pdf Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain rapport_instruction_2.pdf # La présence des documents PeC sera vérifiée dans le test 300 lors des vérification des consultation avec PeC # On teste le bon fonctionnement du téléchargement d'un seul document Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link Récépissé Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain RECEPISSE DE DEPOT Page Should Contain Pantouflard Bob Close PDF # - Vérifier le bon fonctionnement de la selection/deselection du sous onglet "Téléchargement" # Récupération des checkbox @{locators_checkboxes_all} = Get WebElements css=.checkbox-telechargement # Vérifie que toutes les cases à cocher sont sélectionnées Click Button id=checkbox_select_all_none Sleep 1 :FOR ${locator} IN @{locators_checkboxes_all} \ Checkbox Should Be Selected ${locator} # Vérifie que toutes les cases à cocher sont désélectionnées Click Button id=checkbox_select_all_none :FOR ${locator} IN @{locators_checkboxes_all} \ Checkbox Should Not Be Selected ${locator} Click Button id=checkbox_select_all_none Click Element name=archive_telechargement # Télécharger toutes les pièces et vérifier l'archive ${path_archive} ${archive_name} = Télécharger l'archive du sous onglet téléchargement # Composition du nom correct de l'archive zip ${di_libelle_spaceless} = Sans espace ${di} ${date_ddmmyyyy} = Date du jour EN ${date_jour_sans_tirets} = STR_REPLACE - ${EMPTY} ${date_ddmmyyyy} ${correct_archive_name_di} = Set Variable ${di_libelle_spaceless}_telechargement_${date_jour_sans_tirets}.zip # Vérification du nom de l'archive, et de son contenu Should Be Equal ${correct_archive_name_di} ${archive_name} @{all_files} = Get WebElements css=tbody tr.tab-data td.col-3 a :FOR ${file} IN @{all_files} \ ${file_name} = Get Text ${file} \ ${match_cons} = Run Keyword And Return Status Should Match Regexp ${file_name} ^consultation_avis_\\d+ \ ${file_name} = Run Keyword If ${match_cons}==True Set Variable ${file_name}.pdf ELSE Set Variable ${file_name} \ Archive Should Contain File ${path_archive} ${file_name} 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}