install black and format files

This commit is contained in:
Laetitia Getti 2023-03-30 14:44:14 +02:00
parent 0aaef7aea8
commit 5ec40a5ea3
3 changed files with 113 additions and 10 deletions

View file

@ -14,11 +14,15 @@ class GroupedOrder(models.Model):
"""Returns True if the grouped order is open for new Orders - False if it's too late""" """Returns True if the grouped order is open for new Orders - False if it's too late"""
return self.deadline >= timezone.now() return self.deadline >= timezone.now()
<<<<<<< HEAD
def is_to_be_delivered(self): def is_to_be_delivered(self):
"""Returns True if the grouped order has not been delivered yet - False if it's old""" """Returns True if the grouped order has not been delivered yet - False if it's old"""
return self.delivery_date >= timezone.now().date() return self.delivery_date >= timezone.now().date()
def __str__(self): # pragma: no cover def __str__(self): # pragma: no cover
=======
def __str__(self):
>>>>>>> f6ec481 (install black and format files)
return ( return (
self.name self.name
if self.name if self.name
@ -28,20 +32,32 @@ class GroupedOrder(models.Model):
class Order(models.Model): class Order(models.Model):
grouped_order = models.ForeignKey( grouped_order = models.ForeignKey(
<<<<<<< HEAD
GroupedOrder, on_delete=models.CASCADE, related_name="order_set" GroupedOrder, on_delete=models.CASCADE, related_name="order_set"
=======
Grouped_order, on_delete=models.CASCADE, related_name="order_set"
>>>>>>> f6ec481 (install black and format files)
) )
author = models.CharField( author = models.CharField(
max_length=100, verbose_name="Personne qui passe la commande" max_length=100, verbose_name="Personne qui passe la commande"
) # a changer, utiliser ForeignKey de user ) # a changer, utiliser ForeignKey de user
<<<<<<< HEAD
def __str__(self): # pragma: no cover def __str__(self): # pragma: no cover
=======
def __str__(self):
>>>>>>> f6ec481 (install black and format files)
return f"Commande de {self.author} pour la commande groupée {self.grouped_order.pk}" return f"Commande de {self.author} pour la commande groupée {self.grouped_order.pk}"
class Item(models.Model): class Item(models.Model):
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
grouped_order = models.ForeignKey( grouped_order = models.ForeignKey(
<<<<<<< HEAD
GroupedOrder, on_delete=models.CASCADE GroupedOrder, on_delete=models.CASCADE
=======
Grouped_order, on_delete=models.CASCADE
>>>>>>> f6ec481 (install black and format files)
) # à transformer en manytomany quand il y aura un catalogue ) # à transformer en manytomany quand il y aura un catalogue
ordered_nb = models.IntegerField(default=0) ordered_nb = models.IntegerField(default=0)
@ -58,5 +74,9 @@ class OrderedItem(models.Model):
) )
item = models.ForeignKey(Item, on_delete=models.CASCADE, related_name="orders") item = models.ForeignKey(Item, on_delete=models.CASCADE, related_name="orders")
<<<<<<< HEAD
def __str__(self): # pragma: no cover def __str__(self): # pragma: no cover
=======
def __str__(self):
>>>>>>> f6ec481 (install black and format files)
return f"{self.nb} {self.item}, dans la commande {self.order.pk}" return f"{self.nb} {self.item}, dans la commande {self.order.pk}"

View file

@ -13,10 +13,13 @@ class TestGroupedOrdersModel:
from la_chariotte.order.models import Grouped_order from la_chariotte.order.models import Grouped_order
class TestGroupedOrdersModel:
class TestGroupedOrdersModel():
"""Tests for Grouped orders model""" """Tests for Grouped orders model"""
<<<<<<< HEAD
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
>>>>>>> f6ec481 (install black and format files)
def test_is_ongoing_with_ongoing_grouped_order(self): def test_is_ongoing_with_ongoing_grouped_order(self):
""" """
is_ongoing() returns True if the deadline is not crossed is_ongoing() returns True if the deadline is not crossed
@ -66,4 +69,7 @@ class TestGroupedOrdersModel():
======= =======
ongoing_gr_order = Grouped_order(deadline=deadline) ongoing_gr_order = Grouped_order(deadline=deadline)
assert not ongoing_gr_order.is_ongoing() assert not ongoing_gr_order.is_ongoing()
<<<<<<< HEAD
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
>>>>>>> f6ec481 (install black and format files)

View file

@ -19,13 +19,19 @@ from la_chariotte.order.models import Grouped_order
pytestmark = pytest.mark.django_db pytestmark = pytest.mark.django_db
<<<<<<< HEAD
def create_grouped_order(days_before_delivery_date,days_before_deadline,name): def create_grouped_order(days_before_delivery_date,days_before_deadline,name):
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
def create_grouped_order(days_before_delivery_date, days_before_deadline, name):
>>>>>>> f6ec481 (install black and format files)
""" """
Creates a grouped order. Creates a grouped order.
""" """
date = timezone.now().date() + datetime.timedelta(days=days_before_delivery_date) date = timezone.now().date() + datetime.timedelta(days=days_before_delivery_date)
deadline = timezone.now() + datetime.timedelta(days=days_before_deadline) deadline = timezone.now() + datetime.timedelta(days=days_before_deadline)
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
return GroupedOrder.objects.create( return GroupedOrder.objects.create(
name=name, orga="test orga", delivery_date=date, deadline=deadline name=name, orga="test orga", delivery_date=date, deadline=deadline
@ -71,33 +77,60 @@ class TestGroupedOrderIndexView:
response = client.get(reverse("order:index")) response = client.get(reverse("order:index"))
======= =======
return Grouped_order.objects.create(name=name, orga="test orga",delivery_date=date,deadline=deadline) return Grouped_order.objects.create(name=name, orga="test orga",delivery_date=date,deadline=deadline)
=======
return Grouped_order.objects.create(
name=name, orga="test orga", delivery_date=date, deadline=deadline
)
>>>>>>> f6ec481 (install black and format files)
class TestGroupedOrderIndexView: class TestGroupedOrderIndexView:
def test_no_grouped_orders(self,client): def test_no_grouped_orders(self, client):
""" """
If no grouped order exist, an appropriate message is displayed If no grouped order exist, an appropriate message is displayed
""" """
response = client.get(reverse('order:index')) response = client.get(reverse("order:index"))
assert response.status_code == 200 assert response.status_code == 200
assert "Pas de commande groupée pour l'instant" in response.content.decode() assert "Pas de commande groupée pour l'instant" in response.content.decode()
assert len(response.context['grouped_order_list']['old_grouped_orders']) == 0 assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 0
assert len(response.context['grouped_order_list']['orders_over_grouped_orders']) == 0 assert (
assert len(response.context['grouped_order_list']['incoming_grouped_orders']) == 0 len(response.context["grouped_order_list"]["orders_over_grouped_orders"])
== 0
)
assert (
len(response.context["grouped_order_list"]["incoming_grouped_orders"]) == 0
)
def test_grouped_orders_in_right_section(self,client): def test_grouped_orders_in_right_section(self, client):
""" """
According to their delivery date and deadline, grouped orders are placed in the correct section : several gr orders According to their delivery date and deadline, grouped orders are placed in the correct section : several gr orders
""" """
<<<<<<< HEAD
future_grouped_order = create_grouped_order(days_before_delivery_date=5,days_before_deadline=2,name="future") future_grouped_order = create_grouped_order(days_before_delivery_date=5,days_before_deadline=2,name="future")
crossed_deadline_gr_order = create_grouped_order(days_before_delivery_date=2, days_before_deadline=-1,name="crossed deadline") crossed_deadline_gr_order = create_grouped_order(days_before_delivery_date=2, days_before_deadline=-1,name="crossed deadline")
old_gr_order = create_grouped_order(days_before_delivery_date=-1, days_before_deadline=-3,name="old") old_gr_order = create_grouped_order(days_before_delivery_date=-1, days_before_deadline=-3,name="old")
response = client.get(reverse('order:index')) response = client.get(reverse('order:index'))
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
future_grouped_order = create_grouped_order(
days_before_delivery_date=5, days_before_deadline=2, name="future"
)
crossed_deadline_gr_order = create_grouped_order(
days_before_delivery_date=2,
days_before_deadline=-1,
name="crossed deadline",
)
old_gr_order = create_grouped_order(
days_before_delivery_date=-1, days_before_deadline=-3, name="old"
)
response = client.get(reverse("order:index"))
>>>>>>> f6ec481 (install black and format files)
assert response.status_code == 200 assert response.status_code == 200
assert "Pas de commande groupée pour l'instant" not in response.content.decode() assert "Pas de commande groupée pour l'instant" not in response.content.decode()
assert "Commandes groupées à venir" in response.content.decode() assert "Commandes groupées à venir" in response.content.decode()
assert "Livraison à venir" in response.content.decode() assert "Livraison à venir" in response.content.decode()
assert "Livraison passée" in response.content.decode() assert "Livraison passée" in response.content.decode()
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1 assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1
assert ( assert (
@ -106,6 +139,11 @@ class TestGroupedOrderIndexView:
"crossed_deadline_grouped_orders" "crossed_deadline_grouped_orders"
] ]
) )
=======
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1
assert (
len(response.context["grouped_order_list"]["orders_over_grouped_orders"])
>>>>>>> f6ec481 (install black and format files)
== 1 == 1
) )
assert ( assert (
@ -116,13 +154,18 @@ class TestGroupedOrderIndexView:
== old_gr_order == old_gr_order
) )
assert ( assert (
<<<<<<< HEAD
response.context["grouped_order_list"]["crossed_deadline_grouped_orders"][0] response.context["grouped_order_list"]["crossed_deadline_grouped_orders"][0]
=======
response.context["grouped_order_list"]["orders_over_grouped_orders"][0]
>>>>>>> f6ec481 (install black and format files)
== crossed_deadline_gr_order == crossed_deadline_gr_order
) )
assert ( assert (
response.context["grouped_order_list"]["incoming_grouped_orders"][0] response.context["grouped_order_list"]["incoming_grouped_orders"][0]
== future_grouped_order == future_grouped_order
) )
<<<<<<< HEAD
def test_grouped_orders_in_right_section__with_only_old(self, client): def test_grouped_orders_in_right_section__with_only_old(self, client):
""" """
@ -139,19 +182,29 @@ class TestGroupedOrderIndexView:
assert response.context['grouped_order_list']['old_grouped_orders'][0] == old_gr_order assert response.context['grouped_order_list']['old_grouped_orders'][0] == old_gr_order
assert response.context['grouped_order_list']['orders_over_grouped_orders'][0] == crossed_deadline_gr_order assert response.context['grouped_order_list']['orders_over_grouped_orders'][0] == crossed_deadline_gr_order
assert response.context['grouped_order_list']['incoming_grouped_orders'][0] == future_grouped_order assert response.context['grouped_order_list']['incoming_grouped_orders'][0] == future_grouped_order
=======
>>>>>>> f6ec481 (install black and format files)
def test_grouped_orders_in_right_section__with_only_old(self,client): def test_grouped_orders_in_right_section__with_only_old(self, client):
""" """
According to their delivery date and deadline, grouped orders are placed in correct section : only old gr order According to their delivery date and deadline, grouped orders are placed in correct section : only old gr order
""" """
<<<<<<< HEAD
old_gr_order = create_grouped_order(days_before_delivery_date=-1, days_before_deadline=-3,name="passée") old_gr_order = create_grouped_order(days_before_delivery_date=-1, days_before_deadline=-3,name="passée")
response = client.get(reverse('order:index')) response = client.get(reverse('order:index'))
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
old_gr_order = create_grouped_order(
days_before_delivery_date=-1, days_before_deadline=-3, name="passée"
)
response = client.get(reverse("order:index"))
>>>>>>> f6ec481 (install black and format files)
assert response.status_code == 200 assert response.status_code == 200
assert "Pas de commande groupée pour l'instant" not in response.content.decode() assert "Pas de commande groupée pour l'instant" not in response.content.decode()
assert "Commandes groupées à venir" not in response.content.decode() assert "Commandes groupées à venir" not in response.content.decode()
assert "Livraison à venir" not in response.content.decode() assert "Livraison à venir" not in response.content.decode()
assert "Livraison passée" in response.content.decode() assert "Livraison passée" in response.content.decode()
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1 assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1
assert ( assert (
@ -160,6 +213,11 @@ class TestGroupedOrderIndexView:
"crossed_deadline_grouped_orders" "crossed_deadline_grouped_orders"
] ]
) )
=======
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 1
assert (
len(response.context["grouped_order_list"]["orders_over_grouped_orders"])
>>>>>>> f6ec481 (install black and format files)
== 0 == 0
) )
assert ( assert (
@ -169,6 +227,7 @@ class TestGroupedOrderIndexView:
response.context["grouped_order_list"]["old_grouped_orders"][0] response.context["grouped_order_list"]["old_grouped_orders"][0]
== old_gr_order == old_gr_order
) )
<<<<<<< HEAD
def test_grouped_orders_in_right_section__with_only_future(self, client): def test_grouped_orders_in_right_section__with_only_future(self, client):
""" """
@ -183,19 +242,29 @@ class TestGroupedOrderIndexView:
assert len(response.context['grouped_order_list']['orders_over_grouped_orders']) == 0 assert len(response.context['grouped_order_list']['orders_over_grouped_orders']) == 0
assert len(response.context['grouped_order_list']['incoming_grouped_orders']) == 0 assert len(response.context['grouped_order_list']['incoming_grouped_orders']) == 0
assert response.context['grouped_order_list']['old_grouped_orders'][0] == old_gr_order assert response.context['grouped_order_list']['old_grouped_orders'][0] == old_gr_order
=======
>>>>>>> f6ec481 (install black and format files)
def test_grouped_orders_in_right_section__with_only_future(self,client): def test_grouped_orders_in_right_section__with_only_future(self, client):
""" """
According to their delivery date and deadline, grouped orders are placed in correct section : only incoming gr order According to their delivery date and deadline, grouped orders are placed in correct section : only incoming gr order
""" """
<<<<<<< HEAD
future_grouped_order = create_grouped_order(days_before_delivery_date=5,days_before_deadline=2,name="future") future_grouped_order = create_grouped_order(days_before_delivery_date=5,days_before_deadline=2,name="future")
response = client.get(reverse('order:index')) response = client.get(reverse('order:index'))
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
future_grouped_order = create_grouped_order(
days_before_delivery_date=5, days_before_deadline=2, name="future"
)
response = client.get(reverse("order:index"))
>>>>>>> f6ec481 (install black and format files)
assert response.status_code == 200 assert response.status_code == 200
assert "Pas de commande groupée pour l'instant" not in response.content.decode() assert "Pas de commande groupée pour l'instant" not in response.content.decode()
assert "Commandes groupées à venir" in response.content.decode() assert "Commandes groupées à venir" in response.content.decode()
assert "Livraison à venir" not in response.content.decode() assert "Livraison à venir" not in response.content.decode()
assert "Livraison passée" not in response.content.decode() assert "Livraison passée" not in response.content.decode()
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 0 assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 0
assert ( assert (
@ -204,6 +273,11 @@ class TestGroupedOrderIndexView:
"crossed_deadline_grouped_orders" "crossed_deadline_grouped_orders"
] ]
) )
=======
assert len(response.context["grouped_order_list"]["old_grouped_orders"]) == 0
assert (
len(response.context["grouped_order_list"]["orders_over_grouped_orders"])
>>>>>>> f6ec481 (install black and format files)
== 0 == 0
) )
assert ( assert (
@ -213,6 +287,7 @@ class TestGroupedOrderIndexView:
response.context["grouped_order_list"]["incoming_grouped_orders"][0] response.context["grouped_order_list"]["incoming_grouped_orders"][0]
== future_grouped_order == future_grouped_order
) )
<<<<<<< HEAD
class TestGroupedOrderDetailView: class TestGroupedOrderDetailView:
@ -264,3 +339,5 @@ class TestGroupedOrderDetailView:
assert len(response.context['grouped_order_list']['incoming_grouped_orders']) == 1 assert len(response.context['grouped_order_list']['incoming_grouped_orders']) == 1
assert response.context['grouped_order_list']['incoming_grouped_orders'][0] == future_grouped_order assert response.context['grouped_order_list']['incoming_grouped_orders'][0] == future_grouped_order
>>>>>>> 9cc7783 (install pytest) >>>>>>> 9cc7783 (install pytest)
=======
>>>>>>> f6ec481 (install black and format files)