# -*- coding: utf-8 -*- """Unit tests for the trading domain helpers.""" from backend.domains import trading as trading_domain def test_trading_domain_payload_wrappers(monkeypatch): monkeypatch.setattr(trading_domain, "get_prices", lambda ticker, start_date, end_date: [{"close": 1}]) monkeypatch.setattr(trading_domain, "get_financial_metrics", lambda ticker, end_date, period, limit: [{"ticker": ticker}]) monkeypatch.setattr(trading_domain, "get_company_news", lambda ticker, end_date, start_date=None, limit=1000: [{"ticker": ticker}]) monkeypatch.setattr(trading_domain, "get_insider_trades", lambda ticker, end_date, start_date=None, limit=1000: [{"ticker": ticker}]) monkeypatch.setattr(trading_domain, "get_market_cap", lambda ticker, end_date: 2.5e12) assert trading_domain.get_prices_payload(ticker="AAPL", start_date="2026-03-01", end_date="2026-03-16") == { "ticker": "AAPL", "prices": [{"close": 1}], } assert trading_domain.get_financials_payload(ticker="AAPL", end_date="2026-03-16") == { "financial_metrics": [{"ticker": "AAPL"}], } assert trading_domain.get_news_payload(ticker="AAPL", end_date="2026-03-16") == { "news": [{"ticker": "AAPL"}], } assert trading_domain.get_insider_trades_payload(ticker="AAPL", end_date="2026-03-16") == { "insider_trades": [{"ticker": "AAPL"}], } assert trading_domain.get_market_cap_payload(ticker="AAPL", end_date="2026-03-16") == { "ticker": "AAPL", "end_date": "2026-03-16", "market_cap": 2.5e12, } def test_get_market_status_payload_uses_market_service(monkeypatch): class _FakeMarketService: def __init__(self, tickers): self.tickers = tickers def get_market_status(self): return {"status": "open", "status_text": "Open"} monkeypatch.setattr(trading_domain, "MarketService", _FakeMarketService) assert trading_domain.get_market_status_payload() == { "status": "open", "status_text": "Open", }