DRF: Установите язык во время тестирования
У меня есть сериализатор с полем DateField, которое локализовано в соответствии с языковыми настройками пользователя.
Я хотел бы написать тест и проверить, что форматирование работает правильно, но я не смог понять, как установить требуемый язык при использовании APIClient.
Вот как выглядит мой тест:
self.api_client = APIClient()
# ....
url = reverse("view_name", kwargs={...})
self.api_client.force_authenticate(user=self.user)
response = self.api_client.get(url, format="json", follow=True)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# asserts
Таким образом, тест успешно работает для моей настройки языка по умолчанию. Как я могу явно установить код языка для этого запроса.
Можно установить языковой заголовок непосредственно во время инициализации APIClient.
self.api_client = APIClient(HTTP_ACCEPT_LANGUAGE="de")