refactor(assistance): Refactor KnowledgeBaseCategory Unit model tests
ref: #783 #786 #735
This commit is contained in:
@ -0,0 +1,51 @@
|
||||
# Generated by Django 5.1.9 on 2025-06-04 00:23
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"),
|
||||
("assistance", "0011_knowledgebase_model_notes"),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="knowledgebasecategory",
|
||||
name="parent_category",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
help_text="Category this category belongs to",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="assistance.knowledgebasecategory",
|
||||
verbose_name="Parent Category",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="knowledgebasecategory",
|
||||
name="target_team",
|
||||
field=models.ManyToManyField(
|
||||
blank=True,
|
||||
help_text="Team(s) to grant access to the article",
|
||||
to="access.team",
|
||||
verbose_name="Target Team(s)",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="knowledgebasecategory",
|
||||
name="target_user",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
help_text="User(s) to grant access to the article",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="Target Users(s)",
|
||||
),
|
||||
),
|
||||
]
|
@ -14,6 +14,8 @@ class KnowledgeBaseCategory(
|
||||
CenturionModel
|
||||
):
|
||||
|
||||
model_tag = 'kb_category'
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
@ -29,7 +31,6 @@ class KnowledgeBaseCategory(
|
||||
parent_category = models.ForeignKey(
|
||||
'self',
|
||||
blank = True,
|
||||
default = None,
|
||||
help_text = 'Category this category belongs to',
|
||||
null = True,
|
||||
on_delete = models.SET_NULL,
|
||||
@ -48,7 +49,6 @@ class KnowledgeBaseCategory(
|
||||
target_team = models.ManyToManyField(
|
||||
Team,
|
||||
blank = True,
|
||||
default = None,
|
||||
help_text = 'Team(s) to grant access to the article',
|
||||
verbose_name = 'Target Team(s)',
|
||||
)
|
||||
@ -57,7 +57,6 @@ class KnowledgeBaseCategory(
|
||||
target_user = models.ForeignKey(
|
||||
User,
|
||||
blank = True,
|
||||
default = None,
|
||||
help_text = 'User(s) to grant access to the article',
|
||||
null = True,
|
||||
on_delete = models.SET_NULL,
|
||||
|
@ -0,0 +1,19 @@
|
||||
import pytest
|
||||
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def model(model_knowledgebasecategory):
|
||||
|
||||
yield model_knowledgebasecategory
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class', autouse = True)
|
||||
def model_kwargs(request, kwargs_knowledgebasecategory):
|
||||
|
||||
request.cls.kwargs_create_item = kwargs_knowledgebasecategory.copy()
|
||||
|
||||
yield kwargs_knowledgebasecategory.copy()
|
||||
|
||||
if hasattr(request.cls, 'kwargs_create_item'):
|
||||
del request.cls.kwargs_create_item
|
@ -1,16 +1,80 @@
|
||||
from centurion.tests.unit.test_unit_models import (
|
||||
TenancyObjectInheritedCases
|
||||
import pytest
|
||||
|
||||
from django.db import models
|
||||
|
||||
|
||||
from core.tests.unit.centurion_abstract.test_unit_centurion_abstract_model import (
|
||||
CenturionAbstractModelInheritedCases
|
||||
)
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from assistance.models.knowledge_base_category import KnowledgeBaseCategory
|
||||
|
||||
|
||||
|
||||
class KnowledgeBaseModel(
|
||||
TenancyObjectInheritedCases,
|
||||
TestCase,
|
||||
@pytest.mark.model_knowledge_base_category
|
||||
class KnowledgeBaseCategoryModelTestCases(
|
||||
CenturionAbstractModelInheritedCases
|
||||
):
|
||||
|
||||
model = KnowledgeBaseCategory
|
||||
|
||||
@property
|
||||
def parameterized_class_attributes(self):
|
||||
|
||||
return {
|
||||
'model_tag': {
|
||||
'type': str,
|
||||
'value': 'kb_category'
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
parameterized_model_fields = {
|
||||
'parent_category': {
|
||||
'blank': True,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.ForeignKey,
|
||||
'null': True,
|
||||
'unique': False,
|
||||
},
|
||||
'name': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.CharField,
|
||||
'max_length': 50,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
'target_team': {
|
||||
'blank': True,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.ManyToManyField,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
'target_user': {
|
||||
'blank': True,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.ForeignKey,
|
||||
'null': True,
|
||||
'unique': False,
|
||||
},
|
||||
'modified': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.DateTimeField,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
class KnowledgeBaseCategoryModelInheritedCases(
|
||||
KnowledgeBaseCategoryModelTestCases,
|
||||
):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
class KnowledgeBaseCategoryModelPyTest(
|
||||
KnowledgeBaseCategoryModelTestCases,
|
||||
):
|
||||
pass
|
||||
|
@ -1073,6 +1073,8 @@ markers = [
|
||||
"meta_models: Selects Meta models",
|
||||
"model_featureflag: Feature Flag Model",
|
||||
"model_gitgroup: Selects tests for model `git group`",
|
||||
"model_knowledge_base: Selects Knowledge base tests.",
|
||||
"model_knowledge_base_category: Selects Knowledge base category tests.",
|
||||
"models: Selects all models tests.",
|
||||
"note_models: Selects all centurion model note models",
|
||||
"permissions: selects all permission related tests.",
|
||||
|
Reference in New Issue
Block a user