Тестирование
Как переопределить настройки?
from django.test import TestCase
class AnyTestCase(TestCase):
def test_call(self):
with self.settings(USE_TELEGRAM_BOT=True):
...
Как сгенерировать DRF-Request?
rest_framework.test.APIRequestFactory
возвращает джанговский WSGIRequest
, а хочется DRF-Request
from rest_framework.parsers import JSONParser
from rest_framework.request import Request
from rest_framework.test import APIRequestFactory
req_f = APIRequestFactory()
url: str
params: dict
raw_req = req_f.post(url, params, format='json')
req = Request(raw_req, parsers=[JSONParser()])
assert hasattr(req, 'data')
Работа со временем
Как получить текущее время с таймзоной?
Как сделать дейттайм с таймзоной?
Как парсить время?
from rest_framework.fields import DateTimeField
assert (
DateTimeField().run_validation('2022-06-05T23:59:59.999') ==
timezone.make_aware(dt.datetime(2022, 6, 5, 23, 59, 59, 999000))
)
Как сериализовать время?
from rest_framework.fields import DateTimeField
assert (
DateTimeField().to_representation(dt.datetime(2022, 6, 5, 23, 59, 59, 999000)) ==
'2022-06-05T23:59:59.999'
)
pytest
pytest-django - pytest-плагин для Джанго