Add recipient notification detail and filtering, a queued admin composer, and contextual automatic titles. Retire email delivery, obsolete auth routes, newsletter data, and related templates and settings.
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from django.test import SimpleTestCase, TestCase
|
|
|
|
from apps.users.models import User
|
|
from apps.users.resources import UserResource
|
|
|
|
|
|
class UserIdentityTests(TestCase):
|
|
def test_email_is_optional_and_flags_follow_identity(self):
|
|
user = User.objects.create_user(username="mobile_only", mobile="09191110000", password="password")
|
|
self.assertIsNone(user.email)
|
|
self.assertFalse(user.is_email_verified)
|
|
user.email = " PERSON@EXAMPLE.COM "
|
|
user.save(update_fields=["email"])
|
|
user.refresh_from_db()
|
|
self.assertEqual(user.email, "person@example.com")
|
|
self.assertTrue(user.is_email_verified)
|
|
user.email = None
|
|
user.save(update_fields=["email"])
|
|
user.refresh_from_db()
|
|
self.assertFalse(user.is_email_verified)
|
|
|
|
def test_display_name_prefers_mobile_when_email_absent(self):
|
|
user = User.objects.create_user(username="mobile_only", mobile="09191110001", password="password")
|
|
self.assertIn(user.mobile, str(user))
|
|
|
|
|
|
class UserResourceTests(SimpleTestCase):
|
|
def test_email_identity_flag_remains_exportable(self):
|
|
resource = UserResource()
|
|
self.assertIn("is_email_verified", resource.fields)
|