la-chariotte/la_chariotte/tests/test_views_stats.py

38 lines
1.1 KiB
Python

from datetime import datetime, timedelta
from django.contrib import auth
from django.urls import reverse
from .utils import create_grouped_order, order_items_in_grouped_order
def test_stats(client_log):
response = client_log.get(reverse("stats"))
assert response.status_code == 200
assert response.json() == {
"total_grouped_orders": 0,
"total_orders": 0,
"total_users": 1,
"last_month_grouped_orders": 0,
}
# Create a new grouped-order, place an order and check that the stats changed.
grouped_order = create_grouped_order(
days_before_delivery_date=5,
days_before_deadline=2,
name="gr order test",
orga_user=auth.get_user(client_log),
)
order_items_in_grouped_order(grouped_order)
grouped_order.deadline = datetime.now() - timedelta(days=10)
grouped_order.save()
response = client_log.get(reverse("stats"))
assert response.status_code == 200
assert response.json() == {
"total_grouped_orders": 1,
"total_orders": 3,
"total_users": 1,
"last_month_grouped_orders": 1,
}