web/lib/django/contrib/auth/tests/forms.py
author ymh <ymh.work@gmail.com>
Wed, 02 Jun 2010 18:57:35 +0200
changeset 38 77b6da96e6f1
permissions -rw-r--r--
update django
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
FORM_TESTS = """
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
>>> from django.contrib.auth.models import User
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
>>> from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
>>> from django.contrib.auth.forms import PasswordChangeForm, SetPasswordForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
# The user already exists.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
>>> user = User.objects.create_user("jsmith", "jsmith@example.com", "test123")
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
...     'username': 'jsmith',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
...     'password1': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
...     'password2': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
>>> form["username"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
[u'A user with that username already exists.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
# The username contains invalid data.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
...     'username': 'jsmith!',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
...     'password1': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
...     'password2': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
>>> form["username"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
[u'This value may contain only letters, numbers and @/./+/-/_ characters.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
# The verification password is incorrect.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
...     'username': 'jsmith2',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
...     'password1': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
...     'password2': 'test',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
>>> form["password2"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
[u"The two password fields didn't match."]
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
# One (or both) passwords weren't given
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
>>> data = {'username': 'jsmith2'}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
>>> form['password1'].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
[u'This field is required.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
>>> form['password2'].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
[u'This field is required.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
>>> data['password2'] = 'test123'
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
>>> form['password1'].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
[u'This field is required.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
# The success case.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
...     'username': 'jsmith2@example.com',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
...     'password1': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
...     'password2': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
>>> form = UserCreationForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
>>> form.save()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
<User: jsmith2@example.com>
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
# The user submits an invalid username.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
...     'username': 'jsmith_does_not_exist',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
...     'password': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
>>> form = AuthenticationForm(None, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
>>> form.non_field_errors()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
[u'Please enter a correct username and password. Note that both fields are case-sensitive.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
# The user is inactive.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
...     'username': 'jsmith',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
...     'password': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
>>> user.is_active = False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
>>> user.save()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
>>> form = AuthenticationForm(None, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
>>> form.non_field_errors()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
[u'This account is inactive.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
>>> user.is_active = True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
>>> user.save()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
# The success case
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
>>> form = AuthenticationForm(None, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
>>> form.non_field_errors()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
[]
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
### SetPasswordForm:
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
# The two new passwords do not match.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
...     'new_password1': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
...     'new_password2': 'abc',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
>>> form = SetPasswordForm(user, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
>>> form["new_password2"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
[u"The two password fields didn't match."]
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
# The success case.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
...     'new_password1': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
...     'new_password2': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
>>> form = SetPasswordForm(user, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
### PasswordChangeForm:
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
The old password is incorrect.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
...     'old_password': 'test',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
...     'new_password1': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
...     'new_password2': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
>>> form = PasswordChangeForm(user, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
>>> form["old_password"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
[u'Your old password was entered incorrectly. Please enter it again.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
# The two new passwords do not match.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
...     'old_password': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
...     'new_password1': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
...     'new_password2': 'abc',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
>>> form = PasswordChangeForm(user, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
>>> form["new_password2"].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
[u"The two password fields didn't match."]
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
# The success case.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
>>> data = {
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
...     'old_password': 'test123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
...     'new_password1': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
...     'new_password2': 'abc123',
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
... }
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
>>> form = PasswordChangeForm(user, data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
# Regression test - check the order of fields:
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
>>> PasswordChangeForm(user, {}).fields.keys()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
['old_password', 'new_password1', 'new_password2']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
### UserChangeForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
>>> from django.contrib.auth.forms import UserChangeForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
>>> data = {'username': 'not valid'}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
>>> form = UserChangeForm(data, instance=user)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
>>> form['username'].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
[u'This value may contain only letters, numbers and @/./+/-/_ characters.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
### PasswordResetForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
>>> from django.contrib.auth.forms import PasswordResetForm
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
>>> data = {'email':'not valid'}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
>>> form = PasswordResetForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
>>> form['email'].errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
[u'Enter a valid e-mail address.']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
# Test nonexistant email address
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
>>> data = {'email':'foo@bar.com'}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
>>> form = PasswordResetForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
False
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
>>> form.errors
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
{'email': [u"That e-mail address doesn't have an associated user account. Are you sure you've registered?"]}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
# Test cleaned_data bug fix
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
>>> user = User.objects.create_user("jsmith3", "jsmith3@example.com", "test123")
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
>>> data = {'email':'jsmith3@example.com'}
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
>>> form = PasswordResetForm(data)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
>>> form.is_valid()
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
True
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
>>> form.cleaned_data['email']
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
u'jsmith3@example.com'
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
# bug #5605, preserve the case of the user name (before the @ in the email address)
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
# when creating a user.
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
>>> user = User.objects.create_user('forms_test2', 'tesT@EXAMple.com', 'test')
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
>>> user.email
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
'tesT@example.com'
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
>>> user = User.objects.create_user('forms_test3', 'tesT', 'test')
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
>>> user.email
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
'tesT'
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
77b6da96e6f1 update django
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
"""