Commit 34eed20d4b0de2880a0a26a298adb262d8944966

Authored by carol15022
Committed by Sergio Oliveira
1 parent 0af56c43

Test all user creation fields

Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
colab/accounts/models.py
... ... @@ -18,10 +18,12 @@ class User(AbstractUser):
18 18 """
19 19 institution = models.CharField(max_length=128, null=True, blank=True)
20 20 role = models.CharField(max_length=128, null=True, blank=True)
21   - twitter = models.CharField(max_length=128, null=True, blank=True)
22   - facebook = models.CharField(max_length=128, null=True, blank=True)
  21 + # Twitter limits user name to 15 characters.
  22 + twitter = models.CharField(max_length=15, null=True, blank=True)
  23 + # Facebook limits user lenght to 15.
  24 + facebook = models.CharField(max_length=15, null=True, blank=True)
23 25 google_talk = models.EmailField(null=True, blank=True)
24   - github = models.CharField(max_length=128, null=True, blank=True,
  26 + github = models.CharField(max_length=39, null=True, blank=True,
25 27 verbose_name=u'github')
26 28 webpage = models.CharField(max_length=256, null=True, blank=True)
27 29 verification_hash = models.CharField(max_length=32, null=True, blank=True)
... ...
colab/accounts/tests/test_user.py
... ... @@ -8,11 +8,11 @@ from django.test import TestCase, Client
8 8  
9 9 class UserTest(TestCase):
10 10  
11   - def setUp(self):
  11 + def setup(self):
12 12 self.user = self.create_user()
13 13 self.client = Client()
14 14  
15   - def tearDown(self):
  15 + def teardown(self):
16 16 pass
17 17  
18 18 def create_user(self):
... ... @@ -35,9 +35,9 @@ class UserTest(TestCase):
35 35 self.client.login(username=self.user.username,
36 36 password='123colab4')
37 37  
38   - def validate_mandatory_fields(self, expected_first_name, expected_last_name,
  38 + def validate_mandatory_fields(self, expected_first_name,
  39 + expected_last_name,
39 40 first_name, last_name):
40   -
41 41 data = {'first_name': first_name,
42 42 'last_name': last_name}
43 43 self.client.post('/account/usertestcolab/edit', data)
... ... @@ -82,7 +82,7 @@ class UserTest(TestCase):
82 82 username_test = "USERtestCoLaB"
83 83  
84 84 user_db = User.objects.get(id=1)
85   - self.assertEqual(user_db.username, username_test.lower())
  85 + self.assertEqual(user_db.username, username_test.lower())
86 86 self.user.delete()
87 87  
88 88 def test_update_user_mandatory_information(self):
... ... @@ -93,32 +93,33 @@ class UserTest(TestCase):
93 93  
94 94 def test_update_user_mandatory_max_leght_limit(self):
95 95 self.authenticate_user()
96   - self.validate_mandatory_fields('a'*30, 'a'*30, 'a'*30, 'a'*30)
  96 + self.validate_mandatory_fields('a' * 30, 'a' * 30, 'a' * 30, 'a' * 30)
97 97 self.user.delete()
98 98  
99 99 def test_update_user_mandatory_max_leght_limit_one_less(self):
100 100 self.authenticate_user()
101   - self.validate_mandatory_fields('a'*29, 'a'*29, 'a'*29, 'a'*29)
  101 + self.validate_mandatory_fields('a' * 29, 'a' * 29, 'a' * 29, 'a' * 29)
102 102 self.user.delete()
103 103  
104 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)
  105 + self.authenticate_user()
  106 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', 'a' * 31,
  107 + 'a' * 31)
107 108 self.user.delete()
108 109  
109 110 def test_update_user_mandatory_invalid_empty_field(self):
110   - self.authenticate_user()
111   - self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '' , '')
  111 + self.authenticate_user()
  112 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '', '')
112 113 self.user.delete()
113 114  
114 115 def test_update_user_mandatory_invalid_whitespace(self):
115   - self.authenticate_user()
116   - self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', ' ' , ' ')
  116 + self.authenticate_user()
  117 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', ' ', ' ')
117 118 self.user.delete()
118 119  
119 120 def test_update_user_mandatory_invalid_using_number(self):
120   - self.authenticate_user()
121   - self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '123' , '456')
  121 + self.authenticate_user()
  122 + self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', '123', '456')
122 123 self.user.delete()
123 124  
124 125 def test_update_user_institution(self):
... ... @@ -126,42 +127,271 @@ class UserTest(TestCase):
126 127 self.validate_non_mandatory_fields('institution', 'fga', 'fga')
127 128 self.user.delete()
128 129  
  130 + def test_update_user_institution_max_lenght_limit(self):
  131 + self.authenticate_user()
  132 + self.validate_non_mandatory_fields('institution', 'a' * 128, 'a' * 128)
  133 + self.user.delete()
  134 +
  135 + def test_update_user_institution_max_lenght_limit_one_less(self):
  136 + self.authenticate_user()
  137 + self.validate_non_mandatory_fields('institution', 'a' * 127, 'a' * 127)
  138 + self.user.delete()
  139 +
  140 + def test_update_user_institution_max_lenght_overflow(self):
  141 + self.authenticate_user()
  142 + self.validate_non_mandatory_fields('institution', None, 'a' * 129)
  143 + self.user.delete()
  144 +
  145 + def test_update_user_institution_invalid_empty_field(self):
  146 + self.authenticate_user()
  147 + self.validate_non_mandatory_fields('institution', '', '')
  148 + self.user.delete()
  149 +
  150 + def test_update_user_institution_invalid_whitespace(self):
  151 + self.authenticate_user()
  152 + self.validate_non_mandatory_fields('institution', None, ' ')
  153 +
  154 + def test_update_user_institution_invalid_using_number(self):
  155 + self.authenticate_user()
  156 + self.validate_non_mandatory_fields('institution', None, '123')
  157 + self.user.delete()
  158 +
129 159 def test_update_user_role(self):
130 160 self.authenticate_user()
  161 + self.validate_non_mandatory_fields('role', 'studenty', 'studenty')
  162 + self.user.delete()
  163 +
  164 + def test_update_user_role_max_lenght_limit(self):
  165 + self.authenticate_user()
  166 + self.validate_non_mandatory_fields('role', 'a' * 128, 'a' * 128)
  167 + self.user.delete()
  168 +
  169 + def test_update_user_role_max_lenght_limit_one_less(self):
  170 + self.authenticate_user()
  171 + self.validate_non_mandatory_fields('role', 'a' * 127, 'a' * 127)
131 172 self.user.delete()
132   -
  173 +
  174 + def test_update_user_role_max_lenght_overflow(self):
  175 + self.authenticate_user()
  176 + self.validate_non_mandatory_fields('role', None, 'a' * 129)
  177 + self.user.delete()
  178 +
  179 + def test_update_user_role_invalid_empty_field(self):
  180 + self.authenticate_user()
  181 + self.validate_non_mandatory_fields('role', '', '')
  182 + self.user.delete()
  183 +
  184 + def test_update_user_role_invalid_whitespace(self):
  185 + self.authenticate_user()
  186 + self.validate_non_mandatory_fields('role', None, ' ')
  187 + self.user.delete()
  188 +
  189 + def test_update_user_role_invalid_using_number(self):
  190 + self.authenticate_user()
  191 + self.validate_non_mandatory_fields('role', None, '123')
  192 + self.user.delete()
  193 +
133 194 def test_update_user_twitter(self):
134 195 self.authenticate_user()
135 196 self.validate_non_mandatory_fields('twitter', 'twitter', 'twitter')
136 197 self.user.delete()
137   -
  198 +
  199 + '''
  200 + Max_lenght is the maximmum size accept by Twitter.
  201 + Tests related with twitter should have internet connection,
  202 + because it's need username authentication.
  203 + '''
  204 + def test_update_user_twitter_max_lenght_limit(self):
  205 + self.authenticate_user()
  206 + self.validate_non_mandatory_fields('twitter', 't' * 15, 't' * 15)
  207 + self.user.delete()
  208 +
  209 + def test_update_user_twitter_max_lenght_limit_one_less(self):
  210 + self.authenticate_user()
  211 + self.validate_non_mandatory_fields('twitter', 't' * 14, 't' * 14)
  212 + self.user.delete()
  213 +
  214 + def test_update_user_twitter_max_lenght_overflow(self):
  215 + self.authenticate_user()
  216 + self.validate_non_mandatory_fields('twitter', 'usertestcolab',
  217 + 't' * 16)
  218 + self.user.delete()
  219 +
  220 + def test_update_user_twitter_invalid_empty_field(self):
  221 + self.authenticate_user()
  222 + self.validate_non_mandatory_fields('twitter', '', '')
  223 + self.user.delete()
  224 +
  225 + def test_update_user_twitter_invalid_whitespace(self):
  226 + self.authenticate_user()
  227 + self.validate_non_mandatory_fields('twitter', 'usertestcolab', ' ')
  228 + self.user.delete()
  229 +
  230 + def test_update_user_twitter_invalid_using_number(self):
  231 + self.authenticate_user()
  232 + self.validate_non_mandatory_fields('twitter', 'usertestcolab', '123')
  233 + self.user.delete()
  234 +
  235 + '''
  236 + Max_lenght is the maximmum size accept by Faceebook.
  237 + Tests related with twitter should have internet connection,
  238 + because it's need username authentication.
  239 + '''
138 240 def test_update_user_facebook(self):
139 241 self.authenticate_user()
140 242 self.validate_non_mandatory_fields('facebook', 'facebook', 'facebook')
141 243 self.user.delete()
142   -
  244 +
  245 + def test_update_user_facebook_max_lenght_limit(self):
  246 + self.authenticate_user()
  247 + self.validate_non_mandatory_fields('facebook', 'f' * 15, 'f' * 15)
  248 + self.user.delete()
  249 +
  250 + def test_update_user_facebook_max_lenght_limit_one_less(self):
  251 + self.authenticate_user()
  252 + self.validate_non_mandatory_fields('facebook', 'f' * 14, 'f' * 14)
  253 + self.user.delete()
  254 +
  255 + def test_update_user_facebook_max_lenght_overflow(self):
  256 + self.authenticate_user()
  257 + self.validate_non_mandatory_fields('facebook', 'usertestcolab',
  258 + 'f' * 16)
  259 + self.user.delete()
  260 +
  261 + def test_update_user_facebook_invalid_empty_field(self):
  262 + self.authenticate_user()
  263 + self.validate_non_mandatory_fields('facebook', '', '')
  264 + self.user.delete()
  265 +
  266 + def test_update_user_facebook_invalid_whitespace(self):
  267 + self.authenticate_user()
  268 + self.validate_non_mandatory_fields('facebook', 'usertestcolab', ' ')
  269 + self.user.delete()
  270 +
  271 + def test_update_user_facebook_invalid_using_number(self):
  272 + self.authenticate_user()
  273 + self.validate_non_mandatory_fields('facebook', 'usertestcolab', '123')
  274 + self.user.delete()
  275 +
143 276 def test_update_user_gtalk(self):
144 277 self.authenticate_user()
145 278 self.validate_non_mandatory_fields('google_talk', 'gtalk@colab.com.br',
146 279 'gtalk@colab.com.br')
147 280 self.user.delete()
148   -
  281 +
  282 + def test_update_user_gtalk_email_invalid_caracters(self):
  283 + self.authenticate_user()
  284 + self.validate_non_mandatory_fields('google_talk', None, '@@@')
  285 + self.user.delete()
  286 +
  287 + def test_update_user_gtalk_email_without_arroba(self):
  288 + self.authenticate_user()
  289 + self.validate_non_mandatory_fields('google_talk', None,
  290 + 'usercolab.hotmail.com')
  291 + self.user.delete()
  292 +
  293 + def test_update_user_gtalk_max_lenght_overflow(self):
  294 + self.authenticate_user()
  295 + self.validate_non_mandatory_fields('google_talk', None,
  296 + 'usercolab@hotmail')
  297 + self.user.delete()
  298 +
  299 + def test_update_user_gtalk_invalid_empty_field(self):
  300 + self.authenticate_user()
  301 + self.validate_non_mandatory_fields('google_talk', '', '')
  302 + self.user.delete()
  303 +
  304 + def test_update_user_gtalk_invalid_whitespace(self):
  305 + self.authenticate_user()
  306 + self.validate_non_mandatory_fields('google_talk', '', ' ')
  307 + self.user.delete()
  308 +
149 309 def test_update_user_github(self):
150 310 self.authenticate_user()
151 311 self.validate_non_mandatory_fields('github', 'github', 'github')
152 312 self.user.delete()
153   -
  313 +
  314 + def test_update_user_github_max_lenght_limit(self):
  315 + self.authenticate_user()
  316 + self.validate_non_mandatory_fields('github', 'a' * 39, 'a' * 39)
  317 + self.user.delete()
  318 +
  319 + def test_update_user_github_max_lenght_limit_one_less(self):
  320 + self.authenticate_user()
  321 + self.validate_non_mandatory_fields('github', 'a' * 38, 'a' * 38)
  322 + self.user.delete()
  323 +
  324 + def test_update_user_github_max_lenght_overflow(self):
  325 + self.authenticate_user()
  326 + self.validate_non_mandatory_fields('github', None, 'a' * 40)
  327 + self.user.delete()
  328 +
  329 + def test_update_user_github_invalid_empty_field(self):
  330 + self.authenticate_user()
  331 + self.validate_non_mandatory_fields('github', '', '')
  332 + self.user.delete()
  333 +
  334 + def test_update_user_github_invalid_whitespace(self):
  335 + self.authenticate_user()
  336 + self.validate_non_mandatory_fields('github', None, ' ')
  337 + self.user.delete()
  338 +
154 339 def test_update_user_webpage(self):
155 340 self.authenticate_user()
156 341 self.validate_non_mandatory_fields('webpage', 'webpage', 'webpage')
157 342 self.user.delete()
158 343  
  344 + def test_update_user_webpage_max_lenght_limit(self):
  345 + self.authenticate_user()
  346 + self.validate_non_mandatory_fields('webpage', 'p' * 256, 'p' * 256)
  347 + self.user.delete()
  348 +
  349 + def test_update_user_webpage_max_lenght_limit_one_less(self):
  350 + self.authenticate_user()
  351 + self.validate_non_mandatory_fields('webpage', 'p' * 255, 'p' * 255)
  352 + self.user.delete()
  353 +
  354 + def test_update_user_webpage_max_lenght_overflow(self):
  355 + self.authenticate_user()
  356 + self.validate_non_mandatory_fields('webpage', None, 'p' * 257)
  357 + self.user.delete()
  358 +
  359 + def test_update_user_webpage_invalid_empty_field(self):
  360 + self.authenticate_user()
  361 + self.validate_non_mandatory_fields('webpage', '', '')
  362 + self.user.delete()
  363 +
  364 + def test_update_user_webpage_invalid_whitespace(self):
  365 + self.authenticate_user()
  366 + self.validate_non_mandatory_fields('webpage', None, ' ')
  367 + self.user.delete()
  368 +
159 369 def test_update_user_bio(self):
160 370 self.authenticate_user()
161 371 self.validate_non_mandatory_fields('bio', 'bio', 'bio')
162 372 self.user.delete()
163   -
164   - def test_update_user_bio_max_length(self):
  373 +
  374 + def test_update_user_bio_max_lenght_limit(self):
  375 + self.authenticate_user()
  376 + self.validate_non_mandatory_fields('bio', 'a' * 200, 'a' * 200)
  377 + self.user.delete()
  378 +
  379 + def test_update_user_bio_max_lenght_limit_one_less(self):
  380 + self.authenticate_user()
  381 + self.validate_non_mandatory_fields('bio', 'a' * 199, 'a' * 199)
  382 + self.user.delete()
  383 +
  384 + def test_update_user_bio_max_lenght_overflow(self):
165 385 self.authenticate_user()
166 386 self.validate_non_mandatory_fields('bio', None, 'a' * 201)
167 387 self.user.delete()
  388 +
  389 + def test_update_user_bio_invalid_empty_field(self):
  390 + self.authenticate_user()
  391 + self.validate_non_mandatory_fields('bio', '', '')
  392 + self.user.delete()
  393 +
  394 + def test_update_user_bio_invalid_whitespace(self):
  395 + self.authenticate_user()
  396 + self.validate_non_mandatory_fields('bio', None, ' ')
  397 + self.user.delete()
... ...