*** Settings *** Documentation Gestion des consultations. # 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 du jeu de données Consultation [Documentation] L'objet de ce 'Test Case' est de constituer le jeu de données Initialisation Variables Consultation Run Keyword If '${CONTEXT_CONSULTATION_1_CREATED}' == 'False' Initialisation du jeu de données Consultation 1er tier Set Global Variable ${CONTEXT_CONSULTATION_1_CREATED} True Run Keyword If '${CONTEXT_CONSULTATION_2_3_CREATED}' == 'False' Initialisation du jeu de données Consultation 2eme et 3eme tier Set Global Variable ${CONTEXT_CONSULTATION_2_3_CREATED} True # Supposition : ces dossiers sont affectés à l'instructeur "Louis Laurent" # (instr) division "H" même division que "Martine Nadeau" (instr1) # # &{args_petitionnaire_1} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE # &{args_demande_1} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=MARSEILLE # ${di_1} = Ajouter la demande par WS ${args_demande_1} ${args_petitionnaire_1} Set Suite Variable ${di_1} # Depuis la page d'accueil instr instr Ajouter une consultation depuis un dossier ${di_1} 59.01 - Direction de l'Eau et de l'Assainissement # &{args_avis_consultation_1} = Create Dictionary ... avis_consultation=Favorable Depuis la page d'accueil consu consu # Rendre l'avis sur la consultation du dossier ${di_1} ${args_avis_consultation_1} &{args_petitionnaire_2} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE # &{args_demande_2} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=MARSEILLE # ${di_2} = Ajouter la demande par WS ${args_demande_2} ${args_petitionnaire_2} Set Suite Variable ${di_2} Depuis la page d'accueil instr instr Ajouter une consultation depuis un dossier ${di_2} 59.01 - Direction de l'Eau et de l'Assainissement &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di_2} ${args_avis_consultation} # Création de trois autres dossier mais dédiée aux tests des consultations des tiers # Création d'un dossier et ajout d'une consultation sur ce dossier &{args_petitionnaire_4} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE &{args_demande_4} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=MARSEILLE ${di_4} = Ajouter la demande par WS ${args_demande_4} ${args_petitionnaire_4} Set Suite Variable ${di_4} # Ajout d'une consultation sur ce dossier Depuis la page d'accueil instr instr ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM3 - 3ème tiers de Marseille ... motif_consultation=Premier motif de consultation Ajouter une consultation vers un tiers depuis un dossier ${di_4} ${tiers_1} # Retour d'avis sur cette consultation Depuis la page d'accueil consu consu &{args_avis_consultation_4} = Create Dictionary ... avis_consultation=Favorable Rendre l'avis sur la consultation du dossier ${di_4} ${args_avis_consultation_4} # Création d'un dossier et ajout d'une consultation sur ce dossier &{args_petitionnaire_5} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE &{args_demande_5} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=MARSEILLE ${di_5} = Ajouter la demande par WS ${args_demande_5} ${args_petitionnaire_5} Set Suite Variable ${di_5} Depuis la page d'accueil instr instr Ajouter une consultation vers un tiers depuis un dossier ${di_5} ${tiers_1} Depuis la page d'accueil consu consu # Avant de rendre l'avis, vérification de l'action de visualisation de # l'édition dans le contexte d'un tiers consulté Depuis la demande d'avis en cours du dossier ${di_5} Page Should Contain Element css=#form-container div#portlet-actions a#action-sousform-demande_avis_encours-consulter_pdf # Rendu de l'avis sur la consultation par le "service consulte" &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable Rendre l'avis sur la consultation du dossier ${di_5} ${args_avis_consultation} Filtre des motifs de consultation [Documentation] Test qu'un utilisateur appartenant à la collectivité de niveau 2 ... a accès, à l'ajout d'une consultation de tiers, à tous les motifs de consultation. ... Test également qu'un utilisateur, n'appartennant pas à la collectivité de niveau 2, ... a accès aux motifs liés à sa collectivité ou à la collectivité de niveau 2. Depuis la page d'accueil admin admin # Ajout d'un motif pour Allauch et d'un motif sans service associé @{service} = Create List ALLAUCH &{args_motif} = Create Dictionary ... code=M3 ... libelle=Motif Allauch ... om_collectivite=${service} Ajouter motif de consultation ${args_motif} &{args_motif} = Create Dictionary ... code=M4 ... libelle=Motif sans service Ajouter motif de consultation ${args_motif} # Accès au formulaire d'ajout de consultation en tant qu'admin (coll niveau 2) # et validation du contenu de la liste des motifs Depuis le formulaire d'ajout d'une consultation vers un tiers sur un dossier ${di_1} @{motifs} = Create List Premier motif de consultation Deuxième motif de consultation Motif Allauch Motif sans service Select List Should Contain List css=#motif_consultation ${motifs} # Accès au formulaire d'ajout de consultation en tant qu'instr # et validation du contenu de la liste des motifs Depuis la page d'accueil instr instr Depuis le formulaire d'ajout d'une consultation vers un tiers sur un dossier ${di_1} @{motifs} = Create List Premier motif de consultation Deuxième motif de consultation Select List Should Contain List css=#motif_consultation ${motifs} @{motifs} = Create List Motif Allauch Motif sans service Select List Should Not Contain List css=#motif_consultation ${motifs} Paramétrage d'un service et d'un tiers et de l'édition PDF de la consultation [Documentation] L'objet de ce TestCase est de vérifier que l'édition ... paramétrée sur un service est correctement répercutée lors de la ... consultation d'un service après finalisation et avant définalisation ... et après définalisation. # Utilise un fichier de configuration spécifique Move File ..${/}dyn${/}config.inc.php ..${/}dyn${/}config.inc.php.bak Copy File ..${/}tests${/}binary_files${/}config_2.inc.php ..${/}dyn${/}config.inc.php ## ## Étape 1 ## # On ajoute deux états dont l'id commence par 'consultation_' : un qui # contient test_10_1 et l'autre test_10_2. # On ajoute un service en sélectionnant l'édition test_10_1. ## Depuis la page d'accueil admin admin Ajouter l'état depuis le menu consultation_testconsultation10_1 testconsultation10_1 test_10_1 test_10_1 Récapitulatif consultation true agglo Ajouter l'état depuis le menu consultation_testconsultation10_2 testconsultation10_2 test_10_2 test_10_2 Récapitulatif consultation true agglo &{service} = Create Dictionary ... abrege=ts10 ... libelle=test_service_10 ... edition=testconsultation10_1 ... om_collectivite=agglo ... service_type=openADS ... generate_edition=true Ajouter le service depuis le listing ${service} @{collectivite_motif} = Create List MARSEILLE &{args_motif_consultation} = Create Dictionary ... code=10_1 ... description=testMotifConsultation10_1 ... abrege=Consultation - test10_1 ... libelle=testMotifConsultation10_1 ... om_etat=testconsultation10_1 ... service_type=openADS ... generate_edition=true ... om_collectivite=${collectivite_motif} ${motif_id} = Ajouter motif de consultation ${args_motif_consultation} ## ## Étape 2 ## # On ajoute une consultation du service ajouté précédemment sur un dossier # et on vérifie que l'édition contient bien la chaine test_10_1 et ne # contient pas la chaine test_10_2. ## # consultation d'un service Depuis la page d'accueil instr instr Ajouter une consultation depuis un dossier ${di_1} ts10 - test_service_10 Depuis le contexte de la consultation ${di_1} ts10 - test_service_10 Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1 Page Should Not Contain test_10_2 Close PDF # consultation d'un tiers ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM1 - 1er tiers de Marseille ... motif_consultation=testMotifConsultation10_1 Ajouter une consultation vers un tiers depuis un dossier ${di_4} ${tiers_1} Depuis le contexte de la consultation ${di_4} ${tiers_1.tiers_consulte} Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1 Page Should Not Contain test_10_2 Close PDF ## ## Étape 3 ## # On modifie le paramétrage du service pour lui sélectionner l'édition # test_10_2. ## Depuis la page d'accueil admin admin &{service} = Create Dictionary ... edition=testconsultation10_2 Modifier le service ts10 test_service_10 ${service} Depuis la page d'accueil admin admin &{motif} = Create Dictionary ... om_etat=testconsultation10_2 Modifier motif de consultation ${motif_id} ${motif} ## ## Étape 4.1 ## # On retourne sur la consultation précédente, on vérifie que l'édition # contient toujours bien la chaine test_10_1 et ne contient pas la chaine # test_10_2. ## # Service Depuis la page d'accueil instr instr Depuis le contexte de la consultation ${di_1} ts10 - test_service_10 Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1 Page Should Not Contain test_10_2 Close PDF # tiers Depuis le contexte de la consultation ${di_4} ${tiers_1.tiers_consulte} Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_1 Page Should Not Contain test_10_2 Close PDF ## ## Étape 4.2 ## # Ensuite on définalise l'édition et on vérifie que l'édition contient bien # la chaine test_10_2 et ne contient pas la chaine test_10_1. ## Depuis le contexte de la consultation ${di_1} ts10 - test_service_10 Click On SubForm Portlet Action consultation unfinalise Valid Message Should Be In Subform La définalisation du document s'est effectuée avec succès. Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_2 Page Should Not Contain test_10_1 Close PDF Depuis la page d'accueil instr instr Depuis le contexte de la consultation ${di_4} ${tiers_1.tiers_consulte} Click On SubForm Portlet Action consultation unfinalise Valid Message Should Be In Subform La définalisation du document s'est effectuée avec succès. Click On SubForm Portlet Action consultation consulter_pdf new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain test_10_2 Page Should Not Contain test_10_1 Close PDF # Restaure le fichier de configuration sauvegardé Remove File ..${/}dyn${/}config.inc.php Move File ..${/}dyn${/}config.inc.php.bak ..${/}dyn${/}config.inc.php TNR Bug Recherche sur le critère "Instructeur" de la recherche avancée de "Instruction > Consultations > Tous les retours" ne fonctionne pas [Documentation] La recherche portait sur l'identifiant de l'instructeur ... au lieu de porter sur son nom # Depuis la page d'accueil instr1 instr # Depuis le listing dossier_autorisation Go To Submenu In Menu instruction consultation_tous_retours # Click Element css=#toggle-advanced-display # Wait Until Element Is Visible css=div#adv-search-adv-fields input#instructeur # On remplit Input Text css=div#adv-search-adv-fields input#instructeur Louis Laurent # On valide le formulaire de recherche Click On Search Button # Page Should Not Contain Aucun enregistrement TNR Bug Droits insuffisants sur l'onglet pièces sur la demande d'avis [Documentation] L'accés à l'onglet pièce n'était pas possible # On se connecte en tant que "consu" Depuis la page d'accueil consu consu # Depuis la demande d'avis passée du dossier ${di_1} 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. TNR Bug demande de consultation par le profil guichetsuivi [Documentation] Vérification du dépôt de consultation par le profil ... guichetsuivi &{args_petitionnaire_1} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Maurice ... om_collectivite=MARSEILLE # &{args_demande_1} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=12/09/2015 ... om_collectivite=MARSEILLE # ${di_1} = Ajouter la demande par WS ${args_demande_1} ${args_petitionnaire_1} Depuis la page d'accueil guichetsuivi guichetsuivi # Test l'ajout d'une consultation de service Ajouter une consultation depuis un dossier ${di_1} DAEWE - DAE - BUREAU ENTREPOT INDUSTRIE AGRICOLE # Test l'ajout d'une consultation de tiers ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM1 - 1er tiers de Marseille ... motif_consultation=Premier motif de consultation Ajouter une consultation vers un tiers depuis un dossier ${di_1} ${tiers_1} TNR Bug suppression de la pièce jointe à la modification d'une consultation [Documentation] Vérifie que la pièce jointe d'une consultation ne disparaît ... pas quand on modifie la consultation en tant qu'instructeur polyvalent. &{args_petitionnaire} = Create Dictionary ... particulier_nom=Roussel ... particulier_prenom=Agnès ... 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 ... date_demande=03/02/2016 ... om_collectivite=MARSEILLE # ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis la page d'accueil instrpoly instrpoly # On teste pour une consultation de service Ajouter une consultation depuis un dossier ${di} 59.01 - Direction de l'Eau et de l'Assainissement # Définalise la consultation pour pouvoir la modifier Depuis le contexte de la consultation ${di} 59.01 - Direction de l'Eau et de l'Assainissement Click On SubForm Portlet Action consultation unfinalise # Ajoute une pièce à la consultation &{piece_values} = Create Dictionary ... fichier_upload=testImportManuel.pdf ... date_demande=03/02/2016 ... avis_consultation=Tacite ${nom_piece} = Ajouter une pièce à la consultation ${piece_values} # Vérifie que l'instructeur polyvalent peut modifier la pièce &{piece_values_2} = Create Dictionary ... fichier_upload=testImportManuel2.pdf ${nom_piece_2} = Ajouter une pièce à la consultation ${piece_values_2} # Nouvelles valeurs de la consultation &{saisie_values} = Create Dictionary ... avis_consultation=Favorable Modifier la consultation ${saisie_values} # Vérifie que le fichier est toujours ajouté à la consultation # 21 caractères sont retirés afin de ne prendre en compte que le nom de la pièce attendue ${texte_raccourci} Evaluate "${nom_piece_2}"[:-21] Page Should Contain ${texte_raccourci} # On teste pour une consultation de tiers ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM1 - 1er tiers de Marseille ... motif_consultation=Premier motif de consultation Ajouter une consultation vers un tiers depuis un dossier ${di} ${tiers_1} # Définalise la consultation pour pouvoir la modifier Depuis le contexte de la consultation ${di} ${tiers_1.tiers_consulte} Click On SubForm Portlet Action consultation unfinalise # Ajoute une pièce à la consultation &{piece_values} = Create Dictionary ... fichier_upload=testImportManuel.pdf ... date_demande=03/02/2016 ... avis_consultation=Tacite ${nom_piece} = Ajouter une pièce à la consultation ${piece_values} # Vérifie que l'instructeur polyvalent peut modifier la pièce &{piece_values_2} = Create Dictionary ... fichier_upload=testImportManuel2.pdf ${nom_piece_2} = Ajouter une pièce à la consultation ${piece_values_2} # Nouvelles valeurs de la consultation &{saisie_values} = Create Dictionary ... avis_consultation=Favorable Modifier la consultation ${saisie_values} # Vérifie que le fichier est toujours ajouté à la consultation # 21 caractères sont retirés afin de ne prendre en compte que le nom de la pièce attendue ${texte_raccourci} Evaluate "${nom_piece_2}"[:-21] Page Should Contain ${texte_raccourci} TNR Vérifie que le fichier est supprimé à la suppression de la consultation [Documentation] Vérifie dans le filestorage si le fichier de l'édition de ... la consultation est correctement supprimé lors de la suppression de la ... consultation. &{args_petitionnaire} = Create Dictionary ... om_collectivite=MARSEILLE ... particulier_nom=Goguen ... particulier_prenom=Diane # &{args_demande} = Create Dictionary ... om_collectivite=MARSEILLE ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... date_demande=29/04/2016 # ${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.70 - AUTRE # Récupération de l'UID Depuis le contexte de la consultation ${di} 59.70 - AUTRE ${uid} = Get Value om_fichier_consultation ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # Depuis le contexte de la consultation ${di} 59.70 - AUTRE # On clique sur l'action de définalisation Wait Until Keyword Succeeds 5 sec 0.2 sec Click On SubForm Portlet Action consultation unfinalise # On vérifie le message de validation Wait Until Keyword Succeeds 5 sec 0.2 sec Valid Message Should Be La définalisation du document s'est effectuée avec succès. # Supprimer la consultation depuis le contexte du dossier d'instruction ${di} 59.70 - AUTRE # Vérification dans le filestorage File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info # On teste également pour une consultation de tiers consulté ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM3 - 3ème tiers de Marseille ... motif_consultation=Premier motif de consultation Ajouter une consultation vers un tiers depuis un dossier ${di} ${tiers_1} # Récupération de l'UID Depuis le contexte de la consultation ${di} ${tiers_1.tiers_consulte} ${uid} = Get Value om_fichier_consultation ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 # Vérification dans le filestorage File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info Depuis le contexte de la consultation ${di} ${tiers_1.tiers_consulte} # On clique sur l'action de définalisation Wait Until Keyword Succeeds 5 sec 0.2 sec Click On SubForm Portlet Action consultation unfinalise # On vérifie le message de validation Wait Until Keyword Succeeds 5 sec 0.2 sec Valid Message Should Be La définalisation du document s'est effectuée avec succès. Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${tiers_1.tiers_consulte} # Vérification dans le filestorage File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid} File Should Not Exist ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info TNR Vérification du fonctionnement de la redirection [Documentation] Le but de ce test case est de vérifier si la redirection ... entre la liste des consultations de mes retours et une consultation ... fonctionne. On va donc créer un dossier une consultation, rendre un avi ... et vérifier l'ajout de consultations multiples. Depuis la page d'accueil instr instr Click Element css=#widget_3 a Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link ${di_2} Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_multiple Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element t10_575_0_ ${status} = Run Keyword And Return Status Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#t10_575_0_.liste_gauche_service_selected # Sélection du dans la liste de Direction de l'Eau et de l'Assainissement Run Keyword If ${status} == False Click Element t10_575_0_ Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element css=#t10_575_0_.liste_gauche_service_selected Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link 59.01 - Direction de l'Eau et de l'Assainissement ${status} = Run Keyword And Return Status Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=div > table Run Keyword If ${status} == False Click Link 59.01 - Direction de l'Eau et de l'Assainissement Click On SubForm Portlet Action consultation marquer_comme_lu # Test la redirection pour une consultation de tiers Depuis la page d'accueil instr instr Click Element css=#widget_3 a Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link ${di_5} ${status} = Run Keyword And Return Status Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=div > table Run Keyword If ${status} == False Click Link TM3 - 3ème tiers de Marseille Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm consultation marquer_comme_lu Click On SubForm Portlet Action consultation marquer_comme_lu