You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_forms.py 826B

1234567891011121314151617181920
  1. from unittest import mock
  2. from django.core.exceptions import ValidationError
  3. from django.test import TestCase
  4. from oscar.apps.customer.forms import EmailUserCreationForm
  5. class TestEmailUserCreationForm(TestCase):
  6. @mock.patch('oscar.apps.customer.forms.validate_password')
  7. def test_validator_passed_populated_user(self, mocked_validate):
  8. mocked_validate.side_effect = ValidationError('That password is rubbish')
  9. form = EmailUserCreationForm(data={'email': 'terry@boom.com', 'password1': 'terry', 'password2': 'terry'})
  10. self.assertFalse(form.is_valid())
  11. mocked_validate.assert_called_once_with('terry', form.instance)
  12. self.assertEqual(mocked_validate.call_args[0][1].email, 'terry@boom.com')
  13. self.assertEqual(form.errors['password2'], ['That password is rubbish'])