23 lines
742 B
Python
23 lines
742 B
Python
from datetime import datetime, time
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from llm_trade_bot.config import ScheduleConfig
|
|
from llm_trade_bot.scheduler import next_scheduled_time
|
|
|
|
|
|
def _config() -> ScheduleConfig:
|
|
zone = ZoneInfo("Europe/Warsaw")
|
|
return ScheduleConfig(zone, (time(9), time(21)))
|
|
|
|
|
|
def test_next_time_same_day():
|
|
config = _config()
|
|
now = datetime(2026, 9, 19, 10, 0, tzinfo=config.timezone)
|
|
assert next_scheduled_time(config, now) == datetime(2026, 9, 19, 21, 0, tzinfo=config.timezone)
|
|
|
|
|
|
def test_next_time_rolls_to_tomorrow():
|
|
config = _config()
|
|
now = datetime(2026, 9, 19, 22, 0, tzinfo=config.timezone)
|
|
assert next_scheduled_time(config, now) == datetime(2026, 9, 20, 9, 0, tzinfo=config.timezone)
|