*** Settings *** Documentation Test des événements d'instruction. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Création du jeu de données [Documentation] Constitue le jeu de données. # Depuis la page d'accueil guichet guichet # &{args_petitionnaire} = Create Dictionary ... qualite=personne morale ... personne_morale_denomination=Notaire&Co ... personne_morale_raison_sociale=Société ... personne_morale_civilite=Monsieur ... personne_morale_nom=Martin ... personne_morale_prenom=Nicolas &{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 ${di_ok} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Depuis la page d'accueil admin admin # Liste des valeurs pour le tableau des surfaces des données techniques &{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 Modifier les données techniques pour le calcul des surfaces ${di_ok} ${donnees_techniques_values} # &{args_petitionnaire} = Create Dictionary ... particulier_civilite=Monsieur ... particulier_nom=Smith ... particulier_prenom=John Depuis la page d'accueil guichet guichet ${di_ko} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Depuis la page d'accueil admin admin # Ajouter une instruction au DI ${di_ko} Consultation ERP ET IGH # Liste des valeurs pour le tableau des surfaces des données techniques &{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 Modifier les données techniques pour le calcul des surfaces ${di_ko} ${donnees_techniques_values} # Set Suite Variable ${di_ok} Set Suite Variable ${di_ko} Suivi des dates [Documentation] En tant qu'administrateur on doit pouvoir modifier les dates ... d'un événément d'instruction finalisé sans avoir à le définaliser. # Jeu de données Depuis la page d'accueil guichet guichet # &{args_petitionnaire} = Create Dictionary ... particulier_nom=Clavet ... particulier_prenom=Sandrine &{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 # ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Depuis la page d'accueil admin admin # Ajouter une instruction au DI ${di} Notification de pieces manquante # Depuis la page d'accueil instr instr # Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Click On SubForm Portlet Action instruction finaliser # L'instruction doit être finalisée et l'instructeur ne peut pas suivre les dates Portlet Action Should Be In SubForm instruction edition Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Portlet Action Should Be In SubForm instruction definaliser Portlet Action Should Not Be In SubForm instruction modifier_suivi Portlet Action Should Not Be In SubForm instruction modifier # On clique sur l'action "Suivi des dates" Depuis la page d'accueil adminfonct adminfonct Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Click On SubForm Portlet Action instruction modifier_suivi # On saisit les dates Input Datepicker date_finalisation_courrier ${date_ddmmyyyy} Input Datepicker date_envoi_signature ${date_ddmmyyyy} Input Datepicker date_envoi_rar ${date_ddmmyyyy} Input Datepicker date_envoi_controle_legalite ${date_ddmmyyyy} Input Datepicker date_retour_signature ${date_ddmmyyyy} Input Datepicker date_retour_rar ${date_ddmmyyyy} Input Datepicker date_retour_controle_legalite ${date_ddmmyyyy} Click On Submit Button In Subform # On contrôle les dates saisies Click On Back Button In Subform Element Text Should Be date_finalisation_courrier ${date_ddmmyyyy} Element Text Should Be date_envoi_signature ${date_ddmmyyyy} Element Text Should Be date_envoi_rar ${date_ddmmyyyy} Element Text Should Be date_envoi_controle_legalite ${date_ddmmyyyy} Element Text Should Be date_retour_signature ${date_ddmmyyyy} Element Text Should Be date_retour_rar ${date_ddmmyyyy} Element Text Should Be date_retour_controle_legalite ${date_ddmmyyyy} # On doit pouvoir modifier mais pas suivre les dates si l'on n'est pas admin Depuis la page d'accueil instr instr Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Portlet Action Should Not Be In SubForm instruction modifier_suivi Click On SubForm Portlet Action instruction definaliser Click On SubForm Portlet Action instruction modifier Element Must Be Disabled date_finalisation_courrier Element Must Be Disabled date_envoi_signature Element Must Be Disabled date_envoi_rar Element Must Be Disabled date_retour_signature Element Must Be Disabled date_retour_rar Depuis la page d'accueil adminfonct adminfonct Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Portlet Action Should Not Be In SubForm instruction modifier_suivi Click On SubForm Portlet Action instruction modifier Element Must Be Enabled date_finalisation_courrier Element Must Be Enabled date_envoi_signature Element Must Be Enabled date_envoi_rar Element Must Be Enabled date_retour_signature Element Must Be Enabled date_retour_rar Lien vers le di dans le message de validation de la demande [Documentation] Vérifie si le lien dans le message de validation est ... fonctionnel. # Depuis la page d'accueil guichet guichet # &{args_petitionnaire} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Geralt &{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 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # On clique sur le lien vers le DI du message de validation Click Link css=#link_demande_dossier_instruction # On vérifie le fil d'Ariane Page Title Should Be Instruction > Dossiers D'instruction > ${libelle_di} DUPONT GERALT Finalisation [Documentation] L'objet de ce 'Test Case' est de vérifier le log de ... l'utilisateur qui a finalisé l'événement. # Constitution du jeu de données : deux utilisateurs dont un est instructeur # car si tel est le cas son nom d'instructeur surcharge son nom d'utilisateur. # En tant qu'administrateur Depuis la page d'accueil admin admin # Donnée 1/3 : guichetier Ajouter l'utilisateur Margand Joanna support@atreal.fr guimars guimars GUICHET UNIQUE MARSEILLE # Donnée 2/3 : instructeur Ajouter l'utilisateur Marois Alain -UTIL- support@atreal.fr instrmars instrmars INSTRUCTEUR MARSEILLE Ajouter l'instructeur depuis le menu Marois Alain -INSTR- subdivision H Marois Alain -UTIL- # Donnée 3/3 : affectation automatique du nouvel instructeur Ajouter l'affectation depuis le menu Marois Alain -INSTR- null MARSEILLE # En tant que guichetier Depuis la page d'accueil guimars guimars # On crée une nouvelle demande via le tableau de bord &{args_petitionnaire} = Create Dictionary ... particulier_nom=Perrault ... particulier_prenom=Sophie &{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 # On crée une nouvelle demande via le tableau de bord ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # En tant qu'instructeur de Martigues Depuis la page d'accueil instrmars instrmars # On ouvre l'onglet instruction du nouveau DI Depuis l'onglet instruction du dossier d'instruction ${di_libelle} # On accède à l'instruction Click On Link Notification du delai legal maison individuelle # On vérifie qu'elle a été finalisée par le guichetier automatiquement # lors de la création Wait Until Element Is Visible om_final_instruction_utilisateur Element Text Should Be om_final_instruction_utilisateur guimars (Margand Joanna) # On reprend la rédaction Click On SubForm Portlet Action instruction definaliser # On vérifie qu'il n'y a pas le champ "finalisé par" Element Should Not Be Visible om_final_instruction_utilisateur # On finalise Click On SubForm Portlet Action instruction finaliser # On vérifie le log Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Text Should Be om_final_instruction_utilisateur instrmars (Marois Alain -INSTR-) Définalisation d'instruction [Documentation] Permet de vérifier qu'un utilisateur hors division ne peut ... définaliser un événement d'instruction. Depuis la page d'accueil instr2 instr Depuis le contexte du dossier d'instruction ${di_ko} # On clique sur le lien Instruction Click On Link css=#instruction # On clique sur la 1ere instruction Click On Link Notification du delai legal maison individuelle # Vérification que l'instructeur ne peut pas definaliser Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Contain css=#sousform-instruction div#portlet-actions Reprendre la rédaction du document Génération du bordereau d'envoi au maire [Documentation] L'objet de ce 'Test Case' est de vérifier la génération ... du PDF ainsi que la mise à jour de la date d'envoi du courrier ... pour signature par le maire. # Constitution du jeu de données : un DI commune pour lequel un utilisateur # communauté génère l'édition Depuis la page d'accueil admin admin # Donnée 1/3 : guichetier Ajouter l'utilisateur Legault Simone support@atreal.fr guimars2 guimars2 GUICHET UNIQUE MARSEILLE # Donnée 2/3 : instructeur Ajouter l'utilisateur Garcia Gabriel support@atreal.fr instrmars2 instrmars2 INSTRUCTEUR MARSEILLE Ajouter l'instructeur depuis le menu Garcia Gabriel subdivision H Garcia Gabriel # Donnée 3/3 : affectation automatique du nouvel instructeur Ajouter l'affectation depuis le menu Garcia Gabriel null MARSEILLE # En tant que guichetier Depuis la page d'accueil guimars2 guimars2 # On crée une nouvelle demande via le tableau de bord &{args_petitionnaire} = Create Dictionary ... particulier_nom=Brousseau ... particulier_prenom=Henry &{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 ${di_libelle} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # En tant qu'instructeur Depuis la page d'accueil instrmars2 instrmars2 # On récupère l'identifiant de l' événement d'instruction Depuis l'onglet instruction du dossier d'instruction ${di_libelle} Click On Link Notification du delai legal maison individuelle ${id_instruction} = Get Text css=div#form-content span#instruction # On en déduit le code-barres ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0 ${code_barres} = Catenate 11${code_barres} # En tant qu'administrateur Depuis la page d'accueil admin admin # On ouvre l'interface de génération du bordereau Depuis le formulaire d'édition du bordereau d'envoi au maire # On saisit un mauvais code-barres Saisir le formulaire du bordereau d'envoi au maire ${code_barres}1 # On valide le formulaire Valider le formulaire du bordereau d'envoi au maire # On vérifie le message d'erreur Error Message Should Be Le numéro saisi ne correspond a aucun code-barres d’événement d'instruction. # On saisit un code-barres valide Saisir le formulaire du bordereau d'envoi au maire ${code_barres} # On revalide le formulaire Valider le formulaire du bordereau d'envoi au maire # On clique sur le lien de l'édition Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element generer_bordereau_envoi_maire # On vérifie le contenu du PDF généré Open PDF form Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} PDF Pages Number Should Be 1 Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain bordereau d'envoi Close PDF # On accède à l'événement d'instruction Depuis l'onglet instruction du dossier d'instruction ${di_libelle} Click On Link Notification du delai legal maison individuelle Element Text Should Be date_envoi_signature ${date_ddmmyyyy} Vérification du récapitulatif du dossier d'instruction [Documentation] Vérifie l'affichage des champs de fusion sur un dossier ... d'instruction. Depuis la page d'accueil instr instr Depuis le contexte du dossier d'instruction ${di_ko} # On clique sur l'action édition Click On Form Portlet Action dossier_instruction edition # On ouvre le PDF Open PDF form # On vérifie le pétitionnaire principal Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Monsieur Smith John # 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 Vérification de l'édition de l'instruction [Documentation] Vérifie l'affichage des champs de fusion sur une ... instruction. Depuis la page d'accueil instr instr Depuis l'instruction du dossier d'instruction ${di_ok} Notification du delai legal maison individuelle # On régénère le récépissé Click On SubForm Portlet Action instruction definaliser Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La definalisation du document s'est effectuée avec succès. Click On SubForm Portlet Action instruction finaliser Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. # On clique sur l'action édition Click On SubForm Portlet Action instruction edition # On ouvre le PDF Open PDF file # On vérifie le pétitionnaire principal Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas # 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 Vérification de l'édition du rapport d'instruction [Documentation] Vérifie l'affichage des champs de fusion sur un rapport ... d'instruction. # Depuis la page d'accueil instr instr # Depuis le contexte du rapport d'instruction ${di_ok} # On valide le rapport d'instruction Click On Submit Button In Subform # On vérifie le message de validation Valid Message Should Contain Vos modifications ont bien été enregistrées. # On clique sur le bouton retour Click On Back Button In Subform # Depuis le contexte du rapport d'instruction ${di_ok} # On clique sur l'action de finaliser Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action rapport_instruction finalise Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain In Subform La finalisation du document s'est effectuée avec succès. # On clique sur l'action édition Click On SubForm Portlet Action rapport_instruction edition # On ouvre le PDF Open PDF file # On vérifie le pétitionnaire principal Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Société Notaire&Co représenté(e) par Monsieur Martin Nicolas # 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 Changement de décision par commune [Documentation] L'objet de ce 'Test Case' est de vérifier le changement de ... décision par un instructeur polyvalent commune Depuis la page d'accueil admin admin # Création de l'action de workflow "changement de décision" &{args_action} = Create Dictionary ... action=changer_decision ... libelle=Changer la décision ... regle_etat=etat Ajouter l'action depuis le menu ${args_action} # Création d'un événement de workflow de changement de décision @{etat_source} = Create List dossier accepter dossier accepté tacitement dossier rejeter manque de pieces delai de notification envoye @{type_di} = Create List PA - P - Initial PCI - P - Initial &{args_evenement} = Create Dictionary ... libelle=Modification décision ... type=changement de décision ... etats_depuis_lequel_l_evenement_est_disponible=${etat_source} ... dossier_instruction_type=${type_di} ... action=Changer la décision ... etat=delai de notification envoye Ajouter l'événement depuis le menu ${args_evenement} # Création d'un DI sur lequel on testera le changement de décision par # instructeur polyvalent commune Depuis la page d'accueil instrpoly instrpoly &{args_petitionnaire} = Create Dictionary ... particulier_nom=Halliwell ... particulier_prenom=Geri ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... om_collectivite=MARSEILLE ${di_change_decision} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Depuis la page d'accueil admin admin Modifier le paramètre option_afficher_division true agglo Modifier le dossier d'instruction ${di_change_decision} Poly (H) Depuis la page d'accueil instrpolycomm instrpolycomm ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise Should Not Contain ${widget_content} ${di_change_decision} Depuis la page d'accueil instrpoly instrpoly # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS Click On Back Button In Subform Click On Link ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction finaliser # Connexion avec l'instructeur polyvalent commune Depuis la page d'accueil instrpolycomm instrpolycomm ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise Should Contain ${widget_content} ${di_change_decision} # On clic pour voir tous les dossiers Click On Link Voir les dossiers auxquels on peut proposer une autre décision # On clic sur le DI Click On Link ${di_change_decision} # On clique sur l'onglet instruction Instruction # Ajout de l'événement d'instruction de modification de décision Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter # Saisir instruction Modification décision # On valide le formulaire Click On Submit Button In Subform # On vérifie le message de validation Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Depuis la page d'accueil instrpolycomm2 instrpolycomm2 # Changement de la décision Ajouter une instruction au DI ${di_change_decision} ARRÊTÉ DE REFUS 2 Depuis la page d'accueil instrpolycomm instrpolycomm # On finalise avec un autre instructeur polyvalent commune Depuis l'onglet instruction du dossier d'instruction ${di_change_decision} Click On Link ARRÊTÉ DE REFUS 2 ${id_instruction} = Get Text css=div#form-content span#instruction Click On SubForm Portlet Action instruction finaliser # En tant qu'instructeur Depuis la page d'accueil instrpoly instrpoly # On en déduit le code-barres ${code_barres} = STR_PAD_LEFT ${id_instruction} 10 0 ${code_barres} = Catenate 11${code_barres} Go To Submenu In Menu suivi suivi_mise_a_jour_des_dates Select From List By Label css=#type_mise_a_jour date de retour de l'AR Input Text date ${date_ddmmyyyy} Input Text code_barres ${code_barres} # On valide le formulaire Click Element css=#formulaire div.formControls input[type="submit"] Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#formulaire div.formControls input[type="submit"] Click Element css=#formulaire div.formControls input[type="submit"] Depuis la page d'accueil instrpolycomm instrpolycomm ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise Should Not Contain ${widget_content} ${di_change_decision} Widget "Recherche Dossier" [Documentation] L'objet de ce 'Test Case' est de vérifier le ... fonctionnement du widget 'Recherche Dossier' ... (widget_recherche_dossier) # En tant qu'instructeur Depuis la page d'accueil instr instr # # Cas d'utilisation n°1 # # Saisie d'un numéro de dossier complet (avec et sans espaces) # # Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC 013055 12 00001P0 # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES # Page Should Not Contain Errors # Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC0130551200001P0 # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES # Page Should Not Contain Errors # # Cas d'utilisation n°2 # # Saisie d'une portion d'un numéro de dossier # # Cas 2a : un seul dossier Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier PC*5120*1P0 # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction > PC 013055 12 00001P0 DUPONT JACQUES # Page Should Not Contain Errors # # Cas 2b : plusieurs dossiers Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier 013055 # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Instruction > Dossiers D'instruction # Page Should Not Contain Errors # Textfield Value Should Be css=#advanced-form #dossier *013055 # # Cas d'utilisation n°3 # # Saisie d'un numéro de dossier inexistant # # Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier ZZZZZZZZZZZZ # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord # Page Should Not Contain Errors # Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Aucun dossier trouvé # # Cas d'utilisation n°4 # # Aucune valeur saisie # # Go to dashboard # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord # Page Should Not Contain Errors # Element Text Should Be css=#dashboard div.widget_recherche_dossier div.message.ui-state-error p span.text Veuillez saisir un No de dossier. # # TNR Bug "Erreur de base de données" lors de saisie de caractères spéciaux # # Go to dashboard # Input Text css=#dashboard div.widget_recherche_dossier input#dossier ;"?#' # Click Element css=#dashboard div.widget_recherche_dossier div.formControls input # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page title should be Tableau De Bord # Page Should Not Contain Errors Widget "Dossiers Limites" [Documentation] L'objet de ce 'Test Case' est de vérifier le ... fonctionnement du widget 'Dossiers Limites' ... (widget_dossiers_limites) # # Cas d'utilisation n°1 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par : # - instructeur # - division # - aucun # # ATTENTION : ce test case dépend des jeux de données init_data ${di_instr_1_division_1_commune_1} = Set Variable DP 013055 12 00001 ${di_instr_2_division_1_commune_1} = Set Variable PC 013055 12 00001P0 ${di_instr_3_division_2_commune_1} = Set Variable PD 013055 12 00001P0 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte filtre=instructeur Click On Submit Button # Depuis la page d'accueil instr instr Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Not Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Not Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1} # Filtre sur la division Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte filtre=division Click On Submit Button # Depuis la page d'accueil instr instr Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Not Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Not Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1} # Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte filtre=aucun Click On Submit Button # Depuis la page d'accueil instr instr Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Contain css=.widget_dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Contain css=.widget_dossiers_limites ${di_instr_3_division_2_commune_1} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_instr_1_division_1_commune_1} Element Should Contain css=#tab-dossiers_limites ${di_instr_2_division_1_commune_1} Element Should Contain css=#tab-dossiers_limites ${di_instr_3_division_2_commune_1} # # Cas d'utilisation n°2 # Un paramètre permet de filtrer sur les types de dossiers qui apparaissent # # ATTENTION : ce test case dépend des jeux de données init_data ${di_type_dp} = Set Variable DP 013055 12 00001 ${di_type_pc} = Set Variable PC 013055 12 00001P0 # Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte codes_datd=PCI;PCA;PC\nfiltre=aucun Click On Submit Button # Depuis la page d'accueil instr instr Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_type_pc} Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_type_pc} Element Should Not Contain css=#tab-dossiers_limites ${di_type_dp} # Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte codes_datd=DP;DPS\nfiltre=aucun Click On Submit Button # Depuis la page d'accueil instr instr Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_type_dp} Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_type_dp} Element Should Not Contain css=#tab-dossiers_limites ${di_type_pc} # Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte codes_datd=ZZ\nfiltre=aucun Click On Submit Button # Depuis la page d'accueil instr instr Element Should Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Not Contain css=.widget_dossiers_limites ${di_type_dp} Element Should Not Contain css=.widget_dossiers_limites ${di_type_pc} Element Should Not Contain css=.widget_dossiers_limites Voir + # # Cas d'utilisation n°3 # Vérifier le paramètre nombre de jours # # # Cas d'utilisation n°4 # Vérfier les cas de date limite et de l'état du dossier # TEST provenant de testWidget.php (test_dossier_limite) # XXX les dossiers utilisés ici ne sont pas dans un état cohérent pour apparaître ${di_limite} = Set Variable PD 013055 12 00001P0 ${di_limite_incomplet} = Set Variable AT 013055 13 00001P0 # Filtre sur la division Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_limites Click On Form Portlet Action om_widget modifier Input Text texte filtre=aucun Click On Submit Button # Depuis la page d'accueil divi divi Element Should Not Contain css=.widget_dossiers_limites Vous n'avez pas de dossiers limites pour le moment. Element Should Contain css=.widget_dossiers_limites ${di_limite} Element Should Contain css=.widget_dossiers_limites ${di_limite_incomplet} Click Element css=.widget_dossiers_limites .widget-footer a Page Title Should Be Instruction > Dossiers Limites Element Should Contain css=#tab-dossiers_limites ${di_limite} Element Should Contain css=#tab-dossiers_limites ${di_limite_incomplet} TNR Bug instructeur commune modifier finaliser définaliser instruction Depuis la page d'accueil instrpolycomm instrpolycomm &{args_petitionnaire} = Create Dictionary ... particulier_nom=Dupont ... particulier_prenom=Marc &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=DECLARATION PREALABLE SIMPLE ... demande_type=Dépôt Initial ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Depuis l'onglet instruction du dossier d'instruction ${di} Click On Link Notification du delai legal maison individuelle Click On SubForm Portlet Action instruction definaliser Click On SubForm Portlet Action instruction modifier Click On Submit Button In Subform Click On Back Button In Subform Click On SubForm Portlet Action instruction finaliser TNR Bug instructeur commune ajout d'evenements autre que décision Depuis la page d'accueil instrpolycomm2 instrpolycomm2 &{args_petitionnaire} = Create Dictionary ... particulier_nom=Dupont ... particulier_prenom=Francis &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Certificat d'urbanisme ... demande_type=Dépôt Initial ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Ajouter une instruction au DI ${di} Commission Communale de Sécurité TNR Bug instructeur commune ajout d'evenements sur dossier cloturé Depuis la page d'accueil instrpolycomm instrpolycomm &{args_petitionnaire} = Create Dictionary ... particulier_nom=Dupont ... particulier_prenom=Albert &{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 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Depuis la page d'accueil instrpoly instrpoly Ajouter une instruction au DI ${di} accepter un dossier avec reserve Click On Back Button In Subform Click Link accepter un dossier avec reserve # On finalise Click On SubForm Portlet Action instruction finaliser Depuis la page d'accueil instrpolycomm instrpolycomm ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise Should Not Contain ${widget_content} ${di} Depuis l'onglet instruction du dossier d'instruction ${di} Should Not Contain css=#sousform-instruction action-soustab-instruction-corner-ajouter TNR Bug type de dossiers auxquels un instructeur commune peut changer la décision [Documentation] Les types de demande DOC DAACT et PRO ne doivent pas ... apparaître dans le widget des dossiers auxquels on peut changer la décision # Création d'un DI initial Depuis la page d'accueil instrpoly instrpoly &{args_petitionnaire} = Create Dictionary ... particulier_nom=Beckham ... particulier_prenom=Victoria ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... om_collectivite=MARSEILLE ${di_change_decision} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera Ajouter une instruction au DI ${di_change_decision} accepter un dossier sans réserve Click On Back Button In Subform Click On Link accepter un dossier sans réserve Click On SubForm Portlet Action instruction finaliser &{args_demande} = Create Dictionary ... demande_type=Demande d'ouverture de chantier ... om_collectivite=MARSEILLE ${di_change_decision_2} = Ajouter la demande sur existant depuis le menu ${di_change_decision} ${args_demande} Depuis la page d'accueil admin admin Modifier le paramètre option_afficher_division true agglo Modifier le dossier d'instruction ${di_change_decision_2} Poly (H) # Ajout au DI une décision que l'utilisateur instructeur polyvalent commune changera Ajouter une instruction au DI ${di_change_decision_2} ARRÊTÉ DE REFUS Click On Back Button In Subform Click On Link ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction finaliser Depuis la page d'accueil instrpolycomm instrpolycomm # Vérification widget ${widget_content} = Get Text view_widget_dossiers_evenement_retour_finalise Should Not Contain ${widget_content} ${di_change_decision_2} # Vérification tableau Go To Tab dossier_instruction&decision=true Page Should Not Contain ${di_change_decision_2} TNR Nature des travaux dans la description du DI [Documentation] Concernant les données techniques sur la nature des travaux, ... lorsque les cases sont cochées alors la description du projet les affiche. # Création d'un DI initial de type AT Depuis la page d'accueil instrpoly instrpoly &{args_petitionnaire} = Create Dictionary ... particulier_nom=Hasselhoff ... particulier_prenom=David ... om_collectivite=MARSEILLE &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Demande d'autorisation de construire, d'aménager ou de modifier un ERP ... demande_type=Dépôt Initial ... om_collectivite=MARSEILLE ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # On coche les cases du CERFA sur la nature des travaux Depuis le contexte du dossier d'instruction ${di} Click On Form Portlet Action dossier_instruction donnees_techniques Click On SubForm Portlet Action donnees_techniques modifier Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=fieldset[id*='amenager-ou-modifier-un-erp'] > legend Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=fieldset[id*='amenager-ou-modifier-un-erp'] > div.fieldsetContent Select Checkbox erp_cstr_neuve Select Checkbox erp_trvx_acc Select Checkbox erp_extension Select Checkbox erp_rehab Select Checkbox erp_trvx_am Select Checkbox erp_vol_nouv_exist Click On Submit Button In Subform Click On Back Button In Subform # On contrôle la description du projet Reload Page Element Should Contain description_projet Construction neuve Element Should Contain description_projet Travaux de mise en conformité totale aux règles d’accessibilité Element Should Contain description_projet Extension Element Should Contain description_projet Réhabilitation Element Should Contain description_projet Travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple) Element Should Contain description_projet Création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple) Vérifie la restriction de modifier le DI et de régénérer le récépissé [Documentation] Vérifie que l'instructeur peut toujours modifier le dossier ... d'instruction, même si la restriction imposée pour le guichet unique ... et pour l'instructeur commune n'est pas respectée. Ces deux profils ne ... peuvent modifier le dossier d'instruction qu'a condition que sa seule ... instruction soit son récépissé ou que les instructions qui suivent ... soient du type "affichage". # On modifie l'affectation automatique pour ce test Depuis la page d'accueil admin admin Ajouter l'affectation depuis le menu Poly Permis de construire comprenant ou non des démolitions MARSEILLE # On ajoute un dossier d'instruction Depuis la page d'accueil guichetsuivi guichetsuivi &{args_petitionnaire} = Create Dictionary ... particulier_nom=DUPONT ... particulier_prenom=Geralt &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions ... demande_type=Dépôt Initial ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # On vérifie pour le guichet et suivi que les actions modifier et régénérer # le récépissé sont disponibles Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction recepisse # On vérifie aussi pour l'instructeur commune que les actions modifier et # régénérer le récépissé sont disponibles Depuis la page d'accueil instrpolycomm instrpolycomm Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction recepisse # On ajoute une instruction de type affichage au dossier Depuis la page d'accueil instrpoly instrpoly Depuis le contexte du dossier d'instruction de mes encours ${libelle_di} # Vérifie les actions modifier et régénérer le récépissé pour l'instructeur # polyvalent Portlet Action Should Be In Form dossier_instruction_mes_encours modifier Ajouter une instruction au DI ${libelle_di} affichage_obligatoire Depuis le contexte du dossier d'instruction de mes encours ${libelle_di} # Vérifie l'action modifier pour l'instructeur polyvalent Portlet Action Should Be In Form dossier_instruction_mes_encours modifier # On vérifie que les actions soient toujours visibles pour le guichet et # suivi Depuis la page d'accueil guichetsuivi guichetsuivi Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction recepisse # On vérifie aussi pour l'instructeur commune que les actions modifier et # régénérer le récépissé sont disponibles Depuis la page d'accueil instrpolycomm instrpolycomm Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Be In Form dossier_instruction recepisse # On ajoute une instruction qui doit bloquer les actions aux autres # utilisateurs Depuis la page d'accueil instrpoly instrpoly Depuis le contexte du dossier d'instruction de mes encours ${libelle_di} Ajouter une instruction au DI ${libelle_di} majoration_IGH Depuis le contexte du dossier d'instruction de mes encours ${libelle_di} # Vérifie l'action modifier pour l'instructeur polyvalent Portlet Action Should Be In Form dossier_instruction_mes_encours modifier # On vérifie que les actions ne soient plus visibles pour le guichet et # suivi Depuis la page d'accueil guichetsuivi guichetsuivi Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Not Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Not Be In Form dossier_instruction recepisse # On vérifie aussi pour l'instructeur commune que les actions modifier et # régénérer le récépissé soient indisponibles Depuis la page d'accueil instrpolycomm instrpolycomm Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie l'action modifier pour le guichet et suivi Portlet Action Should Not Be In Form dossier_instruction modifier # Vérifie l'action de régénérer le récépissé pour le guichet et suivi Portlet Action Should Not Be In Form dossier_instruction recepisse # Depuis la page d'accueil admin admin # Supprimer l'affectation depuis le menu Poly TNR Modification des paramètres de la variable de remplacement &contrainte [Documentation] Vérifie que les 3 paramètres de &contrainte liste_groupe, ... liste_ssgroupe, affichage_sans_arborescence modifient l'affichage des ... contraintes sans erreurs. # Le contenu de la nouvelle lettre-type de test, avec &contraintes sans paramètres &{args_lettretype} = Create Dictionary ... id=test_contraintes ... libelle=Test des nouveaux paramètres &CONTRAINTES ... sql=Aucune REQUÊTE ... titre=&contraintes ... corps=&contraintes ... actif=true ... collectivite=MARSEILLE &{args_evenement} = Create Dictionary ... libelle=Notification du delai legal maison individuelle ... lettretype=test_contraintes Test des nouveaux paramètres &CONTRAINTES Depuis la page d'accueil admin admin Ajouter la lettre-type depuis le menu &{args_lettretype} # On change la lettre-type de l'événement de création d'une nouvelle demande, en # définissant notre nouvelle lettre-type comme modèle Modifier l'événement ${args_evenement} ${id_contrainte1} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 1 PLU MARSEILLE TNR instr sousgroupe 1ère contrainte instr ${id_contrainte2} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 2 PLU MARSEILLE TNR instr sousgroupe 2ème contrainte instr ${id_contrainte3} = Ajouter la contrainte depuis le menu Contrainte TNR instruction 3 PLU MARSEILLE TNR instr2 null 3ème contrainte instr2 # Création d'une nouvelle demande pour notre test Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Saville ... particulier_prenom=Lazure &{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 ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Ajout de contraintes à notre dossier de test Depuis la page d'accueil instr instr Ajouter une contrainte depuis l'onglet du dossier d'instruction ${libelle_di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Element fieldset-sousform-dossier_contrainte-contraintes-openads Open Fieldset In Subform dossier_contrainte tnr-instr Open Fieldset In Subform dossier_contrainte sousgroupe Open Fieldset In Subform dossier_contrainte tnr-instr2 Select Checkbox css=#contrainte_${id_contrainte1} Select Checkbox css=#contrainte_${id_contrainte2} Select Checkbox css=#contrainte_${id_contrainte3} # On clique sur Appliquer les changements Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#sformulaire div.formControls input[type="submit"] # Vérification des messages Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text Contrainte TNR instruction 1 a été ajoutée au dossier. Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text La contrainte Contrainte TNR instruction 2 a été ajoutée au dossier. Element Should Contain css=#sousform-dossier_contrainte div.message.ui-state-valid p span.text La contrainte Contrainte TNR instruction 3 a été ajoutée au dossier. Depuis le contexte du dossier d'instruction ${libelle_di} # Vérifie que l'action de régénération est disponible Portlet Action Should Be In Form dossier_instruction recepisse # On régénère le récépissé de demande Click On Form Portlet Action dossier_instruction recepisse # On vérifie le message de validation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré. # On ouvre le PDF Click Link css=#telecharger_recepisse Open PDF file # On vérifie que la lettre-type contient toutes les contraintes Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR Page Should Contain SOUSGROUPE Page Should Contain 1ère contrainte instr Page Should Contain 2ème contrainte instr Page Should Contain TNR INSTR2 Page Should Contain 3ème contrainte instr2 Close PDF # On ajoute le paramètre liste_groupe à la variable &contraintes dans la lettre-type &{args_lettretype} = Create Dictionary ... id=test_contraintes ... libelle=Test des nouveaux paramètres &CONTRAINTES ... sql=Aucune REQUÊTE ... titre=&contraintes(liste_groupe=TNR INSTR) ... corps=&contraintes(liste_groupe=TNR INSTR) ... actif=true ... collectivite=MARSEILLE Depuis la page d'accueil admin admin # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !! # Redéfinit la lettre-type avec les arguments passés Modifier la lettre-type XXX &{args_lettretype} Depuis le contexte du dossier d'instruction ${libelle_di} Portlet Action Should Be In Form dossier_instruction recepisse # On régénère le récépissé de demande Click On Form Portlet Action dossier_instruction recepisse Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré. # On ouvre le PDF Click Link css=#telecharger_recepisse Open PDF file # On doit avoir seulement les contraintes du groupe Zones du PLU Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain TNR INSTR Page Should Contain 1ère contrainte instr Page Should Contain 2ème contrainte instr Page Should Not Contain TNR INSTR2 Page Should Not Contain 3ème contrainte instr2 Close PDF # On active l'affichage sans arborescence, avec les paramètres liste_groupe et # listess_groupe activés &{args_lettretype} = Create Dictionary ... id=test_contraintes ... libelle=Test des nouveaux paramètres &CONTRAINTES ... sql=Aucune REQUÊTE ... titre=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t) ... corps=&contraintes(liste_groupe=TNR INSTR;liste_ssgroupe=sousgroupe;affichage_sans_arborescence=t) ... actif=true ... collectivite=MARSEILLE # XXX Appel à la surcharge de Modifier la lettre-type du core, à virer !! # Redéfinit la lettre-type avec les arguments passés Modifier la lettre-type XXX &{args_lettretype} Depuis le contexte du dossier d'instruction ${libelle_di} Portlet Action Should Be In Form dossier_instruction recepisse # On régénère le récépissé de demande Click On Form Portlet Action dossier_instruction recepisse Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Contain Le récépissé de la demande a été régénéré. # On ouvre le PDF Click Link css=#telecharger_recepisse Open PDF file # Le PDF doit contenir les 2 contraintes "Zones du PLU", sans groupes Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain 1ère contrainte instr Page Should Contain 2ème contrainte instr Page Should Not Contain TNR INSTR Page Should Not Contain TNR INSTR2 Page Should Not Contain 3ème contrainte instr2 Close PDF &{args_evenement} = Create Dictionary ... libelle=Notification du delai legal maison individuelle ... lettretype=recepisse_1 RECEPISSE DE DEPOT # On remet la lettre-type de récépissé de dépôt initiale pour les tests suivants Modifier l'événement ${args_evenement} Test du tableau des dossiers d'autorisation liés géographiquement [Documentation] Ajoute 2 nouvelles demandes avec une parcelle en commun, ... puis affiche le tableau des dossiers liés géographiquement pour les 2 ... dossiers. ... L'autre DA avec la même parcelle doit être présent, mais pas le DA lié ... au DI courant. ... On ajoute un troisième dossier avec les mêmes parcelles sur une autre ... commune qui ne doit pas apparaitre dans la liste Depuis la page d'accueil instrpolycomm3 instrpolycomm3 &{args_petitionnaire_autre_commune} = Create Dictionary ... particulier_nom=Beauchamps ... particulier_prenom=Maurissette @{ref_cad_autre_commune} = Create List 806 AB 25 &{args_demande_autre_commune} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... terrain_references_cadastrales=${ref_cad_autre_commune} ${libelle_di_autre_commune} = Ajouter la nouvelle demande ${args_demande_autre_commune} ${args_petitionnaire_autre_commune} Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Beauchamps ... particulier_prenom=Jeanette @{ref_cad} = Create List 806 AB 25 A 30 &{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 ... terrain_references_cadastrales=${ref_cad} ${libelle_di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} &{args_petitionnaire} = Create Dictionary ... particulier_nom=Forest ... particulier_prenom=David @{ref_cad} = Create List 806 AB 01 A 50 &{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 ... terrain_references_cadastrales=${ref_cad} ${libelle_di2} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} ${libelle_da} = Get Substring ${libelle_di} 0 -2 ${libelle_da2} = Get Substring ${libelle_di2} 0 -2 ${libelle_da_autre_commune} = Get Substring ${libelle_di_autre_commune} 0 -2 Depuis la page d'accueil instr instr Ajouter une instruction au DI et la finaliser ${libelle_di} accepter un dossier sans réserve &{args_demande} = Create Dictionary ... demande_type=Demande de modification Depuis la page d'accueil guichet guichet Ajouter la demande sur existant depuis le tableau de bord ${libelle_di} ${args_demande} Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di} # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da} # Le 2ème dossier avec la même parcelle doit apparaître Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da2} 1 Depuis la page d'accueil instr instr Depuis l'onglet de DA lié du dossier d'instruction ${libelle_di2} # Le tableau doit contenir une seule fois le DA qui a 2 DI avec une parcelle en commun Element Should Contain X Times sousform-dossier_autorisation_lies_geographiquement ${libelle_da} 1 # Le tableau des dossiers liés géographiquement ne doit pas contenir le DA lié au DI courant Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da2} # Le tableau des dossiers liés géographiquement ne doit pas contenir le DI d'une autre commune Element Should Not Contain sousform-dossier_autorisation_lies_geographiquement ${libelle_da_autre_commune} Restriction d'événement [Documentation] Teste une double condition dans la restriction : ... date événement <= date limite de notification au pétitionnaire ... date de dépôt == date de complétude ${date_valid} = Set Variable 01/01/2015 ${date_invalid} = Set Variable 01/04/2016 # # Cas 1 : opérateur logique || sur P0 # La condition est satisfaite # # Création du DI sur lequel nous allons faire l'incomplétude &{case1_evenement} = Create Dictionary ... libelle=Notification de pieces manquante ... restriction=date_evenement <= archive_date_notification_delai || archive_date_complet == date_depot &{case1_petitionnaire} = Create Dictionary ... particulier_civilite=Madame ... particulier_nom=Déziel ... particulier_prenom=Audrey &{case1_demande} = Create Dictionary ... date_demande=${date_valid} ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial # Depuis la page d'accueil admin admin # On récupère la restriction avant de la modifier Depuis le contexte de l'événement Notification de pieces manquante ${restriction_before} = Get Text css=#restriction # Modifier l'événement ${case1_evenement} # Depuis la page d'accueil guichet guichet ${case1_di} = Ajouter la nouvelle demande ... ${case1_demande} ... ${case1_petitionnaire} # Vu le || la condition est satisfaite Depuis la page d'accueil instr instr Ajouter une instruction au DI ${case1_di} Notification de pieces manquante ${date_invalid} Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. # # Cas 2 : opérateur logique && sur DOC01 # La condition n'est pas satisfaite # # Création du DI sur lequel nous allons faire l'incomplétude &{case2_evenement} = Create Dictionary ... libelle=Notification de pieces manquante ... restriction=date_evenement <= archive_date_notification_delai && archive_date_complet == date_depot # &{case2_petitionnaire} = Create Dictionary ... particulier_civilite=Madame ... particulier_nom=Bourgeau ... particulier_prenom=Corinne &{case2_demande_temp} = Create Dictionary ... date_demande=${date_valid} ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial &{case2_demande} = Create Dictionary ... date_demande=${date_valid} ... demande_type=Demande d'ouverture de chantier # Depuis la page d'accueil admin admin Modifier l'événement ${case2_evenement} # Depuis la page d'accueil guichet guichet ${case2_di_temp} = Ajouter la nouvelle demande ... ${case2_demande_temp} ... ${case2_petitionnaire} # Depuis la page d'accueil instr instr Ajouter une instruction au DI ${case2_di_temp} accepter un dossier sans réserve ${date_valid} # Depuis la page d'accueil guichet guichet ${case2_di} = Ajouter la demande sur existant ... ${case2_di_temp} ... ${case2_demande} # Vu le && la condition est non satisfaite Depuis la page d'accueil instr instr Depuis l'onglet instruction du dossier d'instruction ${case2_di} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element action-soustab-instruction-corner-ajouter Saisir instruction Notification de pieces manquante ${date_invalid} Click On Submit Button In Subform Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=div.ui-state-error p span.text SAISIE NON ENREGISTRÉE Element Should Contain css=div.ui-state-error p span.text date d'événement <= date limite de notification au pétitionnaire && date de complétude archivé == date de dépôt # # Restauration de la restriction # &{old_evenement} = Create Dictionary ... libelle=Notification de pieces manquante ... restriction=${restriction_before} Depuis la page d'accueil admin admin Modifier l'événement ${old_evenement} TNR Vérifie que le fichier est supprimé à la suppression de l'instruction [Documentation] Vérifie dans le filestorage si le fichier de l'édition de ... l'instruction est correctement supprimé lors de la suppression de ... l'instruction. # Depuis la page d'accueil guichet guichet # Liste des arguments pour la demande &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial # Liste des arguments pour le pétitionnaire &{args_petitionnaire} = Create Dictionary ... particulier_nom=Batard ... particulier_prenom=Laurene ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Depuis la page d'accueil instr instr Ajouter une instruction au DI ${di} accepter un dossier sans réserve # Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve # On clique sur l'action de finalisation Click On SubForm Portlet Action instruction finaliser # On vérifie le message de validation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La finalisation du document s'est effectuée avec succès. # Récupération de l'UID Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve ${uid} = Get Value om_fichier_instruction ${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 la page d'accueil admin admin Depuis l'instruction du dossier d'instruction ${di} accepter un dossier sans réserve # On clique sur l'action de définalisation Click On SubForm Portlet Action instruction definaliser # On vérifie le message de validation Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Valid Message Should Be La definalisation du document s'est effectuée avec succès. # Supprimer l'instruction ${di} accepter un dossier sans réserve # 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 Mail aux communes [Documentation] Test de l'action sur l'instruction permettant à l'instructeur, ... une fois son courrier finalisé, de déclencher l'envoi d'un mail aux communes. # Création du DI Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Gareau ... particulier_prenom=Élisabeth &{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 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} # Création de l'instruction finalisée Depuis la page d'accueil instr instr Ajouter une instruction au DI ${di} Notification de pieces manquante Click On Back Button In Subform Click On Link Notification de pieces manquante Click On SubForm Portlet Action instruction finaliser # Saisie du paramétrage commune en sus du multi par fourni par défaut Depuis la page d'accueil admingen admingen Ajouter le paramètre depuis le menu param_courriel_de_notification_commune support@atreal.fr MARSEILLE # Succès de la notification Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Click On SubForm Portlet Action instruction notifier_commune Click Element css=div.ui-dialog-buttonset button Valid Message Should Be In Subform La commune a été notifiée. # Échec de la notification si objet, modèle ou courriel indéfini Modifier le paramètre param_courriel_de_notification_commune_objet_depuis_instruction ${SPACE} Modifier le paramètre param_courriel_de_notification_commune_modele_depuis_instruction ${SPACE} Modifier le paramètre param_courriel_de_notification_commune ${SPACE} Depuis l'instruction du dossier d'instruction ${di} Notification de pieces manquante Click On SubForm Portlet Action instruction notifier_commune Click Element css=div.ui-dialog-buttonset button Error Message Should Contain In Subform l'objet du courriel envoyé aux communes est vide Error Message Should Contain In Subform le modèle du courriel envoyé aux communes est vide Error Message Should Contain In Subform aucun courriel valide de destinataire de la commune Widget "Dossiers événement incomplet ou majoration sans RAR" [Documentation] L'objet de ce 'Test Case' est de vérifier le ... fonctionnement du widget 'Dossiers événement incomplet ou majoration sans RAR' ... (dossiers_evenement_incomplet_majoration) ## ## Constitution du jeu de données ## ## On crée deux nouvelles collectivités pour être sûr du nombre ## de retours de messages à vérifier dans les widgets et tableaux ## # ${collectivite_a} = Set Variable DAKAR ${collectivite_b} = Set Variable SINESALOUM # ${utilisateur_nom_01} = Set Variable Nicole Leduc ${utilisateur_login_01} = Set Variable nleduc ${utilisateur_nom_02} = Set Variable Julie Giguère ${utilisateur_login_02} = Set Variable jguiguere ${utilisateur_nom_03} = Set Variable Arno Perreault ${utilisateur_login_03} = Set Variable aperreault ${utilisateur_nom_04} = Set Variable Albertine Echeverri ${utilisateur_login_04} = Set Variable aecheverri # Depuis la page d'accueil admin admin # Ajouter la collectivité depuis le menu ${collectivite_a} mono Ajouter la collectivité depuis le menu ${collectivite_b} mono # Ajouter l'utilisateur ${utilisateur_nom_01} nospam@openmairie.org ${utilisateur_login_01} ${utilisateur_login_01} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur ${utilisateur_nom_02} nospam@openmairie.org ${utilisateur_login_02} ${utilisateur_login_02} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur ${utilisateur_nom_03} nospam@openmairie.org ${utilisateur_login_03} ${utilisateur_login_03} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur ${utilisateur_nom_04} nospam@openmairie.org ${utilisateur_login_04} ${utilisateur_login_04} INSTRUCTEUR ${collectivite_b} # Ajouter l'instructeur depuis le menu ${utilisateur_nom_01} subdivision H ${utilisateur_nom_01} Ajouter l'instructeur depuis le menu ${utilisateur_nom_02} subdivision L ${utilisateur_nom_02} Ajouter l'instructeur depuis le menu ${utilisateur_nom_03} subdivision J ${utilisateur_nom_03} Ajouter l'instructeur depuis le menu ${utilisateur_nom_04} subdivision H ${utilisateur_nom_04} # Ajouter l'affectation depuis le menu ${utilisateur_nom_01} null ${collectivite_a} Ajouter l'affectation depuis le menu ${utilisateur_nom_02} Permis de construire comprenant ou non des démolitions ${collectivite_a} Ajouter l'affectation depuis le menu ${utilisateur_nom_03} Permis de démolir ${collectivite_a} Ajouter l'affectation depuis le menu ${utilisateur_nom_04} null ${collectivite_b} # DI n°1 : Permis de démolir dans Collectivité A (niveau mono) # => Affecté à l'instructeur '${utilisateur_nom_03}' (${utilisateur_login_03}) # => Division 'J' # &{args_petitionnaire_01} = Create Dictionary ... particulier_nom=Chandonnet ... particulier_prenom=Leone ... om_collectivite=${collectivite_a} # &{args_demande_01} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de démolir ... demande_type=Dépôt Initial ... date_demande=${date_ddmmyyyy} ... om_collectivite=${collectivite_a} # ${di_01} = Ajouter la nouvelle demande ${args_demande_01} ${args_petitionnaire_01} # DI n°2 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité A (niveau mono) # => Affecté à l'instructeur '${utilisateur_nom_01}' (${utilisateur_login_01}) # => Division 'H' # &{args_petitionnaire_02} = Create Dictionary ... particulier_nom=Joly ... particulier_prenom=Frédérique ... om_collectivite=${collectivite_a} # &{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=${date_ddmmyyyy} ... om_collectivite=${collectivite_a} # ${di_02} = Ajouter la nouvelle demande ${args_demande_02} ${args_petitionnaire_02} # DI n°3 : Permis de construire comprenant ou non des démolitions dans Collectivité A (niveau mono) # => Affecté à l'instructeur '${utilisateur_nom_02}' (${utilisateur_login_02}) # => Division 'L' # &{args_petitionnaire_03} = Create Dictionary ... particulier_nom=Boucher ... particulier_prenom=Bernadette ... om_collectivite=${collectivite_a} # &{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=${date_ddmmyyyy} ... om_collectivite=${collectivite_a} # ${di_03} = Ajouter la nouvelle demande ${args_demande_03} ${args_petitionnaire_03} # DI n°4 : Permis de construire pour une maison individuelle et / ou ses annexes dans Collectivité B (niveau mono) # => Affecté à l'instructeur '${utilisateur_nom_04}' (${utilisateur_login_04}) # => Division 'H' # &{args_petitionnaire_04} = Create Dictionary ... particulier_nom=BOULAGE ... particulier_prenom=Damien ... om_collectivite=${collectivite_b} # &{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=${date_ddmmyyyy} ... om_collectivite=${collectivite_b} # ${di_04} = Ajouter la nouvelle demande ${args_demande_04} ${args_petitionnaire_04} # On applique l'événement "majoration + DPC hors SS" à chaque dossier et on met une # date d'envoi RAR à l'événement pour que les dossiers soient affichés dans le widget Ajouter une instruction au DI et la finaliser ${di_01} majoration + DPC hors SS ${date_ddmmyyyy} Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_envoi_rar ${date_ddmmyyyy} Click On Submit Button In Subform Ajouter une instruction au DI et la finaliser ${di_02} majoration + DPC hors SS ${date_ddmmyyyy} Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_envoi_rar ${date_ddmmyyyy} Click On Submit Button In Subform Ajouter une instruction au DI et la finaliser ${di_03} majoration + DPC hors SS ${date_ddmmyyyy} Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_envoi_rar ${date_ddmmyyyy} Click On Submit Button In Subform Ajouter une instruction au DI et la finaliser ${di_04} majoration + DPC hors SS ${date_ddmmyyyy} Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_envoi_rar ${date_ddmmyyyy} Click On Submit Button In Subform # # Cas d'utilisation n°1 # Un paramètre permet de filtrer les dossiers qui apparaissent soit par : # - instructeur # - division # - aucun (collectivite) # # Vérification du : # - fonctionnement des filtres # - de la redirection vers le dossier # - des dossiers affichés dans le widget ET la liste "voir plus" # ${widget_id} = Set Variable widget_10 ## Vérification du filtre par défaut (instructeur) # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR') Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} Element Should Contain css=#${widget_id} ${di_02} Element Should Not Contain css=#${widget_id} ${di_01} Element Should Not Contain css=#${widget_id} ${di_03} Element Should Not Contain css=#${widget_id} ${di_04} Click Link ${di_02} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#${widget_id} .widget-footer a Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04} Click Link ${di_02} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Title Should Be Instruction > Dossiers D'instruction > ${di_02} JOLY FRÉDÉRIQUE ## Vérification du filtre instructeur Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_evenement_incomplet_majoration Click On Form Portlet Action om_widget modifier Input Text texte filtre=instructeur Click On Submit Button # L'instructeur doit seulement voir son dossier Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04} Element Should Contain css=#${widget_id} ${di_04} Element Should Not Contain css=#${widget_id} ${di_01} Element Should Not Contain css=#${widget_id} ${di_02} Element Should Not Contain css=#${widget_id} ${di_03} Click Element css=#${widget_id} .widget-footer a Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03} # Filtre sur la division Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_evenement_incomplet_majoration Click On Form Portlet Action om_widget modifier Input Text texte filtre=division Click On Submit Button # On doit avoir les 2 dossiers de la division Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} Element Should Contain css=#${widget_id} ${di_02} Element Should Contain css=#${widget_id} ${di_04} Element Should Not Contain css=#${widget_id} ${di_01} Element Should Not Contain css=#${widget_id} ${di_03} Click Element css=#${widget_id} .widget-footer a Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03} # Filtre "aucun" donc sur la collectivité Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link dossiers_evenement_incomplet_majoration Click On Form Portlet Action om_widget modifier Input Text texte filtre=aucun Click On Submit Button # On doit avoir les 3 dossiers de la collectivité Depuis la page d'accueil ${utilisateur_login_03} ${utilisateur_login_03} Element Should Contain css=#${widget_id} ${di_01} Element Should Contain css=#${widget_id} ${di_02} Element Should Contain css=#${widget_id} ${di_03} Element Should Not Contain css=#${widget_id} ${di_04} Click Element css=#${widget_id} .widget-footer a Page Title Should Be Instruction > Dossiers Événement Incomplet Ou Majoration Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_01} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_02} Element Should Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_03} Element Should Not Contain css=#tab-dossiers_evenement_incomplet_majoration ${di_04} Dossier sans suffixe [Documentation] Teste le workflow des DI lorsque l'initial n'a pas le suffixe P0 ${date_jour} = Date du jour FR # Désactivation du suffixe pour les PCI initiaux Depuis la page d'accueil admin admin Go To Tab dossier_instruction_type Use Simple Search type de dossier d'autorisation détaillé PCI (Permis de construire pour une maison individuelle et / ou ses annexes) Click On Link Initial Click On Form Portlet Action dossier_instruction_type modifier Unselect Checkbox suffixe Click On Submit Button # Nouveau DI initial sans le suffixe P0 Depuis la page d'accueil guichet guichet &{args_petitionnaire} = Create Dictionary ... particulier_nom=Netton ... particulier_prenom=Valérie &{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 ${di} = Ajouter la nouvelle demande ${args_demande} ${args_petitionnaire} Should Not Contain ${di} P0 # Nouveau dossier sur existant Depuis la page d'accueil instr instr Ajouter une instruction au DI et la finaliser ${di} accepter un dossier sans réserve ${date_jour} Depuis la page d'accueil guichet guichet &{args_demande} = Create Dictionary ... demande_type=Demande de modification ${di_M01} = Ajouter la demande sur existant ${di} ${args_demande} Should Contain ${di_M01} M01 # Nouvel événement d'instruction sans création de dossier Depuis la page d'accueil instr instr Ajouter une instruction au DI et la finaliser ${di_M01} Notification de pieces manquante ${date_jour} Depuis la page d'accueil guichet guichet &{args_demande} = Create Dictionary ... demande_type=Dépôt de pièces complémentaire Ajouter la demande sur existant sans création de dossier ${di_M01} ${args_demande} # Ré-activation du suffixe pour les PCI initiaux Depuis la page d'accueil admin admin Go To Tab dossier_instruction_type Use Simple Search type de dossier d'autorisation détaillé PCI (Permis de construire pour une maison individuelle et / ou ses annexes) Click On Link Initial Click On Form Portlet Action dossier_instruction_type modifier Select Checkbox suffixe Click On Submit Button