SuperAI_Forecast / backend /test_api_models.py
Thang6822
Update Kronos Platform v6.1.0: Complete backend refactor and frontend UI optimization
a721dfa
raw
history blame contribute delete
818 Bytes
from __future__ import annotations
import unittest
from pydantic import ValidationError
from backend.api_models import SwitchRequest, WatchlistRequest
class ApiModelsTests(unittest.TestCase):
def test_switch_request_accepts_symbol_and_interval(self) -> None:
model = SwitchRequest(symbol="BTCUSD", interval="1h")
self.assertEqual(model.symbol, "BTCUSD")
self.assertEqual(model.interval, "1h")
def test_watchlist_request_rejects_empty_symbol_list(self) -> None:
with self.assertRaises(ValidationError):
WatchlistRequest(symbols=[])
def test_watchlist_request_rejects_oversized_symbol_list(self) -> None:
with self.assertRaises(ValidationError):
WatchlistRequest(symbols=["BTCUSD"] * 51)
if __name__ == "__main__":
unittest.main()