summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSusanTan <onceuponatimeforever@gmail.com>2013-07-02 01:19:44 -0700
committerTim Graham <timograham@gmail.com>2013-07-03 11:05:03 -0400
commit067e0424ce8a0e15e2faac3f9f9fabe9b7667c72 (patch)
tree55de2143ca238450bfef7db54f80b68d8eace5c2 /docs
parentc5bc98d7e1779263dc870843cab296f052e9a318 (diff)
Fixed #20609 -- Documented how to use request.user with RequestFactory
Thanks michel@ for the suggestion.
Diffstat (limited to 'docs')
-rw-r--r--docs/topics/testing/advanced.txt11
1 files changed, 9 insertions, 2 deletions
diff --git a/docs/topics/testing/advanced.txt b/docs/topics/testing/advanced.txt
index b8e70b592b..2417274ab5 100644
--- a/docs/topics/testing/advanced.txt
+++ b/docs/topics/testing/advanced.txt
@@ -37,18 +37,25 @@ Example
The following is a simple unit test using the request factory::
- import unittest
+ from django.contrib.auth.models import User
+ from django.test import TestCase
from django.test.client import RequestFactory
- class SimpleTest(unittest.TestCase):
+ class SimpleTest(TestCase):
def setUp(self):
# Every test needs access to the request factory.
self.factory = RequestFactory()
+ self.user = User.objects.create_user(
+ first_name='jacob', email='jacob@…', password='top_secret')
def test_details(self):
# Create an instance of a GET request.
request = self.factory.get('/customer/details')
+ # Recall that middleware are not suported. You can simulate a
+ # logged-in user by setting request.user manually.
+ request.user = self.user
+
# Test my_view() as if it were deployed at /customer/details
response = my_view(request)
self.assertEqual(response.status_code, 200)