1 # -*- coding: utf-8 -*-
3 from django
.core
.urlresolvers
import reverse
4 from project
.rh
.test
.common
import RhTest
5 from project
.rh
import models
as rh
7 class RapportContratTest(RhTest
):
9 Test l'accès au rapport des contrats
11 url
= reverse('rhr_contrats')
14 super(RapportContratTest
, self
).setUp()
16 cdi
= rh
.TypeContrat(nom
="CDI")
21 date_debut
=self
.today
,
22 dossier
=self
.dossier_cnf_ngaoundere
,)
27 date_debut
=self
.today
,
28 dossier
=self
.dossier_bap_ifi
)
31 salaire
= rh
.TypeRemuneration(nom
="salaire",
32 type_paiement
="Régulier",
33 nature_remuneration
="Indemnité",
37 dollar
= rh
.Devise(code
="CAD", nom
="Dollar CAD")
40 remun_cnf_ngaoundere
= rh
.Remuneration(
42 date_debut
=self
.today
,
43 dossier
=self
.dossier_cnf_ngaoundere
,
47 remun_cnf_ngaoundere
.save()
49 remun_bap_ifi
= rh
.Remuneration(
51 date_debut
=self
.today
,
52 dossier
=self
.dossier_bap_ifi
,
59 def test_anonyme(self
):
61 Un anonyme ne peut pas accéder à ce rapport
64 self
._test_acces_ko(self
.url
)
66 def test_correspondant_rh(self
):
68 Un correspondant RH peut accéder à ce rapport limité aux dossiers de sa
71 self
._test_correspondant_rh()
72 self
._test_acces_ok(self
.url
)
73 contrats
= self
.client
.get(self
.url
).context
['contrats']
74 self
.assertEqual(len(contrats
), 1)
76 def test_administrateur_regional(self
):
78 Un administrateur peut accéder à ce rapport limité aux dossiers de sa
81 self
._test_administrateur_regional()
82 self
._test_acces_ok(self
.url
)
83 contrats
= self
.client
.get(self
.url
).context
['contrats']
84 self
.assertEqual(len(contrats
), 1)
86 def test_directeur_bureau(self
):
88 Un directeur de bureau peut accéder à ce rapport limité aux dossiers de
91 self
._test_directeur_bureau()
92 self
._test_acces_ok(self
.url
)
93 contrats
= self
.client
.get(self
.url
).context
['contrats']
94 self
.assertEqual(len(contrats
), 1)
98 Un DRH peut accéder à ce rapport
101 self
._test_acces_ok(self
.url
)
102 contrats
= self
.client
.get(self
.url
).context
['contrats']
103 self
.assertEqual(len(contrats
), 2)
107 Un DRH (2ieme niveau) peut accéder à ce rapport
110 self
._test_acces_ok(self
.url
)
111 contrats
= self
.client
.get(self
.url
).context
['contrats']
112 self
.assertEqual(len(contrats
), 2)
114 def _test_grp_accior(self
):
116 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
118 self
._test_grp_accior()
119 self
._test_acces_ko(self
.url
)
121 def _test_grp_abf(self
):
123 Un membre de l'ABF ne peut pas accéder à ce rapport
125 self
._test_grp_abf(self
)
126 self
._test_acces_ko(self
.url
)
128 def _test_grp_haute_direction(self
):
130 Un membre de la haute direction ne peut pas accéder à ce rapport
132 self
._test_grp_haute_direction()
133 self
._test_acces_ko(self
.url
)
135 def _test_grp_service_utilisateurs(self
):
137 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
139 self
._test_grp_service_utilisateurs()
140 self
._test_acces_ko(self
.url
)
143 class RapportMasseSalarialeTest(RhTest
):
145 Test l'accès au rapport de masse salariale
147 url
= reverse('rhr_masse_salariale')
150 super(RapportMasseSalarialeTest
, self
).setUp()
152 def test_anonyme(self
):
154 Un anonyme ne peut pas accéder à ce rapport
157 self
._test_acces_ko(self
.url
)
159 def test_correspondant_rh(self
):
161 Un correspondant RH peut accéder à ce rapport
163 self
._test_correspondant_rh()
164 self
._test_acces_ok(self
.url
)
167 def test_administrateur_regional(self
):
169 Un administrateur peut accéder à ce rapport
171 self
._test_administrateur_regional()
172 self
._test_acces_ok(self
.url
)
175 def test_directeur_bureau(self
):
177 Un directeur de bureau peut accéder à ce rapport
179 self
._test_directeur_bureau()
180 self
._test_acces_ok(self
.url
)
185 Un DRH peut accéder à ce rapport
188 self
._test_acces_ok(self
.url
)
193 Un DRH (2ieme niveau) peut accéder à ce rapport
196 self
._test_acces_ok(self
.url
)
199 def _test_grp_accior(self
):
201 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
203 self
._test_grp_accior()
204 self
._test_acces_ko(self
.url
)
206 def _test_grp_abf(self
):
208 Un membre de l'ABF ne peut pas accéder à ce rapport
210 self
._test_grp_abf(self
)
211 self
._test_acces_ko(self
.url
)
213 def _test_grp_haute_direction(self
):
215 Un membre de la haute direction ne peut pas accéder à ce rapport
217 self
._test_grp_haute_direction()
218 self
._test_acces_ko(self
.url
)
220 def _test_grp_service_utilisateurs(self
):
222 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
224 self
._test_grp_service_utilisateurs()
225 self
._test_acces_ko(self
.url
)
228 class RapportOrganigrammeTest(RhTest
):
230 Test l'accès aux organigrammes
233 super(RapportOrganigrammeTest
, self
).setUp()
234 self
.url1
= reverse('rho_employe', args
=[1, 'all'])
235 self
.url2
= reverse('rho_employe_sans_niveau', args
=[1])
236 self
.url3
= reverse('rho_service', args
=[1])
237 self
.url4
= reverse('rho_implantation', args
=[90])
238 self
.url5
= reverse('rho_region', args
=[1])
240 self
.url5
= reverse('admin:rh_implantationproxy_changelist')
241 self
.url6
= reverse('admin:rh_serviceproxy_changelist')
242 self
.url7
= reverse('admin:rh_regionproxy_changelist')
243 self
.url8
= reverse('admin:rh_employeproxy_changelist')
257 def test_anonyme(self
):
259 Un anonyme ne peut pas accéder à ce rapport
262 for url
in self
.urls
:
263 self
._test_acces_ko(url
)
265 def test_correspondant_rh(self
):
267 Un correspondant RH peut accéder à ce rapport
269 self
._test_correspondant_rh()
270 for url
in self
.urls
:
271 self
._test_acces_ok(url
)
273 def test_administrateur_regional(self
):
275 Un administrateur peut accéder à ce rapport
277 self
._test_administrateur_regional()
278 for url
in self
.urls
:
279 self
._test_acces_ok(url
)
281 def test_directeur_bureau(self
):
283 Un directeur de bureau peut accéder à ce rapport
285 self
._test_directeur_bureau()
286 for url
in self
.urls
:
287 self
._test_acces_ok(url
)
291 Un DRH peut accéder à ce rapport
294 for url
in self
.urls
:
295 self
._test_acces_ok(url
)
299 Un DRH (2ieme niveau) peut accéder à ce rapport
302 for url
in self
.urls
:
303 self
._test_acces_ok(url
)
305 def _test_grp_accior(self
):
307 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
309 self
._test_grp_accior()
310 for url
in self
.urls
:
311 self
._test_acces_ko(url
)
313 def _test_grp_abf(self
):
315 Un membre de l'ABF ne peut pas accéder à ce rapport
317 self
._test_grp_abf(self
)
318 for url
in self
.urls
:
319 self
._test_acces_ko(url
)
321 def _test_grp_haute_direction(self
):
323 Un membre de la haute direction ne peut pas accéder à ce rapport
325 self
._test_grp_haute_direction()
326 for url
in self
.urls
:
327 self
._test_acces_ko(url
)
329 def _test_grp_service_utilisateurs(self
):
331 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
333 self
._test_grp_service_utilisateurs()
334 for url
in self
.urls
:
335 self
._test_acces_ko(url
)