from django.test import TestCase import datetime from django.utils import timezone from users.models import User from cotisations.models import Vente, Facture, Paiement class UserModelTests(TestCase): def setUp(self): self.user = User.objects.create(pseudo="testUser") def tearDown(self): self.user.facture_set.all().delete() self.user.delete() def test_multiple_cotisations_are_taken_into_account(self): paiement = Paiement.objects.create(moyen="test payment") invoice = Facture.objects.create(user=self.user, paiement=paiement, valid=True) date = timezone.now() purchase1 = Vente.objects.create( facture=invoice, number=1, name="Test purchase", duration=0, duration_days=1, type_cotisation="All", prix=0, ) purchase2 = Vente.objects.create( facture=invoice, number=1, name="Test purchase", duration=0, duration_days=1, type_cotisation="All", prix=0, ) self.assertAlmostEqual( self.user.end_connexion() - date, datetime.timedelta(days=2), delta=datetime.timedelta(seconds=1), )