test: Correct Test Suite for Serializer for models TicketBase, TicketRequest and TicketSLM

ref: #733 #723 #725 #727
This commit is contained in:
2025-04-29 17:20:07 +09:30
parent 847a5550e8
commit 4ea5ddf122
3 changed files with 68 additions and 12 deletions

View File

@ -2,11 +2,17 @@ from django.contrib.auth.models import User
from django.test import TestCase
from access.models.organization import Organization
from core.serializers.ticket import (
TicketBase,
ModelSerializer
)
from project_management.models.project_milestone import (
Project,
ProjectMilestone,
)
class SerializerTestCases:
@ -18,8 +24,36 @@ class SerializerTestCases:
"""Serializer to test"""
valid_data: dict = {
'title': 'title 2',
'description': 'description',
"display_name": "tester ticket",
"organization": None,
"external_system": TicketBase.Ticket_ExternalSystem.CUSTOM_1,
"external_ref": 1,
"parent_ticket": None,
"ticket_type": "request",
"status": TicketBase.TicketStatus.NEW,
"category": None,
"title": "title2",
"description": "the description",
"project": None,
"milestone": None,
"urgency": TicketBase.TicketUrgency.LOW,
"impact": TicketBase.TicketImpact.LOW,
"priority": TicketBase.TicketPriority.LOW,
"priority_badge": None,
"opened_by": None,
"subscribed_to": [],
"assigned_to": [],
"planned_start_date": '2025-04-29T00:00:00Z',
"planned_finish_date": '2025-04-29T01:00:00Z',
"real_start_date": '2025-04-29T00:02:00Z',
"real_finish_date": '2025-04-29T00:03:00Z',
"tto": 0,
"ttr": 0,
"is_deleted": False,
"is_solved": False,
"date_solved": None,
"is_closed": False,
"date_closed": None,
}
"""Valid data used by serializer to create object"""
@ -32,14 +66,42 @@ class SerializerTestCases:
self.user = User.objects.create_user(username="test_user_view", password="password")
self.project_one = Project.objects.create(
organization = self.organization,
name = 'proj 1'
)
self.milestone_one = ProjectMilestone.objects.create(
organization = self.organization,
name = 'milestone one',
project = self.project_one
)
self.milestone_two = ProjectMilestone.objects.create(
organization = self.organization,
name = 'milestone two',
project = self.project_one
)
self.project_two = Project.objects.create(
organization = self.organization,
name = 'proj 2'
)
self.milestone_three = ProjectMilestone.objects.create(
organization = self.organization,
name = 'milestone three',
project = self.project_two
)
self.valid_data.update({
'organization': self.organization.pk,
'opened_by': self.user.pk,
'project': self.project_one.pk,
'milestone': self.milestone_one.pk,
})
self.item = self.model.objects.create(
**self.kwargs_create_item,
)

View File

@ -22,9 +22,6 @@ class TicketBaseSerializerInheritedCases(
SerializerTestCases,
):
kwargs_create_item: dict = {}
""" Model kwargs to create item"""
model = None
"""Model to test"""

View File

@ -19,7 +19,7 @@ class SerializerTestCases(
valid_data: dict = {
'ttr': 2,
'ttr': 3,
'tto': 3,
}
@ -28,9 +28,6 @@ class SLMTicketSerializerInheritedCases(
SerializerTestCases,
):
kwargs_create_item: dict = {}
""" Model kwargs to create item"""
model = None
"""Model to test"""