test(devops): Add GitHubRepository Unit Model test suite
ref: #807 #515 #810
This commit is contained in:
19
app/devops/tests/unit/github_repository/conftest.py
Normal file
19
app/devops/tests/unit/github_repository/conftest.py
Normal 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
|
@ -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
|
6
app/tests/fixtures/__init__.py
vendored
6
app/tests/fixtures/__init__.py
vendored
@ -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,
|
||||
|
40
app/tests/fixtures/model_githubrepository.py
vendored
Normal file
40
app/tests/fixtures/model_githubrepository.py
vendored
Normal 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()
|
Reference in New Issue
Block a user