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()