From 23b892b05ec2847f740936d3156893060a0c2488 Mon Sep 17 00:00:00 2001 From: lewis_yan Date: Thu, 2 Apr 2026 09:56:52 +0800 Subject: [PATCH] test: add global conftest.py with fixtures --- backend/tests/conftest.py | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 backend/tests/conftest.py diff --git a/backend/tests/conftest.py b/backend/tests/conftest.py new file mode 100644 index 0000000..017389e --- /dev/null +++ b/backend/tests/conftest.py @@ -0,0 +1,41 @@ +import pytest +from rest_framework.test import APIClient + + +@pytest.fixture +def api_client(): + """匿名 API 客户端""" + return APIClient() + + +@pytest.fixture +def authenticate(api_client, admin_user): + """已认证的 API 客户端(管理员)""" + api_client.force_authenticate(user=admin_user) + return api_client + + +@pytest.fixture +def admin_user(db): + """创建管理员用户(每个测试独立事务,测试后自动 rollback)""" + from dvadmin.system.models import Users + + user = Users.objects.create_user( + username="test_admin", + password="testpass123", + is_superuser=True, + ) + return user + + +@pytest.fixture +def normal_user(db): + """创建普通用户""" + from dvadmin.system.models import Users + + user = Users.objects.create_user( + username="test_normal_user", + password="testpass123", + is_superuser=False, + ) + return user