# -*- coding: utf-8 -*-
-import datetime
from django.core.urlresolvers import reverse
from project.rh.test.common import RhTest
-from project.rh.change_list import KEY_STATUT, STATUT_ACTIF, STATUT_INACTIF,\
- STATUT_FUTUR
-
-
-class EmployeVolumetrieTest(RhTest):
- """
- Test les notions d'actifs / inactifs
- """
-
- today = datetime.today()
- annee_moins_2 = datetime.date(today.year - 2, 1, 1)
- annee_moins_1 = datetime.date(today.year - 1, 1, 1)
- annee_plus_2 = datetime.date(today.year + 2, 1, 1)
- annee_plus_1 = datetime.date(today.year + 1, 1, 1)
-
- def test_actifs(self):
- """
- Test la remontée des dossiers actifs pour 4 employés différents
- avec chacun un dossier.
- """
- # 2 dossiers actifs
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_1
- self.dossier_cnf_ngaoundere.date_fin = self.annee_plus_1
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.date_debut = self.annee_moins_1
- self.dossier_cnf_bangui.date_fin = self.annee_plus_1
- self.dossier_cnf_bangui.save()
-
- # 1 dossier inactif
- self.dossier_bap_bureau.date_debut = self.annee_moins_2
- self.dossier_bap_bureau.date_fin = self.annee_moins_1
- self.dossier_bap_bureau.save()
-
- # 1 dossier futur
- self.dossier_bap_ifi.date_debut = self.annee_plus_1
- self.dossier_bap_ifi.date_fin = self.annee_plus_2
- self.dossier_bap_ifi.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_ACTIF}
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 2)
-
- # Puis 1 seul dossier actif
- self.dossier_cnf_bangui.date_debut = self.annee_moins_2
- self.dossier_cnf_bangui.date_fin = self.annee_moins_1
- self.dossier_cnf_bangui.save()
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- def test_inactifs(self):
- """
- Test la remontée des dossiers inactifs de 4 employés différents
- avec chacun un dossier
- """
- # 2 dossiers actifs
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_1
- self.dossier_cnf_ngaoundere.date_fin = self.annee_plus_1
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.date_debut = self.annee_moins_1
- self.dossier_cnf_bangui.date_fin = self.annee_plus_1
- self.dossier_cnf_bangui.save()
-
- # 1 dossier inactif
- self.dossier_bap_bureau.date_debut = self.annee_moins_2
- self.dossier_bap_bureau.date_fin = self.annee_moins_1
- self.dossier_bap_bureau.save()
-
- # 1 dossier futur
- self.dossier_bap_ifi.date_debut = self.annee_plus_1
- self.dossier_bap_ifi.date_fin = self.annee_plus_2
- self.dossier_bap_ifi.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_INACTIF}
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- # Puis 1 seul dossier actif
- self.dossier_cnf_bangui.date_debut = self.annee_moins_2
- self.dossier_cnf_bangui.date_fin = self.annee_moins_1
- self.dossier_cnf_bangui.save()
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 2)
-
- def test_futurs(self):
- """
- Test la remontée des dossiers futurs pour 4 employés différents
- avec chacun un dossier.
- """
- # 2 dossiers actifs
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_1
- self.dossier_cnf_ngaoundere.date_fin = self.annee_plus_1
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.date_debut = self.annee_moins_1
- self.dossier_cnf_bangui.date_fin = self.annee_plus_1
- self.dossier_cnf_bangui.save()
-
- # 1 dossier inactif
- self.dossier_bap_bureau.date_debut = self.annee_moins_2
- self.dossier_bap_bureau.date_fin = self.annee_moins_1
- self.dossier_bap_bureau.save()
-
- # 1 dossier futur
- self.dossier_bap_ifi.date_debut = self.annee_plus_1
- self.dossier_bap_ifi.date_fin = self.annee_plus_2
- self.dossier_bap_ifi.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_FUTUR}
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- # Puis 1 seul dossier actif
- self.dossier_cnf_bangui.date_debut = self.annee_moins_2
- self.dossier_cnf_bangui.date_fin = self.annee_moins_1
- self.dossier_cnf_bangui.save()
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- def test_2_dossiers_actifs(self):
- """
- Test employe qui a 2 dossiers actifs.
- """
- self.dossier_bap_bureau.delete()
- self.dossier_bap_ifi.delete()
-
- # 2 dossiers actifs
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_1
- self.dossier_cnf_ngaoundere.date_fin = self.annee_plus_1
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.date_debut = self.annee_moins_1
- self.dossier_cnf_bangui.date_fin = self.annee_plus_1
- self.dossier_cnf_bangui.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_ACTIF}
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- def test_1_dossier_actif(self):
- """
- Test employe qui a 1 dossier actifs et 1 inactif.
- """
- self.dossier_bap_bureau.delete()
- self.dossier_bap_ifi.delete()
-
- self.dossier_cnf_ngaoundere = self.employe_cnf_ngaoundere
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_2
- self.dossier_cnf_ngaoundere.date_fin = None
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.employe = self.employe_cnf_ngaoundere
- self.dossier_cnf_bangui.date_debut = self.annee_moins_2
- self.dossier_cnf_bangui.date_fin = self.annee_moins_1
- self.dossier_cnf_bangui.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_ACTIF}
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 1)
-
- def test_2_dossiers_inactifs(self):
- """
- Test employe qui a 2 dossiers inactifs.
- """
- self.dossier_bap_bureau.delete()
- self.dossier_bap_ifi.delete()
-
- self.dossier_cnf_ngaoundere.employe = self.employe_cnf_ngaoundere
- self.dossier_cnf_ngaoundere.date_debut = self.annee_moins_2
- self.dossier_cnf_ngaoundere.date_fin = self.annee_moins__1
- self.dossier_cnf_ngaoundere.save()
-
- self.dossier_cnf_bangui.employe = self.employe_cnf_ngaoundere
- self.dossier_cnf_bangui.date_debut = self.annee_moins_2
- self.dossier_cnf_bangui.date_fin = self.annee_moins__1
- self.dossier_cnf_bangui.save()
-
- self._test_drh()
- url = reverse('admin:rh_employe_changelist')
- params = {KEY_STATUT: STATUT_ACTIF}
-
- qs = self.client.get(url, params).context['cl'].query_set
- self.assertEqual(len(qs), 0)
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_haute_direction(self):
+ 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):
"""
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é
"""
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é
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_haute_direction(self):
+ 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):
"""
Un membre de la haute direction ne peut pas voir les employés
"""
dossiers = self.client.get(self.url2).context['dossiers']
self.assertEqual(len(dossiers), 1)
- def _test_grp_accior(self):
+ 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):
+ 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)
+ self._test_grp_abf()
self._test_acces_ko(self.url)
- def _test_grp_haute_direction(self):
+ 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):
+ def test_grp_service_utilisateurs(self):
"""
Un membre du groupe service utilisateur ne pas pas voir
les aperçus d'employés