50284aa103d32be50581997a25d31abbda1e2059
[auf_rh_dae.git] / project / rh / test / rapport.py
1 # -*- coding: utf-8 -*-
2
3 from django.core.urlresolvers import reverse
4 from project.rh.test.common import RhTest
5 from project.rh import models as rh
6
7 class RapportContratTest(RhTest):
8 """
9 Test l'accès au rapport des contrats
10 """
11 url = reverse('rhr_contrats')
12
13 def setUp(self):
14 super(RapportContratTest, self).setUp()
15
16 cdi = rh.TypeContrat(nom="CDI")
17 cdi.save()
18
19 contrat = rh.Contrat(
20 type_contrat=cdi,
21 date_debut=self.today,
22 dossier=self.dossier_cnf_ngaoundere,)
23 contrat.save()
24
25 contrat = rh.Contrat(
26 type_contrat=cdi,
27 date_debut=self.today,
28 dossier=self.dossier_bap_ifi)
29 contrat.save()
30
31 salaire = rh.TypeRemuneration(nom="salaire",
32 type_paiement="Régulier",
33 nature_remuneration="Indemnité",
34 )
35 salaire.save()
36
37 dollar = rh.Devise(code="CAD", nom="Dollar CAD")
38 dollar.save()
39
40 remun_cnf_ngaoundere = rh.Remuneration(
41 type=salaire,
42 date_debut=self.today,
43 dossier=self.dossier_cnf_ngaoundere,
44 montant="100",
45 devise=dollar,
46 )
47 remun_cnf_ngaoundere.save()
48
49 remun_bap_ifi = rh.Remuneration(
50 type=salaire,
51 date_debut=self.today,
52 dossier=self.dossier_bap_ifi,
53 montant="200",
54 devise=dollar,
55 )
56 remun_bap_ifi.save()
57
58
59 def test_anonyme(self):
60 """
61 Un anonyme ne peut pas accéder à ce rapport
62 """
63 self._test_anonyme()
64 self._test_acces_ko(self.url)
65
66 def test_correspondant_rh(self):
67 """
68 Un correspondant RH peut accéder à ce rapport limité aux dossiers de sa
69 région
70 """
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)
75
76 def test_administrateur_regional(self):
77 """
78 Un administrateur peut accéder à ce rapport limité aux dossiers de sa
79 région
80 """
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)
85
86 def test_directeur_bureau(self):
87 """
88 Un directeur de bureau peut accéder à ce rapport limité aux dossiers de
89 sa région
90 """
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)
95
96 def test_drh(self):
97 """
98 Un DRH peut accéder à ce rapport
99 """
100 self._test_drh()
101 self._test_acces_ok(self.url)
102 contrats = self.client.get(self.url).context['contrats']
103 self.assertEqual(len(contrats), 2)
104
105 def test_drh2(self):
106 """
107 Un DRH (2ieme niveau) peut accéder à ce rapport
108 """
109 self._test_drh2()
110 self._test_acces_ok(self.url)
111 contrats = self.client.get(self.url).context['contrats']
112 self.assertEqual(len(contrats), 2)
113
114 def _test_grp_accior(self):
115 """
116 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
117 """
118 self._test_grp_accior()
119 self._test_acces_ko(self.url)
120
121 def _test_grp_abf(self):
122 """
123 Un membre de l'ABF ne peut pas accéder à ce rapport
124 """
125 self._test_grp_abf(self)
126 self._test_acces_ko(self.url)
127
128 def _test_grp_haute_direction(self):
129 """
130 Un membre de la haute direction ne peut pas accéder à ce rapport
131 """
132 self._test_grp_haute_direction()
133 self._test_acces_ko(self.url)
134
135 def _test_grp_service_utilisateurs(self):
136 """
137 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
138 """
139 self._test_grp_service_utilisateurs()
140 self._test_acces_ko(self.url)
141
142
143 class RapportMasseSalarialeTest(RhTest):
144 """
145 Test l'accès au rapport de masse salariale
146 """
147 url = reverse('rhr_masse_salariale')
148
149 def setUp(self):
150 super(RapportMasseSalarialeTest, self).setUp()
151
152 def test_anonyme(self):
153 """
154 Un anonyme ne peut pas accéder à ce rapport
155 """
156 self._test_anonyme()
157 self._test_acces_ko(self.url)
158
159 def test_correspondant_rh(self):
160 """
161 Un correspondant RH peut accéder à ce rapport
162 """
163 self._test_correspondant_rh()
164 self._test_acces_ok(self.url)
165 # todo TEST rapport
166
167 def test_administrateur_regional(self):
168 """
169 Un administrateur peut accéder à ce rapport
170 """
171 self._test_administrateur_regional()
172 self._test_acces_ok(self.url)
173 # todo TEST rapport
174
175 def test_directeur_bureau(self):
176 """
177 Un directeur de bureau peut accéder à ce rapport
178 """
179 self._test_directeur_bureau()
180 self._test_acces_ok(self.url)
181 # todo TEST rapport
182
183 def test_drh(self):
184 """
185 Un DRH peut accéder à ce rapport
186 """
187 self._test_drh()
188 self._test_acces_ok(self.url)
189 # todo TEST rapport
190
191 def test_drh2(self):
192 """
193 Un DRH (2ieme niveau) peut accéder à ce rapport
194 """
195 self._test_drh2()
196 self._test_acces_ok(self.url)
197 # todo TEST rapport
198
199 def _test_grp_accior(self):
200 """
201 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
202 """
203 self._test_grp_accior()
204 self._test_acces_ko(self.url)
205
206 def _test_grp_abf(self):
207 """
208 Un membre de l'ABF ne peut pas accéder à ce rapport
209 """
210 self._test_grp_abf(self)
211 self._test_acces_ko(self.url)
212
213 def _test_grp_haute_direction(self):
214 """
215 Un membre de la haute direction ne peut pas accéder à ce rapport
216 """
217 self._test_grp_haute_direction()
218 self._test_acces_ko(self.url)
219
220 def _test_grp_service_utilisateurs(self):
221 """
222 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
223 """
224 self._test_grp_service_utilisateurs()
225 self._test_acces_ko(self.url)
226
227
228 class RapportOrganigrammeTest(RhTest):
229 """
230 Test l'accès aux organigrammes
231 """
232 def setUp(self):
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])
239
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')
244
245 self.urls = (
246 #self.url1,
247 #self.url2,
248 #self.url3,
249 #self.url4,
250 self.url5,
251 self.url6,
252 self.url7,
253 self.url8,
254 )
255
256
257 def test_anonyme(self):
258 """
259 Un anonyme ne peut pas accéder à ce rapport
260 """
261 self._test_anonyme()
262 for url in self.urls:
263 self._test_acces_ko(url)
264
265 def test_correspondant_rh(self):
266 """
267 Un correspondant RH peut accéder à ce rapport
268 """
269 self._test_correspondant_rh()
270 for url in self.urls:
271 self._test_acces_ok(url)
272
273 def test_administrateur_regional(self):
274 """
275 Un administrateur peut accéder à ce rapport
276 """
277 self._test_administrateur_regional()
278 for url in self.urls:
279 self._test_acces_ok(url)
280
281 def test_directeur_bureau(self):
282 """
283 Un directeur de bureau peut accéder à ce rapport
284 """
285 self._test_directeur_bureau()
286 for url in self.urls:
287 self._test_acces_ok(url)
288
289 def test_drh(self):
290 """
291 Un DRH peut accéder à ce rapport
292 """
293 self._test_drh()
294 for url in self.urls:
295 self._test_acces_ok(url)
296
297 def test_drh2(self):
298 """
299 Un DRH (2ieme niveau) peut accéder à ce rapport
300 """
301 self._test_drh2()
302 for url in self.urls:
303 self._test_acces_ok(url)
304
305 def _test_grp_accior(self):
306 """
307 Un membre de l'ACCIOR ne peut pas accéder à ce rapport
308 """
309 self._test_grp_accior()
310 for url in self.urls:
311 self._test_acces_ko(url)
312
313 def _test_grp_abf(self):
314 """
315 Un membre de l'ABF ne peut pas accéder à ce rapport
316 """
317 self._test_grp_abf(self)
318 for url in self.urls:
319 self._test_acces_ko(url)
320
321 def _test_grp_haute_direction(self):
322 """
323 Un membre de la haute direction ne peut pas accéder à ce rapport
324 """
325 self._test_grp_haute_direction()
326 for url in self.urls:
327 self._test_acces_ko(url)
328
329 def _test_grp_service_utilisateurs(self):
330 """
331 Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
332 """
333 self._test_grp_service_utilisateurs()
334 for url in self.urls:
335 self._test_acces_ko(url)