Files
centurion_erp/app/tests/fixtures/model_knowledgebase.py

89 lines
2.2 KiB
Python

import datetime
import pytest
from django.db import models
from assistance.models.knowledge_base import KnowledgeBase
from assistance.serializers.knowledge_base import (
KnowledgeBaseBaseSerializer,
KnowledgeBaseModelSerializer,
KnowledgeBaseViewSerializer
)
@pytest.fixture( scope = 'class')
def model_knowledgebase():
yield KnowledgeBase
@pytest.fixture( scope = 'class')
def kwargs_knowledgebase(django_db_blocker,
kwargs_centurionmodel, model_team, model_user, model_knowledgebasecategory
):
with django_db_blocker.unblock():
random_str = str(datetime.datetime.now(tz=datetime.timezone.utc))
team = model_team.objects.create(
organization = kwargs_centurionmodel['organization'],
team_name = 'kb tgt team' + random_str
)
user = model_user.objects.create(
username = 'kb resp user' + random_str,
password = 'apassword'
)
category = model_knowledgebasecategory.objects.create(
organization = kwargs_centurionmodel['organization'],
name = 'kb cat for kb art' + random_str
)
kwargs = {
**kwargs_centurionmodel.copy(),
'title': 'title' + random_str,
'summary': 'a summary',
'content': 'the kb body text',
'category': category,
'release_date': '2024-06-04T00:00:01Z',
'expiry_date': '2024-06-04T00:00:02Z',
'target_team': [ team ],
# 'target_user': ,
'responsible_user': user,
# 'responsible_teams': '',
'public': True,
'modified': '2024-06-03T23:00:00Z',
}
yield kwargs.copy()
with django_db_blocker.unblock():
team.delete()
try:
user.delete()
except models.deletion.ProtectedError:
pass
try:
category.delete()
except models.deletion.ProtectedError:
pass
@pytest.fixture( scope = 'class')
def serializer_knowledgebase():
yield {
'base': KnowledgeBaseBaseSerializer,
'model': KnowledgeBaseModelSerializer,
'view': KnowledgeBaseViewSerializer
}