Rewrite test for Todo

This commit is contained in:
sosokker 2023-11-06 22:18:28 +07:00
parent 3baf716c6f
commit 792e1f5276
3 changed files with 39 additions and 41 deletions

View File

@ -1,38 +0,0 @@
from datetime import datetime, timedelta, timezone
from django.test import TestCase
from tasks.models import Todo
from tasks.tests.utils import create_test_user
class TaskModelTest(TestCase):
def setUp(self):
self.user = create_test_user()
def test_eisenhower_matrix_category(self):
task = Todo(importance=2, end_event=None, user=self.user)
task.save()
# 'Not Important & Not Urgent' category (category 4)
self.assertEqual(task.calculate_eisenhower_matrix_category(), 4)
due_date = datetime.now(timezone.utc) + timedelta(days=1)
task = Todo(importance=4, end_event=due_date, user=self.user)
task.save()
# 'Important & Urgent' category (category 1)
self.assertEqual(task.calculate_eisenhower_matrix_category(), 1)
due_date = datetime.now(timezone.utc) + timedelta(days=10)
task = Todo(importance=3, end_event=due_date, user=self.user)
task.save()
# 'Important & Not Urgent' category (category 2)
self.assertEqual(task.calculate_eisenhower_matrix_category(), 2)
due_date = datetime.now(timezone.utc) + timedelta(days=4)
task = Todo(importance=1, end_event=due_date, user=self.user)
task.save()
# 'Not Important & Urgent' category (category 3)
self.assertEqual(task.calculate_eisenhower_matrix_category(), 3)

View File

@ -7,7 +7,7 @@ from rest_framework.test import APITestCase
from tasks.tests.utils import create_test_user, login_user
from ..models import Todo
class TaskCreateViewTests(APITestCase):
class TodoCreateViewTests(APITestCase):
def setUp(self):
self.user = create_test_user()
@ -16,7 +16,7 @@ class TaskCreateViewTests(APITestCase):
self.due_date = datetime.now() + timedelta(days=5)
def test_create_valid_task(self):
def test_create_valid_todo(self):
"""
Test creating a valid task using the API.
"""
@ -35,7 +35,7 @@ class TaskCreateViewTests(APITestCase):
self.assertEqual(Todo.objects.count(), 1)
self.assertEqual(Todo.objects.get().title, 'Test Task')
def test_create_invalid_task(self):
def test_create_invalid_todo(self):
"""
Test creating an invalid task using the API.
"""

View File

@ -0,0 +1,36 @@
from datetime import datetime, timedelta, timezone
from django.test import TestCase
from tasks.models import Todo
from tasks.tests.utils import create_test_user
class TodoPriorityTest(TestCase):
def setUp(self):
self.user = create_test_user()
def test_priority_calculation(self):
# Important = 2, Till Due = none
todo = Todo(importance=2, end_event=None, user=self.user)
todo.save()
# 'Not Important & Not Urgent'
self.assertEqual(todo.priority, Todo.EisenhowerMatrix.NOT_IMPORTANT_NOT_URGENT)
due_date = datetime.now(timezone.utc) + timedelta(days=1)
# Important = 4, Till Due = 1
todo = Todo(importance=4, end_event=due_date, user=self.user)
todo.save()
# 'Important & Urgent'
self.assertEqual(todo.priority, Todo.EisenhowerMatrix.IMPORTANT_URGENT)
due_date = datetime.now(timezone.utc) + timedelta(days=10)
# Important = 3, Till Due = 10
todo = Todo(importance=3, end_event=due_date, user=self.user)
todo.save()
# 'Important & Not Urgent'
self.assertEqual(todo.priority, Todo.EisenhowerMatrix.IMPORTANT_NOT_URGENT)
due_date = datetime.now(timezone.utc) + timedelta(days=2)
# Important = 1, Till Due = 2
todo = Todo(importance=1, end_event=due_date, user=self.user)
todo.save()
# 'Not Important & Urgent'
self.assertEqual(todo.priority, Todo.EisenhowerMatrix.NOT_IMPORTANT_URGENT)