raport masse salariale region
[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
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
f96ec25c
OL
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 """
35069664
OL
68 Un correspondant RH peut accéder à ce rapport limité aux dossiers de sa
69 région
f96ec25c
OL
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 """
35069664
OL
78 Un administrateur peut accéder à ce rapport limité aux dossiers de sa
79 région
f96ec25c
OL
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 """
35069664
OL
88 Un directeur de bureau peut accéder à ce rapport limité aux dossiers de
89 sa région
f96ec25c
OL
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)
35069664
OL
141
142
143class 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)
f844c380 165 # todo TEST rapport
35069664
OL
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)
f844c380 173 # todo TEST rapport
35069664
OL
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)
f844c380 181 # todo TEST rapport
35069664
OL
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)
f844c380 189 # todo TEST rapport
35069664
OL
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)
f844c380 197 # todo TEST rapport
35069664
OL
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)