Как сделать POST-запрос внутри Test.py в Django с аутентифицированным пользователем?

Я пытаюсь найти способ тестирования POST-запроса, который требует аутентифицированного пользователя в Django.

Я использую опцию login-option, как описано в документации здесь: https://docs.djangoproject.com/en/3.2/topics/testing/tools/#django.test.Client.login

И я использую метод client.post, как описано здесь: https://docs.djangoproject.com/en/3.2/topics/testing/tools/#django.test.Client.post

Однако мой ответ печатается как "None", и я получаю 403, а не 200, как должно быть в моем представлении. Он работает нормально, когда я пробую его с помощью postman, так что проблема не в этом.

Мой тест

def test_post_new_task_authorized_user(self):
    self.client.login(username="xxx", password="password123")
    data = {
        "title": "A new post",
        "description": "Description of post",
        "responsible_username": "xxx",
    }
    response = self.client.post(
        reverse("CUDtasks"), data, content_type="application/json"
    )
    print("REPONSE IS: %s" % response.context)
    self.assertEqual(response.status_code, 200)

Код ошибки теста

FAIL: test_post_new_task_authorized_user (todo.tests.TodoTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/xxxx/Documents/Programmering/xxxx/myproject/todo/tests.py", line 140, in test_post_new_task_authorized_user
    self.assertEqual(response.status_code, 200)
AssertionError: 403 != 200

----------------------------------------------------------------------
Ran 4 tests in 0.084s
Вернуться на верх