mirror of
https://github.com/TurTaskProject/TurTaskWeb.git
synced 2025-12-19 22:14:07 +01:00
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
from datetime import datetime
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from rest_framework.test import APITestCase
|
|
|
|
from django.utils import timezone
|
|
|
|
from tasks.tests.utils import create_test_user
|
|
from tasks.serializers import TodoUpdateSerializer
|
|
from tasks.models import Todo
|
|
from boards.models import Board
|
|
|
|
class TaskUpdateSerializerTest(APITestCase):
|
|
def setUp(self):
|
|
self.user = create_test_user()
|
|
self.client.force_authenticate(user=self.user)
|
|
self.current_time = '2020-08-01T00:00:00Z'
|
|
self.end_time = '2020-08-01T00:00:00Z'
|
|
self.list_board = Board.objects.get(user=self.user).listboard_set.first()
|
|
|
|
def test_serializer_create(self):
|
|
data = {
|
|
'id': '32141cwaNcapufh8jq2conw',
|
|
'summary': 'Updated Task',
|
|
'description': 'Updated description',
|
|
'created': self.current_time,
|
|
'updated': self.end_time,
|
|
'start_datetime' : self.current_time,
|
|
'end_datetie': self.end_time,
|
|
'list_board': self.list_board.id,
|
|
}
|
|
|
|
serializer = TodoUpdateSerializer(data=data, user=self.user)
|
|
self.assertTrue(serializer.is_valid())
|
|
serializer.is_valid()
|
|
task = serializer.save()
|
|
self.assertIsInstance(task, Todo)
|
|
|
|
def test_serializer_update(self):
|
|
task = Todo.objects.create(title='Original Task', notes='Original description', user=self.user, list_board=self.list_board)
|
|
|
|
data = {
|
|
'id': '32141cwaNcapufh8jq2conw',
|
|
'summary': 'Updated Task',
|
|
'description': 'Updated description',
|
|
'created': self.current_time,
|
|
'updated': self.end_time,
|
|
'start_datetime' : self.current_time,
|
|
'end_datetie': self.end_time,
|
|
'list_board': self.list_board.id,
|
|
}
|
|
|
|
serializer = TodoUpdateSerializer(instance=task, data=data)
|
|
self.assertTrue(serializer.is_valid())
|
|
updated_task = serializer.save()
|
|
|
|
self.assertEqual(updated_task.title, 'Updated Task')
|
|
self.assertEqual(updated_task.notes, 'Updated description')
|
|
self.assertEqual(updated_task.start_event,
|
|
datetime.strptime(self.current_time,
|
|
'%Y-%m-%dT%H:%M:%SZ')
|
|
.replace(tzinfo=ZoneInfo(key='UTC'))) |