35 lines
881 B
Python
35 lines
881 B
Python
from datetime import datetime
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from django.conf import settings
|
|
from django.test import TestCase
|
|
|
|
from games.models import Game, Purchase, Session
|
|
|
|
ZONEINFO = ZoneInfo(settings.TIME_ZONE)
|
|
|
|
|
|
class FormatDurationTest(TestCase):
|
|
def setUp(self) -> None:
|
|
return super().setUp()
|
|
|
|
def test_duration_format(self):
|
|
g = Game(name="The Test Game")
|
|
g.save()
|
|
p = Purchase(
|
|
date_purchased=datetime(2022, 9, 26, 14, 58, tzinfo=ZONEINFO)
|
|
)
|
|
p.save()
|
|
p.games.add(g)
|
|
p.save()
|
|
s = Session(
|
|
game=g,
|
|
timestamp_start=datetime(2022, 9, 26, 14, 58, tzinfo=ZONEINFO),
|
|
timestamp_end=datetime(2022, 9, 26, 17, 38, tzinfo=ZONEINFO),
|
|
)
|
|
s.save()
|
|
self.assertEqual(
|
|
s.duration_formatted(),
|
|
"2.7",
|
|
)
|