From bff5ea3fe8a9e186a5d9e88a236a1bda9a5c526e Mon Sep 17 00:00:00 2001 From: Jon Date: Sat, 8 Feb 2025 17:24:07 +0930 Subject: [PATCH] test(assistance): KB Test Cases for API Field Checks ref: #525 #528 --- app/assistance/models/knowledge_base_notes.py | 4 +- .../test_knowledge_base_notes_api_v2.py | 55 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 app/assistance/tests/functional/knowledge_base_notes/test_knowledge_base_notes_api_v2.py diff --git a/app/assistance/models/knowledge_base_notes.py b/app/assistance/models/knowledge_base_notes.py index 2c6a6da4..b5eb7149 100644 --- a/app/assistance/models/knowledge_base_notes.py +++ b/app/assistance/models/knowledge_base_notes.py @@ -17,9 +17,9 @@ class KnowledgeBaseNotes( ordering = ModelNotes._meta.ordering - verbose_name = 'Knowledge Base Article Note' + verbose_name = 'Knowledge Base Note' - verbose_name_plural = 'Knowledge Base Article Notes' + verbose_name_plural = 'Knowledge Base Notes' model = models.ForeignKey( diff --git a/app/assistance/tests/functional/knowledge_base_notes/test_knowledge_base_notes_api_v2.py b/app/assistance/tests/functional/knowledge_base_notes/test_knowledge_base_notes_api_v2.py new file mode 100644 index 00000000..da66bb1c --- /dev/null +++ b/app/assistance/tests/functional/knowledge_base_notes/test_knowledge_base_notes_api_v2.py @@ -0,0 +1,55 @@ +from django.contrib.contenttypes.models import ContentType +from django.test import TestCase + +from core.tests.abstract.model_notes_api_fields import ModelNotesNotesAPIFields + +from assistance.models.knowledge_base_notes import KnowledgeBase, KnowledgeBaseNotes + + + +class KnowledgeBaseNotesAPI( + ModelNotesNotesAPIFields, + TestCase, +): + + model = KnowledgeBaseNotes + + view_name: str = '_api_v2_knowledge_base_note' + + @classmethod + def setUpTestData(self): + """Setup Test + + 1. Call parent setup + 2. Create a model note + 3. add url kwargs + 4. make the API request + + """ + + super().setUpTestData() + + + self.item = self.model.objects.create( + organization = self.organization, + content = 'a random comment', + content_type = ContentType.objects.get( + app_label = str(self.model._meta.app_label).lower(), + model = str(self.model.model.field.related_model.__name__).replace(' ', '').lower(), + ), + model = KnowledgeBase.objects.create( + organization = self.organization, + title = 'note model', + content = 'text' + ), + created_by = self.view_user, + modified_by = self.view_user, + ) + + + self.url_view_kwargs = { + 'model_id': self.item.model.pk, + 'pk': self.item.pk + } + + self.make_request()