test(backend): convert existing app suites to unittest
This commit is contained in:
@@ -1,59 +1,66 @@
|
||||
from datetime import datetime
|
||||
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
from apps.time_entries.api.serializers import TimeEntrySerializer
|
||||
from apps.time_entries.models import TimeEntry
|
||||
from apps.projects.models import Project
|
||||
from apps.tags.models import Tag
|
||||
from apps.time_entries.api.serializers import TimeEntrySerializer
|
||||
from apps.time_entries.models import TimeEntry
|
||||
from apps.users.models import User
|
||||
from apps.workspaces.models import Workspace
|
||||
|
||||
|
||||
def test_time_entry_serializer_keeps_seconds(db):
|
||||
user = User.objects.create_user(mobile="09123333333", password="secret123")
|
||||
workspace = Workspace.objects.create(name="Core", owner=user)
|
||||
current_timezone = timezone.get_current_timezone()
|
||||
class TimeEntrySerializerTests(TestCase):
|
||||
def test_time_entry_serializer_keeps_seconds(self):
|
||||
user = User.objects.create_user(mobile="09123333333", password="secret123")
|
||||
workspace = Workspace.objects.create(name="Core", owner=user)
|
||||
current_timezone = timezone.get_current_timezone()
|
||||
|
||||
start_time = timezone.make_aware(datetime(2026, 4, 23, 10, 15, 42), current_timezone)
|
||||
end_time = timezone.make_aware(datetime(2026, 4, 23, 11, 0, 5), current_timezone)
|
||||
start_time = timezone.make_aware(
|
||||
datetime(2026, 4, 23, 10, 15, 42),
|
||||
current_timezone,
|
||||
)
|
||||
end_time = timezone.make_aware(
|
||||
datetime(2026, 4, 23, 11, 0, 5),
|
||||
current_timezone,
|
||||
)
|
||||
|
||||
entry = TimeEntry.objects.create(
|
||||
workspace=workspace,
|
||||
user=user,
|
||||
start_time=start_time,
|
||||
end_time=end_time,
|
||||
)
|
||||
entry = TimeEntry.objects.create(
|
||||
workspace=workspace,
|
||||
user=user,
|
||||
start_time=start_time,
|
||||
end_time=end_time,
|
||||
)
|
||||
|
||||
data = TimeEntrySerializer(entry).data
|
||||
data = TimeEntrySerializer(entry).data
|
||||
|
||||
assert data["start_time"] == start_time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
assert data["end_time"] == end_time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
self.assertEqual(data["start_time"], start_time.strftime("%Y-%m-%d %H:%M:%S"))
|
||||
self.assertEqual(data["end_time"], end_time.strftime("%Y-%m-%d %H:%M:%S"))
|
||||
|
||||
def test_time_entry_serializer_includes_deleted_project_and_tags(self):
|
||||
user = User.objects.create_user(mobile="09124444444", password="secret123")
|
||||
workspace = Workspace.objects.create(name="Core", owner=user)
|
||||
project = Project.objects.create(workspace=workspace, name="Legacy Project")
|
||||
tag = Tag.objects.create(workspace=workspace, name="Legacy Tag", color="#334155")
|
||||
project.delete()
|
||||
tag.delete()
|
||||
|
||||
def test_time_entry_serializer_includes_deleted_project_and_tags(db):
|
||||
user = User.objects.create_user(mobile="09124444444", password="secret123")
|
||||
workspace = Workspace.objects.create(name="Core", owner=user)
|
||||
project = Project.objects.create(workspace=workspace, name="Legacy Project")
|
||||
tag = Tag.objects.create(workspace=workspace, name="Legacy Tag", color="#334155")
|
||||
project.delete()
|
||||
tag.delete()
|
||||
entry = TimeEntry.objects.create(
|
||||
workspace=workspace,
|
||||
user=user,
|
||||
project=Project.all_objects.get(id=project.id),
|
||||
description="Historical work",
|
||||
start_time=timezone.now(),
|
||||
end_time=timezone.now(),
|
||||
)
|
||||
entry.tags.set([Tag.all_objects.get(id=tag.id)])
|
||||
|
||||
entry = TimeEntry.objects.create(
|
||||
workspace=workspace,
|
||||
user=user,
|
||||
project=Project.all_objects.get(id=project.id),
|
||||
description="Historical work",
|
||||
start_time=timezone.now(),
|
||||
end_time=timezone.now(),
|
||||
)
|
||||
entry.tags.set([Tag.all_objects.get(id=tag.id)])
|
||||
data = TimeEntrySerializer(entry).data
|
||||
|
||||
data = TimeEntrySerializer(entry).data
|
||||
|
||||
assert data["project"] == str(project.id)
|
||||
assert data["project_details"]["name"] == "Legacy Project"
|
||||
assert data["project_details"]["is_deleted"] is True
|
||||
assert data["tags"] == [str(tag.id)]
|
||||
assert data["tag_details"][0]["name"] == "Legacy Tag"
|
||||
assert data["tag_details"][0]["is_deleted"] is True
|
||||
self.assertEqual(data["project"], str(project.id))
|
||||
self.assertEqual(data["project_details"]["name"], "Legacy Project")
|
||||
self.assertTrue(data["project_details"]["is_deleted"])
|
||||
self.assertEqual(data["tags"], [str(tag.id)])
|
||||
self.assertEqual(data["tag_details"][0]["name"], "Legacy Tag")
|
||||
self.assertTrue(data["tag_details"][0]["is_deleted"])
|
||||
|
||||
Reference in New Issue
Block a user