58 lines
No EOL
2.4 KiB
Python
58 lines
No EOL
2.4 KiB
Python
import uuid
|
|
from django.test import TestCase
|
|
from django.contrib.auth import get_user_model
|
|
from task_app.models import Task, SubTask, AssignedTask
|
|
from task_app.choices import TaskCategory, TaskPriority, TaskStatus
|
|
|
|
User = get_user_model()
|
|
|
|
class TaskModelTests(TestCase):
|
|
|
|
def setUp(self):
|
|
user = User.objects.create(first_name="Test", last_name="User", email="test@example.com")
|
|
self.user = user
|
|
|
|
def test_task_creation(self):
|
|
task = Task.objects.create(
|
|
title="Test Task 1",
|
|
description="Description 1",
|
|
category=TaskCategory.TECHNICAL_TASK,
|
|
priority=TaskPriority.LOW,
|
|
status=TaskStatus.TODO,
|
|
date="2025-01-01",
|
|
creator=self.user
|
|
)
|
|
self.assertTrue(isinstance(task, Task))
|
|
self.assertEqual(str(task), 'Test Task')
|
|
self.assertIsNotNone(task.id)
|
|
self.assertEqual(task.creator, self.user)
|
|
self.assertIsNotNone(task.created_at)
|
|
|
|
def test_subtask_creation(self):
|
|
task = Task.objects.create(title='Parent Task', creator=self.user)
|
|
subtask = SubTask.objects.create(task=task, title='Test SubTask')
|
|
self.assertTrue(isinstance(subtask, SubTask))
|
|
self.assertEqual(str(subtask), 'Parent Task - Test SubTask')
|
|
self.assertIsNotNone(subtask.id)
|
|
self.assertEqual(subtask.task, task)
|
|
self.assertEqual(subtask.status, False)
|
|
|
|
def test_assigned_task_creation(self):
|
|
task = Task.objects.create(title='Assigned Task', creator=self.user)
|
|
assigned_user = User.objects.create(username='assigneduser')
|
|
assigned_task = AssignedTask.objects.create(user=assigned_user, task=task)
|
|
self.assertTrue(isinstance(assigned_task, AssignedTask))
|
|
self.assertEqual(str(assigned_task), 'assigneduser - Assigned Task')
|
|
self.assertEqual(assigned_task.user, assigned_user)
|
|
self.assertEqual(assigned_task.task, task)
|
|
|
|
def test_task_default_uuid(self):
|
|
task = Task.objects.create(title='UUID Task', creator=self.user)
|
|
self.assertTrue(isinstance(task.id, uuid.UUID))
|
|
task2 = Task.objects.create(title='Another UUID Task', creator=self.user)
|
|
self.assertNotEqual(task.id, task2.id)
|
|
|
|
def test_subtask_default_status(self):
|
|
task = Task.objects.create(title='Task with Subtask', creator=self.user)
|
|
subtask = SubTask.objects.create(task=task, title='Default Status Subtask')
|
|
self.assertFalse(subtask.status) |