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