@@ -0,0 +1,71 @@
|
||||
import pytest
|
||||
from django.urls import reverse
|
||||
|
||||
from accounts.models import InviteCode, User
|
||||
from content.models import ContentItem
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_admin_login_使用自定义运营登录页(client):
|
||||
response = client.get(reverse("admin:login"))
|
||||
|
||||
assert response.status_code == 200
|
||||
content = response.content.decode()
|
||||
assert "管理数学人生宇宙" in content
|
||||
assert "进入运营后台" in content
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_admin_index_普通用户不能访问(client):
|
||||
user = User.objects.create_user(
|
||||
username="normal_user",
|
||||
password="StrongPass_2026",
|
||||
nickname="普通用户",
|
||||
)
|
||||
client.force_login(user)
|
||||
|
||||
response = client.get(reverse("admin:index"))
|
||||
|
||||
assert response.status_code == 302
|
||||
assert reverse("admin:login") in response.url
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_admin_index_展示运营指标与中文模块(client):
|
||||
admin_user = User.objects.create_superuser(
|
||||
username="dashboard_admin",
|
||||
password="StrongPass_2026",
|
||||
nickname="后台管理员",
|
||||
)
|
||||
InviteCode.objects.create(code="ADMIN-TEST", max_uses=10)
|
||||
ContentItem.objects.create(
|
||||
slug="admin-content",
|
||||
title="后台测试内容",
|
||||
kind=ContentItem.Kind.KNOWLEDGE,
|
||||
is_published=True,
|
||||
)
|
||||
client.force_login(admin_user)
|
||||
|
||||
response = client.get(reverse("admin:index"))
|
||||
|
||||
assert response.status_code == 200
|
||||
content = response.content.decode()
|
||||
assert "今天从哪里开始?" in content
|
||||
assert "总用户" in content
|
||||
assert "用户与权限" in content
|
||||
assert "用户账号" in content
|
||||
assert "数学人生与 MathBTI" in content
|
||||
assert "比赛运营" in content
|
||||
assert "视频与探索内容" in content
|
||||
assert "视频与内容" in content
|
||||
assert "生成邀请码" in content
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_home_包含按员工身份控制的后台入口(client):
|
||||
response = client.get("/")
|
||||
|
||||
assert response.status_code == 200
|
||||
content = response.content.decode()
|
||||
assert 'id="admin-entry"' in content
|
||||
assert 'href="/admin/"' in content
|
||||
Reference in New Issue
Block a user