Commit | Line | Data |
---|---|---|
f96ec25c OL |
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 | ||
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", | |
83a22aff | 51 | devise=self.devise_cad, |
f844c380 OL |
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 | ||
140 | class 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 | ||
225 | class 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) |