Commit 66b2ece5b495e4c6458afe96209e54468ff4e727

Authored by carol15022
Committed by Sergio Oliveira
1 parent 364ecdc0

Fields validation

colab/accounts/forms.py
... ... @@ -2,6 +2,7 @@
2 2  
3 3 from collections import OrderedDict
4 4  
  5 +from django.http import HttpRequest
5 6 from django import forms
6 7 from django.contrib.auth import authenticate, get_user_model
7 8 from django.contrib.auth.forms import ReadOnlyPasswordHashField
... ... @@ -60,8 +61,51 @@ class UserForm(forms.ModelForm):
60 61 if not username:
61 62 raise forms.ValidationError(_('This field cannot be blank.'))
62 63 return username
63   -
64   -
  64 +
  65 + def clean_first_name(self):
  66 + first_name = self.cleaned_data["first_name"].strip()
  67 + if not first_name:
  68 + raise forms.ValidationError(_('This field cannot be blank.'))
  69 + return first_name
  70 +
  71 + def clean_last_name(self):
  72 + last_name = self.cleaned_data["last_name"].strip()
  73 + if not last_name:
  74 + raise forms.ValidationError(_('This field cannot be blank.'))
  75 + return last_name
  76 +
  77 + def clean_twitter(self):
  78 + twitter = self.cleaned_data["twitter"]
  79 + if twitter is not None and twitter.isspace():
  80 + return self.initial.get("twitter")
  81 + return twitter
  82 +
  83 + def clean_facebook(self):
  84 + facebook = self.cleaned_data["facebook"]
  85 + if facebook is not None and facebook.isspace():
  86 + return self.initial.get("facebook")
  87 + return facebook
  88 +
  89 + def clean_webpage(self):
  90 + webpage = self.cleaned_data["webpage"].strip()
  91 + return webpage
  92 +
  93 + def clean_role(self):
  94 + role = self.cleaned_data["role"].strip()
  95 + return role
  96 +
  97 + def clean_institution(self):
  98 + institution = self.cleaned_data["institution"].strip()
  99 + return institution
  100 +
  101 + def clean_bio(self):
  102 + bio = self.cleaned_data["bio"].strip()
  103 + return bio
  104 +
  105 + def clean_github(self):
  106 + github = self.cleaned_data["github"].strip()
  107 + return github
  108 +
65 109 class UserUpdateForm(UserForm):
66 110 bio = forms.CharField(
67 111 widget=forms.Textarea(attrs={'rows': '6', 'maxlength': '200'}),
... ...
colab/accounts/tests/test_user.py
... ... @@ -116,11 +116,6 @@ class UserTest(TestCase):
116 116 self.validate_mandatory_fields('USERtestCoLaB', 'COLAB', ' ', ' ')
117 117 self.user.delete()
118 118  
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()
123   -
124 119 def test_update_user_institution(self):
125 120 self.authenticate_user()
126 121 self.validate_non_mandatory_fields('institution', 'fga', 'fga')
... ... @@ -148,11 +143,7 @@ class UserTest(TestCase):
148 143  
149 144 def test_update_user_institution_invalid_whitespace(self):
150 145 self.authenticate_user()
151   - self.validate_non_mandatory_fields('institution', None, ' ')
152   -
153   - def test_update_user_institution_invalid_using_number(self):
154   - self.authenticate_user()
155   - self.validate_non_mandatory_fields('institution', None, '123')
  146 + self.validate_non_mandatory_fields('institution', '', ' ')
156 147 self.user.delete()
157 148  
158 149 def test_update_user_role(self):
... ... @@ -182,12 +173,7 @@ class UserTest(TestCase):
182 173  
183 174 def test_update_user_role_invalid_whitespace(self):
184 175 self.authenticate_user()
185   - self.validate_non_mandatory_fields('role', None, ' ')
186   - self.user.delete()
187   -
188   - def test_update_user_role_invalid_using_number(self):
189   - self.authenticate_user()
190   - self.validate_non_mandatory_fields('role', None, '123')
  176 + self.validate_non_mandatory_fields('role', '', ' ')
191 177 self.user.delete()
192 178  
193 179 def test_update_user_twitter(self):
... ... @@ -226,11 +212,6 @@ class UserTest(TestCase):
226 212 self.validate_non_mandatory_fields('twitter', 'usertestcolab', ' ')
227 213 self.user.delete()
228 214  
229   - def test_update_user_twitter_invalid_using_number(self):
230   - self.authenticate_user()
231   - self.validate_non_mandatory_fields('twitter', 'usertestcolab', '123')
232   - self.user.delete()
233   -
234 215 '''
235 216 Max_lenght is the maximmum size accept by Faceebook.
236 217 Tests related with twitter should have internet connection,
... ... @@ -267,11 +248,6 @@ class UserTest(TestCase):
267 248 self.validate_non_mandatory_fields('facebook', 'usertestcolab', ' ')
268 249 self.user.delete()
269 250  
270   - def test_update_user_facebook_invalid_using_number(self):
271   - self.authenticate_user()
272   - self.validate_non_mandatory_fields('facebook', 'usertestcolab', '123')
273   - self.user.delete()
274   -
275 251 def test_update_user_gtalk(self):
276 252 self.authenticate_user()
277 253 self.validate_non_mandatory_fields('google_talk', 'gtalk@colab.com.br',
... ... @@ -332,7 +308,7 @@ class UserTest(TestCase):
332 308  
333 309 def test_update_user_github_invalid_whitespace(self):
334 310 self.authenticate_user()
335   - self.validate_non_mandatory_fields('github', None, ' ')
  311 + self.validate_non_mandatory_fields('github', '', ' ')
336 312 self.user.delete()
337 313  
338 314 def test_update_user_webpage(self):
... ... @@ -362,7 +338,7 @@ class UserTest(TestCase):
362 338  
363 339 def test_update_user_webpage_invalid_whitespace(self):
364 340 self.authenticate_user()
365   - self.validate_non_mandatory_fields('webpage', None, ' ')
  341 + self.validate_non_mandatory_fields('webpage', '', ' ')
366 342 self.user.delete()
367 343  
368 344 def test_update_user_bio(self):
... ... @@ -392,5 +368,5 @@ class UserTest(TestCase):
392 368  
393 369 def test_update_user_bio_invalid_whitespace(self):
394 370 self.authenticate_user()
395   - self.validate_non_mandatory_fields('bio', None, ' ')
  371 + self.validate_non_mandatory_fields('bio', '', ' ')
396 372 self.user.delete()
... ...
colab/accounts/tests/test_view_signup.py
... ... @@ -5,7 +5,7 @@ This test related with accounts/views.py
5 5  
6 6 from django.test import TestCase, Client
7 7 from colab.accounts.models import User
8   -
  8 +from django.core.cache import cache
9 9  
10 10 class TestSignUpView(TestCase):
11 11  
... ... @@ -38,7 +38,9 @@ class TestSignUpView(TestCase):
38 38 self.client.logout()
39 39  
40 40 def test_user_not_authenticated(self):
41   - response = self.client.get("/account/register/")
42   - self.assertEquals(302, response.status_code)
43   - url = "http://testserver/account/login"
44   - self.assertEquals(url, response.url)
  41 + with self.settings(BROWSERID_ENABLE=True):
  42 + cache.clear()
  43 + response = self.client.get("/account/register/")
  44 + self.assertEquals(302, response.status_code)
  45 + url = "http://testserver/account/login"
  46 + self.assertEquals(url, response.url)
... ...