Add tests for date_time formatting with Unix time and datetime objects

This commit is contained in:
JRoot Junior 2026-03-02 21:50:45 +02:00
parent ebfab22d64
commit 50e7b3f755
No known key found for this signature in database
GPG key ID: 738964250D5FF6E2
2 changed files with 82 additions and 0 deletions

View file

@ -1,3 +1,5 @@
from datetime import datetime, timezone
import pytest
from aiogram.enums import MessageEntityType
@ -120,6 +122,10 @@ class TestNode:
DateTime("test", unix_time=42, date_time_format="yMd"),
'<tg-time unix="42" format="yMd">test</tg-time>',
],
[
DateTime("test", unix_time=42),
'<tg-time unix="42">test</tg-time>',
],
],
)
def test_render_plain_only(self, node: Text, result: str):
@ -379,6 +385,22 @@ class TestUtils:
assert node._params["unix_time"] == 42
assert node._params["date_time_format"] == "yMd"
def test_date_time_with_datetime_object(self):
dt = datetime(2024, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
node = DateTime("test", unix_time=dt)
assert isinstance(node, DateTime)
assert node._params["unix_time"] == 1704067200
def test_date_time_with_datetime_and_format(self):
dt = datetime(2024, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
node = DateTime("test", unix_time=dt, date_time_format="yMd")
assert node._params["unix_time"] == 1704067200
assert node._params["date_time_format"] == "yMd"
def test_date_time_as_markdown(self):
node = DateTime("test", unix_time=42, date_time_format="yMd")
assert node.as_markdown() == "![test](tg://time?unix=42&format=yMd)"
def test_as_line(self):
node = as_line("test", "test", "test")
assert isinstance(node, Text)