test(devops): Add GitLabRepository Unit Model test suite

ref: #813 #811
This commit is contained in:
2025-06-10 08:50:15 +09:30
parent e7942a79ed
commit 82d1e9995f
7 changed files with 111 additions and 3 deletions

View File

@ -11,6 +11,8 @@ class GitLabRepository(
_is_submodel = True
documentation = ''
class Meta(GitRepository.Meta):
@ -35,8 +37,6 @@ class GitLabRepository(
)
documentation = ''
page_layout: dict = [
{
"name": "Details",

View File

@ -12,7 +12,7 @@ from devops.tests.unit.git_repository.test_unit_git_repository_model import (
@pytest.mark.model_gitrepository
@pytest.mark.model_githubrepository
class GitHubRepositoryBaseModelTestCases(
CenturionSubAbstractModelInheritedCases,
GitRepositoryBaseModelInheritedCases,

View File

@ -0,0 +1,19 @@
import pytest
@pytest.fixture( scope = 'class')
def model(model_gitlabrepository):
yield model_gitlabrepository
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_gitlabrepository):
request.cls.kwargs_create_item = kwargs_gitlabrepository.copy()
yield kwargs_gitlabrepository.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -0,0 +1,45 @@
import pytest
from django.db import models
from core.tests.unit.centurion_sub_abstract.test_unit_centurion_sub_abstract_model import (
CenturionSubAbstractModelInheritedCases
)
from devops.tests.unit.git_repository.test_unit_git_repository_model import (
GitRepositoryBaseModelInheritedCases
)
@pytest.mark.model_gitlabrepository
class GitLabRepositoryBaseModelTestCases(
CenturionSubAbstractModelInheritedCases,
GitRepositoryBaseModelInheritedCases,
):
parameterized_model_fields = {
'visibility': {
'blank': False,
'default': models.NOT_PROVIDED,
'field_type': models.BooleanField,
'null': False,
'unique': False,
}
}
class GitLabRepositoryBaseModelInheritedCases(
GitLabRepositoryBaseModelTestCases,
):
pass
@pytest.mark.module_devops
class GitLabRepositoryBaseModelPyTest(
GitLabRepositoryBaseModelTestCases,
):
pass

View File

@ -94,6 +94,12 @@ from .model_githubrepository import (
serializer_githubrepository,
)
from .model_gitlabrepository import (
kwargs_gitlabrepository,
model_gitlabrepository,
serializer_gitlabrepository,
)
from .model_gitrepository import (
kwargs_gitrepository,
model_gitrepository,

View File

@ -0,0 +1,35 @@
import pytest
from devops.models.git_repository.gitlab import (
GitLabRepository,
)
from devops.serializers.git_repository.gitlab import (
ModelSerializer,
ViewSerializer
)
@pytest.fixture( scope = 'class')
def model_gitlabrepository(request):
yield GitLabRepository
@pytest.fixture( scope = 'class')
def serializer_gitlabrepository():
yield {
'model': ModelSerializer,
'view': ViewSerializer,
}
@pytest.fixture( scope = 'class')
def kwargs_gitlabrepository( kwargs_gitrepository ):
kwargs = {
**kwargs_gitrepository.copy(),
'visibility': True,
}
yield kwargs.copy()

View File

@ -1081,6 +1081,9 @@ markers = [
"model_devicetype: Select all device type tests.",
"model_featureflag: Feature Flag Model",
"model_gitgroup: Selects tests for model `git group`",
"model_githubrepository: Selects tests for model `github repository`",
"model_gitlabrepository: Selects tests for model `gitlab repository`",
"model_gitrepository: Selects tests for model `git repository`",
"model_knowledgebase: Selects Knowledge base tests.",
"model_knowledgebasecategory: Selects Knowledge base category tests.",
"model_manufacturer: Select all manufacturer tests.",