mirror of
https://framagit.org/la-chariotte/la-chariotte.git
synced 2025-05-01 11:22:24 +02:00
correct tests
This commit is contained in:
parent
1edd6322f4
commit
8ab776fad0
4 changed files with 8 additions and 158 deletions
|
@ -9,85 +9,49 @@ asgiref==3.6.0
|
||||||
attrs==22.2.0
|
attrs==22.2.0
|
||||||
# via pytest
|
# via pytest
|
||||||
black==23.3.0
|
black==23.3.0
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
# via pytest-black
|
# via pytest-black
|
||||||
build==0.10.0
|
build==0.10.0
|
||||||
# via pip-tools
|
# via pip-tools
|
||||||
chardet==4.0.0
|
chardet==4.0.0
|
||||||
# via diff-cover
|
# via diff-cover
|
||||||
=======
|
|
||||||
# via flake8-black
|
# via flake8-black
|
||||||
build==0.10.0
|
build==0.10.0
|
||||||
# via pip-tools
|
# via pip-tools
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
# via
|
|
||||||
# flake8-black
|
|
||||||
# pytest-black
|
|
||||||
=======
|
|
||||||
# via pytest-black
|
# via pytest-black
|
||||||
>>>>>>> db38729 (delete flake8)
|
|
||||||
build==0.10.0
|
|
||||||
# via pip-tools
|
|
||||||
chardet==4.0.0
|
chardet==4.0.0
|
||||||
# via diff-cover
|
# via diff-cover
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
click==8.1.3
|
click==8.1.3
|
||||||
# via
|
# via
|
||||||
# black
|
# black
|
||||||
# pip-tools
|
# pip-tools
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
coverage[toml]==7.2.2
|
coverage[toml]==7.2.2
|
||||||
# via pytest-cov
|
# via pytest-cov
|
||||||
diff-cover==4.2.3
|
diff-cover==4.2.3
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
django==4.2
|
django==4.2
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
exceptiongroup==1.1.1
|
exceptiongroup==1.1.1
|
||||||
# via pytest
|
# via pytest
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> db38729 (delete flake8)
|
|
||||||
importlib-metadata==6.1.0
|
importlib-metadata==6.1.0
|
||||||
# via inflect
|
# via inflect
|
||||||
inflect==3.0.2
|
inflect==3.0.2
|
||||||
# via
|
# via
|
||||||
# diff-cover
|
# diff-cover
|
||||||
# jinja2-pluralize
|
# jinja2-pluralize
|
||||||
=======
|
|
||||||
flake8==6.0.0
|
flake8==6.0.0
|
||||||
# via flake8-black
|
# via flake8-black
|
||||||
flake8-black==0.3.6
|
flake8-black==0.3.6
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
<<<<<<< HEAD
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
importlib-metadata==6.1.0
|
importlib-metadata==6.1.0
|
||||||
# via inflect
|
# via inflect
|
||||||
inflect==3.0.2
|
inflect==3.0.2
|
||||||
# via
|
# via
|
||||||
# diff-cover
|
# diff-cover
|
||||||
# jinja2-pluralize
|
# jinja2-pluralize
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
iniconfig==2.0.0
|
iniconfig==2.0.0
|
||||||
# via pytest
|
# via pytest
|
||||||
isort==5.12.0
|
isort==5.12.0
|
||||||
# via pytest-isort
|
# via pytest-isort
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
jinja2==3.1.2
|
jinja2==3.1.2
|
||||||
# via
|
# via
|
||||||
# diff-cover
|
# diff-cover
|
||||||
|
@ -96,16 +60,8 @@ jinja2-pluralize==0.3.0
|
||||||
# via diff-cover
|
# via diff-cover
|
||||||
markupsafe==2.1.2
|
markupsafe==2.1.2
|
||||||
# via jinja2
|
# via jinja2
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
mccabe==0.7.0
|
mccabe==0.7.0
|
||||||
# via flake8
|
# via flake8
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
>>>>>>> db38729 (delete flake8)
|
|
||||||
mypy-extensions==1.0.0
|
mypy-extensions==1.0.0
|
||||||
# via black
|
# via black
|
||||||
packaging==23.0
|
packaging==23.0
|
||||||
|
@ -120,46 +76,25 @@ pip-tools==6.12.3
|
||||||
platformdirs==3.2.0
|
platformdirs==3.2.0
|
||||||
# via black
|
# via black
|
||||||
pluggy==1.0.0
|
pluggy==1.0.0
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
# via
|
# via
|
||||||
# diff-cover
|
# diff-cover
|
||||||
# pytest
|
# pytest
|
||||||
psycopg2-binary==2.9.6
|
psycopg2-binary==2.9.6
|
||||||
<<<<<<< HEAD
|
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
pygments==2.14.0
|
pygments==2.14.0
|
||||||
# via diff-cover
|
# via diff-cover
|
||||||
=======
|
|
||||||
# via pytest
|
|
||||||
psycopg2==2.9.6
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
<<<<<<< HEAD
|
|
||||||
pycodestyle==2.10.0
|
pycodestyle==2.10.0
|
||||||
# via flake8
|
# via flake8
|
||||||
pyflakes==3.0.1
|
pyflakes==3.0.1
|
||||||
# via flake8
|
# via flake8
|
||||||
<<<<<<< HEAD
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
=======
|
|
||||||
>>>>>>> db38729 (delete flake8)
|
|
||||||
pygments==2.14.0
|
pygments==2.14.0
|
||||||
# via diff-cover
|
# via diff-cover
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
pyproject-hooks==1.0.0
|
pyproject-hooks==1.0.0
|
||||||
# via build
|
# via build
|
||||||
pytest==7.2.2
|
pytest==7.2.2
|
||||||
# via
|
# via
|
||||||
# la-chariotte (pyproject.toml)
|
# la-chariotte (pyproject.toml)
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
# pytest-black
|
# pytest-black
|
||||||
# pytest-cov
|
# pytest-cov
|
||||||
# pytest-django
|
# pytest-django
|
||||||
|
@ -168,35 +103,18 @@ pytest-black==0.3.12
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
pytest-cov==4.0.0
|
pytest-cov==4.0.0
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
# pytest-django
|
|
||||||
# pytest-isort
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
pytest-django==4.5.2
|
pytest-django==4.5.2
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
pytest-isort==3.1.0
|
pytest-isort==3.1.0
|
||||||
# via la-chariotte (pyproject.toml)
|
# via la-chariotte (pyproject.toml)
|
||||||
sqlparse==0.4.3
|
sqlparse==0.4.3
|
||||||
# via django
|
# via django
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
toml==0.10.2
|
toml==0.10.2
|
||||||
# via pytest-black
|
# via pytest-black
|
||||||
=======
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
toml==0.10.2
|
|
||||||
# via pytest-black
|
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
tomli==2.0.1
|
tomli==2.0.1
|
||||||
# via
|
# via
|
||||||
# black
|
# black
|
||||||
# build
|
# build
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
# coverage
|
# coverage
|
||||||
# pyproject-hooks
|
# pyproject-hooks
|
||||||
# pytest
|
# pytest
|
||||||
|
@ -204,21 +122,14 @@ wheel==0.40.0
|
||||||
# via pip-tools
|
# via pip-tools
|
||||||
zipp==3.15.0
|
zipp==3.15.0
|
||||||
# via importlib-metadata
|
# via importlib-metadata
|
||||||
=======
|
|
||||||
=======
|
|
||||||
# coverage
|
# coverage
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
# flake8-black
|
# flake8-black
|
||||||
# pyproject-hooks
|
# pyproject-hooks
|
||||||
# pytest
|
# pytest
|
||||||
wheel==0.40.0
|
wheel==0.40.0
|
||||||
# via pip-tools
|
# via pip-tools
|
||||||
<<<<<<< HEAD
|
|
||||||
>>>>>>> 7d1f998 (use pip-compile to generate requirements.txt)
|
|
||||||
=======
|
|
||||||
zipp==3.15.0
|
zipp==3.15.0
|
||||||
# via importlib-metadata
|
# via importlib-metadata
|
||||||
>>>>>>> f0d0cd8 (create gitlab-ci.yml)
|
|
||||||
|
|
||||||
# The following packages are considered to be unsafe in a requirements file:
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
# pip
|
# pip
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
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)
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from la_chariotte.order.models import GroupedOrder
|
from la_chariotte.order.models import GroupedOrder
|
||||||
|
|
||||||
|
|
||||||
class TestGroupedOrdersModel:
|
class TestGroupedOrdersModel:
|
||||||
"""Tests for Grouped orders model"""
|
"""Tests for Grouped orders model"""
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -11,7 +11,9 @@ from la_chariotte.order.models import GroupedOrder, Item, Order
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
|
||||||
def create_grouped_order(days_before_delivery_date,days_before_deadline,name):
|
def create_grouped_order(
|
||||||
|
days_before_delivery_date, days_before_deadline, name, orga_user
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
Creates a grouped order.
|
Creates a grouped order.
|
||||||
"""
|
"""
|
||||||
|
@ -75,33 +77,7 @@ class TestGroupedOrderIndexView:
|
||||||
name="old",
|
name="old",
|
||||||
orga_user=auth.get_user(client_log),
|
orga_user=auth.get_user(client_log),
|
||||||
)
|
)
|
||||||
response = client.get(reverse("order:index"))
|
response = client_log.get(reverse("order:index"))
|
||||||
|
|
||||||
class TestGroupedOrderIndexView:
|
|
||||||
def test_no_grouped_orders(self, client):
|
|
||||||
"""
|
|
||||||
If no grouped order exist, an appropriate message is displayed
|
|
||||||
"""
|
|
||||||
response = client.get(reverse("order:index"))
|
|
||||||
assert response.status_code == 200
|
|
||||||
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"]["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):
|
|
||||||
"""
|
|
||||||
According to their delivery date and deadline, grouped orders are placed in the correct section : several gr orders
|
|
||||||
"""
|
|
||||||
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'))
|
|
||||||
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()
|
||||||
|
@ -142,14 +118,7 @@ class TestGroupedOrderIndexView:
|
||||||
name="passée",
|
name="passée",
|
||||||
orga_user=auth.get_user(client_log),
|
orga_user=auth.get_user(client_log),
|
||||||
)
|
)
|
||||||
response = client.get(reverse("order:index"))
|
response = client_log.get(reverse("order:index"))
|
||||||
|
|
||||||
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
|
|
||||||
"""
|
|
||||||
old_gr_order = create_grouped_order(days_before_delivery_date=-1, days_before_deadline=-3,name="passée")
|
|
||||||
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" 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()
|
||||||
|
@ -182,14 +151,7 @@ class TestGroupedOrderIndexView:
|
||||||
name="future",
|
name="future",
|
||||||
orga_user=auth.get_user(client_log),
|
orga_user=auth.get_user(client_log),
|
||||||
)
|
)
|
||||||
response = client.get(reverse("order:index"))
|
response = client_log.get(reverse("order:index"))
|
||||||
|
|
||||||
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
|
|
||||||
"""
|
|
||||||
future_grouped_order = create_grouped_order(days_before_delivery_date=5,days_before_deadline=2,name="future")
|
|
||||||
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" 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()
|
||||||
|
|
Loading…
Reference in a new issue