parent
f18912bed4
commit
9f6934d076
@ -1,2 +0,0 @@
|
|||||||
from django.test import TestCase
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
from tasks.models import Task, Tasks
|
||||||
|
|
||||||
|
class TaskTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
statuses = ["TODO", "DOING", "DONE", "CANCELED"]
|
||||||
|
names = [f"Test Task {i}" for i in statuses]
|
||||||
|
description = ""
|
||||||
|
|
||||||
|
tasks = [
|
||||||
|
Task(name=name, description=description, status=status)
|
||||||
|
for name, status in zip(names, statuses)
|
||||||
|
]
|
||||||
|
|
||||||
|
Task.objects.bulk_create(tasks)
|
||||||
|
|
||||||
|
def test__get_status_index_with_existing(self):
|
||||||
|
task = Task.objects.filter(status="DONE").first()
|
||||||
|
index = task._get_status_index()
|
||||||
|
self.assertEqual(index, 2)
|
||||||
|
|
||||||
|
def test_circular_next_status_index_for_todo(self):
|
||||||
|
task = Task.objects.filter(status="TODO").first()
|
||||||
|
index = task.circular_next_status_index()
|
||||||
|
self.assertEqual(index, 1)
|
||||||
|
|
||||||
|
def test_circular_next_status_index_for_canceled(self):
|
||||||
|
task = Task.objects.filter(status="CANCELED").first()
|
||||||
|
next_index = task.circular_next_status_index()
|
||||||
|
self.assertEqual(next_index, 0)
|
||||||
|
|
||||||
|
def test_circular_next_status_for_todo(self):
|
||||||
|
task = Task.objects.filter(status="TODO").first()
|
||||||
|
next_status = task.circular_next_status()
|
||||||
|
self.assertEqual(next_status, "DOING")
|
||||||
|
|
||||||
|
def test_circular_next_status_for_canceled(self):
|
||||||
|
task = Task.objects.filter(status="CANCELED").first()
|
||||||
|
next_status = task.circular_next_status()
|
||||||
|
self.assertEqual(next_status, "TODO")
|
||||||
|
|
||||||
|
def test_set_circular_next_status_for_todo(self):
|
||||||
|
task = Task.objects.filter(status="TODO").first()
|
||||||
|
task.set_circular_next_status()
|
||||||
|
task.refresh_from_db()
|
||||||
|
self.assertEqual(task.status, "DOING")
|
||||||
|
|
||||||
|
def test_set_circular_next_status_for_canceled(self):
|
||||||
|
task = Task.objects.filter(status="CANCELED").first()
|
||||||
|
task.set_circular_next_status()
|
||||||
|
task.refresh_from_db()
|
||||||
|
self.assertEqual(task.status, "TODO")
|
||||||
|
|
Loading…
Reference in new issue