1 # -*- coding: utf-8 -*-
3 from django
.core
.urlresolvers
import reverse
4 from project
.rh
.test
.common
import RhTest
6 class EmployeAddTest(RhTest
):
8 Test l'ajout d'un employé
10 url
= reverse('admin:rh_employe_add')
12 def test_anonyme(self
):
14 Un anonyme ne peut pas créer d'employé
17 self
._test_acces_ko(self
.url
)
19 def test_correspondant_rh(self
):
21 Un correspodant RH peut ajouter un employé
23 self
._test_correspondant_rh()
24 self
._test_acces_ok(self
.url
)
26 def test_administrateur_regional(self
):
28 Un administrateur peut ajouter un employé
30 self
._test_administrateur_regional()
31 self
._test_acces_ok(self
.url
)
33 def test_directeur_bureau(self
):
35 Un directeur de bureau peut ajouter un employé
37 self
._test_directeur_bureau()
38 self
._test_acces_ok(self
.url
)
42 Un DRH peut ajouter un employé
45 self
._test_acces_ok(self
.url
)
49 Un DRH (2ieme niveau) peut ajouter un employé
52 self
._test_acces_ok(self
.url
)
54 def _test_grp_accior(self
):
56 Un membre de l'ACCIOR ne peut pas ajouter un employé
58 self
._test_grp_accior()
59 self
._test_acces_ko(self
.url
)
61 def _test_grp_abf(self
):
63 Un membre de l'ABF ne peut pas ajouter un employé
65 self
._test_grp_abf(self
)
66 self
._test_acces_ko(self
.url
)
68 def _test_grp_haute_direction(self
):
70 Un membre de la haute direction ne peut pas ajouter un employé
72 self
._test_grp_haute_direction()
73 self
._test_acces_ko(self
.url
)
75 def _test_grp_service_utilisateurs(self
):
77 Un membre du groupe service utilisateur ne peut pas ajouter un employé
79 self
._test_grp_service_utilisateurs()
80 self
._test_acces_ko(self
.url
)
83 class EmployeDeleteTest(RhTest
):
85 Test la suppression d'un employé
89 super(EmployeDeleteTest
, self
).setUp()
90 self
.url
= reverse('admin:rh_employe_delete',
91 args
=[self
.employe_cnf_ngaoundere
.id])
93 def test_anonyme(self
):
95 Un anonyme ne peut pas supprimer un employé
98 self
._test_acces_ko(self
.url
)
100 def test_correspondant_rh(self
):
102 Un correspodant RH ne peut pas supprimer un employé
104 self
._test_correspondant_rh()
105 self
._test_acces_ko(self
.url
)
107 def test_administrateur_regional(self
):
109 Un administrateur ne peut pas supprimer un employé
111 self
._test_administrateur_regional()
112 self
._test_acces_ko(self
.url
)
114 def test_directeur_bureau(self
):
116 Un directeur de bureau ne peut pas supprimer un employé
118 self
._test_directeur_bureau()
119 self
._test_acces_ko(self
.url
)
123 Un DRH peut supprimer un employé
126 self
._test_acces_ok(self
.url
)
130 Un DRH (2ieme niveau) peut supprimer un employé
133 self
._test_acces_ok(self
.url
)
135 def _test_grp_accior(self
):
137 Un membre de l'ACCIOR ne peut pas supprimer un employé
139 self
._test_grp_accior()
140 self
._test_acces_ko(self
.url
)
142 def _test_grp_abf(self
):
144 Un membre de l'ABF ne peut pas supprimer un employé
146 self
._test_grp_abf(self
)
147 self
._test_acces_ko(self
.url
)
149 def _test_grp_haute_direction(self
):
151 Un membre de la haute direction ne peut pas supprimer un employé
153 self
._test_grp_haute_direction()
154 self
._test_acces_ko(self
.url
)
156 def _test_grp_service_utilisateurs(self
):
158 Un membre du groupe service utilisateur ne peut pas supprimer un employé
160 self
._test_grp_service_utilisateurs()
161 self
._test_acces_ko(self
.url
)
164 class EmployeListTest(RhTest
):
166 Test la suppression d'un employé
170 super(EmployeListTest
, self
).setUp()
171 self
.url
= reverse('admin:rh_employe_changelist')
173 def test_anonyme(self
):
175 Un anonyme ne peut pas voir les employés
178 self
._test_acces_ko(self
.url
)
180 def test_correspondant_rh(self
):
182 Un correspodant RH peut voir les employés
184 self
._test_correspondant_rh()
185 self
._test_acces_ok(self
.url
)
186 qs
= self
.client
.get(self
.url
).context
['cl'].query_set
187 self
.assertEqual(len(qs
), 2)
189 def test_administrateur_regional(self
):
191 Un administrateur peut voir les employés de sa région
193 self
._test_administrateur_regional()
194 self
._test_acces_ok(self
.url
)
195 qs
= self
.client
.get(self
.url
).context
['cl'].query_set
196 self
.assertEqual(len(qs
), 2)
198 def test_directeur_bureau(self
):
200 Un directeur de bureau peut voir les employés de sa région
202 self
._test_directeur_bureau()
203 self
._test_acces_ok(self
.url
)
204 qs
= self
.client
.get(self
.url
).context
['cl'].query_set
205 self
.assertEqual(len(qs
), 2)
209 Un DRH peut voir tous les employés
212 self
._test_acces_ok(self
.url
)
213 qs
= self
.client
.get(self
.url
).context
['cl'].query_set
214 self
.assertEqual(len(qs
), 4)
218 Un DRH (2ieme niveau) peut voir tous les employés
221 self
._test_acces_ok(self
.url
)
223 def _test_grp_accior(self
):
225 Un membre de l'ACCIOR ne peut pas voir les employés
227 self
._test_grp_accior()
228 self
._test_acces_ko(self
.url
)
230 def _test_grp_abf(self
):
232 Un membre de l'ABF ne peut pas voir les employés
234 self
._test_grp_abf(self
)
235 self
._test_acces_ko(self
.url
)
237 def _test_grp_haute_direction(self
):
239 Un membre de la haute direction ne peut pas voir les employés
241 self
._test_grp_haute_direction()
242 self
._test_acces_ko(self
.url
)
244 def _test_grp_service_utilisateurs(self
):
246 Un membre du groupe service utilisateur ne peut pas voir les employés
248 self
._test_grp_service_utilisateurs()
249 self
._test_acces_ko(self
.url
)
252 class EmployeApercuTest(RhTest
):
254 Test l'accès à un aperçu de l'employé
258 super(EmployeApercuTest
, self
).setUp()
259 self
.url
= reverse('employe_apercu',
260 args
=[self
.employe_cnf_ngaoundere
.id])
261 self
.url2
= reverse('employe_apercu',
262 args
=[self
.employe_bap_ifi
.id])
264 def test_anonyme(self
):
266 Un anonyme ne peut pas voir l'aperçu
269 self
._test_acces_ko(self
.url
)
271 def test_correspondant_rh(self
):
273 Un correspondant RH peut voir l'aperçu
274 Les dossiers qui ne sont pas de sa région ne sont pas disponibles
276 self
._test_correspondant_rh()
277 self
._test_acces_ok(self
.url
)
278 dossiers
= self
.client
.get(self
.url
).context
['dossiers']
279 self
.assertEqual(len(dossiers
), 1)
280 self
._test_acces_ok(self
.url2
)
281 dossiers
= self
.client
.get(self
.url2
).context
['dossiers']
282 self
.assertEqual(len(dossiers
), 0)
284 def test_administrateur_regional(self
):
286 Un administrateur peut voir l'aperçu de l'employé
287 Les dossiers qui ne sont pas de sa région ne sont pas disponibles
289 self
._test_administrateur_regional()
290 self
._test_acces_ok(self
.url
)
291 dossiers
= self
.client
.get(self
.url
).context
['dossiers']
292 self
.assertEqual(len(dossiers
), 1)
293 self
._test_acces_ok(self
.url2
)
294 dossiers
= self
.client
.get(self
.url2
).context
['dossiers']
295 self
.assertEqual(len(dossiers
), 0)
297 def test_directeur_bureau(self
):
299 Un directeur de bureau peut voir l'aperçu employé
300 Les dossiers qui ne sont pas de sa région ne sont pas disponibles
302 self
._test_directeur_bureau()
303 dossiers
= self
.client
.get(self
.url
).context
['dossiers']
304 self
.assertEqual(len(dossiers
), 1)
305 self
._test_acces_ok(self
.url2
)
306 dossiers
= self
.client
.get(self
.url2
).context
['dossiers']
307 self
.assertEqual(len(dossiers
), 0)
311 Un DRH peut voir tous les aperçus d'employés avec tous les dossiers
314 self
._test_acces_ok(self
.url
)
315 self
._test_acces_ok(self
.url2
)
316 dossiers
= self
.client
.get(self
.url
).context
['dossiers']
317 self
.assertEqual(len(dossiers
), 1)
318 dossiers
= self
.client
.get(self
.url2
).context
['dossiers']
319 self
.assertEqual(len(dossiers
), 1)
323 Un DRH (2ieme niveau) peut voir tous les aperçus d'employés avec tous les dossiers
326 self
._test_acces_ok(self
.url
)
327 self
._test_acces_ok(self
.url2
)
328 dossiers
= self
.client
.get(self
.url
).context
['dossiers']
329 self
.assertEqual(len(dossiers
), 1)
330 dossiers
= self
.client
.get(self
.url2
).context
['dossiers']
331 self
.assertEqual(len(dossiers
), 1)
333 def _test_grp_accior(self
):
335 Un membre de l'ACCIOR ne peut pas voir les aperçus d'employés
337 self
._test_grp_accior()
338 self
._test_acces_ko(self
.url
)
340 def _test_grp_abf(self
):
342 Un membre de l'ABF ne peut pas voir les aperçus d'employés
344 self
._test_grp_abf(self
)
345 self
._test_acces_ko(self
.url
)
347 def _test_grp_haute_direction(self
):
349 Un membre de la haute direction ne peut pas voir les aperçus d'employés
351 self
._test_grp_haute_direction()
352 self
._test_acces_ko(self
.url
)
354 def _test_grp_service_utilisateurs(self
):
356 Un membre du groupe service utilisateur ne pas pas voir les aperçus d'employés
358 self
._test_grp_service_utilisateurs()
359 self
._test_acces_ko(self
.url
)