*** Settings *** Documentation Vérification que tous les documents sont bien utilisables ... depuis le sous-onglet Téléchargement de Pièces & Documents Resource resources/resources.robot Suite Setup Run Keywords ... For Suite Setup ... AND Composition du jeu de données Suite Teardown Run Keywords ... Décomposition du jeu de données ... AND For Suite Teardown *** Keywords *** Composition du jeu de données &{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 # 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} Set Suite Variable ${di} # 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 Set Suite Variable ${id_consultation} 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} Cliquer et confirmer le téléchargement de l'archive Click Element name=archive_telechargement Wait Until Page Contains Téléchargement des documents sélectionnés Page Should Contain Êtes vous sûr(e) de vouloir télécharger l'ensemble des documents sélectionnés ? Click Element css=button.ui-button:nth-child(1) # bouton de confirmation Wait Until Page Contains Votre archive est prête, Page Should Contain Cliquez ici pour la télécharger ${link} = Get Element Attribute archive_download_link href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/}downloads${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} Click Element css=.ui-icon-closethick [Return] ${full_path_to_file} ${output_name} *** Test Cases *** Le sous-onglet Téléchargement est correctement affiché Depuis la page d'accueil instr instr Depuis l'onglet des pièces du dossier d'instruction ${di} # L'onglet "Pièces pétitionnaire" est actif par défaut 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" Ouvrir le sous-onglet Téléchargements La page ne doit pas contenir d'erreur # Lorsque l'on clique sur un des sous-onglets, il prend bien la classe CSS onglet_active et les autres la perdent Page Should Contain Element css=div.switcher__label.onglet_active[data-view="document_numerise_telechargement"] 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 Le sous-onglet Téléchargement contient tous les fichiers liés au dossier [Documentation] Les documents de travail, les documents d'instruction (générés), les pièces pétitionnaire, ... les documents de consultation ainsi que les documents PeC sont présents sur l'onglet # TODO Setup 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 l'onglet des pièces du dossier d'instruction ${di} Ouvrir le sous-onglet Téléchargements Page Should Contain consultation_avis_${id_consultation} Page Should Contain retour d'avis Page Should Not Contain consultation_${id_consultation} # Le document généré de la consultation ne doit pas être présent 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. # Ajout d'un document d'instruction importé &{values} = Create Dictionary ... chemin_fichier_a_uploader=testImportManuel.pdf ... document_type=Courrier (demande de prorogation) # code 29 Ajouter un document d'instruction importé depuis le dossier d'instruction ${di} ${values} &{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 l'onglet des pièces du dossier d'instruction ${di} Ouvrir le sous-onglet Téléchargements # On vérifie que les 4 sections sont présente dans le tableau de téléchargement Page Should Contain Pièces pétitionnaire Page Should Contain Documents d'instruction générés Page Should Contain Documents d'instruction importés Page Should Contain Documents de travail # On vérifie que les fichiers ajoutés sont bien présents Page Should Contain 20160331ART.pdf # pièce pétitionnaire Page Should Contain 20160331DOCTRAV.pdf # Documents de travail Page Should Contain 20160331DOCTRAV.jpg # Documents de travail Page Should Contain Courrier (demande de prorogation) # Document d'instruction importé Page Should Contain rapport_instruction_1.pdf # Rapport d'instruction Page Should Contain rapport_instruction_2.pdf # Rapport d'instruction # La présence des documents PeC sera vérifiée dans le test 300 lors des vérification des consultation avec PeC Téléchargement d'un seul document Depuis la page d'accueil instr instr Depuis l'onglet des pièces du dossier d'instruction ${di} Ouvrir le sous-onglet Téléchargements 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 Le bouton tout sélectionner/désélectionner fonctionne Depuis la page d'accueil instr instr Depuis l'onglet des pièces du dossier d'instruction ${di} Ouvrir le sous-onglet Téléchargements # Récupération des checkbox @{locators_checkboxes_all} = Get WebElements css=.checkbox-telechargement # Vérifie que toutes les cases à cocher sont sélectionnées quand on clique sur tout Click Button id=checkbox_select_all_none Sleep 1 # TODO trouver mieux que ce sleep :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} Téléchargement de tous les documentss Depuis la page d'accueil instr instr Depuis l'onglet des pièces du dossier d'instruction ${di} Ouvrir le sous-onglet Téléchargements Click Button id=checkbox_select_all_none ${path_archive} ${archive_name} = Cliquer et confirmer le téléchargement de l'archive # 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 Should Be Equal ${correct_archive_name_di} ${archive_name} # Vérification du contenu de l'archive @{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}