mirror of
https://framagit.org/la-chariotte/la-chariotte.git
synced 2025-05-01 19:32:26 +02:00
73 lines
2.2 KiB
Python
73 lines
2.2 KiB
Python
import datetime
|
|
|
|
import pytest
|
|
from django.utils import timezone
|
|
|
|
from la_chariotte.order.models import GroupedOrder, Item
|
|
from la_chariotte.tests.utils import create_grouped_order
|
|
|
|
|
|
@pytest.fixture
|
|
def client_log(client, django_user_model):
|
|
username = "test@user.fr"
|
|
password = "azertypassword"
|
|
user = django_user_model.objects.create_user(username=username, password=password)
|
|
client.login(username=username, password=password)
|
|
return client
|
|
|
|
|
|
@pytest.fixture
|
|
def other_user(django_user_model):
|
|
username = "other@user.fr"
|
|
password = "azertypassword"
|
|
user = django_user_model.objects.create_user(username=username, password=password)
|
|
return user
|
|
|
|
|
|
@pytest.fixture
|
|
def authenticated_user_with_name(django_user_model):
|
|
username = "toto@gmail.com"
|
|
password = "tata"
|
|
first_name = "boule"
|
|
last_name = "bill"
|
|
user = django_user_model.objects.create_user(
|
|
username=username, password=password, first_name=first_name, last_name=last_name
|
|
)
|
|
return user
|
|
|
|
|
|
@pytest.fixture
|
|
def simple_grouped_order(other_user):
|
|
date = timezone.now().date() + datetime.timedelta(days=30)
|
|
deadline = timezone.now() + datetime.timedelta(days=5)
|
|
grouped_order = GroupedOrder.objects.create(
|
|
name="Test grouped order",
|
|
orga=other_user,
|
|
delivery_date=date,
|
|
deadline=deadline,
|
|
)
|
|
grouped_order.create_code_from_pk()
|
|
grouped_order.save()
|
|
item = Item.objects.create(name="test item", grouped_order=grouped_order, price=2)
|
|
return grouped_order
|
|
|
|
|
|
@pytest.fixture
|
|
def connected_grouped_order(client, authenticated_user_with_name):
|
|
client.force_login(authenticated_user_with_name)
|
|
grouped_order = create_grouped_order(
|
|
name="Test grouped order",
|
|
orga_user=authenticated_user_with_name,
|
|
days_before_delivery_date=30,
|
|
days_before_deadline=5,
|
|
)
|
|
item = Item.objects.create(name="test item", grouped_order=grouped_order, price=2)
|
|
return grouped_order
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def password_hasher_setup(settings):
|
|
# Use a weaker password hasher during tests, for speed
|
|
settings.PASSWORD_HASHERS = [
|
|
"django.contrib.auth.hashers.MD5PasswordHasher",
|
|
]
|