| 12345678910111213141516171819202122232425262728293031 |
- from django.test import TestCase
-
- from oscar.apps.customer.forms import ProfileForm
- from oscar.core.compat import existing_user_fields, get_user_model
- from oscar.test.factories import ProductAlertFactory, UserFactory
-
-
- class TestACustomUserModel(TestCase):
- def setUp(self):
- self.user_klass = get_user_model()
-
- def test_can_be_created_without_error(self):
- try:
- self.user_klass.objects.create_user("_", "a@a.com", "pa55w0rd")
- except Exception as e:
- self.fail("Unable to create user model: %s" % e)
-
- def test_extra_field_is_accessible(self):
- self.assertTrue("extra_field" in existing_user_fields(["extra_field"]))
- self.assertTrue(hasattr(self.user_klass(), "extra_field"))
-
- def test_profile_form_doesnt_expose_extra_field(self):
- form = ProfileForm(self.user_klass())
- expected_fields = set(["first_name", "last_name", "email"])
- self.assertTrue(expected_fields == set(form.fields))
-
- def test_migrate_alerts_to_user(self):
- user = UserFactory(email="a@a.com")
- ProductAlertFactory(email=user.email)
- user._migrate_alerts_to_user()
- assert user.alerts.count() == 1
|