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