test: Add initial unit serializer test suite

ref: #807 #730
This commit is contained in:
2025-06-09 08:43:55 +09:30
parent 5d09bf04ff
commit f7c6be71ba

View File

@ -0,0 +1,53 @@
import datetime
import pytest
from centurion.tests.abstract.mock_view import MockView
@pytest.mark.api
@pytest.mark.serializer
@pytest.mark.unit
class SerializerTestCases:
@pytest.fixture( scope = 'class', autouse = True)
def request_user(self, django_db_blocker, model_user):
with django_db_blocker.unblock():
random_str = str(datetime.datetime.now(tz=datetime.timezone.utc))
random_str = str(random_str).replace(
' ', '').replace(':', '').replace('+', '').replace('.', '').replace('-', '')
user = model_user.objects.create(
username = 'ru_' + random_str,
password = 'password',
)
yield user
with django_db_blocker.unblock():
user.delete()
def test_serializer_create(self, kwargs_api_create, model, model_serializer, request_user):
""" Serializer Check
Confirm that using valid data the object validates without exceptions.
"""
mock_view = MockView(
user = request_user,
model = model,
action = 'create',
)
serializer = model_serializer['model'](
context = {
'request': mock_view.request,
'view': mock_view,
},
data = kwargs_api_create
)
assert serializer.is_valid(raise_exception = True)