TurTaskWeb/backend/tasks/tests/test_todo_signal.py
2023-11-28 11:55:39 +07:00

33 lines
1.3 KiB
Python

from datetime import datetime, timedelta
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from tasks.tests.utils import create_test_user
from tasks.models import Todo
from boards.models import ListBoard, Board
class TodoSignalHandlersTests(APITestCase):
def setUp(self):
self.user = create_test_user()
self.client.force_authenticate(user=self.user)
self.list_board = Board.objects.get(user=self.user).listboard_set.first()
def test_update_priority_signal_handler(self):
"""
Test the behavior of the update_priority signal handler.
"""
due_date = datetime.now() + timedelta(days=5)
data = {
'title': 'Test Task',
'type': 'habit',
'difficulty': 1,
'end_event': due_date.strftime('%Y-%m-%dT%H:%M:%S'),
'list_board': self.list_board.id,
}
response = self.client.post(reverse("todo-list"), data, format='json')
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
# Retrieve the created task and check if priority is updated
task = Todo.objects.get(title='Test Task')
self.assertIsNotNone(task.priority) # Check if priority is not None