mirror of
https://framagit.org/la-chariotte/la-chariotte.git
synced 2025-05-01 11:22:24 +02:00
fonction is_ongoing et tests
This commit is contained in:
parent
e979a0e227
commit
c5d9b45f43
2 changed files with 34 additions and 2 deletions
|
@ -1,9 +1,19 @@
|
||||||
|
import datetime
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
class Grouped_order(models.Model):
|
class Grouped_order(models.Model):
|
||||||
name = models.CharField(max_length=100, null=True) # optionnal
|
name = models.CharField(max_length=100, null=True) # optionnal
|
||||||
orga = models.CharField(max_length=100) # a changer, utiliser ForeignKey de user
|
orga = models.CharField(max_length=100) # a changer, utiliser ForeignKey de user
|
||||||
date = models.DateField('Date de livraison')
|
date = models.DateField('Date de livraison')
|
||||||
|
deadline = models.DateTimeField('Date limite de commande')
|
||||||
|
|
||||||
|
def is_ongoing(self):
|
||||||
|
"""Returns True if the grouped order is open for new Orders - False if it's too late"""
|
||||||
|
return self.deadline >= timezone.now()
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name if self.name else f"Commande groupée {self.pk} du {self.date} organisée par {self.orga}"
|
return self.name if self.name else f"Commande groupée {self.pk} du {self.date} organisée par {self.orga}"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,25 @@
|
||||||
from django.test import TestCase
|
import datetime
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.utils import timezone
|
||||||
|
from .models import Grouped_order
|
||||||
|
|
||||||
|
|
||||||
|
class GroupedOrderModelTests(TestCase):
|
||||||
|
|
||||||
|
def test_is_ongoing_with_ongoing_grouped_order(self):
|
||||||
|
"""
|
||||||
|
is_ongoing() returns True if the deadline is not crossed
|
||||||
|
"""
|
||||||
|
deadline = timezone.now() + datetime.timedelta(days=10)
|
||||||
|
ongoing_gr_order = Grouped_order(deadline=deadline)
|
||||||
|
self.assertIs(ongoing_gr_order.is_ongoing(), True)
|
||||||
|
|
||||||
|
def test_is_ongoing_with_old_grouped_order(self):
|
||||||
|
"""
|
||||||
|
is_ongoing() returns False if the deadline is crossed
|
||||||
|
"""
|
||||||
|
deadline = timezone.now() - datetime.timedelta(hours=1)
|
||||||
|
ongoing_gr_order = Grouped_order(deadline=deadline)
|
||||||
|
self.assertIs(ongoing_gr_order.is_ongoing(), False)
|
||||||
|
|
||||||
# Create your tests here.
|
|
||||||
|
|
Loading…
Reference in a new issue