*** Settings *** Documentation Test des fonctionnalités concernant utilisateurs liés # 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] Permet de préparer les données permettant de ... faire les vérifications nécessaires sur les utilisateurs liés ${test_id} = Set Variable 012 Set Suite Variable ${test_id} # Isolation du contexte &{collectivite_values} = Create Dictionary ... om_collectivite_libelle=Coll-${test_id} ... departement=021 ... commune=367 ... insee=27367 ... direction_code=ER ... direction_libelle=Coll-${test_id} ... direction_chef=Chef ... division_code=LR ... division_libelle=Division LR ... division_chef=Chef ... guichet_om_utilisateur_nom=testg${test_id}plop ... guichet_om_utilisateur_email=testg${test_id}@openads-test.fr ... guichet_om_utilisateur_login=testg${test_id} ... guichet_om_utilisateur_pwd=testg${test_id} ... instr_om_utilisateur_nom=testi${test_id} ... instr_om_utilisateur_email=testi${test_id}@openads-test.fr ... instr_om_utilisateur_login=testi${test_id} ... instr_om_utilisateur_pwd=testi${test_id} ... code_entite=test${test_id} ... acteur=SP-DOS-00${test_id} Isolation d'un contexte ${collectivite_values} Set Suite Variable ${collectivite_values} # Liste des id des champs qui doivent être visible @{liste_champ_visible} = Create List ... nom ... login ... om_collectivite ... om_profil Set Suite Variable ${liste_champ_visible} # Liste des id des champs qui ne doivent pas être visible @{liste_champ_non_visible} = Create List ... email ... pwd Set Suite Variable ${liste_champ_non_visible} ${usr_lie} = Create Dictionary ... nom=plop${test_id} ... login=plop ... om_collectivite=MARSEILLE ... om_profil=INSTRUCTEUR Set Suite Variable ${usr_lie} ${usr_lie_2} = Create Dictionary ... nom=plop${test_id}2 ... login=plop2 ... om_collectivite=MARSEILLE ... om_profil=CELLULE SUIVI Set Suite Variable ${usr_lie_2} ${usr_lie_3} = Create Dictionary ... nom=plop${test_id}3 ... login=${SPACE}plop3${SPACE} ... om_profil=JURISTE Set Suite Variable ${usr_lie_3} Ajout d'un utilisateur lié [Documentation] En tant qu'administrateur technique et fonctionnel de niveau 2 et ... ayant la permission globale "lien_om_uilisateur_om_utilisateur" ... je peux ajouter un utilisateur lié sur n'importe quel utilisateur principal. ... Lors de l'ajout depuis l'onglet "Utilisateur lié" de l'utilisateur principal, ... je ne peux saisir que le nom, le login, la collectivité et le profil. ... Le profil est limité par rapport la hiérarchie comme lors de l'ajout d'un utilisateur principal. # La permission lien_om_uitlisateur_om_utilisateur est déjà ajouté lorsqu'on démarre le test Depuis la page d'accueil admin admin Depuis l'onglet des utilisateurs liés ${collectivite_values.guichet_om_utilisateur_login} Click On Add Button Sleep 3 La liste des champs doit être visible dans le sousformulaire ${liste_champ_visible} La liste des champs ne doit pas être visible dans le sousformulaire ${liste_champ_non_visible} # On vérifie que la hierarchie est respecté (guichet unique ne peut pas avoir d'utilisateur admin) @{labels_profil} = Get List Items css=#om_profil List Should Not Contain Value ${labels_profil} ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL Select From List By Label css=#om_collectivite choisir Collectivité Click On Submit Button Error Message Should Contain Le champ login est obligatoire Error Message Should Contain Le champ nom est obligatoire Error Message Should Contain Le champ Collectivité est obligatoire Error Message Should Contain Le champ Profil est obligatoire Saisir l'utilisateur lié depuis l'utilisateur principal ${usr_lie} Click On Submit Button Valid Message Should Contain Vos modifications ont bien été enregistrées. Ajout d'un utilisateur avec espace en début et fin dans son login [Documentation] On vérifie que malgré un espace ajouté dans le login (en début/fin), on ... réussit tout de même à se connecter au logiciel et qu'il n'y a aucun problème, avec un utilisateur 'classique' ... et un utilisateur lié, avec lien l'utilisateur 'classique'. ... L'espace sera supprimé via un traitement, et donc ne devrait pas poser de problème. Depuis la page d'accueil admin admin # Vérification sur un utilisateur "classique" Ajouter l'utilisateur depuis le menu testons testons@gmail.fr ${SPACE}testonslogin${SPACE} mypasswd ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL MARSEILLE Depuis la page d'accueil testonslogin mypasswd La page ne doit pas contenir d'erreur # Vérification sur un utilisateur lié Ajouter l'utilisateur lié testonslogin ${usr_lie_3} Depuis le contexte de l'utilisateur lié testonslogin ${usr_lie_3.nom} La page ne doit pas contenir d'erreur Consultation d'un utilisateur lié [Documentation] Un fois ajouté je peux modifier ou supprimer l'utilisateur lié. ... J'ai également une autre action me permettant d'être redirigé vers le formulaire ... de l'utilisateur lié. ... ... Depuis le formulaire de l'utilisateur lié j'ai accès aux onglets pour paramétrer ... l'instructeur, les tiers, les services ou encore les groupes, un utilisateur lié ne ... peux pas avoir d'utilisateurs liés. ... ... Dans ce formulaire j'ai accès à d'autres informations tel que l'adresse mail qui est ... récupérée de l'utilisateur principal et qui est mise à jour automatiquement si celle ... l'utilisateur principal est modifiée. J'ai également l'information de qui est l'utilisateur ... principal de cet utilisateur lié. Depuis la page d'accueil admin admin Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} Portlet Action Should Be In SubForm om_utilisateur update_linked_user Portlet Action Should Be In SubForm om_utilisateur delete_linked_user Portlet Action Should Be In SubForm om_utilisateur redirect_linked_user_form Click On SubForm Portlet Action om_utilisateur redirect_linked_user_form On clique sur l'onglet instructeur Instructeur On clique sur l'onglet lien_om_utilisateur_tiers_consulte Lien Utilisateur / Tiers On clique sur l'onglet lien_service_om_utilisateur Lien Service/utilisateur On clique sur l'onglet lien_om_utilisateur_groupe Groupe Form Value Should Be css=#email ${collectivite_values.guichet_om_utilisateur_email} Form Value Should Be css=#om_utilisateur_princ ${collectivite_values.guichet_om_utilisateur_nom} ${email_user_princ} = Create Dictionary ... email=${collectivite_values.guichet_om_utilisateur_email}plopplop Modifier l'utilisateur depuis le menu ${collectivite_values.guichet_om_utilisateur_nom} ${email_user_princ} Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} Click On SubForm Portlet Action om_utilisateur redirect_linked_user_form Form Value Should Be css=#email ${email_user_princ.email} Modification d'un utilisateur lié [Documentation] La modification est limitée au nom, collectivité et profil. Depuis la page d'accueil admin admin Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} Click On SubForm Portlet Action om_utilisateur update_linked_user ${user_update} = Create Dictionary ... nom=${test_id}plopplop Saisir l'utilisateur lié depuis l'utilisateur principal ${user_update} Click On Submit Button Valid Message Should Contain Vos modifications ont bien été enregistrées. Vérification du changement d'utilisateur [Documentation] En tant qu'utilisateur ayant des utilisateurs liés, en haut à droite de l'application ... j'ai accès à l'action "Utilisateurs liés" qui ouvre un formulaire dans une fenêtre modale. ... La fenêtre modale me présente une liste à choix constitué des logins des utilisateurs liés et de l'utilisateur principal. ... Lorsque je choix un des logins, je suis redirigé vers le tableau de bord mais en tant que l'utilisateur que j'ai sélectionné. ... Si l'utilisateur sélectionné à un autre profil alors j'ai le tableau de bord de ce profil. ... Si l'utilisateur sélectionné fait partie d'une autre collectivité alors j'ai accès aux dossiers de cette collectivité. ... Je peux changer d'utilisateur également depuis un utilisateur lié pour revenir à mon utilisateur principal ou pour sélectionner ... un autre utilisateur lié. ... Si je me déconnecte, je ne peux pas me reconnecter avec un utilisateur lié mais seulement depuis un utilisateur principal. Depuis la page d'accueil ${collectivite_values.guichet_om_utilisateur_login} ${collectivite_values.guichet_om_utilisateur_pwd} Click On Link css=#actions .action-change_linked_users Select From List By Label css=#sousform-change_linked_users #om_utilisateur_linked ${usr_lie.login} Click Element Until No More Element css=#sousform-change_linked_users #change_linked_users_action_valid Element Should Contain css=#actions .action-login ${usr_lie.login} # Le tableau de bord a changé, on récupère le widget d'info du profil Element Should Contain css=#dashboard .col3 #column_1 #widget_2 .widget-header h3 Infos profil Click On Link css=.action-change_linked_users Select From List By Label css=#om_utilisateur_linked ${collectivite_values.guichet_om_utilisateur_login} Click Element Until No More Element css=#sousform-change_linked_users #change_linked_users_action_valid Element Should Contain css=#actions .action-login ${collectivite_values.guichet_om_utilisateur_login} Listing et recherche avancée concernant les utilisateurs liés [Documentation] Depuis le listing des utilisateurs, j'ai accès à une nouvelle colonne "utilisateurs liés" ... et à deux nouvelles recherches avancées "Utilisateur principal" et "Utilisateurs liés". ... ... La nouvelle colonne renseigne deux informations, sur la ligne d'un utilisateur principal elle indique si ... celui-ci possède ou non des utilisateurs liés, sur la ligne d'un utilisateur lié elle indique le nom de ... son utilisateur principal. ... ... La recherche avancée "Utilisateur principal" est une liste à choix des utilisateurs ayant un ou des ... utilisateurs liés, en sélectionner un permet de filtrer le listing pour n'afficher que les utilisateurs ... liés à cet utilisateur principal. ... ... La recherche avancée "Utilisateurs liés" est une liste à choix entre "", "Oui" ou "Non", elle permet de ... filtrer le listing pour n'afficher que les utilisateur principal ayant ou non des utilisateurs liés. Depuis la page d'accueil admin admin ${advs_search_1} = Create Dictionary ... utilisateur_princ=${collectivite_values.guichet_om_utilisateur_nom} Rechercher des utilisateurs ${advs_search_1} Element Should Contain css=.tab-data ${test_id}plopplop Element Should Contain css=.tab-data ${usr_lie.login} # Il est possible que la colonne change de place, il faudra alors changer la vérif ici Element Should Contain css=.tab-data .lastcol ${collectivite_values.guichet_om_utilisateur_nom} ${advs_search_1} = Create Dictionary ... utilisateurs_lies=Oui Rechercher des utilisateurs ${advs_search_1} Element Should Contain css=.tab-data ${collectivite_values.guichet_om_utilisateur_nom} Element Should Contain css=.tab-data ${collectivite_values.guichet_om_utilisateur_login} # Il est possible que la colonne change de place, il faudra alors changer la vérif ici Element Should Contain css=.tab-data .lastcol Oui Suppression d'un utilisateur lié [Documentation] En tant qu'administrateur technique et fonctionnel de niveau 2 et ayant la permission globale ... "lien_om_uitlisateur_om_utilisateur", je peux supprimer un utilisateur principal ayant des utilisateurs liés, ... cela entraîne la suppression de tous les utilisateurs liés. ... ... La suppression d'un utilisateur liés n'a aucun impact sur l'utilisateur principal, ni sur les autres utilisateurs ... liés sur le même utilisateur. Depuis la page d'accueil admin admin Ajouter l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie_2} Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} Click On SubForm Portlet Action om_utilisateur delete_linked_user Click On Submit Button Valid Message Should Contain La suppression a été correctement effectuée. Supprimer l'utilisateur depuis le menu ${collectivite_values.guichet_om_utilisateur_nom} # vérification que l'utilisateur lié est bien supprimé ${advs_search_1} = Create Dictionary ... login=${usr_lie_2.login} Rechercher des utilisateurs ${advs_search_1} Page Should Contain Aucun enregistrement.