Merge pull request #896 from nofusscomputing/refactor-test-viewser
This commit is contained in:
9
.vscode/settings.json
vendored
9
.vscode/settings.json
vendored
@ -26,4 +26,13 @@
|
||||
},
|
||||
"telemetry.feedback.enabled": false,
|
||||
"python.languageServer": "None",
|
||||
"debug.javascript.enableNetworkView": false,
|
||||
"typescript.experimental.expandableHover": false,
|
||||
"ipynb.experimental.serialization": false,
|
||||
"notebook.experimental.generate": false,
|
||||
"extensions.experimental.issueQuickAccess": false,
|
||||
"workbench.commandPalette.experimental.enableNaturalLanguageSearch": false,
|
||||
"multiDiffEditor.experimental.enabled": false,
|
||||
"diffEditor.experimental.showEmptyDecorations": false,
|
||||
"editor.experimental.asyncTokenization": false,
|
||||
}
|
@ -1,11 +1,8 @@
|
||||
import pytest
|
||||
import logging
|
||||
|
||||
from django.test import Client, TestCase
|
||||
|
||||
from rest_framework.reverse import reverse
|
||||
|
||||
from access.models.entity import Entity
|
||||
from access.viewsets.entity import (
|
||||
Entity,
|
||||
NoDocsViewSet,
|
||||
ViewSet,
|
||||
)
|
||||
@ -14,76 +11,97 @@ from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
|
||||
|
||||
|
||||
|
||||
@pytest.mark.skip(reason = 'see #895, tests being refactored')
|
||||
@pytest.mark.model_entity
|
||||
class ViewsetTestCases(
|
||||
ModelViewSetInheritedCases,
|
||||
):
|
||||
|
||||
kwargs = None
|
||||
|
||||
model = Entity
|
||||
|
||||
viewset = None
|
||||
|
||||
route_name = None
|
||||
@pytest.fixture( scope = 'function' )
|
||||
def viewset(self):
|
||||
return ViewSet
|
||||
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(self):
|
||||
"""Setup Test
|
||||
|
||||
1. make list request
|
||||
"""
|
||||
|
||||
|
||||
super().setUpTestData()
|
||||
|
||||
|
||||
client = Client()
|
||||
|
||||
url = reverse(
|
||||
self.route_name + '-list',
|
||||
kwargs = self.kwargs
|
||||
)
|
||||
|
||||
client.force_login(self.view_user)
|
||||
|
||||
self.http_options_response_list = client.options(url)
|
||||
@property
|
||||
def parameterized_class_attributes(self):
|
||||
return {
|
||||
'_log': {
|
||||
'type': logging.Logger,
|
||||
'value': None
|
||||
},
|
||||
'_model_documentation': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
# 'allowed_methods': {
|
||||
# 'type': list,
|
||||
# 'value': [
|
||||
# 'GET',
|
||||
# 'HEAD',
|
||||
# 'OPTIONS',
|
||||
# ]
|
||||
# },
|
||||
'back_url': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'documentation': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'filterset_fields': {
|
||||
'value': [
|
||||
'organization'
|
||||
]
|
||||
},
|
||||
'model': {
|
||||
'value': Entity
|
||||
},
|
||||
'model_documentation': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'queryset': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'serializer_class': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'search_fields': {
|
||||
'value': [
|
||||
'model_notes'
|
||||
]
|
||||
},
|
||||
'view_description': {
|
||||
'value': 'All entities'
|
||||
},
|
||||
'view_name': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
},
|
||||
'view_serializer_name': {
|
||||
'type': type(None),
|
||||
'value': None
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@pytest.mark.skip(reason = 'see #895, tests being refactored')
|
||||
class EntityViewsetInheritedCases(
|
||||
ViewsetTestCases,
|
||||
):
|
||||
|
||||
model: str = None
|
||||
"""name of the model to test"""
|
||||
|
||||
route_name = 'API:_api_entity_sub'
|
||||
|
||||
viewset = ViewSet
|
||||
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(self):
|
||||
|
||||
self.kwargs = {
|
||||
'model_name': self.model._meta.model_name
|
||||
}
|
||||
|
||||
super().setUpTestData()
|
||||
pass
|
||||
|
||||
|
||||
|
||||
@pytest.mark.module_access
|
||||
class EntityViewsetTest(
|
||||
class EntityViewsetPyTest(
|
||||
ViewsetTestCases,
|
||||
TestCase,
|
||||
):
|
||||
|
||||
kwargs = {}
|
||||
|
||||
route_name = 'API:_api_entity'
|
||||
|
||||
viewset = NoDocsViewSet
|
||||
@pytest.fixture( scope = 'function' )
|
||||
def viewset(self):
|
||||
return NoDocsViewSet
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -35,7 +35,7 @@ class ClassTestCases:
|
||||
return {}
|
||||
|
||||
|
||||
|
||||
@pytest.mark.regression
|
||||
def test_class_attribute_exists(self,
|
||||
test_class,
|
||||
parameterized, param_key_class_attributes, param_field_name, param_type
|
||||
@ -69,11 +69,11 @@ class ClassTestCases:
|
||||
|
||||
if type(getattr(test_class, param_field_name)) is property:
|
||||
|
||||
assert type( getattr(test_class, param_field_name).fget(test_class) ) is param_type
|
||||
assert type( getattr(test_class, param_field_name).fget(test_class) ) is param_type, type( getattr(test_class, param_field_name).fget(test_class) )
|
||||
|
||||
else:
|
||||
|
||||
assert type(getattr(test_class, param_field_name)) is param_type
|
||||
assert type(getattr(test_class, param_field_name)) is param_type, type(getattr(test_class, param_field_name))
|
||||
|
||||
|
||||
|
||||
|
@ -1175,6 +1175,7 @@ markers = [
|
||||
"serializer: Selects all serializer tests",
|
||||
"tenancy_models: Selects Tenancy models.",
|
||||
"unit: Selects all Unit Tests.",
|
||||
"viewset: Selects all ViewSet Tests.",
|
||||
]
|
||||
|
||||
# testpaths = [
|
||||
|
Reference in New Issue
Block a user