Files
test_OgureNG/backend-django/backend/tests/models/calcul.py
2022-11-08 21:19:51 +01:00

35 lines
1.1 KiB
Python

from django.db.utils import IntegrityError
from django.test import TestCase
from django.utils import timezone
from ...models.calcul import Calcul, SousVivier
from ...models.calcul import StatutCalculChoices as StatutCalcul
class CalculTestCase(TestCase):
@classmethod
def setUpTestData(cls):
for i in range(1, 15):
SousVivier.objects.create(pk=str(i))
def test_constraint_statut(self):
valides = StatutCalcul.values
invalide = 'autre'
def given():
self.assertTrue(valides, 'il devrait exister des choix valides')
self.assertNotIn(invalide, valides, 'le test nécessite une valeur invalide')
given()
i = 1
# valide : création OK
for valide in valides:
Calcul.objects.create(pk=str(i), ca_date_debut=timezone.now(), ca_statut=valide, ca_statut_pourcentage=0)
i = i + 1
# invalide : création KO
with self.assertRaises(IntegrityError):
Calcul.objects.create(pk=str(i), ca_date_debut=timezone.now(), ca_statut=invalide, ca_statut_pourcentage=0)