*** Settings *** Documentation Gestion des messages. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Constitution du jeu de données [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de ... données cohérent pour les scénarios fonctionnels qui suivent. # Date du jour au format : JJ/MM/AAAA ${date_jour} = Date du jour FR Set Suite Variable ${date_jour} Gestion des retours de messages 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 messages à vérifier dans les widgets et tableaux ## # ${collectivite_a} = Set Variable SAMBALPUR ${collectivite_b} = Set Variable DRIEKAPELLEN # ${utilisateur_nom_01} = Set Variable Hermione JUAREZ ${utilisateur_login_01} = Set Variable hjuarez ${utilisateur_nom_02} = Set Variable Jorden BOWERS ${utilisateur_login_02} = Set Variable jbowers ${utilisateur_nom_03} = Set Variable Kiara COLE ${utilisateur_login_03} = Set Variable kcole ${utilisateur_nom_04} = Set Variable Elizabeth ORTIZ ${utilisateur_login_04} = Set Variable eortiz # 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 depuis le menu ${utilisateur_nom_01} nospam@openmairie.org ${utilisateur_login_01} ${utilisateur_login_01} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur depuis le menu ${utilisateur_nom_02} nospam@openmairie.org ${utilisateur_login_02} ${utilisateur_login_02} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur depuis le menu ${utilisateur_nom_03} nospam@openmairie.org ${utilisateur_login_03} ${utilisateur_login_03} INSTRUCTEUR ${collectivite_a} Ajouter l'utilisateur depuis le menu ${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 H ${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=DUPONT ... particulier_prenom=Jacques ... 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=12/04/2015 ... om_collectivite=${collectivite_a} # ${di_01} = Ajouter la nouvelle demande depuis le menu ${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=VACHIER ... particulier_prenom=Arthur ... 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=12/04/2015 ... om_collectivite=${collectivite_a} # ${di_02} = Ajouter la nouvelle demande depuis le menu ${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 'H' # &{args_petitionnaire_03} = Create Dictionary ... particulier_nom=BRAY ... particulier_prenom=Guy ... 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=12/04/2015 ... om_collectivite=${collectivite_a} # ${di_03} = Ajouter la nouvelle demande depuis le menu ${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=12/04/2015 ... om_collectivite=${collectivite_b} # ${di_04} = Ajouter la nouvelle demande depuis le menu ${args_demande_04} ${args_petitionnaire_04} # On active l'option de notification par message Modifier le paramètre option_notification_piece_numerisee true # On ajoute un document numérisé par DI &{document_numerise_values} = Create Dictionary ... uid_upload=testImportManuel.pdf ... date_creation=${date_jour} ... document_numerise_type=autres pièces composant le dossier (A0) Ajouter une pièce depuis le dossier d'instruction ${di_01} ${document_numerise_values} Ajouter une pièce depuis le dossier d'instruction ${di_02} ${document_numerise_values} Ajouter une pièce depuis le dossier d'instruction ${di_03} ${document_numerise_values} Ajouter une pièce depuis le dossier d'instruction ${di_04} ${document_numerise_values} ## ## Cas d'usage ## ## ## # ${widget_id} = Set Variable widget_4 # 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 messages Go To Submenu In Menu instruction messages_tous_retours Page Title Should Be Instruction > Messages > Tous Les Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans toutes les collectivités. Element Should Contain css=#tab-messages_tous_retours table thead instructeur Element Should Contain css=#tab-messages_tous_retours table thead division Element Should Contain css=#tab-messages_tous_retours table thead collectivité # On va sur le listing 'Tous les messages' # Il doit contenir des retours des deux collectivités Element Should Contain css=#tab-messages_tous_retours table ${collectivite_a} Element Should Contain css=#tab-messages_tous_retours table ${collectivite_b} # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR') Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} # On vérifie que les messages 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 Submenu In Menu Should Be Selected instruction messages_mes_retours Page Title Should Be Instruction > Messages > Mes Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-messages_mes_retours .pagination-text 1 - 1 enregistrement(s) sur 1 # On va sur le listing 'Messages de ma division' # Il doit contenir deux retours Go To Submenu In Menu instruction messages_retours_ma_division Page Title Should Be Instruction > Messages > Messages De Ma Division First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-messages_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 Element Should Contain css=#tab-messages_retours_ma_division table ${utilisateur_nom_02} # On va sur le listing 'Tous les messages' # Il doit contenir trois retours Go To Submenu In Menu instruction messages_tous_retours Page Title Should Be Instruction > Messages > Tous Les Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-messages_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link messages_retours Click On Form Portlet Action om_widget modifier Input Text texte filtre=division Click On Submit Button # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR') Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} # On vérifie que les messages 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 'Messages de ma division' # Il doit contenir deux retours Submenu In Menu Should Be Selected instruction messages_retours_ma_division Page Title Should Be Instruction > Messages > Messages De Ma Division First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-messages_retours_ma_division .pagination-text 1 - 2 enregistrement(s) sur 2 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link messages_retours Click On Form Portlet Action om_widget modifier Input Text texte filtre=aucun Click On Submit Button # On se connecte en tant que "${utilisateur_login_01}" (Profil 'INSTRUCTEUR') Depuis la page d'accueil ${utilisateur_login_01} ${utilisateur_login_01} # On vérifie que les messages 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 messages' # Il doit contenir trois retours Submenu In Menu Should Be Selected instruction messages_tous_retours Page Title Should Be Instruction > Messages > Tous Les Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-messages_tous_retours .pagination-text 1 - 3 enregistrement(s) sur 3 # Filtre sur l'instructeur Depuis la page d'accueil admin admin Go To Tab om_widget Click On Link messages_retours Click On Form Portlet Action om_widget modifier Input Text texte filtre=instructeur Click On Submit Button # On se connecte en tant que Profil 'INSTRUCTEUR' Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04} # On vérifie que les messages 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 du dossier Click Link ${di_04} # Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Be Visible css=#sousform-dossier_message #dossier_message # Page Title Should Contain ${di_04} Page Title Should Contain BOULAGE DAMIEN # Portlet Action Should Be In SubForm dossier_message marquer_comme_lu # Click On SubForm Portlet Action dossier_message marquer_comme_lu # Valid Message Should Be In Subform Le message a été marqué comme lu. # Depuis la page d'accueil ${utilisateur_login_04} ${utilisateur_login_04} # # On vérifie que lorsqu'il n'y a aucun message, une information dans le widget 'Messages' # l'indique et que le lien Voir + n'est pas présent # Element Should Contain css=#${widget_id} .widget-content-wrapper Aucun message 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 messages_mes_retours Page Title Should Be Instruction > Messages > Mes Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction dont je suis l'instructeur. Element Should Contain css=#tab-messages_mes_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Not Contain css=#tab-messages_mes_retours table thead instructeur Element Should Not Contain css=#tab-messages_mes_retours table thead division Element Should Not Contain css=#tab-messages_mes_retours table thead collectivité # Go To Submenu In Menu instruction messages_retours_ma_division Page Title Should Be Instruction > Messages > Messages De Ma Division First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma division. Element Should Contain css=#tab-messages_retours_ma_division .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-messages_retours_ma_division table thead instructeur Element Should Not Contain css=#tab-messages_retours_ma_division table thead division Element Should Not Contain css=#tab-messages_retours_ma_division table thead collectivité # Go To Submenu In Menu instruction messages_tous_retours Page Title Should Be Instruction > Messages > Tous Les Messages First Tab Title Should Be Message Page Should Contain Les messages marqués comme 'non lu' qui concernent des dossiers d'instruction situés dans ma collectivité. Element Should Contain css=#tab-messages_tous_retours .pagination-text 1 - 0 enregistrement(s) sur 0 Element Should Contain css=#tab-messages_tous_retours table thead instructeur Element Should Contain css=#tab-messages_tous_retours table thead division Element Should Not Contain css=#tab-messages_tous_retours table thead collectivité