2017-05-17 18:19:42 +02:00
|
|
|
from django.test import TestCase, Client
|
|
|
|
from django.conf import settings
|
|
|
|
from django.contrib.auth.models import User
|
2017-02-18 01:45:22 +01:00
|
|
|
|
2017-05-17 18:19:42 +02:00
|
|
|
|
|
|
|
class TestUserCreation(TestCase):
|
|
|
|
def test_create_view(self):
|
|
|
|
"""Create a user using the user creation form"""
|
|
|
|
user_data = {
|
|
|
|
"username": "MrsFoobar",
|
|
|
|
"first_name": "Baz",
|
|
|
|
"last_name": "Foobar",
|
|
|
|
"email": "baz@foobar.net",
|
|
|
|
}
|
|
|
|
|
|
|
|
data = user_data.copy()
|
|
|
|
data["password1"] = "4zwY5jdI"
|
|
|
|
data["password2"] = "4zwY5jdI"
|
|
|
|
data["key"] = settings.CREATE_USER_KEY
|
|
|
|
|
|
|
|
client = Client()
|
|
|
|
resp = client.post("/user/create/", data)
|
|
|
|
|
|
|
|
# The user redirection means successful form validation
|
|
|
|
self.assertRedirects(resp, "/")
|
|
|
|
|
2017-05-18 18:15:14 +02:00
|
|
|
# The user should now exist
|
2017-05-17 18:19:42 +02:00
|
|
|
user = (
|
|
|
|
User.objects
|
|
|
|
.filter(username=data["username"])
|
|
|
|
.values(*user_data.keys())
|
2017-05-18 17:53:29 +02:00
|
|
|
.get()
|
2017-05-17 18:19:42 +02:00
|
|
|
)
|
|
|
|
self.assertEqual(user_data, user)
|