您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

test_custom_user_model.py 1.2KB

12345678910111213141516171819202122232425262728293031
  1. from django.test import TestCase
  2. from oscar.apps.customer.forms import ProfileForm
  3. from oscar.core.compat import existing_user_fields, get_user_model
  4. from oscar.test.factories import ProductAlertFactory, UserFactory
  5. class TestACustomUserModel(TestCase):
  6. def setUp(self):
  7. self.user_klass = get_user_model()
  8. def test_can_be_created_without_error(self):
  9. try:
  10. self.user_klass.objects.create_user("_", "a@a.com", "pa55w0rd")
  11. except Exception as e:
  12. self.fail("Unable to create user model: %s" % e)
  13. def test_extra_field_is_accessible(self):
  14. self.assertTrue("extra_field" in existing_user_fields(["extra_field"]))
  15. self.assertTrue(hasattr(self.user_klass(), "extra_field"))
  16. def test_profile_form_doesnt_expose_extra_field(self):
  17. form = ProfileForm(self.user_klass())
  18. expected_fields = set(["first_name", "last_name", "email"])
  19. self.assertTrue(expected_fields == set(form.fields))
  20. def test_migrate_alerts_to_user(self):
  21. user = UserFactory(email="a@a.com")
  22. ProductAlertFactory(email=user.email)
  23. user._migrate_alerts_to_user()
  24. assert user.alerts.count() == 1