*** 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 *** Variables *** ${json_consultation} {"module":"consultation"} *** Test Cases *** TNR Routine de mise à jour des consultations tacites [Documentation] Permet de vérifier l'état des consultations après le ... traitement tacite. ... Attention ! ce test est en premier car il utilise les données du init_data ... il est nécessaire d'améilorer ce point # Création d'un dossier et ajout d'un tiers consulté avec un délais pour tester le tacite &{args_petitionnaire} = Create Dictionary ... particulier_nom=TACITA ... particulier_prenom=Louise ... 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=12/04/2015 ... om_collectivite=MARSEILLE ${di_tacite_tiers} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} Depuis la page d'accueil admin admin ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM1 - 1er tiers de Marseille ... motif_consultation=Premier motif de consultation ... date_envoi=12/04/2015 Ajouter une consultation vers un tiers depuis un dossier ${di_tacite_tiers} ${tiers_1} # On exécute le WS de mise à jour des consultations Vérifier le code retour du web service et vérifier que son message est Post maintenance ${json_consultation} 200 3 consultations mise(s) à jour. # On vérifie que la valeur de la consultation qui a été passée en tacite # est bien marquée comme 'non lu' # Définition de l'id du widget des retours de consultation du profil INSTRUCTEUR ${widget_id} = Set Variable widget_3 # En tant que profil 'INSTRUCTEUR' Depuis la page d'accueil instr instr # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 2 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # On accède au listing des restours de consultation Page Title Should Be Instruction > Consultations > Mes Retours # On clique sur le dossier en question Click On Link PC 013055 12 00002P0 # On vérifie que les champs ont bien été mis à jour par le webservice Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#lu Non Form Static Value Should Be css=#avis_consultation Tacite Form Static Value Should Be css=#date_retour 01/02/2013 Constitution du jeu de données [Documentation] Constitue le jeu de données. # # 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_3} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE # &{args_demande_3} = 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=01/04/2016 ... om_collectivite=MARSEILLE # ${di_3} = Ajouter la demande par WS ${args_demande_3} ${args_petitionnaire_3} Set Suite Variable ${di_3} &{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} # Rendu de l'avis sur la consultation par le "service consulte" &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di_5} ${args_avis_consultation} # Création d'un 3ème dossier sans ajout de consultation &{args_petitionnaire_6} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=MARSEILLE &{args_demande_6} = 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=01/04/2016 ... om_collectivite=MARSEILLE ${di_6} = Ajouter la demande par WS ${args_demande_6} ${args_petitionnaire_6} Set Suite Variable ${di_6} Ajout d'une consultation simple [Documentation] ## ## Constitution du jeu de données ## # Données du demandeur &{args_petitionnaire} = Create Dictionary ... qualite=personne morale ... personne_morale_denomination=DAINEAU Ets ... personne_morale_civilite=Monsieur ... personne_morale_nom=MICHEL ... personne_morale_prenom=Alain ... om_collectivite=MARSEILLE # Données de 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 ... date_demande=03/05/2016 ... om_collectivite=MARSEILLE # Données techniques du dossiers pour le tableau des surfaces &{donnees_techniques_values} = Create Dictionary ... su_avt_shon1=10 ... su_avt_shon2=10 ... su_avt_shon3=10 ... su_avt_shon4=10 ... su_avt_shon5=10 ... su_avt_shon6=10 ... su_avt_shon7=10 ... su_avt_shon8=10 ... su_avt_shon9=10 ... su_cstr_shon1=10 ... su_cstr_shon2=10 ... su_cstr_shon3=10 ... su_cstr_shon4=10 ... su_cstr_shon5=10 ... su_cstr_shon6=10 ... su_cstr_shon7=10 ... su_cstr_shon8=10 ... su_cstr_shon9=10 ... su_chge_shon1=10 ... su_chge_shon2=10 ... su_chge_shon3=10 ... su_chge_shon4=10 ... su_chge_shon5=10 ... su_chge_shon6=10 ... su_chge_shon7=10 ... su_chge_shon8=10 ... su_chge_shon9=10 ... su_demo_shon1=10 ... su_demo_shon2=10 ... su_demo_shon3=10 ... su_demo_shon4=10 ... su_demo_shon5=10 ... su_demo_shon6=10 ... su_demo_shon7=10 ... su_demo_shon8=10 ... su_demo_shon9=10 ... su_sup_shon1=10 ... su_sup_shon2=10 ... su_sup_shon3=10 ... su_sup_shon4=10 ... su_sup_shon5=10 ... su_sup_shon6=10 ... su_sup_shon7=10 ... su_sup_shon8=10 ... su_sup_shon9=10 # Ajout de la nouvelle demande pour création du DI ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Saisie des données techniques sur le DI Depuis la page d'accueil instr instr Modifier les données techniques pour le calcul des surfaces ${di} ${donnees_techniques_values} ## ## Cas d'usage n°1 ## ## Le principe ici est de tester l'ajout d'une consultation simple par un ## profil qui n'a pas les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation simple est disponible ## - le champ date d'envoi n'est pas présent ## - le champ service est obligatoire ## - un mail est envoyé au service ## - le champ date d'envoi est positionné à la date du jour à l'enregistrement ## - l'édition PDF est accessible et contient : ## * le demandeur ## * le total du calcul des surfaces ## On en profite pour vérifier que l'envoi à plusieurs addresses e-mail fonctionne ## # Il faut mettre deux adresses séparées par un saut de ligne Depuis la page d'accueil admin admin &{args_service} = Create Dictionary ... email=test1@atreal.fr\ntest2@atreal.fr Modifier le service 59.01 Direction de l'Eau et de l'Assainissement ${args_service} # On se connecte en tant que "instr" (Profil 'INSTRUCTEUR') Depuis la page d'accueil instr instr # Définition du service dans ce cas d'usage - notification email configurée sur ce service ${service_1} = Set Variable 59.01 - Direction de l'Eau et de l'Assainissement # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 0 enregistrement(s) sur 0 # On clique sur le lien "Ajouter" dans le listing Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible css=#sformulaire #date_envoi # On valide le formulaire sans sélectionner de service Click On Submit Button In Subform Until Message SAISIE NON ENREGISTRÉE # On vérifie que la soumission du formulaire est rejetée Error Message Should Contain In Subform SAISIE NON ENREGISTRÉE # Le service est obligatoire Error Message Should Contain In Subform Le champ Service est obligatoire # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible css=#sformulaire #date_envoi # On sélectionne le service Select From List By Label css=#sformulaire #service ${service_1} # On valide le formulaire Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On vérifie que le courriel de notification a été envoyé Valid Message Should Contain In Subform Envoi d'un mail de notification au service # On retourne au listing Click On Back Button In Subform # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1 Verifier que le mail a bien été envoyé au destinataire test1@atreal.fr Verifier que le mail a bien été envoyé au destinataire test2@atreal.fr Depuis la page d'accueil instr instr # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} ${service_1} Portlet Action Should Not Be In SubForm consultation finalise # On définalise pour voir l'action de suppression Click On SubForm Portlet Action consultation unfinalise 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. Portlet Action Should Not Be In SubForm rapport_instruction unfinalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm consultation supprimer Click On SubForm Portlet Action consultation finalise # Vérification que la date d'envoi de la consultation est bien la date du jour Element Text Should Be css=#sformulaire #date_envoi ${date_ddmmyyyy} # On clique sur l'action édition Click On SubForm Portlet Action consultation consulter_pdf new_window # On ouvre le PDF Open PDF ${OM_PDF_TITLE} # On vérifie le champ de fusion Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain DAINEAU Ets représenté(e) par Monsieur MICHEL Alain # On vérifie le résultat total du tableau des surface Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90 # On ferme le PDF Close PDF # On vérifie le cas ou un des emails est en erreur Depuis la page d'accueil admin admin &{args_service} = Create Dictionary ... email=support_correct@atreal.fr\nemailerror2.atreal.fr Modifier le service 59.01 Direction de l'Eau et de l'Assainissement ${args_service} Depuis la page d'accueil instr instr 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=#sformulaire #service ${service_1} Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On doit obtenir ce message précisant que les notification n'ont pas été envoyées Valid Message Should Contain In Subform Erreur lors de l'envoi du mail de notification à au moins un destinataire du service Verifier que le mail a bien été envoyé au destinataire support_correct@atreal.fr Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${service_1} # On vérifie le cas ou les emails sont en erreurs Depuis la page d'accueil admin admin &{args_service} = Create Dictionary ... email=emailerror1atreal.fr\nemailerror2.atreal.fr Modifier le service 59.01 Direction de l'Eau et de l'Assainissement ${args_service} Depuis la page d'accueil instr instr 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=#sformulaire #service ${service_1} Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On doit obtenir ce message précisant que les notification n'ont pas été envoyées Valid Message Should Contain In Subform Erreur lors de l'envoi du mail de notification aux destinataires du service Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${service_1} # On remet le mail par défaut sur le service Depuis la page d'accueil admin admin &{args_service} = Create Dictionary ... email=support@atreal.fr Modifier le service 59.01 Direction de l'Eau et de l'Assainissement ${args_service} ## ## Cas d'usage n°2 ## ## Le principe ici est de tester l'ajout d'une consultation simple par un ## profil qui a les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation simple est disponible ## - le champ date d'envoi est présent ## - YYY le champ date d'envoi du formulaire est positionné à la date du jour ## - un mail n'est pas envoyé au service ## - le champ date d'envoi n'est pas positionné à la date du jour à l'enregistrement ## - le délai est calculé correctement ## # On se connecte en tant que "admingen" (Profil 'ADMINISTRATEUR GENERAL') Depuis la page d'accueil admingen admingen # Définition du service dans ce cas d'usage # - pas de notification email configurée sur ce service # - délai 1 mois ${service_2} = Set Variable 59.02 - Atelier du Patrimoine # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1 # On clique sur le lien "Ajouter" dans le listing Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#service # En tant que Profil 'ADMINISTRATEUR GENERAL', le champ date d'envoi doit être affiché Element Should Be Visible css=#sformulaire #date_envoi # On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi" Form Value Should Be css=#sformulaire #date_envoi ${date_ddmmyyyy} # On sélectionne le service Select From List By Label css=#sformulaire #service ${service_2} # On vide le champ de date d'envoi Input Text date_envoi ${EMPTY} # On valide le formulaire sans sélectionner de date d'envoi Click On Submit Button In Subform Until Message SAISIE NON ENREGISTRÉE # On vérifie que la soumission du formulaire est rejetée Error Message Should Contain In Subform SAISIE NON ENREGISTRÉE # Le service est obligatoire Error Message Should Contain In Subform Le champ date d'envoi est obligatoire # On positionne une date d'envoi Input Text date_envoi 01/04/2016 # On valide le formulaire Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On vérifie qu'il n'y a pas eu de notification email Page Should Not Contain Envoi d'un mail de notification au service # On vérifie que le calcul du délai est correct Valid Message Should Contain In Subform Délai Retour 1 Mois -> Retour 01/05/2016 # On retourne au listing Click On Back Button In Subform # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 2 enregistrement(s) sur 2 # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} ${service_2} # Vérification que la date d'envoi de la consultation est bien la date saisie Element Text Should Be css=#sformulaire #date_envoi 01/04/2016 # Vérification que la date limite de la consultation est bien la date saisie + 1 mois Element Text Should Be css=#sformulaire #date_limite 01/05/2016 Ajout d'une consultation simple d'un tiers [Documentation] Test l'ajout de la consultation d'un tiers, l'envoi des mails de ... consultation aux adresses renseignées dans la liste de diffusion, la génération ... du pdf de la consultation ... Le déroulement du test est le même que celui du précédent test sauf que ce sont des ... tiers qui sont consulté et pas des services # Ajout de la nouvelle demande pour création du DI &{args_petitionnaire} = Create Dictionary ... qualite=personne morale ... personne_morale_denomination=DAINEAU Ets ... personne_morale_civilite=Monsieur ... personne_morale_nom=MICHEL ... personne_morale_prenom=Alain ... 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/05/2016 ... om_collectivite=MARSEILLE &{donnees_techniques_values} = Create Dictionary ... su_avt_shon1=10 ... su_avt_shon2=10 ... su_avt_shon3=10 ... su_avt_shon4=10 ... su_avt_shon5=10 ... su_avt_shon6=10 ... su_avt_shon7=10 ... su_avt_shon8=10 ... su_avt_shon9=10 ... su_cstr_shon1=10 ... su_cstr_shon2=10 ... su_cstr_shon3=10 ... su_cstr_shon4=10 ... su_cstr_shon5=10 ... su_cstr_shon6=10 ... su_cstr_shon7=10 ... su_cstr_shon8=10 ... su_cstr_shon9=10 ... su_chge_shon1=10 ... su_chge_shon2=10 ... su_chge_shon3=10 ... su_chge_shon4=10 ... su_chge_shon5=10 ... su_chge_shon6=10 ... su_chge_shon7=10 ... su_chge_shon8=10 ... su_chge_shon9=10 ... su_demo_shon1=10 ... su_demo_shon2=10 ... su_demo_shon3=10 ... su_demo_shon4=10 ... su_demo_shon5=10 ... su_demo_shon6=10 ... su_demo_shon7=10 ... su_demo_shon8=10 ... su_demo_shon9=10 ... su_sup_shon1=10 ... su_sup_shon2=10 ... su_sup_shon3=10 ... su_sup_shon4=10 ... su_sup_shon5=10 ... su_sup_shon6=10 ... su_sup_shon7=10 ... su_sup_shon8=10 ... su_sup_shon9=10 ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Saisie des données techniques sur le DI Depuis la page d'accueil instr instr Modifier les données techniques pour le calcul des surfaces ${di} ${donnees_techniques_values} # Définition du nom tiers utilisé dans les cas d'usage ${tiers} = Set Variable 1er tiers de Marseille ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM1 - 1er tiers de Marseille ... motif_consultation=Premier motif de consultation ## ## Cas d'usage n°1 ## ## Le principe ici est de tester l'ajout d'une consultation simple par un ## profil qui n'a pas les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation simple est disponible ## - le champ date d'envoi n'est pas présent ## - le champ service est obligatoire ## - un mail est envoyé à chaque adresse de la liste de diffusion ## - le champ date d'envoi est positionné à la date du jour à l'enregistrement ## - l'édition PDF est accessible et contient : ## * le demandeur ## * le total du calcul des surfaces ## On en profite pour vérifier que l'envoi à plusieurs addresses e-mail fonctionne ## # Il faut mettre deux adresses séparées par un saut de ligne pour pouvoir # tester l'envoi de mail à toutes les adresses enregistrées Depuis la page d'accueil admin admin &{args_tiers} = Create Dictionary ... liste_diffusion=test1@atreal.fr\ntest2@atreal.fr Modifier le tiers consulte ${tiers} ${args_tiers} # On se connecte en tant que "instr" (Profil 'INSTRUCTEUR') Depuis la page d'accueil instr instr # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 0 enregistrement(s) sur 0 # On clique sur le lien "Ajouter consultation de tiers" dans le listing Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_consultation_tiers # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#tiers_consulte # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible css=#sformulaire #date_envoi # On valide le formulaire sans sélectionner de catégorie de tiers, de tiers et de motif de consultation Click On Submit Button In Subform Until Message SAISIE NON ENREGISTRÉE # Le tiers, sa catégorie et le motif de consultation sont obligatoires Error Message Should Contain In Subform Le champ catégorie du tiers consulté est obligatoire Error Message Should Contain In Subform Le champ tiers consulté est obligatoire Error Message Should Contain In Subform Le champ motif de la consultation est obligatoire # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible css=#sformulaire #date_envoi # On sélectionne le tiers Select From List By Label css=#sformulaire #categorie_tiers_consulte ${tiers_1.categorie_tiers_consulte} Select From List By Label css=#sformulaire #tiers_consulte ${tiers_1.tiers_consulte} Select From List By Label css=#sformulaire #motif_consultation ${tiers_1.motif_consultation} # On valide le formulaire Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain Vos modifications ont bien été enregistrées # On vérifie que le courriel de notification a été envoyé Valid Message Should Contain Envoi d'un mail de notification au tiers consulte # On retourne au listing Click On Back Button In SubForm # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1 # On vérifie que les mails ont bien été envoyés à chaque adresse de la liste de diffusion Verifier que le mail a bien été envoyé au destinataire test1@atreal.fr Verifier que le mail a bien été envoyé au destinataire test2@atreal.fr # On teste la finalisation / definalisation de l'édition de la consultation Depuis la page d'accueil instr instr # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} ${tiers_1.tiers_consulte} Portlet Action Should Not Be In SubForm consultation finalise # On définalise pour voir l'action de suppression Click On SubForm Portlet Action consultation unfinalise 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. Portlet Action Should Not Be In SubForm rapport_instruction unfinalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm consultation supprimer Click On SubForm Portlet Action consultation finalise # Vérification que la date d'envoi de la consultation est bien la date du jour Element Text Should Be css=#sformulaire #date_envoi ${date_ddmmyyyy} # On clique sur l'action édition Click On SubForm Portlet Action consultation consulter_pdf new_window # On ouvre le PDF Open PDF ${OM_PDF_TITLE} # On vérifie le champ de fusion Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain DAINEAU Ets représenté(e) par Monsieur MICHEL Alain # On vérifie le résultat total du tableau des surface Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Surface totale : 90 # On ferme le PDF Close PDF # On vérifie le cas ou un des emails est en erreur # Dans ce cas le mail ayant une adresse ok doit être correctement envoyé # et le message d'erreur doit indiquer qu'il y a une adresse mail erronnée ${tiers} = Set Variable 3ème tiers de Marseille ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM3 - 3ème tiers de Marseille ... motif_consultation=Premier motif de consultation Depuis la page d'accueil admin admin &{args_tiers} = Create Dictionary ... liste_diffusion=support_correct@atreal.fr\nemailerror2.atreal.fr Modifier le tiers consulte ${tiers} ${args_tiers} Depuis la page d'accueil instr instr Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_consultation_tiers Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#tiers_consulte Select From List By Label css=#sformulaire #categorie_tiers_consulte ${tiers_1.categorie_tiers_consulte} Select From List By Label css=#sformulaire #tiers_consulte ${tiers_1.tiers_consulte} Select From List By Label css=#sformulaire #motif_consultation ${tiers_1.motif_consultation} Click On Submit Button In SubForm Valid Message Should Contain Vos modifications ont bien été enregistrées # On doit obtenir ce message précisant que les notification n'ont pas été envoyées Valid Message Should Contain Erreur lors de l'envoi du mail de notification à au moins un destinataire du tiers consulte # L'adresse correct doit recevoir le mail Verifier que le mail a bien été envoyé au destinataire support_correct@atreal.fr Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${tiers_1.tiers_consulte} # On vérifie le cas ou tous les emails sont en erreurs Depuis la page d'accueil admin admin &{args_tiers} = Create Dictionary ... liste_diffusion=emailerror1atreal.fr\nemailerror2.atreal.fr Modifier le tiers consulte ${tiers} ${args_tiers} Depuis la page d'accueil instr instr Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_consultation_tiers Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#tiers_consulte Select From List By Label css=#sformulaire #categorie_tiers_consulte ${tiers_1.categorie_tiers_consulte} Select From List By Label css=#sformulaire #tiers_consulte ${tiers_1.tiers_consulte} Select From List By Label css=#sformulaire #motif_consultation ${tiers_1.motif_consultation} Click On Submit Button In SubForm Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On doit obtenir ce message précisant que les notification n'ont pas été envoyées Valid Message Should Contain In Subform Erreur lors de l'envoi du mail de notification aux destinataires du tiers consulte Supprimer la consultation depuis le contexte du dossier d'instruction ${di} ${tiers_1.tiers_consulte} # On remet le mail par défaut sur le tiers Depuis la page d'accueil admin admin &{args_tiers} = Create Dictionary ... liste_diffusion=support@atreal.fr Modifier le tiers consulte ${tiers} ${args_tiers} ## ## Cas d'usage n°2 ## ## Le principe ici est de tester l'ajout d'une consultation simple par un ## profil qui a les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation simple est disponible ## - le champ date d'envoi est présent ## - YYY le champ date d'envoi du formulaire est positionné à la date du jour ## - un mail n'est pas envoyé au tiers ## - le champ date d'envoi n'est pas positionné à la date du jour à l'enregistrement ## - le délai est calculé correctement ## # On se connecte en tant que "admingen" (Profil 'ADMINISTRATEUR GENERAL') Depuis la page d'accueil admingen admingen # Définition du tiers dans ce cas d'usage # - pas de notification email configurée sur ce tiers # - délai 1 mois ${tiers_2} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TM2 - 2ème tiers de Marseille ... motif_consultation=Deuxième motif de consultation # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 1 enregistrement(s) sur 1 # On clique sur le lien "Ajouter" dans le listing Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_consultation_tiers # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#tiers_consulte # En tant que Profil 'ADMINISTRATEUR GENERAL', le champ date d'envoi doit être affiché Element Should Be Visible css=#sformulaire #date_envoi # On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi" Form Value Should Be css=#sformulaire #date_envoi ${date_ddmmyyyy} # On sélectionne la catégorie, le tiers et le motif de consultation Select From List By Label css=#sformulaire #categorie_tiers_consulte ${tiers_2.categorie_tiers_consulte} Select From List By Label css=#sformulaire #tiers_consulte ${tiers_2.tiers_consulte} Select From List By Label css=#sformulaire #motif_consultation ${tiers_2.motif_consultation} # On vide le champ de date d'envoi Input Text date_envoi ${EMPTY} # On valide le formulaire sans sélectionner de date d'envoi Click On Submit Button In Subform Until Message SAISIE NON ENREGISTRÉE # On vérifie que la soumission du formulaire est rejetée Error Message Should Contain In Subform SAISIE NON ENREGISTRÉE # Le tiers, sa catégorie et le motif de consultation sont obligatoires Error Message Should Contain In Subform Le champ date d'envoi est obligatoire # On positionne une date d'envoi Input Text date_envoi 01/04/2016 # On valide le formulaire Click On Submit Button In Subform # On vérifie que la soumission du formulaire est validée Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées # On vérifie qu'il n'y a pas eu de notification email Page Should Not Contain Envoi d'un mail de notification au service # On vérifie que le calcul du délai est correct Valid Message Should Contain In Subform Délai Retour 1 Mois -> Retour 01/05/2016 # On retourne au listing Click On Back Button In Subform # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 2 enregistrement(s) sur 2 # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} ${tiers_2.tiers_consulte} # Vérification que la date d'envoi de la consultation est bien la date saisie Element Text Should Be css=#sformulaire #date_envoi 01/04/2016 # Vérification que la date limite de la consultation est bien la date saisie + 1 mois Element Text Should Be css=#sformulaire #date_limite 01/05/2016 Ajout d'une consultation multiple [Documentation] ## ## Constitution du jeu de données ## # Données du demandeur &{args_petitionnaire} = Create Dictionary ... particulier_nom=Bourgeau ... particulier_prenom=Aurore ... om_collectivite=MARSEILLE # Données de 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 ... date_demande=08/04/2016 ... om_collectivite=MARSEILLE ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} ## ## Cas d'usage n°1 ## ## Le principe ici est de tester l'ajout d'une consultation multiple par un ## profil qui n'a pas les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation multiple est disponible ## - le champ date d'envoi n'est pas présent ## - il est obligatoire de sélectionner au moins un service ## - l'interface de sélection/désélection de services fonctionne ## - le champ date d'envoi est positionné à la date du jour à l'enregistrement ## - l'option version papier génère un PDF multiple ## - l'édition PDF est accessible et contient : ##  * une page par consultation ## * le demandeur sur chaque page ## # On se connecte en tant que "instr" (Profil 'INSTRUCTEUR') Depuis la page d'accueil instr instr # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 0 enregistrement(s) sur 0 # On clique sur le lien "Ajouter multiples" dans le tableau Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_multiple # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible button_val # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible css=#sformulaire #date_envoi # On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service Click Element button_val # On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie ${alert} = Handle Alert Should Be Equal As Strings ${alert} Veuillez choisir au moins un service et une date d envoi # En tant que Profil 'INSTRUCTEUR', le champ date d'envoi doit être caché Element Should Not Be Visible date_envoi # On sélectionne quatre services Click Element t10_572_0_ ${status} = Run Keyword And Return Status Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#t10_572_0_.liste_gauche_service_selected Run Keyword If ${status} == False Click Element t10_572_0_ Click Element t10_575_0_ Click Element t2_13_0_ Click Element t10_542_0_ # On les ajoute à la sélection Click Element add-ser-them # On sélectionne un des services sélectionnés Click Element css=div[name="t10_542_0_"] # On l'enlève de la sélection Click Element del-ser-them # On coche la case pour la consultation papier pour deux des services Select Checkbox css=div.cell2 > div > input.t10_575_0_ Select Checkbox css=div.cell2 > div > input.t10_572_0_ # On clique sur le bouton "Ajouter" du formulaire Click Element button_val # On vérifie qu'il n'y a pas d'erreur sur l'élément affiché La page ne doit pas contenir d'erreur # Le PDF s'ouvre tout seul, on sélectionne la bonne fenêtre Open PDF ${OM_PDF_TITLE} # On vérifie que le PDF a bien deux pages Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} PDF Pages Number Should Be 2 # Et que le nom du pétitionnaire est bien remplacé sur chaque page PDF Page Number Should Contain 1 Bourgeau Aurore PDF Page Number Should Contain 2 Bourgeau Aurore # On ferme le PDF Close PDF # On vérifie que le message de validation est présent avec le bon nombre de consultations Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform 3 service(s) sélectionné(s) dont 2 consultation(s) papier. # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 3 enregistrement(s) sur 3 # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} 59.88 - DAE - COMMERCE ARTISANAT # Vérification que la date d'envoi de la consultation est bien la date du jour Element Text Should Be date_envoi ${date_ddmmyyyy} ## ## Cas d'usage n°2 ## ## Le principe ici est de tester l'ajout d'une consultation multiple par un ## profil qui a les permissions de sélectionner la date d'envoi, les ## points clés testés sont : ## - l'ajout de consultation multiple est disponible ## - le champ date d'envoi est présent ## - le champ date d'envoi du formulaire est positionné à la date du jour ## - le champ date d'envoi n'est pas positionné à la date du jour à l'enregistrement ## # On se connecte en tant que "admingen" (Profil 'ADMINISTRATEUR GENERAL') Depuis la page d'accueil admingen admingen # On accède à l'onglet "Consultation(s)" du DI Depuis l'onglet consultation du dossier ${di} # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 3 enregistrement(s) sur 3 # On clique sur le lien "Ajouter multiples" dans le tableau Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-consultation-corner-ajouter_multiple # On attend que le formulaire soit chargé correctement Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible button_val # En tant que Profil 'ADMINISTRATEUR GENERAL', le champ date d'envoi doit être affiché Element Should Be Visible css=#sformulaire #date_envoi # On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi" Form Value Should Be css=#sformulaire #date_envoi ${date_ddmmyyyy} # Service 59.12 - Direction de la Propreté Urbaine Click Element t10_12_0_ # Service 59.30 - Orange France Click Element t10_15_0_ # On les ajoute à la sélection Click Element add-ser-them # Input de la date en JavaScript pour éviter l'appel au onChange sur ce # champ, qui appelle une fonction JS fonctionnant une fois sur deux dans # les tests Input Value With JS date_envoi 01/04/2016 # On clique sur le bouton "Ajouter" du formulaire Click Element button_val # On vérifie qu'il n'y a pas d'erreur sur l'élément affiché La page ne doit pas contenir d'erreur # On vérifie le message de validation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform 2 service(s) sélectionné(s) dont 0 consultation(s) papier. # On vérifie que nous avons bien le bon nombre de consultations affichées Element Should Contain css=#sousform-consultation .pagination-text 1 - 5 enregistrement(s) sur 5 # On accède à la fiche de visualisation de la consultation créée Depuis le contexte de la consultation ${di} 59.12 - Direction de la Propreté Urbaine # Vérification que la date d'envoi de la consultation est bien la date saisie Element Text Should Be date_envoi 01/04/2016 Gestion des retours de consultation depuis la rubrique 'Instruction' [Documentation] ## ## Constitution du jeu de données ## ## On cré trois deux nouvelles collectivités pour être sûr du nombre ## de retours de consultations à vérifier dans les widgets et tableaux ## # Depuis la page d'accueil admin admin # collectivité 01 'WORKINGTON' de niveau 1 Ajouter la collectivité depuis le menu WORKINGTON mono # Ajouter l'utilisateur Carter SANCHEZ nospam@openmairie.org csanchez csanchez INSTRUCTEUR WORKINGTON Ajouter la direction depuis le menu WKT Direction WKT null Chef WKT null null WORKINGTON Ajouter la division depuis le menu WTH subdivision WTH null Chef WKT null null Direction WKT Ajouter la division depuis le menu WTJ subdivision WTJ null Chef WKT null null Direction WKT Ajouter l'instructeur depuis le menu Carter SANCHEZ subdivision WTH instructeur Carter SANCHEZ &{args_affectation} = Create Dictionary ... instructeur=Carter SANCHEZ (WTH) ... om_collectivite=WORKINGTON Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Selma SAUNDERS nospam@openmairie.org ssaunders ssaunders INSTRUCTEUR WORKINGTON Ajouter l'instructeur depuis le menu Selma SAUNDERS subdivision WTH instructeur Selma SAUNDERS &{args_affectation} = Create Dictionary ... instructeur=Selma SAUNDERS (WTH) ... om_collectivite=WORKINGTON ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Harriet SANTIAGO nospam@openmairie.org hsantiago hsantiago INSTRUCTEUR WORKINGTON Ajouter l'instructeur depuis le menu Harriet SANTIAGO subdivision WTJ instructeur Harriet SANTIAGO &{args_affectation} = Create Dictionary ... instructeur=Harriet SANTIAGO (WTJ) ... om_collectivite=WORKINGTON ... dossier_autorisation_type_detaille=Permis de démolir Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Alden SYKES nospam@openmairie.org asykes asykes SERVICE CONSULTÉ WORKINGTON &{service} = Create Dictionary ... abrege=95A ... libelle=Direction de la circulation de Workington ... edition=Consultation - Demande d'avis ... om_collectivite=WORKINGTON ... service_type=openADS ... generate_edition=true Ajouter le service depuis le listing ${service} &{lien_service_om_utilisateur} = Create Dictionary ... om_utilisateur=Alden SYKES ... service=Direction de la circulation de Workington Ajouter lien service/utilisateur ${lien_service_om_utilisateur} # collectivité 02 'LIDINGO' de niveau 1 Ajouter la collectivité depuis le menu LIDINGO mono # Ajouter l'utilisateur Mary JOYCE nospam@openmairie.org mjoyce mjoyce INSTRUCTEUR LIDINGO Ajouter la direction depuis le menu LDG Direction LDG null Chef LDG null null LIDINGO Ajouter la division depuis le menu LDG subdivision LDG null Chef LDG null null Direction LDG Ajouter l'instructeur depuis le menu Mary JOYCE subdivision LDG instructeur Mary JOYCE &{args_affectation} = Create Dictionary ... instructeur=Mary JOYCE (LDG) ... om_collectivite=LIDINGO Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Alexandra TERRELL nospam@openmairie.org aterrell aterrell SERVICE CONSULTÉ LIDINGO &{service} = Create Dictionary ... abrege=96A ... libelle=Direction de la circulation de Lidingo ... edition=Consultation - Demande d'avis ... om_collectivite=LIDINGO ... service_type=openADS ... generate_edition=true Ajouter le service depuis le listing ${service} &{lien_service_om_utilisateur} = Create Dictionary ... om_utilisateur=Alexandra TERRELL ... service=Direction de la circulation de Lidingo Ajouter lien service/utilisateur ${lien_service_om_utilisateur} # &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable # DI n°1 : # - Collectivité 'WORKINGTON' (niveau mono) # - Instructeur 'Harriet SANTIAGO' (hsantiago) # - Division 'J' # &{args_petitionnaire_01} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Jacques ... om_collectivite=WORKINGTON # &{args_demande_01} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de démolir ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=WORKINGTON # ${di_01} = Ajouter la demande par WS ${args_demande_01} ${args_petitionnaire_01} # DI n°2 : # - Collectivité 'WORKINGTON' (niveau mono) # - Instructeur 'Carter SANCHEZ' (csanchez) # - Division 'H' # &{args_petitionnaire_02} = Create Dictionary ... particulier_nom=VACHIER ... particulier_prenom=Arthur ... om_collectivite=WORKINGTON # &{args_demande_02} = 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=WORKINGTON # ${di_02} = Ajouter la demande par WS ${args_demande_02} ${args_petitionnaire_02} # DI n°3 : # - Collectivité 'WORKINGTON' (niveau mono) # - Instructeur 'Selma SAUNDERS' (ssaunders) # - Division 'H' # &{args_petitionnaire_03} = Create Dictionary ... particulier_nom=BRAY ... particulier_prenom=Guy ... om_collectivite=WORKINGTON # &{args_demande_03} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=WORKINGTON # ${di_03} = Ajouter la demande par WS ${args_demande_03} ${args_petitionnaire_03} # DI n°4 : # - Collectivité 'LIDINGO' (niveau mono) # - Instructeur 'Mary JOYCE' (mjoyce) # - Division 'H' # &{args_petitionnaire_04} = Create Dictionary ... particulier_nom=BOULAGE ... particulier_prenom=Damien ... om_collectivite=LIDINGO # &{args_demande_04} = 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=LIDINGO # ${di_04} = Ajouter la demande par WS ${args_demande_04} ${args_petitionnaire_04} # Ajouter une consultation depuis un dossier ${di_01} 95A - Direction de la circulation de Workington Ajouter une consultation depuis un dossier ${di_02} 95A - Direction de la circulation de Workington Ajouter une consultation depuis un dossier ${di_03} 95A - Direction de la circulation de Workington Ajouter une consultation depuis un dossier ${di_04} 96A - Direction de la circulation de Lidingo # Depuis la page d'accueil asykes asykes Rendre l'avis sur la consultation du dossier ${di_01} ${args_avis_consultation} Rendre l'avis sur la consultation du dossier ${di_02} ${args_avis_consultation} Rendre l'avis sur la consultation du dossier ${di_03} ${args_avis_consultation} # Depuis la page d'accueil aterrell aterrell Rendre l'avis sur la consultation du dossier ${di_04} ${args_avis_consultation} # ## ## Cas d'usage n°1 ## ## ## # ${widget_id} = Set Variable widget_3 # On se connecte en tant que utilisateur de niveau 2 Depuis la page d'accueil admin admin # On vérifie qu'on a la collonne collectivité dans le listing tous les retours Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans toutes les collectivités. Element Should Contain css=#tab-consultation_tous_retours table thead instructeur Element Should Contain css=#tab-consultation_tous_retours table thead division Element Should Contain css=#tab-consultation_tous_retours table thead collectivité # On va sur le listing 'Tous les retours' # Il doit contenir des retours des deux collectivités Element Should Contain css=#tab-consultation_tous_retours table WORKINGTON Element Should Contain css=#tab-consultation_tous_retours table LIDINGO # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR') Depuis la page d'accueil csanchez csanchez # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Mes retours' # Il ne doit contenir qu'un seul retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Submenu In Menu Should Be Selected instruction consultation_mes_retours Page Title Should Be Instruction > Consultations > Mes Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 1 enregistrement(s) sur 1 # On va sur le listing 'Retours de ma division' # Il doit contenir deux retours Go To Submenu In Menu instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 Element Should Contain css=#tab-consultation_retours_ma_division table Selma SAUNDERS # On va sur le listing 'Tous les retours' # Il doit contenir trois retours Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=division Click On Submit Button # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR') Depuis la page d'accueil csanchez csanchez # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 2 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Retours de ma division' # Il doit contenir deux retours Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Submenu In Menu Should Be Selected instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=aucun Click On Submit Button # On se connecte en tant que "csanchez" (Profil 'INSTRUCTEUR') Depuis la page d'accueil csanchez csanchez # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 3 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Tous les retours' # Il doit contenir trois retours Submenu In Menu Should Be Selected instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=instructeur Click On Submit Button # On se connecte en tant que Profil 'INSTRUCTEUR' Depuis la page d'accueil mjoyce mjoyce # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau Click Link ${di_04} # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#sousform-consultation #service # Page Title Should Contain ${di_04} Page Title Should Contain BOULAGE DAMIEN # Portlet Action Should Be In SubForm consultation marquer_comme_lu # Click On SubForm Portlet Action consultation marquer_comme_lu # Valid Message Should Contain In Subform La consultation a été marquée comme lu Portlet Action Should Not Be In SubForm consultation supprimer # Depuis la page d'accueil mjoyce mjoyce # # On vérifie que lorsqu'il n'y a aucune consultation, un message dans le widget 'Retours de consultation' # l'indique et que le lien Voir + n'est pas présent # Element Should Contain css=#${widget_id} .widget-content-wrapper Aucun retour de consultation non lu. Element Should Not Contain css=#${widget_id} Voir + # # On clique sur les trois listings liés pour vérifier qu'il n'y a aucun résultat # Go To Submenu In Menu instruction consultation_mes_retours Page Title Should Be Instruction > Consultations > Mes Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Not Contain css=#tab-consultation_mes_retours table thead instructeur Element Should Not Contain css=#tab-consultation_mes_retours table thead division Element Should Not Contain css=#tab-consultation_mes_retours table thead collectivité # Go To Submenu In Menu instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-consultation_retours_ma_division table thead instructeur Element Should Not Contain css=#tab-consultation_retours_ma_division table thead division Element Should Not Contain css=#tab-consultation_retours_ma_division table thead collectivité # Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-consultation_tous_retours table thead instructeur Element Should Contain css=#tab-consultation_tous_retours table thead division Element Should Not Contain css=#tab-consultation_tous_retours table thead collectivité Gestion des retours de consultation de tiers depuis la rubrique 'Instruction' [Documentation] ## ## Constitution du jeu de données ## ## On créé deux nouvelles collectivités pour être sûr du nombre ## de retours de consultations à vérifier dans les widgets et tableaux ## # Depuis la page d'accueil admin admin # paramétrage de la collectivité 01 'WORKINGTON' de niveau 1 Ajouter la collectivité depuis le menu TIERSTON mono Ajouter l'utilisateur Gaspar DOUFFET nospam@openmairie.org gdouffet gdouffet INSTRUCTEUR TIERSTON Ajouter la direction depuis le menu TRT Direction TRT null Chef TRT null null TIERSTON Ajouter la division depuis le menu TRTO subdivision TRTO null Chef TRT null null Direction TRT Ajouter la division depuis le menu TRTP subdivision TRTP null Chef TRT null null Direction TRT Ajouter l'instructeur depuis le menu Gaspar DOUFFET subdivision TRTO instructeur Gaspar DOUFFET &{args_affectation} = Create Dictionary ... instructeur=Gaspar DOUFFET (TRTO) ... om_collectivite=TIERSTON Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Calandre GRIGNON nospam@openmairie.org cgrignon cgrignon INSTRUCTEUR TIERSTON Ajouter l'instructeur depuis le menu Calandre GRIGNON subdivision TRTO instructeur Calandre GRIGNON &{args_affectation} = Create Dictionary ... instructeur=Calandre GRIGNON (TRTO) ... om_collectivite=TIERSTON ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Amabella ROCHON nospam@openmairie.org arochon arochon INSTRUCTEUR TIERSTON Ajouter l'instructeur depuis le menu Amabella ROCHON subdivision TRTP instructeur Amabella ROCHON &{args_affectation} = Create Dictionary ... instructeur=Amabella ROCHON (TRTP) ... om_collectivite=TIERSTON ... dossier_autorisation_type_detaille=Permis de démolir Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur Thomas GARCEAU nospam@openmairie.org tgarceau tgarceau SERVICE CONSULTÉ TIERSTON # Ajout d'un nouveau tiers consulté avec sa catégorie et un motif de consultation associé &{args_cat_tiers} = Create Dictionary ... code=CW ... description=Tiers de TIERSTON ... libelle=Catégorie de TIERSTON ... om_collectivite=TIERSTON Ajouter la categorie de tiers consulte ${args_cat_tiers} &{args_tiers} = Create Dictionary ... categorie_tiers_consulte=Catégorie de TIERSTON ... abrege=TW ... libelle=Tiers de la circulation de TIERSTON Ajouter le tiers consulte depuis le listing ${args_tiers} &{args_motif_consultation} = Create Dictionary ... code=MW ... description=Motif de TIERSTON ... abrege=Consultation - Demande d'avis ... libelle=Motif de consultation de TIERSTON ... om_etat=Consultation - Demande d'avis ... service_type=openADS ... generate_edition=true Ajouter motif de consultation ${args_motif_consultation} ${tiers_1} = Create Dictionary ... categorie_tiers_consulte=Catégorie de TIERSTON ... tiers_consulte=TW - Tiers de la circulation de TIERSTON ... motif_consultation=Motif de consultation de TIERSTON &{lien_tiers_om_utilisateur} = Create Dictionary ... om_utilisateur=Thomas GARCEAU ... tiers_consulte=Tiers de la circulation de TIERSTON Ajouter lien utilisateur / tiers consulté ${lien_tiers_om_utilisateur} # paramétrage de la collectivité 02 'BELFORT' de niveau 1 Ajouter la collectivité depuis le menu BELFORT mono # Ajouter l'utilisateur Josephine PETIT nospam@openmairie.org jpetit jpetit INSTRUCTEUR BELFORT Ajouter la direction depuis le menu BLF Direction BLF null Chef BLF null null BELFORT Ajouter la division depuis le menu BLF subdivision BLF null Chef BLF null null Direction BLF Ajouter l'instructeur depuis le menu Josephine PETIT subdivision BLF instructeur Josephine PETIT &{args_affectation} = Create Dictionary ... instructeur=Josephine PETIT (BLF) ... om_collectivite=BELFORT Ajouter l'affectation depuis le menu ${args_affectation} # Ajouter l'utilisateur France PITRE nospam@openmairie.org fpitre fpitre SERVICE CONSULTÉ BELFORT &{args_cat_tiers} = Create Dictionary ... code=CL ... description=Tiers de BELFORT ... libelle=Catégorie de BELFORT ... om_collectivite=BELFORT Ajouter la categorie de tiers consulte ${args_cat_tiers} &{args_tiers} = Create Dictionary ... categorie_tiers_consulte=Catégorie de BELFORT ... abrege=TL ... libelle=Tiers de la circulation de BELFORT Ajouter le tiers consulte depuis le listing ${args_tiers} &{args_motif_consultation} = Create Dictionary ... code=MW ... description=Motif de BELFORT ... abrege=Consultation - Demande d'avis ... libelle=Motif de consultation de BELFORT ... om_etat=Consultation - Demande d'avis ... service_type=openADS ... generate_edition=true Ajouter motif de consultation ${args_motif_consultation} ${tiers_2} = Create Dictionary ... categorie_tiers_consulte=Catégorie de BELFORT ... tiers_consulte=TL - Tiers de la circulation de BELFORT ... motif_consultation=Motif de consultation de BELFORT &{lien_tiers_om_utilisateur} = Create Dictionary ... om_utilisateur=France PITRE ... tiers_consulte=Tiers de la circulation de BELFORT Ajouter lien utilisateur / tiers consulté ${lien_tiers_om_utilisateur} # &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable # DI n°1 : # - Collectivité 'TIERSTON' (niveau mono) # - Instructeur 'Amabella ROCHON' (arochon) # - Division 'J' # &{args_petitionnaire_01} = Create Dictionary ... particulier_nom=DUBE ... particulier_prenom=Genevre ... om_collectivite=TIERSTON &{args_demande_01} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de démolir ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=TIERSTON ${di_01} = Ajouter la demande par WS ${args_demande_01} ${args_petitionnaire_01} # DI n°2 : # - Collectivité 'TIERSTON' (niveau mono) # - Instructeur 'Gaspar DOUFFET' (gdouffet) # - Division 'H' &{args_petitionnaire_02} = Create Dictionary ... particulier_nom=VACHIER ... particulier_prenom=Arthur ... om_collectivite=TIERSTON &{args_demande_02} = 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=TIERSTON ${di_02} = Ajouter la demande par WS ${args_demande_02} ${args_petitionnaire_02} # DI n°3 : # - Collectivité 'TIERSTON' (niveau mono) # - Instructeur 'Calandre GRIGNON' (cgrignon) # - Division 'H' &{args_petitionnaire_03} = Create Dictionary ... particulier_nom=BRAY ... particulier_prenom=Guy ... om_collectivite=TIERSTON &{args_demande_03} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions ... demande_type=Dépôt Initial ... date_demande=12/04/2015 ... om_collectivite=TIERSTON ${di_03} = Ajouter la demande par WS ${args_demande_03} ${args_petitionnaire_03} # DI n°4 : # - Collectivité 'BELFORT' (niveau mono) # - Instructeur 'Josephine PETIT' (jpetit) # - Division 'H' &{args_petitionnaire_04} = Create Dictionary ... particulier_nom=BOULAGE ... particulier_prenom=Damien ... om_collectivite=BELFORT &{args_demande_04} = 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=BELFORT ${di_04} = Ajouter la demande par WS ${args_demande_04} ${args_petitionnaire_04} # Ajouter une consultation vers un tiers depuis un dossier ${di_01} ${tiers_1} Ajouter une consultation vers un tiers depuis un dossier ${di_02} ${tiers_1} Ajouter une consultation vers un tiers depuis un dossier ${di_03} ${tiers_1} Ajouter une consultation vers un tiers depuis un dossier ${di_04} ${tiers_2} Depuis la page d'accueil tgarceau tgarceau Rendre l'avis sur la consultation du dossier ${di_01} ${args_avis_consultation} Rendre l'avis sur la consultation du dossier ${di_02} ${args_avis_consultation} Rendre l'avis sur la consultation du dossier ${di_03} ${args_avis_consultation} Depuis la page d'accueil fpitre fpitre Rendre l'avis sur la consultation du dossier ${di_04} ${args_avis_consultation} ## ## Cas d'usage n°1 ## ## ## # ${widget_id} = Set Variable widget_3 # On se connecte en tant que utilisateur de niveau 2 Depuis la page d'accueil admin admin # On vérifie qu'on a la collonne collectivité dans le listing tous les retours Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans toutes les collectivités. Element Should Contain css=#tab-consultation_tous_retours table thead instructeur Element Should Contain css=#tab-consultation_tous_retours table thead division Element Should Contain css=#tab-consultation_tous_retours table thead collectivité # On va sur le listing 'Tous les retours' # Il doit contenir des retours des deux collectivités Element Should Contain css=#tab-consultation_tous_retours table TIERSTON Element Should Contain css=#tab-consultation_tous_retours table BELFORT # On se connecte en tant que "gdouffet" (Profil 'INSTRUCTEUR') Depuis la page d'accueil gdouffet gdouffet # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Mes retours' # Il ne doit contenir qu'un seul retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Submenu In Menu Should Be Selected instruction consultation_mes_retours Page Title Should Be Instruction > Consultations > Mes Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 1 enregistrement(s) sur 1 # On va sur le listing 'Retours de ma division' # Il doit contenir deux retours Go To Submenu In Menu instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 Element Should Contain css=#tab-consultation_retours_ma_division table Calandre GRIGNON # On va sur le listing 'Tous les retours' # Il doit contenir trois retours Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=division Click On Submit Button # On se connecte en tant que "gdouffet" (Profil 'INSTRUCTEUR') Depuis la page d'accueil gdouffet gdouffet # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 2 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Retours de ma division' # Il doit contenir deux retours Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Submenu In Menu Should Be Selected instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=aucun Click On Submit Button # On se connecte en tant que "gdouffet" (Profil 'INSTRUCTEUR') Depuis la page d'accueil gdouffet gdouffet # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 3 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # Le lien Voir + nous amène sur le listing 'Tous les retours' # Il doit contenir trois retours Submenu In Menu Should Be Selected instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Depuis le contexte du widget consultation_retours Click On Form Portlet Action om_widget modifier Input Text arguments filtre=instructeur Click On Submit Button # On se connecte en tant que Profil 'INSTRUCTEUR' Depuis la page d'accueil jpetit jpetit # On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur Element Should Contain css=#${widget_id} .widget-content-wrapper span.box-icon 1 # On clique sur le lien "Voir +" du widget Click Element css=#${widget_id} .widget-footer a # On clique sur le lien "TL - Tiers de la circulation de BELFORT" dans le tableau Click Link ${di_04} Wait Until Page Contains Element css=#sousform-consultation #tiers_consulte Page Title Should Contain ${di_04} Page Title Should Contain BOULAGE DAMIEN # Vérification de la présence et du fonctionnement de l'action marquer comme lu Portlet Action Should Be In SubForm consultation marquer_comme_lu Click On SubForm Portlet Action consultation marquer_comme_lu Valid Message Should Contain In Subform La consultation a été marquée comme lu Portlet Action Should Not Be In SubForm consultation supprimer Depuis la page d'accueil jpetit jpetit # # On vérifie que lorsqu'il n'y a aucune consultation, un message dans le widget 'Retours de consultation' # l'indique et que le lien Voir + n'est pas présent # Element Should Contain css=#${widget_id} .widget-content-wrapper Aucun retour de consultation non lu. Element Should Not Contain css=#${widget_id} Voir + # # On clique sur les trois listings liés pour vérifier qu'il n'y a aucun résultat # Go To Submenu In Menu instruction consultation_mes_retours Page Title Should Be Instruction > Consultations > Mes Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-consultation_mes_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Not Contain css=#tab-consultation_mes_retours table thead instructeur Element Should Not Contain css=#tab-consultation_mes_retours table thead division Element Should Not Contain css=#tab-consultation_mes_retours table thead collectivité # Go To Submenu In Menu instruction consultation_retours_ma_division Page Title Should Be Instruction > Consultations > Retours De Ma Division First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-consultation_retours_ma_division .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-consultation_retours_ma_division table thead instructeur Element Should Not Contain css=#tab-consultation_retours_ma_division table thead division Element Should Not Contain css=#tab-consultation_retours_ma_division table thead collectivité # Go To Submenu In Menu instruction consultation_tous_retours Page Title Should Be Instruction > Consultations > Tous Les Retours First Tab Title Should Be Consultation Page Should Contain Les consultations marquées comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-consultation_tous_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-consultation_tous_retours table thead instructeur Element Should Contain css=#tab-consultation_tous_retours table thead division Element Should Not Contain css=#tab-consultation_tous_retours table thead collectivité 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} &{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 ${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 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èce(s) 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 Page Should Contain ${nom_piece_2} # 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 Page Should Contain ${nom_piece_2} Ajout consultation et rendu d'avis par le profil instructeur service [Documentation] Vérifie l'affichage de l'avis rendu, de la motivation et du ... fichier ... Vérifier que ce testcase n'est pas un doublon du "090.Réponse à une consultation par le service consulté" (CU n°4) Depuis la page d'accueil instrserv instrserv # Test pour les services Ajouter une consultation depuis un dossier ${di_3} 59.01 - Direction de l'Eau et de l'Assainissement &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable ... motivation=Pas de réserves ... fichier_upload=testImportManuel.pdf Rendre l'avis sur la consultation du dossier ${di_3} ${args_avis_consultation} # On clique sur l'action édition Depuis la demande d'avis passée du dossier ${di_3} Element Should Contain avis_consultation Favorable Element Should Contain motivation Pas de réserves Element Should Contain fichier consultation_avis # Test pour les consultations 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_6} ${tiers_1} Rendre l'avis sur la consultation du dossier ${di_6} ${args_avis_consultation} # On clique sur l'action édition Depuis la demande d'avis passée du dossier ${di_6} Element Should Contain avis_consultation Favorable Element Should Contain motivation Pas de réserves Element Should Contain fichier consultation_avis 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. Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Goguen ... particulier_prenom=Diane # &{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=29/04/2016 # ${di} = Ajouter la nouvelle demande depuis le tableau de bord ${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 Vérification de la visibilité des consultation dans l'édition [Documentation] Test des actions direct de tableau et de formulaire ... masquant/affichant les consultations dans les éditions. ... Ce test permet de tester la visibilité des consultations de tiers et ... de service Depuis la page d'accueil admin admin # Création du jeu de données &{args_petitionnaire} = Create Dictionary ... particulier_nom=Massé ... particulier_prenom=Astrid ... 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=27/11/2015 ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} #Creation de la variable du text à chercher dans le dossier ${service_libelle} = Set Variable Service Prévention et Gestion des Risques ERP #Creation de la variable de nom de service pour la creation de consultation ${service} = Set Variable 59.10 - Service Prévention et Gestion des Risques ERP # Création de la variable du texte à chercher dans le dossier pour le tiers ${tiers_libelle} = Set Variable Tiers Prévention et Gestion des Risques ERP # Creation de la variable contenant les infos du tiers pour la creation de consultation ${tiers} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... tiers_consulte=TPG - Tiers Prévention et Gestion des Risques ERP ... motif_consultation=Premier motif de consultation # Création du tiers &{args_tiers} = Create Dictionary ... categorie_tiers_consulte=Catégorie Marseille ... abrege=TPG ... libelle=Tiers Prévention et Gestion des Risques ERP Ajouter le tiers consulte depuis le listing ${args_tiers} Depuis la page d'accueil instr instr # Cas 1 : On affiche/masque les consultations via leur formulaire # Masque le service dans les éditiosn Ajouter une consultation depuis un dossier ${di} ${service} Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${service} Click On SubForm Portlet Action consultation masquer_dans_edition Valid Message Should Be In Subform La consultation est masquée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Non Ajouter une consultation vers un tiers depuis un dossier ${di} ${tiers} Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${tiers.tiers_consulte} Click On SubForm Portlet Action consultation masquer_dans_edition Valid Message Should Be In Subform La consultation est masquée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Non Depuis le contexte du dossier d'instruction ${di} # On click pour créer le PDF Récapitulatif Click On Form Portlet Action dossier_instruction edition new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Consultation # On vérifie l'abscence de la consultation Page Should Not Contain ${service_libelle} Page Should Not Contain ${tiers_libelle} Close PDF # Affichage de la saisie du rapport 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} # On clique sur l'action édition Click On SubForm Portlet Action rapport_instruction edition new_window Open PDF ${OM_PDF_TITLE} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain ADRESSE DU DEMANDEUR TITULAIRE # On vérifie que la valeur de test n'est pas présente Page Should Not Contain ${service_libelle} Page Should Not Contain ${tiers_libelle} Close PDF # Affichage du service dans les consultations Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${service} # On clique sur l'action de masquer le document Click On SubForm Portlet Action consultation afficher_dans_edition Valid Message Should Be In Subform La consultation est affichée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Oui Click On Back Button In Subform # Affichage du tiers dans les consultations Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${tiers.tiers_consulte} # On clique sur l'action de masquer le document Click On SubForm Portlet Action consultation afficher_dans_edition Valid Message Should Be In Subform La consultation est affichée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Oui Click On Back Button In Subform # Cas 2 : On affiche/masque les consultations via leur listing # On vérifie que l'action du tableau fonctionne Element Should Not Be Visible css=a[id*='afficher_dans_edition'] # Masque le service dans les éditions Click Element css=tr:nth-of-type(1) a[id*='masquer_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est masquée dans les éditions. # Masque le tiers dans les éditions Click Element css=tr:nth-of-type(2) a[id*='masquer_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est masquée dans les éditions. # On ré-affiche le service dans les éditions mais pas le tiers Sleep 2 Element Should Not Be Visible css=a[id*='masquer_dans_edition'] Click Element css=tr:nth-of-type(1) a[id*='afficher_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est affichée dans les éditions. Depuis le contexte du dossier d'instruction ${di} # On click pour créer le PDF Récapitulatif Click On Form Portlet Action dossier_instruction edition new_window Open PDF ${OM_PDF_TITLE} # On vérifie la presence de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain ${service_libelle} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Not Contain ${tiers_libelle} Close PDF Depuis le contexte du rapport d'instruction ${di} # On clique sur l'action édition Click On SubForm Portlet Action rapport_instruction edition new_window Open PDF ${OM_PDF_TITLE} # On vérifie que la valeur de test est présente Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain ${service_libelle} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Not Contain ${tiers_libelle} Close PDF # Action de désaffichage depuis le listing pour les tiers Depuis l'onglet consultation du dossier ${di} Click Element css=tr:nth-of-type(2) a[id*='afficher_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est affichée dans les éditions. # Cas 3 : On vérifie l’interaction des deux types d'action Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${service} Click On SubForm Portlet Action consultation masquer_dans_edition Valid Message Should Be In Subform La consultation est masquée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Non Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${tiers.tiers_consulte} Click On SubForm Portlet Action consultation masquer_dans_edition Valid Message Should Be In Subform La consultation est masquée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Non Click On Back Button In Subform # On vérifie que l'action du tableau fonctionne en croisent avec depuis la consultaion de la consultation Element Should Not Be Visible css=a[id*='masquer_dans_edition'] Click Element css=tr:nth-of-type(1) a[id*='afficher_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est affichée dans les éditions. Click Element css=tr:nth-of-type(2) a[id*='afficher_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est affichée dans les éditions. Element Should Not Be Visible css=a[id*='afficher_dans_edition'] Click Element css=tr:nth-of-type(1) a[id*='masquer_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est masquée dans les éditions. Click Element css=tr:nth-of-type(2) a[id*='masquer_dans_edition'] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La consultation est masquée dans les éditions. Depuis l'onglet consultation du dossier ${di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${service} # On clique sur l'action de masquer le document Click On SubForm Portlet Action consultation afficher_dans_edition Valid Message Should Be In Subform La consultation est affichée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Oui Click On Back Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Link ${tiers.tiers_consulte} # On clique sur l'action de masquer le document Click On SubForm Portlet Action consultation afficher_dans_edition Valid Message Should Be In Subform La consultation est affichée dans les éditions. # Vérification du changement de l'état de la consultation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Form Static Value Should Be css=#visible Oui Click On Back Button In Subform # On vérifie que l'action du tableau fonctionne en croisent avec depuis la consultaion Element Should Be Visible css=a[id*='masquer_dans_edition'] # Dans le cas où le dossier d'instruction est clôturé et que l'utilisateur # est un instructeur de même division n'ayant pas de permission bypass, on # vérifie que les actions ne sont plus disponible sur le listing et sur le # formulaire Ajouter une instruction au DI ${di} accepter un dossier sans réserve Depuis l'onglet consultation du dossier ${di} Wait Until Page Contains ${service} Element Should Not Be Visible css=a[id*='afficher_dans_edition'] Element Should Not Be Visible css=a[id*='masquer_dans_edition'] Click On Link ${service} Portlet Action Should Not Be In SubForm consultation afficher_dans_edition Portlet Action Should Not Be In SubForm consultation masquer_dans_edition Click On Back Button In Subform Wait Until Page Contains ${tiers.tiers_consulte} Element Should Not Be Visible css=a[id*='afficher_dans_edition'] Element Should Not Be Visible css=a[id*='masquer_dans_edition'] Click On Link ${tiers.tiers_consulte} Portlet Action Should Not Be In SubForm consultation afficher_dans_edition Portlet Action Should Not Be In SubForm consultation masquer_dans_edition 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 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 Click Link ${di_5} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link TM3 - 3ème tiers de Marseille ${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 Click On SubForm Portlet Action consultation marquer_comme_lu Consultations marquées non-visibles filtrées dans l'auto-saisie des bibles [Documentation] L'auto saisie des bibles dans l'édition d'une instruction ... doit filtrer les consultations marquées comme non-visibles # Données du demandeur &{args_petitionnaire} = Create Dictionary ... particulier_nom=Bourgeon ... particulier_prenom=Aurora ... om_collectivite=MARSEILLE # Données de 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 ... date_demande=09/05/2019 ... om_collectivite=MARSEILLE # Données de la consultation &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable # Création du DI ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Création de la consultation Depuis la page d'accueil instr instr ${service} = Set Variable 59.01 - Direction de l'Eau et de l'Assainissement Ajouter une consultation depuis un dossier ${di} ${service} # Rendre l'avis de la consultation Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} # En tant que "instr" (Profil 'INSTRUCTEUR') Depuis la page d'accueil instr instr # Ajout d'une instruction Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il doit contenir le titre du service HTML Should Contain complement_om_html Direction de l'Eau et de l'Assainissement # On marque la consultation comme non-visible Depuis l'onglet consultation du dossier ${di} Click Element Until No More Element xpath=//*[contains(@id, "action-soustab-consultation-left-masquer_dans_edition-")] # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il ne doit pas contenir le titre du service HTML Should Not Contain complement_om_html Direction de l'Eau et de l'Assainissement # On marque la consultation comme visible Depuis l'onglet consultation du dossier ${di} Click Element Until No More Element xpath=//*[contains(@id, "action-soustab-consultation-left-afficher_dans_edition-")] # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il ne doit pas contenir le titre du service HTML Should Contain complement_om_html Direction de l'Eau et de l'Assainissement Consultations de tiers marquées non-visibles filtrées dans l'auto-saisie des bibles [Documentation] L'auto saisie des bibles dans l'édition d'une instruction ... doit filtrer les consultations marquées comme non-visibles # Données du demandeur &{args_petitionnaire} = Create Dictionary ... particulier_nom=Bourgeon ... particulier_prenom=Aurora ... om_collectivite=MARSEILLE # Données de 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 ... date_demande=09/05/2019 ... om_collectivite=MARSEILLE # Données de la consultation &{args_avis_consultation} = Create Dictionary ... avis_consultation=Favorable # Création du DI ${di} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire} # Création de la consultation Depuis la page d'accueil instr instr ${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} # Rendre l'avis de la consultation Depuis la page d'accueil consu consu Rendre l'avis sur la consultation du dossier ${di} ${args_avis_consultation} # En tant que "instr" (Profil 'INSTRUCTEUR') Depuis la page d'accueil instr instr # Ajout d'une instruction Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il doit contenir le titre du service HTML Should Contain complement_om_html 1er tiers de Marseille # On marque la consultation comme non-visible Depuis l'onglet consultation du dossier ${di} Click Element Until No More Element xpath=//*[contains(@id, "action-soustab-consultation-left-masquer_dans_edition-")] # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il ne doit pas contenir le titre du service HTML Should Not Contain complement_om_html 1er tiers de Marseille # On marque la consultation comme visible Depuis l'onglet consultation du dossier ${di} Click Element Until No More Element xpath=//*[contains(@id, "action-soustab-consultation-left-afficher_dans_edition-")] # On se rend dans l'instruction et on la modifie Depuis l'instruction du dossier d'instruction ${di} ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction modifier # Déclenchement de la bible automatique sur le complément 1 Ajout automatique de complément(s) d'instruction # On vérifie le contenu du champ complément 1 # il ne doit pas contenir le titre du service HTML Should Contain complement_om_html 1er tiers de Marseille