def test_change_email_form(self): user = User.objects.get(pk=1) invalid_data_dicts = [ # No change in e-mail address { 'data': { 'email': '*****@*****.**' }, 'error': ('email', [u'You\'re already known under this email.']) }, # An e-mail address used by another { 'data': { 'email': '*****@*****.**' }, 'error': ('email', [ u'This email is already in use. Please supply a different email.' ]) }, ] for invalid_dict in invalid_data_dicts: form = forms.ChangeEmailForm(user, data=invalid_dict['data']) self.failIf(form.is_valid()) self.assertEqual(form.errors[invalid_dict['error'][0]], invalid_dict['error'][1]) # Test a valid post form = forms.ChangeEmailForm(user, data={'email': '*****@*****.**'}) self.failUnless(form.is_valid())
def test_change_email_form(self): user = get_user_model().objects.get(pk=1) invalid_data_dicts = [ # No change in e-mail address {'data': {'email': '*****@*****.**'}, 'error': ('email', ['You\'re already known under this email.'])}, # An e-mail address used by another {'data': {'email': '*****@*****.**'}, 'error': ('email', ['This email is already in use. Please supply a different email.'])}, ] # Override locale settings since we are checking for existence of error # messaged written in english. Note: it should not be necessasy but # we have experienced such locale issues during tests on Travis builds. # See: https://github.com/bread-and-pepper/django-userena/issues/446 with override('en'): for invalid_dict in invalid_data_dicts: form = forms.ChangeEmailForm(user, data=invalid_dict['data']) self.assertFalse(form.is_valid()) self.assertEqual(form.errors[invalid_dict['error'][0]], invalid_dict['error'][1]) # Test a valid post form = forms.ChangeEmailForm(user, data={'email': '*****@*****.**'}) self.assertTrue(form.is_valid())