test(devops): Add GitHubRepository Unit Model test suite

ref: #807 #515 #810
This commit is contained in:
2025-06-09 17:03:43 +09:30
parent 07b6a2f4e2
commit 7378b103e1
4 changed files with 156 additions and 0 deletions

View File

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

View File

@ -0,0 +1,91 @@
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_gitrepository
class GitHubRepositoryBaseModelTestCases(
CenturionSubAbstractModelInheritedCases,
GitRepositoryBaseModelInheritedCases,
):
# @property
# def parameterized_class_attributes(self):
# return {
# 'is_sub': {
# 'type': str,
# 'value': 'git_repository'
# },
# }
parameterized_model_fields = {
'wiki': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
},
'issues': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
},
'sponsorships': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
},
'preserve_this_repository': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
},
'discussions': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
},
'projects': {
'blank': False,
'default': False,
'field_type': models.BooleanField,
'null': False,
'unique': False,
}
}
class GitHubRepositoryBaseModelInheritedCases(
GitHubRepositoryBaseModelTestCases,
):
pass
@pytest.mark.module_devops
class GitHubRepositoryBaseModelPyTest(
GitHubRepositoryBaseModelTestCases,
):
pass

View File

@ -88,6 +88,12 @@ from .model_gitgroup import (
serializer_gitgroup,
)
from .model_githubrepository import (
kwargs_githubrepository,
model_githubrepository,
serializer_githubrepository,
)
from .model_gitrepository import (
kwargs_gitrepository,
model_gitrepository,

View File

@ -0,0 +1,40 @@
import pytest
from devops.models.git_repository.github import (
GitHubRepository,
)
from devops.serializers.git_repository.github import (
ModelSerializer,
ViewSerializer
)
@pytest.fixture( scope = 'class')
def model_githubrepository(request):
yield GitHubRepository
@pytest.fixture( scope = 'class')
def serializer_githubrepository():
yield {
'model': ModelSerializer,
'view': ViewSerializer,
}
@pytest.fixture( scope = 'class')
def kwargs_githubrepository( kwargs_gitrepository ):
kwargs = {
**kwargs_gitrepository.copy(),
'wiki': True,
'issues': True,
'sponsorships': True,
'preserve_this_repository': True,
'discussions': True,
'projects': True,
}
yield kwargs.copy()