refactor(core): Update Test Suite for TicketBase model
ref: #871 closes #861
This commit is contained in:
@ -243,7 +243,7 @@ class TicketBaseMetadataInheritedCases(
|
||||
|
||||
kwargs_create_item_diff_org: dict = {}
|
||||
|
||||
url_name = '_api_ticket_sub'
|
||||
url_name = '_api_ticketbase_sub'
|
||||
|
||||
|
||||
@classmethod
|
||||
@ -260,11 +260,11 @@ class TicketBaseMetadataInheritedCases(
|
||||
}
|
||||
|
||||
self.url_kwargs = {
|
||||
'model_name': self.model._meta.sub_model_type
|
||||
'ticket_type': self.model._meta.sub_model_type
|
||||
}
|
||||
|
||||
self.url_view_kwargs = {
|
||||
'model_name': self.model._meta.sub_model_type
|
||||
'ticket_type': self.model._meta.sub_model_type
|
||||
}
|
||||
|
||||
super().setUpTestData()
|
||||
@ -277,7 +277,7 @@ class TicketBaseMetadataTest(
|
||||
|
||||
):
|
||||
|
||||
url_name = '_api_v2_ticket'
|
||||
url_name = '_api_ticketbase'
|
||||
|
||||
|
||||
# def test_method_options_request_detail_data_has_key_urls_back(self):
|
||||
|
@ -1,133 +0,0 @@
|
||||
import pytest
|
||||
|
||||
from api.tests.functional.test_functional_api_permissions import (
|
||||
APIPermissionsInheritedCases,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@pytest.mark.model_ticketbase
|
||||
class PermissionsAPITestCases(
|
||||
APIPermissionsInheritedCases,
|
||||
):
|
||||
|
||||
add_data: dict = {
|
||||
'title': 'ticket one',
|
||||
'description': 'sadsa'
|
||||
}
|
||||
|
||||
app_namespace = 'v2'
|
||||
|
||||
change_data = {'description': 'device'}
|
||||
|
||||
delete_data = {}
|
||||
|
||||
kwargs_create_item: dict = {
|
||||
'title': 'ticket two',
|
||||
'description': 'sadsa'
|
||||
}
|
||||
|
||||
kwargs_create_item_diff_org: dict = {
|
||||
'title': 'ticket three',
|
||||
'description': 'sadsa'
|
||||
}
|
||||
|
||||
url_kwargs: dict = {}
|
||||
|
||||
url_name = '_api_v2_ticket'
|
||||
|
||||
url_view_kwargs: dict = {}
|
||||
|
||||
|
||||
|
||||
|
||||
@pytest.fixture(scope='class')
|
||||
def opened_by_var_setup(self, request):
|
||||
|
||||
request.cls.kwargs_create_item.update({
|
||||
'opened_by': request.cls.view_user
|
||||
})
|
||||
|
||||
request.cls.kwargs_create_item_diff_org.update({
|
||||
'opened_by': request.cls.view_user
|
||||
})
|
||||
|
||||
if request.cls.add_data is not None:
|
||||
|
||||
request.cls.add_data.update({
|
||||
'opened_by': request.cls.view_user.pk
|
||||
})
|
||||
|
||||
|
||||
|
||||
@pytest.fixture(scope='class', autouse = True)
|
||||
def class_setup(self, request, django_db_blocker,
|
||||
model,
|
||||
var_setup,
|
||||
prepare,
|
||||
opened_by_var_setup,
|
||||
diff_org_model,
|
||||
create_model,
|
||||
post_model
|
||||
):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def test_returned_data_from_user_and_global_organizations_only(self):
|
||||
"""Check items returned
|
||||
|
||||
This test case is a over-ride of a test case with the same name.
|
||||
This model is not a tenancy model making this test not-applicable.
|
||||
|
||||
Items returned from the query Must be from the users organization and
|
||||
global ONLY!
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
|
||||
class TicketBasePermissionsAPIInheritedCases(
|
||||
PermissionsAPITestCases,
|
||||
):
|
||||
|
||||
add_data: dict = None
|
||||
|
||||
kwargs_create_item: dict = None
|
||||
|
||||
kwargs_create_item_diff_org: dict = None
|
||||
|
||||
|
||||
@pytest.fixture(scope='class')
|
||||
def inherited_var_setup(self, request):
|
||||
|
||||
request.cls.url_kwargs.update({
|
||||
'model_name': self.model._meta.sub_model_type
|
||||
})
|
||||
|
||||
request.cls.url_view_kwargs.update({
|
||||
'model_name': self.model._meta.sub_model_type
|
||||
})
|
||||
|
||||
|
||||
|
||||
@pytest.fixture(scope='class', autouse = True)
|
||||
def class_setup(self, request, django_db_blocker,
|
||||
model,
|
||||
var_setup,
|
||||
prepare,
|
||||
opened_by_var_setup,
|
||||
inherited_var_setup,
|
||||
diff_org_model,
|
||||
create_model,
|
||||
):
|
||||
|
||||
pass
|
||||
|
||||
@pytest.mark.module_core
|
||||
class TicketBasePermissionsAPIPyTest(
|
||||
PermissionsAPITestCases,
|
||||
):
|
||||
|
||||
pass
|
@ -207,7 +207,10 @@ class TicketBaseSerializerTestCases:
|
||||
|
||||
with django_db_blocker.unblock():
|
||||
|
||||
request.cls.view_user.delete()
|
||||
try:
|
||||
request.cls.view_user.delete()
|
||||
except django.db.models.deletion.ProtectedError:
|
||||
pass
|
||||
request.cls.other_user.delete()
|
||||
|
||||
del request.cls.valid_data
|
||||
|
@ -93,7 +93,8 @@ class ViewSetBase:
|
||||
)
|
||||
|
||||
|
||||
self.url_view_kwargs.update({'model_name': self.item._meta.model_name, 'pk': self.item.id })
|
||||
# self.url_view_kwargs.update({'ticket_type': self.item._meta.sub_model_type, 'pk': self.item.id })
|
||||
self.url_view_kwargs.update({'pk': self.item.id })
|
||||
|
||||
if self.add_data is not None:
|
||||
|
||||
@ -250,7 +251,7 @@ class TicketBaseViewSetInheritedCases(
|
||||
|
||||
# kwargs_create_item_diff_org: dict = {}
|
||||
|
||||
url_name = '_api_ticket_sub'
|
||||
url_name = '_api_ticketbase_sub'
|
||||
|
||||
|
||||
@classmethod
|
||||
@ -267,11 +268,11 @@ class TicketBaseViewSetInheritedCases(
|
||||
}
|
||||
|
||||
self.url_kwargs = {
|
||||
'model_name': self.model._meta.model_name
|
||||
'ticket_type': self.model._meta.sub_model_type
|
||||
}
|
||||
|
||||
self.url_view_kwargs = {
|
||||
'model_name': self.model._meta.model_name
|
||||
'ticket_type': self.model._meta.sub_model_type
|
||||
}
|
||||
|
||||
super().setUpTestData()
|
||||
@ -283,4 +284,4 @@ class TicketBaseViewSetTest(
|
||||
TestCase,
|
||||
):
|
||||
|
||||
url_name = '_api_v2_ticket'
|
||||
url_name = '_api_ticketbase'
|
||||
|
@ -1,3 +1,4 @@
|
||||
import django
|
||||
import pytest
|
||||
|
||||
from rest_framework.relations import Hyperlink
|
||||
@ -67,10 +68,10 @@ class APITestCases(
|
||||
})
|
||||
|
||||
|
||||
if request.cls.model._meta.model_name != 'ticketbase':
|
||||
if request.cls.model._meta.sub_model_type != 'ticket':
|
||||
|
||||
request.cls.url_view_kwargs.update({
|
||||
'model_name': str(request.cls.model._meta.sub_model_type),
|
||||
'ticket_type': str(request.cls.model._meta.sub_model_type),
|
||||
})
|
||||
|
||||
yield
|
||||
@ -81,15 +82,24 @@ class APITestCases(
|
||||
|
||||
parent_ticket.delete()
|
||||
|
||||
project_milestone.delete()
|
||||
try:
|
||||
project_milestone.delete()
|
||||
except django.db.models.deletion.ProtectedError:
|
||||
pass
|
||||
|
||||
project.delete()
|
||||
try:
|
||||
project.delete()
|
||||
except django.db.models.deletion.ProtectedError:
|
||||
pass
|
||||
|
||||
request.cls.kwargs_create_item['category'].delete()
|
||||
try:
|
||||
request.cls.kwargs_create_item['category'].delete()
|
||||
except django.db.models.deletion.ProtectedError:
|
||||
pass
|
||||
|
||||
if 'model_name' in request.cls.url_view_kwargs:
|
||||
if 'ticket_type' in request.cls.url_view_kwargs:
|
||||
|
||||
del request.cls.url_view_kwargs['model_name']
|
||||
del request.cls.url_view_kwargs['ticket_type']
|
||||
|
||||
|
||||
|
||||
@ -386,7 +396,7 @@ class APITestCases(
|
||||
'date_closed': '2025-05-12T02:30:02',
|
||||
}
|
||||
|
||||
url_ns_name = '_api_v2_ticket'
|
||||
url_ns_name = '_api_ticketbase'
|
||||
"""Url namespace (optional, if not required) and url name"""
|
||||
|
||||
|
||||
@ -411,7 +421,7 @@ class TicketBaseAPIInheritedCases(
|
||||
|
||||
model = None
|
||||
|
||||
url_ns_name = '_api_ticket_sub'
|
||||
url_ns_name = '_api_ticketbase_sub'
|
||||
|
||||
|
||||
@pytest.mark.module_core
|
||||
|
@ -36,7 +36,7 @@ class TicketBaseModelTestCases(
|
||||
},
|
||||
'url_model_name': {
|
||||
'type': str,
|
||||
'value': 'ticket'
|
||||
'value': 'ticketbase'
|
||||
},
|
||||
}
|
||||
|
||||
@ -487,8 +487,12 @@ class TicketBaseModelTestCases(
|
||||
model_ticketcommentbase, kwargs_ticketcommentbase
|
||||
):
|
||||
|
||||
kwargs = kwargs_ticketcommentbase.copy()
|
||||
del kwargs['ticket']
|
||||
|
||||
|
||||
comment = model_ticketcommentbase.objects.create(
|
||||
**kwargs_ticketcommentbase,
|
||||
**kwargs,
|
||||
ticket = ticket,
|
||||
)
|
||||
|
||||
|
@ -45,7 +45,7 @@ class ViewsetTestCases(
|
||||
if self.model != TicketBase:
|
||||
|
||||
self.kwargs = {
|
||||
'model_name': self.model._meta.model_name
|
||||
'ticket_type': self.model._meta.sub_model_type
|
||||
}
|
||||
|
||||
self.viewset.kwargs = self.kwargs
|
||||
@ -73,7 +73,7 @@ class ViewsetTestCases(
|
||||
|
||||
view_set = self.viewset()
|
||||
|
||||
assert view_set.model_kwarg == 'model_name'
|
||||
assert view_set.model_kwarg == 'ticket_type'
|
||||
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ class TicketBaseViewsetInheritedCases(
|
||||
model: str = None
|
||||
"""name of the model to test"""
|
||||
|
||||
route_name = 'v2:_api_ticket_sub'
|
||||
route_name = 'v2:_api_ticketbase_sub'
|
||||
|
||||
|
||||
@pytest.mark.module_core
|
||||
@ -97,6 +97,6 @@ class TicketBaseViewsetTest(
|
||||
TestCase,
|
||||
):
|
||||
|
||||
route_name = 'v2:_api_v2_ticket'
|
||||
route_name = 'v2:_api_ticketbase'
|
||||
|
||||
viewset = NoDocsViewSet
|
||||
|
Reference in New Issue
Block a user