test: correct viewset tests

ref: #741
This commit is contained in:
2025-05-06 00:48:29 +09:30
parent 88a30650a5
commit 5ba243a1ea
5 changed files with 69 additions and 20 deletions

View File

@ -33,14 +33,20 @@ class AssetBaseViewsetTestCases(
1. make list request
"""
self.model = AssetBase
self.viewset = ViewSet
super().setUpTestData()
self.kwargs = {
'asset_model': self.model._meta.sub_model_type
}
if self.model is not AssetBase:
self.viewset.kwargs = self.kwargs
self.kwargs = {
'asset_model': self.model._meta.sub_model_type
}
self.viewset.kwargs = self.kwargs
client = Client()

View File

@ -811,6 +811,18 @@ class ModelViewSetBaseCases(
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
@classmethod
def tearDownClass(cls):
cls.model = None
cls.organization.delete()
cls.view_user.delete()
super().tearDownClass()
def test_class_inherits_modelviewsetbase(self):
"""Class Inheritence check

View File

@ -17,9 +17,7 @@ class ViewsetTestCases(
SubModelViewSetInheritedCases,
):
model = TicketBase
kwargs = None
model = None
viewset = ViewSet
@ -36,8 +34,21 @@ class ViewsetTestCases(
"""
if self.model is None:
self.model = TicketBase
super().setUpTestData()
if self.model != TicketBase:
self.kwargs = {
'ticket_model': self.model._meta.sub_model_type
}
self.viewset.kwargs = self.kwargs
client = Client()
@ -79,24 +90,11 @@ class TicketBaseViewsetInheritedCases(
@classmethod
def setUpTestData(self):
self.kwargs = {
'ticket_model': self.model._meta.sub_model_type
}
super().setUpTestData()
class TicketBaseViewsetTest(
ViewsetTestCases,
TestCase,
):
kwargs = {}
route_name = 'v2:_api_v2_ticket'
viewset = NoDocsViewSet

View File

@ -59,6 +59,25 @@ class ITAMAssetBaseModelTestCases(
assert self.model.app_namespace is None
def test_attribute_type_note_basename(self):
"""Attribute Type
note_basename is of type str
"""
assert type(self.model.note_basename) is str
def test_attribute_value_note_basename(self):
"""Attribute Type
note_basename has been set, override this test case with the value
of attribute `note_basename`
"""
assert self.model.note_basename == 'accounting:_api_v2_asset_note'
class ITAMAssetBaseModelInheritedCases(
ITAMAssetBaseModelTestCases,

View File

@ -15,6 +15,20 @@ class ViewsetTestCases(
model = RequestTicket
@classmethod
def setUpTestData(self):
"""Setup Test
1. make list request
"""
if self.model is None:
self.model = RequestTicket
super().setUpTestData()
class TicketRequestViewsetTest(
ViewsetTestCases,