Source code for maceoutliner.users.tests.test_views

from django.test import RequestFactory

from test_plus.test import TestCase

from ..views import UserRedirectView, UserUpdateView


[docs]class BaseUserTestCase(TestCase):
[docs] def setUp(self): self.user = self.make_user() self.factory = RequestFactory()
[docs]class TestUserRedirectView(BaseUserTestCase):
[docs] 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/")
[docs]class TestUserUpdateView(BaseUserTestCase):
[docs] 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
[docs] 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/")
[docs] def test_get_object(self): # Expect: self.user, as that is the request's user object self.assertEqual(self.view.get_object(), self.user)