1 |
*** Settings *** |
2 |
Documentation Test des fonctionnalités concernant utilisateurs liés |
3 |
|
4 |
# On inclut les mots-clefs |
5 |
Resource resources/resources.robot |
6 |
# On ouvre/ferme le navigateur au début/à la fin du Test Suite. |
7 |
Suite Setup For Suite Setup |
8 |
Suite Teardown For Suite Teardown |
9 |
|
10 |
|
11 |
*** Test Cases *** |
12 |
Constitution du jeu de données |
13 |
[Documentation] Permet de préparer les données permettant de |
14 |
... faire les vérifications nécessaires sur les utilisateurs liés |
15 |
|
16 |
${test_id} = Set Variable 012 |
17 |
Set Suite Variable ${test_id} |
18 |
|
19 |
# Isolation du contexte |
20 |
&{collectivite_values} = Create Dictionary |
21 |
... om_collectivite_libelle=Coll-${test_id} |
22 |
... departement=021 |
23 |
... commune=367 |
24 |
... insee=27367 |
25 |
... direction_code=ER |
26 |
... direction_libelle=Coll-${test_id} |
27 |
... direction_chef=Chef |
28 |
... division_code=LR |
29 |
... division_libelle=Division LR |
30 |
... division_chef=Chef |
31 |
... guichet_om_utilisateur_nom=testg${test_id}plop |
32 |
... guichet_om_utilisateur_email=testg${test_id}@openads-test.fr |
33 |
... guichet_om_utilisateur_login=testg${test_id} |
34 |
... guichet_om_utilisateur_pwd=testg${test_id} |
35 |
... instr_om_utilisateur_nom=testi${test_id} |
36 |
... instr_om_utilisateur_email=testi${test_id}@openads-test.fr |
37 |
... instr_om_utilisateur_login=testi${test_id} |
38 |
... instr_om_utilisateur_pwd=testi${test_id} |
39 |
... code_entite=test${test_id} |
40 |
... acteur=SP-DOS-00${test_id} |
41 |
Isolation d'un contexte ${collectivite_values} |
42 |
Set Suite Variable ${collectivite_values} |
43 |
|
44 |
# Liste des id des champs qui doivent être visible |
45 |
@{liste_champ_visible} = Create List |
46 |
... nom |
47 |
... login |
48 |
... om_collectivite |
49 |
... om_profil |
50 |
Set Suite Variable ${liste_champ_visible} |
51 |
# Liste des id des champs qui ne doivent pas être visible |
52 |
@{liste_champ_non_visible} = Create List |
53 |
... email |
54 |
... pwd |
55 |
Set Suite Variable ${liste_champ_non_visible} |
56 |
|
57 |
${usr_lie} = Create Dictionary |
58 |
... nom=plop${test_id} |
59 |
... login=plop |
60 |
... om_collectivite=MARSEILLE |
61 |
... om_profil=INSTRUCTEUR |
62 |
Set Suite Variable ${usr_lie} |
63 |
|
64 |
${usr_lie_2} = Create Dictionary |
65 |
... nom=plop${test_id}2 |
66 |
... login=plop2 |
67 |
... om_collectivite=MARSEILLE |
68 |
... om_profil=CELLULE SUIVI |
69 |
Set Suite Variable ${usr_lie_2} |
70 |
|
71 |
${usr_lie_3} = Create Dictionary |
72 |
... nom=plop${test_id}3 |
73 |
... login=${SPACE}plop3${SPACE} |
74 |
... om_profil=JURISTE |
75 |
Set Suite Variable ${usr_lie_3} |
76 |
|
77 |
|
78 |
Ajout d'un utilisateur lié |
79 |
[Documentation] En tant qu'administrateur technique et fonctionnel de niveau 2 et |
80 |
... ayant la permission globale "lien_om_uilisateur_om_utilisateur" |
81 |
... je peux ajouter un utilisateur lié sur n'importe quel utilisateur principal. |
82 |
... Lors de l'ajout depuis l'onglet "Utilisateur lié" de l'utilisateur principal, |
83 |
... je ne peux saisir que le nom, le login, la collectivité et le profil. |
84 |
... Le profil est limité par rapport la hiérarchie comme lors de l'ajout d'un utilisateur principal. |
85 |
# La permission lien_om_uitlisateur_om_utilisateur est déjà ajouté lorsqu'on démarre le test |
86 |
Depuis la page d'accueil admin admin |
87 |
|
88 |
Depuis l'onglet des utilisateurs liés ${collectivite_values.guichet_om_utilisateur_login} |
89 |
Click On Add Button |
90 |
Sleep 3 |
91 |
|
92 |
La liste des champs doit être visible dans le sousformulaire ${liste_champ_visible} |
93 |
La liste des champs ne doit pas être visible dans le sousformulaire ${liste_champ_non_visible} |
94 |
|
95 |
# On vérifie que la hierarchie est respecté (guichet unique ne peut pas avoir d'utilisateur admin) |
96 |
@{labels_profil} = Get List Items css=#om_profil |
97 |
List Should Not Contain Value ${labels_profil} ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL |
98 |
Select From List By Label css=#om_collectivite Choisir Collectivité |
99 |
Click On Submit Button |
100 |
Error Message Should Contain Le champ login est obligatoire |
101 |
Error Message Should Contain Le champ nom est obligatoire |
102 |
Error Message Should Contain Le champ Collectivité est obligatoire |
103 |
Error Message Should Contain Le champ Profil est obligatoire |
104 |
|
105 |
Saisir l'utilisateur lié depuis l'utilisateur principal ${usr_lie} |
106 |
|
107 |
Click On Submit Button |
108 |
|
109 |
Valid Message Should Contain Vos modifications ont bien été enregistrées. |
110 |
|
111 |
|
112 |
Ajout d'un utilisateur avec espace en début et fin dans son login |
113 |
[Documentation] On vérifie que malgré un espace ajouté dans le login (en début/fin), on |
114 |
... réussit tout de même à se connecter au logiciel et qu'il n'y a aucun problème, avec un utilisateur 'classique' |
115 |
... et un utilisateur lié, avec lien l'utilisateur 'classique'. |
116 |
... L'espace sera supprimé via un traitement, et donc ne devrait pas poser de problème. |
117 |
Depuis la page d'accueil admin admin |
118 |
|
119 |
# Vérification sur un utilisateur "classique" |
120 |
Ajouter l'utilisateur depuis le menu testons [email protected] ${SPACE}testonslogin${SPACE} mypasswd ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL MARSEILLE |
121 |
Depuis la page d'accueil testonslogin mypasswd |
122 |
La page ne doit pas contenir d'erreur |
123 |
|
124 |
# Vérification sur un utilisateur lié |
125 |
Ajouter l'utilisateur lié testonslogin ${usr_lie_3} |
126 |
Depuis le contexte de l'utilisateur lié testonslogin ${usr_lie_3.nom} |
127 |
La page ne doit pas contenir d'erreur |
128 |
|
129 |
|
130 |
Consultation d'un utilisateur lié |
131 |
[Documentation] Un fois ajouté je peux modifier ou supprimer l'utilisateur lié. |
132 |
... J'ai également une autre action me permettant d'être redirigé vers le formulaire |
133 |
... de l'utilisateur lié. |
134 |
... |
135 |
... Depuis le formulaire de l'utilisateur lié j'ai accès aux onglets pour paramétrer |
136 |
... l'instructeur, les tiers, les services ou encore les groupes, un utilisateur lié ne |
137 |
... peux pas avoir d'utilisateurs liés. |
138 |
... |
139 |
... Dans ce formulaire j'ai accès à d'autres informations tel que l'adresse mail qui est |
140 |
... récupérée de l'utilisateur principal et qui est mise à jour automatiquement si celle |
141 |
... l'utilisateur principal est modifiée. J'ai également l'information de qui est l'utilisateur |
142 |
... principal de cet utilisateur lié. |
143 |
Depuis la page d'accueil admin admin |
144 |
|
145 |
Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} |
146 |
|
147 |
Portlet Action Should Be In SubForm om_utilisateur update_linked_user |
148 |
Portlet Action Should Be In SubForm om_utilisateur delete_linked_user |
149 |
Portlet Action Should Be In SubForm om_utilisateur redirect_linked_user_form |
150 |
|
151 |
Click On SubForm Portlet Action om_utilisateur redirect_linked_user_form |
152 |
|
153 |
On clique sur l'onglet instructeur Instructeur |
154 |
On clique sur l'onglet lien_om_utilisateur_tiers_consulte Lien Utilisateur / Tiers |
155 |
On clique sur l'onglet lien_service_om_utilisateur Lien Service/utilisateur |
156 |
On clique sur l'onglet lien_om_utilisateur_groupe Groupe |
157 |
|
158 |
Form Value Should Be css=#email ${collectivite_values.guichet_om_utilisateur_email} |
159 |
Form Value Should Be css=#om_utilisateur_princ ${collectivite_values.guichet_om_utilisateur_nom} |
160 |
|
161 |
${email_user_princ} = Create Dictionary |
162 |
... email=${collectivite_values.guichet_om_utilisateur_email}plopplop |
163 |
Modifier l'utilisateur depuis le menu ${collectivite_values.guichet_om_utilisateur_nom} ${email_user_princ} |
164 |
|
165 |
Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} |
166 |
Click On SubForm Portlet Action om_utilisateur redirect_linked_user_form |
167 |
|
168 |
Form Value Should Be css=#email ${email_user_princ.email} |
169 |
|
170 |
|
171 |
Modification d'un utilisateur lié |
172 |
[Documentation] La modification est limitée au nom, collectivité et profil. |
173 |
Depuis la page d'accueil admin admin |
174 |
|
175 |
Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} |
176 |
Click On SubForm Portlet Action om_utilisateur update_linked_user |
177 |
|
178 |
${user_update} = Create Dictionary |
179 |
... nom=${test_id}plopplop |
180 |
|
181 |
Saisir l'utilisateur lié depuis l'utilisateur principal ${user_update} |
182 |
|
183 |
Click On Submit Button |
184 |
|
185 |
Valid Message Should Contain Vos modifications ont bien été enregistrées. |
186 |
|
187 |
|
188 |
Vérification du changement d'utilisateur |
189 |
[Documentation] En tant qu'utilisateur ayant des utilisateurs liés, en haut à droite de l'application |
190 |
... j'ai accès à l'action "Utilisateurs liés" qui ouvre un formulaire dans une fenêtre modale. |
191 |
... La fenêtre modale me présente une liste à choix constitué des logins des utilisateurs liés et de l'utilisateur principal. |
192 |
... 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é. |
193 |
... Si l'utilisateur sélectionné à un autre profil alors j'ai le tableau de bord de ce profil. |
194 |
... Si l'utilisateur sélectionné fait partie d'une autre collectivité alors j'ai accès aux dossiers de cette collectivité. |
195 |
... Je peux changer d'utilisateur également depuis un utilisateur lié pour revenir à mon utilisateur principal ou pour sélectionner |
196 |
... un autre utilisateur lié. |
197 |
... Si je me déconnecte, je ne peux pas me reconnecter avec un utilisateur lié mais seulement depuis un utilisateur principal. |
198 |
Depuis la page d'accueil ${collectivite_values.guichet_om_utilisateur_login} ${collectivite_values.guichet_om_utilisateur_pwd} |
199 |
|
200 |
Click On Link css=#actions .action-change_linked_users |
201 |
Select From List By Label css=#sousform-change_linked_users #om_utilisateur_linked ${usr_lie.login} |
202 |
Click Element Until No More Element css=#sousform-change_linked_users #change_linked_users_action_valid |
203 |
|
204 |
Element Should Contain css=#actions .action-login ${usr_lie.login} |
205 |
|
206 |
# Le tableau de bord a changé, on récupère le widget d'info du profil |
207 |
Element Should Contain css=#dashboard .col3 #column_1 #widget_2 .widget-header h3 Infos profil |
208 |
|
209 |
|
210 |
Click On Link css=.action-change_linked_users |
211 |
Select From List By Label css=#om_utilisateur_linked ${collectivite_values.guichet_om_utilisateur_login} |
212 |
Click Element Until No More Element css=#sousform-change_linked_users #change_linked_users_action_valid |
213 |
|
214 |
Element Should Contain css=#actions .action-login ${collectivite_values.guichet_om_utilisateur_login} |
215 |
|
216 |
|
217 |
Listing et recherche avancée concernant les utilisateurs liés |
218 |
[Documentation] Depuis le listing des utilisateurs, j'ai accès à une nouvelle colonne "utilisateurs liés" |
219 |
... et à deux nouvelles recherches avancées "Utilisateur principal" et "Utilisateurs liés". |
220 |
... |
221 |
... La nouvelle colonne renseigne deux informations, sur la ligne d'un utilisateur principal elle indique si |
222 |
... celui-ci possède ou non des utilisateurs liés, sur la ligne d'un utilisateur lié elle indique le nom de |
223 |
... son utilisateur principal. |
224 |
... |
225 |
... La recherche avancée "Utilisateur principal" est une liste à choix des utilisateurs ayant un ou des |
226 |
... utilisateurs liés, en sélectionner un permet de filtrer le listing pour n'afficher que les utilisateurs |
227 |
... liés à cet utilisateur principal. |
228 |
... |
229 |
... La recherche avancée "Utilisateurs liés" est une liste à choix entre "", "Oui" ou "Non", elle permet de |
230 |
... filtrer le listing pour n'afficher que les utilisateur principal ayant ou non des utilisateurs liés. |
231 |
Depuis la page d'accueil admin admin |
232 |
|
233 |
${advs_search_1} = Create Dictionary |
234 |
... utilisateur_princ=${collectivite_values.guichet_om_utilisateur_nom} |
235 |
Rechercher des utilisateurs ${advs_search_1} |
236 |
|
237 |
Element Should Contain css=.tab-data ${test_id}plopplop |
238 |
Element Should Contain css=.tab-data ${usr_lie.login} |
239 |
# Il est possible que la colonne change de place, il faudra alors changer la vérif ici |
240 |
Element Should Contain css=.tab-data .lastcol ${collectivite_values.guichet_om_utilisateur_nom} |
241 |
|
242 |
${advs_search_1} = Create Dictionary |
243 |
... utilisateurs_lies=Oui |
244 |
Rechercher des utilisateurs ${advs_search_1} |
245 |
|
246 |
Element Should Contain css=.tab-data ${collectivite_values.guichet_om_utilisateur_nom} |
247 |
Element Should Contain css=.tab-data ${collectivite_values.guichet_om_utilisateur_login} |
248 |
# Il est possible que la colonne change de place, il faudra alors changer la vérif ici |
249 |
Element Should Contain css=.tab-data .lastcol Oui |
250 |
|
251 |
|
252 |
Suppression d'un utilisateur lié |
253 |
[Documentation] En tant qu'administrateur technique et fonctionnel de niveau 2 et ayant la permission globale |
254 |
... "lien_om_uitlisateur_om_utilisateur", je peux supprimer un utilisateur principal ayant des utilisateurs liés, |
255 |
... cela entraîne la suppression de tous les utilisateurs liés. |
256 |
... |
257 |
... La suppression d'un utilisateur liés n'a aucun impact sur l'utilisateur principal, ni sur les autres utilisateurs |
258 |
... liés sur le même utilisateur. |
259 |
Depuis la page d'accueil admin admin |
260 |
|
261 |
Ajouter l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie_2} |
262 |
|
263 |
Depuis le contexte de l'utilisateur lié ${collectivite_values.guichet_om_utilisateur_nom} ${usr_lie.login} |
264 |
Click On SubForm Portlet Action om_utilisateur delete_linked_user |
265 |
Click On Submit Button |
266 |
Valid Message Should Contain La suppression a été correctement effectuée. |
267 |
|
268 |
Supprimer l'utilisateur depuis le menu ${collectivite_values.guichet_om_utilisateur_nom} |
269 |
|
270 |
# vérification que l'utilisateur lié est bien supprimé |
271 |
${advs_search_1} = Create Dictionary |
272 |
... login=${usr_lie_2.login} |
273 |
Rechercher des utilisateurs ${advs_search_1} |
274 |
|
275 |
Page Should Contain Aucun enregistrement. |