Commit c482ce4707c93b3426d778d2769aad9d937b4a3d

Authored by Rodrigo Siqueira de Melo
Committed by Sergio Oliveira
1 parent a7a92bb6

Tested update fields

Signed-off-by: Carolina Ramalho <carol15022@hotmail.com>
Signed-off-by: Matheus Fernandes <matheus.fernandes@gmail.com>
Showing 1 changed file with 86 additions and 27 deletions   Show diff stats
colab/accounts/tests/test_user.py
... ... @@ -32,10 +32,27 @@ class UserTest(TestCase):
32 32 def authenticate_user(self):
33 33 self.user.needs_update = False
34 34 self.user.save()
35   -
36 35 self.client.login(username=self.user.username,
37 36 password='123colab4')
38 37  
  38 + def validate_mandatory_fields(self, expected_first_name, expected_last_name,
  39 + first_name, last_name):
  40 +
  41 + data = {'first_name': first_name,
  42 + 'last_name': last_name}
  43 + self.client.post('/account/usertestcolab/edit', data)
  44 + user = User.objects.get(id=1)
  45 + self.assertEqual(expected_first_name, user.first_name)
  46 + self.assertEqual(expected_last_name, user.last_name)
  47 +
  48 + def validate_non_mandatory_fields(self, field_name, expected_value, value):
  49 + data = {'first_name': 'usertestcolab',
  50 + 'last_name': 'colab',
  51 + field_name: value}
  52 + self.client.post('/account/usertestcolab/edit', data)
  53 + user = User.objects.get(id=1)
  54 + self.assertEqual(expected_value, getattr(user, field_name))
  55 +
39 56 def test_check_password(self):
40 57 self.assertTrue(self.user.check_password("123colab4"))
41 58 self.assertFalse(self.user.check_password("1234"))
... ... @@ -65,44 +82,86 @@ class UserTest(TestCase):
65 82 username_test = "USERtestCoLaB"
66 83  
67 84 user_db = User.objects.get(id=1)
68   - self.assertEqual(user_db.username, username_test.lower())
  85 + self.assertEqual(user_db.username, username_test.lower())
69 86 self.user.delete()
70 87  
71 88 def test_update_user_mandatory_information(self):
72 89 self.authenticate_user()
  90 + self.validate_mandatory_fields('usertestcolab', 'colabtest',
  91 + 'usertestcolab', 'colabtest')
  92 + self.user.delete()
73 93  
74   - data = {'first_name': 'usercolabtest',
75   - 'last_name': 'colabtest'}
76   - self.client.post('/account/usertestcolab/edit', data)
  94 + def test_update_user_mandatory_max_leght_limit(self):
  95 + self.authenticate_user()
  96 + self.validate_mandatory_fields('a'*30, 'a'*30, 'a'*30, 'a'*30)
  97 + self.user.delete()
77 98  
78   - user = User.objects.get(id=1)
  99 + def test_update_user_mandatory_max_leght_limit_one_less(self):
  100 + self.authenticate_user()
  101 + self.validate_mandatory_fields('a'*29, 'a'*29, 'a'*29, 'a'*29)
  102 + self.user.delete()
79 103  
80   - self.assertEqual('usercolabtest', user.first_name)
81   - self.assertEqual('colabtest', user.last_name)
  104 + def test_update_user_mandatory_max_leght_overflow(self):
  105 + self.authenticate_user()
  106 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', 'a'*31, 'a'*31)
82 107 self.user.delete()
83 108  
84   - def test_update_user_mandatory_invalid_information(self):
85   - self.authenticate_user()
  109 + def test_update_user_mandatory_invalid_empty_field(self):
  110 + self.authenticate_user()
  111 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '' , '')
  112 + self.user.delete()
86 113  
87   - data = {'first_name': 'a' * 31,
88   - 'last_name': 'a' * 31}
89   - self.client.post('/account/usertestcolab/edit', data)
  114 + def test_update_user_mandatory_invalid_whitespace(self):
  115 + self.authenticate_user()
  116 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', ' ' , ' ')
  117 + self.user.delete()
90 118  
91   - user = User.objects.get(id=1)
  119 + def test_update_user_mandatory_invalid_using_number(self):
  120 + self.authenticate_user()
  121 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '123' , '456')
  122 + self.user.delete()
92 123  
93   - self.assertEqual('USERtestCoLaB', user.first_name)
94   - self.assertEqual('COLAB', user.last_name)
  124 + def test_update_user_institution(self):
  125 + self.authenticate_user()
  126 + self.validate_non_mandatory_fields('institution', 'fga', 'fga')
  127 + self.user.delete()
95 128  
96   - def test_update_user_all_information(self):
  129 + def test_update_user_role(self):
  130 + self.authenticate_user()
  131 + self.user.delete()
  132 +
  133 + def test_update_user_twitter(self):
  134 + self.authenticate_user()
  135 + self.validate_non_mandatory_fields('twitter', 'twitter', 'twitter')
  136 + self.user.delete()
  137 +
  138 + def test_update_user_facebook(self):
  139 + self.authenticate_user()
  140 + self.validate_non_mandatory_fields('facebook', 'facebook', 'facebook')
  141 + self.user.delete()
  142 +
  143 + def test_update_user_gtalk(self):
97 144 self.authenticate_user()
  145 + self.validate_non_mandatory_fields('google_talk', 'gtalk@colab.com.br',
  146 + 'gtalk@colab.com.br')
  147 + self.user.delete()
  148 +
  149 + def test_update_user_github(self):
  150 + self.authenticate_user()
  151 + self.validate_non_mandatory_fields('github', 'github', 'github')
  152 + self.user.delete()
  153 +
  154 + def test_update_user_webpage(self):
  155 + self.authenticate_user()
  156 + self.validate_non_mandatory_fields('webpage', 'webpage', 'webpage')
  157 + self.user.delete()
98 158  
99   - data = {'first_name': 'Colab',
100   - 'last_name': 'Test',
101   - 'institution': 'fga',
102   - 'role': 'tester',
103   - 'twitter': 'twitter',
104   - 'facebook': 'facebook',
105   - 'google_talk': 'gtalk',
106   - 'github': 'github',
107   - 'webpage': 'webpage',
108   - 'bio': 'bio'}
  159 + def test_update_user_bio(self):
  160 + self.authenticate_user()
  161 + self.validate_non_mandatory_fields('bio', 'bio', 'bio')
  162 + self.user.delete()
  163 +
  164 + def test_update_user_bio_max_length(self):
  165 + self.authenticate_user()
  166 + self.validate_non_mandatory_fields('bio', None, 'a' * 201)
  167 + self.user.delete()
... ...