refactor(project_management): Serializer Unit Test Suite re-written to Pytest for model ProjectState
ref: #938 #936
This commit is contained in:
41
app/tests/fixtures/model_projectstate.py
vendored
41
app/tests/fixtures/model_projectstate.py
vendored
@ -1,8 +1,14 @@
|
||||
import datetime
|
||||
import pytest
|
||||
|
||||
from project_management.models.project_states import ProjectState
|
||||
from django.db import models
|
||||
|
||||
from project_management.models.project_states import ProjectState
|
||||
from project_management.serializers.project_states import (
|
||||
ProjectStateBaseSerializer,
|
||||
ProjectStateModelSerializer,
|
||||
ProjectStateViewSerializer,
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
@ -12,18 +18,47 @@ def model_projectstate():
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def kwargs_projectstate(kwargs_centurionmodel):
|
||||
def kwargs_projectstate(kwargs_centurionmodel, django_db_blocker,
|
||||
model_knowledgebase, kwargs_knowledgebase,
|
||||
):
|
||||
|
||||
random_str = str(datetime.datetime.now(tz=datetime.timezone.utc))
|
||||
random_str = str(random_str).replace(
|
||||
' ', '').replace(':', '').replace('+', '').replace('.', '')
|
||||
|
||||
with django_db_blocker.unblock():
|
||||
|
||||
kwargs = kwargs_knowledgebase
|
||||
team = kwargs['target_team']
|
||||
del kwargs['target_team']
|
||||
|
||||
runbook = model_knowledgebase.objects.create( **kwargs )
|
||||
|
||||
runbook.target_team.add( team[0] )
|
||||
|
||||
kwargs = kwargs_centurionmodel.copy()
|
||||
del kwargs['model_notes']
|
||||
|
||||
kwargs = {
|
||||
**kwargs,
|
||||
'name': 'projectstate_' + random_str,
|
||||
'runbook': runbook,
|
||||
}
|
||||
|
||||
yield kwargs.copy()
|
||||
|
||||
with django_db_blocker.unblock():
|
||||
|
||||
try:
|
||||
runbook.delete()
|
||||
except models.deletion.ProtectedError:
|
||||
pass
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def serializer_projectstate():
|
||||
|
||||
yield {
|
||||
'base': ProjectStateBaseSerializer,
|
||||
'model': ProjectStateModelSerializer,
|
||||
'view': ProjectStateViewSerializer
|
||||
}
|
||||
|
Reference in New Issue
Block a user