INITIAL
This commit is contained in:
commit
7ba937ef66
66 changed files with 1823 additions and 0 deletions
0
ccdb/users/tests/__init__.py
Normal file
0
ccdb/users/tests/__init__.py
Normal file
11
ccdb/users/tests/factories.py
Normal file
11
ccdb/users/tests/factories.py
Normal file
|
@ -0,0 +1,11 @@
|
|||
import factory
|
||||
|
||||
|
||||
class UserFactory(factory.django.DjangoModelFactory):
|
||||
username = factory.Sequence(lambda n: 'user-{0}'.format(n))
|
||||
email = factory.Sequence(lambda n: 'user-{0}@example.com'.format(n))
|
||||
password = factory.PostGenerationMethodCall('set_password', 'password')
|
||||
|
||||
class Meta:
|
||||
model = 'users.User'
|
||||
django_get_or_create = ('username', )
|
39
ccdb/users/tests/test_admin.py
Normal file
39
ccdb/users/tests/test_admin.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from test_plus.test import TestCase
|
||||
|
||||
from ..admin import MyUserCreationForm
|
||||
|
||||
|
||||
class TestMyUserCreationForm(TestCase):
|
||||
def setUp(self):
|
||||
self.user = self.make_user()
|
||||
|
||||
def test_clean_username_success(self):
|
||||
# Instantiate the form with a new username
|
||||
form = MyUserCreationForm({
|
||||
'username': 'alamode',
|
||||
'password1': '123456',
|
||||
'password2': '123456',
|
||||
})
|
||||
# Run is_valid() to trigger the validation
|
||||
valid = form.is_valid()
|
||||
self.assertTrue(valid)
|
||||
|
||||
# Run the actual clean_username method
|
||||
username = form.clean_username()
|
||||
self.assertEqual('alamode', username)
|
||||
|
||||
def test_clean_username_false(self):
|
||||
# Instantiate the form with the same username as self.user
|
||||
form = MyUserCreationForm({
|
||||
'username': self.user.username,
|
||||
'password1': '123456',
|
||||
'password2': '123456',
|
||||
})
|
||||
# Run is_valid() to trigger the validation, which is going to fail
|
||||
# because the username is already taken
|
||||
valid = form.is_valid()
|
||||
self.assertFalse(valid)
|
||||
|
||||
# The form.errors dict should contain a single error called 'username'
|
||||
self.assertTrue(len(form.errors) == 1)
|
||||
self.assertTrue('username' in form.errors)
|
18
ccdb/users/tests/test_models.py
Normal file
18
ccdb/users/tests/test_models.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
from test_plus.test import TestCase
|
||||
|
||||
|
||||
class TestUser(TestCase):
|
||||
def setUp(self):
|
||||
self.user = self.make_user()
|
||||
|
||||
def test__str__(self):
|
||||
self.assertEqual(
|
||||
self.user.__str__(),
|
||||
"testuser" # This is the default username for self.make_user()
|
||||
)
|
||||
|
||||
def test_get_absolute_url(self):
|
||||
self.assertEqual(
|
||||
self.user.get_absolute_url(),
|
||||
'/users/testuser/'
|
||||
)
|
66
ccdb/users/tests/test_views.py
Normal file
66
ccdb/users/tests/test_views.py
Normal file
|
@ -0,0 +1,66 @@
|
|||
from django.test import RequestFactory
|
||||
|
||||
from test_plus.test import TestCase
|
||||
|
||||
from ..views import (
|
||||
UserRedirectView,
|
||||
UserUpdateView
|
||||
)
|
||||
|
||||
|
||||
class BaseUserTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.user = self.make_user()
|
||||
self.factory = RequestFactory()
|
||||
|
||||
|
||||
class TestUserRedirectView(BaseUserTestCase):
|
||||
def test_get_redirect_url(self):
|
||||
# Instantiate the view directly. Never do this outside a test!
|
||||
view = UserRedirectView()
|
||||
# Generate a fake request
|
||||
request = self.factory.get('/fake-url')
|
||||
# Attach the user to the request
|
||||
request.user = self.user
|
||||
# Attach the request to the view
|
||||
view.request = request
|
||||
# Expect: '/users/testuser/', as that is the default username for
|
||||
# self.make_user()
|
||||
self.assertEqual(
|
||||
view.get_redirect_url(),
|
||||
'/users/testuser/'
|
||||
)
|
||||
|
||||
|
||||
class TestUserUpdateView(BaseUserTestCase):
|
||||
def setUp(self):
|
||||
# call BaseUserTestCase.setUp()
|
||||
super(TestUserUpdateView, self).setUp()
|
||||
# Instantiate the view directly. Never do this outside a test!
|
||||
self.view = UserUpdateView()
|
||||
# Generate a fake request
|
||||
request = self.factory.get('/fake-url')
|
||||
# Attach the user to the request
|
||||
request.user = self.user
|
||||
# Attach the request to the view
|
||||
self.view.request = request
|
||||
|
||||
def test_get_success_url(self):
|
||||
# Expect: '/users/testuser/', as that is the default username for
|
||||
# self.make_user()
|
||||
self.assertEqual(
|
||||
self.view.get_success_url(),
|
||||
'/users/testuser/'
|
||||
)
|
||||
|
||||
# TODO: write this test
|
||||
# def test_get_redirected(self):
|
||||
# Expect '/users/testuser01/' to redirect, because that isn't the
|
||||
# currently logged in user
|
||||
|
||||
def test_get_object(self):
|
||||
# Expect: self.user, as that is the request's user object
|
||||
self.assertEqual(
|
||||
self.view.get_object(),
|
||||
self.user
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue