#3774
[auf_rh_dae.git] / project / rh / test / employe.py
index 68d9892..0662b4c 100644 (file)
@@ -3,6 +3,7 @@
 from django.core.urlresolvers import reverse
 from project.rh.test.common import RhTest
 
+
 class EmployeAddTest(RhTest):
     """
     Test l'ajout d'un employé
@@ -51,28 +52,35 @@ class EmployeAddTest(RhTest):
         self._test_drh2()
         self._test_acces_ok(self.url)
 
-    def _test_grp_accior(self):
+    def test_grp_accior(self):
         """
         Un membre de l'ACCIOR ne peut pas ajouter un employé
         """
         self._test_grp_accior()
         self._test_acces_ko(self.url)
 
-    def _test_grp_abf(self):
+    def test_grp_abf(self):
         """
         Un membre de l'ABF ne peut pas ajouter un employé
         """
-        self._test_grp_abf(self)
+        self._test_grp_abf()
+        self._test_acces_ko(self.url)
+
+    def test_grp_finance(self):
+        """
+        Un membre de Finance ne peut pas ajouter un employé
+        """
+        self._test_grp_finance()
         self._test_acces_ko(self.url)
 
-    def _test_grp_haute_direction(self):
+    def test_grp_haute_direction(self):
         """
         Un membre de la haute direction ne peut pas ajouter un employé
         """
         self._test_grp_haute_direction()
         self._test_acces_ko(self.url)
 
-    def _test_grp_service_utilisateurs(self):
+    def test_grp_service_utilisateurs(self):
         """
         Un membre du groupe service utilisateur ne peut pas ajouter un employé
         """
@@ -139,23 +147,31 @@ class EmployeDeleteTest(RhTest):
         self._test_grp_accior()
         self._test_acces_ko(self.url)
 
-    def _test_grp_abf(self):
+    def test_grp_abf(self):
+        """
+        Un membre de l'ABF ne peut pas supprimer un employé
+        """
+        self._test_grp_abf()
+        self._test_acces_ko(self.url)
+
+    def test_grp_finance(self):
         """
-        Un membre de l'ABF  ne peut pas supprimer un employé
+        Un membre de Finance ne peut pas supprimer un employé
         """
-        self._test_grp_abf(self)
+        self._test_grp_abf()
         self._test_acces_ko(self.url)
 
-    def _test_grp_haute_direction(self):
+    def test_grp_haute_direction(self):
         """
-        Un membre de la haute direction  ne peut pas supprimer un employé
+        Un membre de la haute direction ne peut pas supprimer un employé
         """
         self._test_grp_haute_direction()
         self._test_acces_ko(self.url)
 
-    def _test_grp_service_utilisateurs(self):
+    def test_grp_service_utilisateurs(self):
         """
-        Un membre du groupe service utilisateur  ne peut pas supprimer un employé
+        Un membre du groupe service utilisateur
+        ne peut pas supprimer un employé
         """
         self._test_grp_service_utilisateurs()
         self._test_acces_ko(self.url)
@@ -220,21 +236,28 @@ class EmployeListTest(RhTest):
         self._test_drh2()
         self._test_acces_ok(self.url)
 
-    def _test_grp_accior(self):
+    def test_grp_accior(self):
         """
         Un membre de l'ACCIOR ne peut pas voir les employés
         """
         self._test_grp_accior()
         self._test_acces_ko(self.url)
 
-    def _test_grp_abf(self):
+    def test_grp_abf(self):
         """
         Un membre de l'ABF ne peut pas voir les employés
         """
-        self._test_grp_abf(self)
+        self._test_grp_abf()
+        self._test_acces_ko(self.url)
+
+    def test_grp_finance(self):
+        """
+        Un membre de Finance ne peut pas voir les employés
+        """
+        self._test_grp_finance()
         self._test_acces_ko(self.url)
 
-    def _test_grp_haute_direction(self):
+    def test_grp_haute_direction(self):
         """
         Un membre de la haute direction  ne peut pas voir les employés
         """
@@ -243,7 +266,127 @@ class EmployeListTest(RhTest):
 
     def _test_grp_service_utilisateurs(self):
         """
-        Un membre du groupe service utilisateur voir les employés
+        Un membre du groupe service utilisateur ne peut pas voir les employés
+        """
+        self._test_grp_service_utilisateurs()
+        self._test_acces_ko(self.url)
+
+
+class EmployeApercuTest(RhTest):
+    """
+    Test l'accès à un aperçu de l'employé
+    """
+
+    def setUp(self):
+        super(EmployeApercuTest, self).setUp()
+        self.url = reverse('employe_apercu',
+                args=[self.employe_cnf_ngaoundere.id])
+        self.url2 = reverse('employe_apercu',
+                args=[self.employe_bap_ifi.id])
+
+    def test_anonyme(self):
+        """
+        Un anonyme ne peut pas voir l'aperçu
+        """
+        self._test_anonyme()
+        self._test_acces_ko(self.url)
+
+    def test_correspondant_rh(self):
+        """
+        Un correspondant RH peut voir l'aperçu
+        Les dossiers qui ne sont pas de sa région ne sont pas disponibles
+        """
+        self._test_correspondant_rh()
+        self._test_acces_ok(self.url)
+        dossiers = self.client.get(self.url).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+        self._test_acces_ok(self.url2)
+        dossiers = self.client.get(self.url2).context['dossiers']
+        self.assertEqual(len(dossiers), 0)
+
+    def test_administrateur_regional(self):
+        """
+        Un administrateur peut voir l'aperçu de l'employé
+        Les dossiers qui ne sont pas de sa région ne sont pas disponibles
+        """
+        self._test_administrateur_regional()
+        self._test_acces_ok(self.url)
+        dossiers = self.client.get(self.url).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+        self._test_acces_ok(self.url2)
+        dossiers = self.client.get(self.url2).context['dossiers']
+        self.assertEqual(len(dossiers), 0)
+
+    def test_directeur_bureau(self):
+        """
+        Un directeur de bureau peut voir l'aperçu employé
+        Les dossiers qui ne sont pas de sa région ne sont pas disponibles
+        """
+        self._test_directeur_bureau()
+        dossiers = self.client.get(self.url).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+        self._test_acces_ok(self.url2)
+        dossiers = self.client.get(self.url2).context['dossiers']
+        self.assertEqual(len(dossiers), 0)
+
+    def test_drh(self):
+        """
+        Un DRH  peut voir tous les aperçus d'employés avec tous les dossiers
+        """
+        self._test_drh()
+        self._test_acces_ok(self.url)
+        self._test_acces_ok(self.url2)
+        dossiers = self.client.get(self.url).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+        dossiers = self.client.get(self.url2).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+
+    def test_drh2(self):
+        """
+        Un DRH (2ieme niveau) peut voir tous les aperçus d'employés
+        avec tous les dossiers
+        """
+        self._test_drh2()
+        self._test_acces_ok(self.url)
+        self._test_acces_ok(self.url2)
+        dossiers = self.client.get(self.url).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+        dossiers = self.client.get(self.url2).context['dossiers']
+        self.assertEqual(len(dossiers), 1)
+
+    def test_grp_accior(self):
+        """
+        Un membre de l'ACCIOR ne peut pas voir les aperçus d'employés
+        """
+        self._test_grp_accior()
+        self._test_acces_ko(self.url)
+
+    def test_grp_abf(self):
+        """
+        Un membre de l'ABF ne peut pas voir les aperçus d'employés
+        """
+        self._test_grp_abf()
+        self._test_acces_ko(self.url)
+
+    def test_grp_finance(self):
+        """
+        Un membre de Finance ne peut pas voir les aperçus d'employés
+        """
+        self._test_grp_finance()
+        self._test_acces_ko(self.url)
+
+    def test_grp_haute_direction(self):
+        """
+        Un membre de la haute direction ne peut pas voir
+        les aperçus d'employés
+        """
+        self._test_grp_haute_direction()
+        self._test_acces_ko(self.url)
+
+    def test_grp_service_utilisateurs(self):
+        """
+        Un membre du groupe service utilisateur ne pas pas voir
+        les aperçus d'employés
         """
         self._test_grp_service_utilisateurs()
         self._test_acces_ko(self.url)