Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

test_custom_user_model.py 1.2KB

1234567891011121314151617181920212223242526272829303132
  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