diff --git a/colab/accounts/tests/test_user.py b/colab/accounts/tests/test_user.py index 7f7c0e9..3665c97 100644 --- a/colab/accounts/tests/test_user.py +++ b/colab/accounts/tests/test_user.py @@ -32,10 +32,27 @@ class UserTest(TestCase): def authenticate_user(self): self.user.needs_update = False self.user.save() - self.client.login(username=self.user.username, password='123colab4') + def validate_mandatory_fields(self, expected_first_name, expected_last_name, + first_name, last_name): + + data = {'first_name': first_name, + 'last_name': last_name} + self.client.post('/account/usertestcolab/edit', data) + user = User.objects.get(id=1) + self.assertEqual(expected_first_name, user.first_name) + self.assertEqual(expected_last_name, user.last_name) + + def validate_non_mandatory_fields(self, field_name, expected_value, value): + data = {'first_name': 'usertestcolab', + 'last_name': 'colab', + field_name: value} + self.client.post('/account/usertestcolab/edit', data) + user = User.objects.get(id=1) + self.assertEqual(expected_value, getattr(user, field_name)) + def test_check_password(self): self.assertTrue(self.user.check_password("123colab4")) self.assertFalse(self.user.check_password("1234")) @@ -65,44 +82,86 @@ class UserTest(TestCase): username_test = "USERtestCoLaB" user_db = User.objects.get(id=1) - self.assertEqual(user_db.username, username_test.lower()) + self.assertEqual(user_db.username, username_test.lower()) self.user.delete() def test_update_user_mandatory_information(self): self.authenticate_user() + self.validate_mandatory_fields('usertestcolab', 'colabtest', + 'usertestcolab', 'colabtest') + self.user.delete() - data = {'first_name': 'usercolabtest', - 'last_name': 'colabtest'} - self.client.post('/account/usertestcolab/edit', data) + def test_update_user_mandatory_max_leght_limit(self): + self.authenticate_user() + self.validate_mandatory_fields('a'*30, 'a'*30, 'a'*30, 'a'*30) + self.user.delete() - user = User.objects.get(id=1) + def test_update_user_mandatory_max_leght_limit_one_less(self): + self.authenticate_user() + self.validate_mandatory_fields('a'*29, 'a'*29, 'a'*29, 'a'*29) + self.user.delete() - self.assertEqual('usercolabtest', user.first_name) - self.assertEqual('colabtest', user.last_name) + def test_update_user_mandatory_max_leght_overflow(self): + self.authenticate_user() + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', 'a'*31, 'a'*31) self.user.delete() - def test_update_user_mandatory_invalid_information(self): - self.authenticate_user() + def test_update_user_mandatory_invalid_empty_field(self): + self.authenticate_user() + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '' , '') + self.user.delete() - data = {'first_name': 'a' * 31, - 'last_name': 'a' * 31} - self.client.post('/account/usertestcolab/edit', data) + def test_update_user_mandatory_invalid_whitespace(self): + self.authenticate_user() + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', ' ' , ' ') + self.user.delete() - user = User.objects.get(id=1) + def test_update_user_mandatory_invalid_using_number(self): + self.authenticate_user() + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '123' , '456') + self.user.delete() - self.assertEqual('USERtestCoLaB', user.first_name) - self.assertEqual('COLAB', user.last_name) + def test_update_user_institution(self): + self.authenticate_user() + self.validate_non_mandatory_fields('institution', 'fga', 'fga') + self.user.delete() - def test_update_user_all_information(self): + def test_update_user_role(self): + self.authenticate_user() + self.user.delete() + + def test_update_user_twitter(self): + self.authenticate_user() + self.validate_non_mandatory_fields('twitter', 'twitter', 'twitter') + self.user.delete() + + def test_update_user_facebook(self): + self.authenticate_user() + self.validate_non_mandatory_fields('facebook', 'facebook', 'facebook') + self.user.delete() + + def test_update_user_gtalk(self): self.authenticate_user() + self.validate_non_mandatory_fields('google_talk', 'gtalk@colab.com.br', + 'gtalk@colab.com.br') + self.user.delete() + + def test_update_user_github(self): + self.authenticate_user() + self.validate_non_mandatory_fields('github', 'github', 'github') + self.user.delete() + + def test_update_user_webpage(self): + self.authenticate_user() + self.validate_non_mandatory_fields('webpage', 'webpage', 'webpage') + self.user.delete() - data = {'first_name': 'Colab', - 'last_name': 'Test', - 'institution': 'fga', - 'role': 'tester', - 'twitter': 'twitter', - 'facebook': 'facebook', - 'google_talk': 'gtalk', - 'github': 'github', - 'webpage': 'webpage', - 'bio': 'bio'} + def test_update_user_bio(self): + self.authenticate_user() + self.validate_non_mandatory_fields('bio', 'bio', 'bio') + self.user.delete() + + def test_update_user_bio_max_length(self): + self.authenticate_user() + self.validate_non_mandatory_fields('bio', None, 'a' * 201) + self.user.delete() -- libgit2 0.21.2