volumetrie postes
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 31 Jul 2012 12:16:31 +0000 (08:16 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 31 Jul 2012 12:16:31 +0000 (08:16 -0400)
project/rh/test/manager.py

index c8f8262..e279f13 100644 (file)
@@ -6,6 +6,145 @@ from project.rh.test.common import RhTest
 from project.rh.change_list import KEY_STATUT, STATUT_ACTIF, STATUT_INACTIF,\
     STATUT_FUTUR
 
+
+class PosteVolumetrieTest(RhTest):
+    """
+    Test les notions d'actifs / inactifs
+    """
+
+    today = datetime.date.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 postes actifs.
+        """
+        self.poste_cnf_ngaoundere.date_debut = self.annee_moins_1
+        self.poste_cnf_ngaoundere.date_fin = self.annee_plus_1
+        self.poste_cnf_ngaoundere.save()
+
+        self.poste_cnf_bangui.date_debut = self.annee_moins_1
+        self.poste_cnf_bangui.date_fin = self.annee_plus_1
+        self.poste_cnf_bangui.save()
+
+        self.poste_bap_bureau.date_debut = self.annee_moins_1
+        self.poste_bap_bureau.date_fin = None
+        self.poste_bap_bureau.save()
+
+        self.poste_bap_ifi.date_debut = self.annee_moins_1
+        self.poste_bap_ifi.date_fin = None
+        self.poste_bap_ifi.save()
+    
+        self._test_drh()
+        url = reverse('admin:rh_poste_changelist')
+        params = {KEY_STATUT: STATUT_ACTIF}
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 4)
+
+        # puis 1 poste inactif
+        self.poste_bap_ifi.date_debut = self.annee_moins_2
+        self.poste_bap_ifi.date_fin = self.annee_moins_1
+        self.poste_bap_ifi.save()
+
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 3)
+
+        # puis 1 poste futur
+        self.poste_cnf_bangui.date_debut = self.annee_plus_1
+        self.poste_cnf_bangui.date_fin = None
+        self.poste_cnf_bangui.save()
+
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 2)
+
+    def test_inactifs(self):
+        """
+        Test la remontée des postes inactifs.
+        """
+        self.poste_cnf_ngaoundere.date_debut = self.annee_moins_2
+        self.poste_cnf_ngaoundere.date_fin = self.annee_moins_1
+        self.poste_cnf_ngaoundere.save()
+
+        self.poste_cnf_bangui.date_debut = self.annee_moins_2
+        self.poste_cnf_bangui.date_fin = self.annee_moins_1
+        self.poste_cnf_bangui.save()
+
+        self.poste_bap_bureau.date_debut = self.annee_moins_2
+        self.poste_bap_bureau.date_fin = self.annee_moins_1
+        self.poste_bap_bureau.save()
+
+        self.poste_bap_ifi.date_debut = self.annee_moins_2
+        self.poste_bap_ifi.date_fin = self.annee_moins_1
+        self.poste_bap_ifi.save()
+    
+        self._test_drh()
+        url = reverse('admin:rh_poste_changelist')
+        params = {KEY_STATUT: STATUT_INACTIF}
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 4)
+
+        # puis 1 actif
+        self.poste_bap_bureau.date_debut = self.annee_moins_2
+        self.poste_bap_bureau.date_fin = self.annee_plus_1
+        self.poste_bap_bureau.save()
+
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 3)
+
+        # puis 1 futur
+        self.poste_bap_ifi.date_debut = self.annee_plus_1
+        self.poste_bap_ifi.date_fin = self.annee_plus_2
+        self.poste_bap_ifi.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 postes futurs.
+        """
+        self.poste_cnf_ngaoundere.date_debut = self.annee_plus_1
+        self.poste_cnf_ngaoundere.date_fin = self.annee_plus_2
+        self.poste_cnf_ngaoundere.save()
+
+        self.poste_cnf_bangui.date_debut = self.annee_plus_1
+        self.poste_cnf_bangui.date_fin = self.annee_plus_2
+        self.poste_cnf_bangui.save()
+
+        self.poste_bap_bureau.date_debut = self.annee_plus_1
+        self.poste_bap_bureau.date_fin = self.annee_plus_2
+        self.poste_bap_bureau.save()
+
+        self.poste_bap_ifi.date_debut = self.annee_plus_1
+        self.poste_bap_ifi.date_fin = self.annee_plus_2
+        self.poste_bap_ifi.save()
+
+        self._test_drh()
+        url = reverse('admin:rh_poste_changelist')
+        params = {KEY_STATUT: STATUT_FUTUR}
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 4)
+
+        # puis 1 actif
+        self.poste_bap_bureau.date_debut = self.annee_moins_1
+        self.poste_bap_bureau.date_fin = self.annee_plus_2
+        self.poste_bap_bureau.save()
+
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 3)
+
+        # puis 1 inactif
+        self.poste_bap_ifi.date_debut = self.annee_moins_2
+        self.poste_bap_ifi.date_fin = self.annee_moins_1
+        self.poste_bap_ifi.save()
+
+        qs = self.client.get(url, params).context['cl'].query_set
+        self.assertEqual(len(qs), 2)
+
+
 class EmployeVolumetrieTest(RhTest):
     """
     Test les notions d'actifs / inactifs