Пользовательский рендерер фреймворка Django rest в тестовом ответе
Я пытаюсь сделать код тестирования в моем приложении django. Мое приложение имеет пользовательский класс рендеринга, поэтому ответ будет выглядеть следующим образом:
{
"code": 422,
"message": "Unprocessable Entity",
"data": {
"non_field_errors": [
"Unable to log in with provided credentials."
]
}
}
Мой тестовый код:
class AuthenticationTestCase(TestCase):
"""Test login and registration"""
def setUp(self):
self.client = APIClient()
def test_login_success(self):
"""Test success login"""
payload = {
'email': 'test@test.com',
'password': 'password',
'is_active': True
}
create_user(**payload)
res = self.client.post(LOGIN_URL, payload)
self.assertEqual(res.data['code'], status.HTTP_200_OK)
В ответе клиента возвращается только:
"non_field_errors": [
"Unable to log in with provided credentials."
]
Вопрос в том, могу ли я сделать так, чтобы ответ моего тестового клиента также использовал мой пользовательский класс рендерера?
Я нашел решение. Мне нужно установить данные ответа в классе рендерера для моего пользовательского ответа следующим образом:
renderer_context['response'].data = response