diff options
| author | SusanTan <onceuponatimeforever@gmail.com> | 2013-07-02 01:19:44 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-07-03 11:05:03 -0400 |
| commit | 067e0424ce8a0e15e2faac3f9f9fabe9b7667c72 (patch) | |
| tree | 55de2143ca238450bfef7db54f80b68d8eace5c2 | |
| parent | c5bc98d7e1779263dc870843cab296f052e9a318 (diff) | |
Fixed #20609 -- Documented how to use request.user with RequestFactory
Thanks michel@ for the suggestion.
| -rw-r--r-- | docs/topics/testing/advanced.txt | 11 |
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) |
