Files
JobRadar/accounts/tests.py
T

22 lines
889 B
Python

from django.contrib.auth import get_user_model
from django.test import TestCase
from django.urls import reverse
class ProfileTests(TestCase):
"""验证资料显式创建、认证保护和更新边界。"""
def setUp(self):
self.user = get_user_model().objects.create_user(username="alice", password="safe-pass-123")
def test_profile_requires_login(self):
response = self.client.get(reverse("accounts:profile"))
self.assertEqual(response.status_code, 302)
def test_profile_is_created_and_updated(self):
self.client.force_login(self.user)
response = self.client.post(reverse("accounts:profile"), {"display_name": "爱丽丝", "timezone": "Asia/Shanghai"})
self.assertRedirects(response, reverse("accounts:profile"))
self.user.refresh_from_db()
self.assertEqual(self.user.profile.display_name, "爱丽丝")