diff --git a/colab/accounts/tests/test_forms.py b/colab/accounts/tests/test_forms.py index 0e5cfc9..d39b809 100644 --- a/colab/accounts/tests/test_forms.py +++ b/colab/accounts/tests/test_forms.py @@ -8,6 +8,7 @@ from mock import patch from django.test import TestCase, override_settings from django.core.urlresolvers import reverse +from django.forms import ValidationError from colab.accounts.forms import (UserCreationForm, UserChangeForm, UserUpdateForm, UserForm, get_lists_choices, @@ -252,3 +253,87 @@ class ChangePasswordFormTestCase(TestCase): form = ColabPasswordChangeForm(self.user, data=self.valid_form_data) self.assertTrue(form.is_valid()) validator.assert_called_with('12345') + + +class UserCreationFormTestCase(TestCase): + + @classmethod + def setUpClass(cls): + cls.user = User.objects.create_user(username='user1234', + email='teste1234@example.com', + first_name='test_first_name', + last_name='test_last_name') + + cls.user.set_password("123colab4") + cls.user.save() + + def get_form_data(self, email, username='test_user', + password1='12345', password2='12345'): + return { + 'first_name': 'test_first_name', + 'last_name': 'test_last_name', + 'username': username, + 'email': email, + 'password1': password1, + 'password2': password2 + } + + def test_clean_mail_error(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste1234@example.com')) + self.assertFalse(creation_form.is_valid()) + self.assertTrue(creation_form.errors.has_key('email')) + self.assertEqual(1, len(creation_form.errors)) + + def test_clean_mail(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com')) + self.assertTrue(creation_form.is_valid()) + + def test_clean_username_error(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user1234')) + self.assertFalse(creation_form.is_valid()) + self.assertTrue(creation_form.errors.has_key('username')) + self.assertEqual(1, len(creation_form.errors)) + + def test_clean_username(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user12345')) + self.assertTrue(creation_form.is_valid()) + + + def test_clean_password2_empty_password1(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user12345', + password1='')) + self.assertFalse(creation_form.is_valid()) + self.assertTrue(creation_form.errors.has_key('password1')) + self.assertEqual(1, len(creation_form.errors)) + + def test_clean_password2_empty_password2(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user12345', + password2='')) + self.assertFalse(creation_form.is_valid()) + self.assertTrue(creation_form.errors.has_key('password2')) + + def test_clean_password2_different_passwords(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user12345', + password1='1234')) + self.assertFalse(creation_form.is_valid()) + self.assertTrue(creation_form.errors.has_key('password2')) + self.assertEqual(1, len(creation_form.errors)) + self.assertEqual(1, len(creation_form.errors)) + + def test_clean_password(self): + creation_form = UserCreationForm( + data=self.get_form_data('teste12345@example.com', + username='user12345')) + self.assertTrue(creation_form.is_valid()) -- libgit2 0.21.2