test_report.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from pathlib import Path
  2. from okx_codex_trader.report import render_report_html
  3. def test_render_report_html_contains_metrics_trade_table_and_plot_frame():
  4. html = render_report_html(
  5. symbol="BTC-USDT-SWAP",
  6. bar="1H",
  7. leverage=2,
  8. stats={
  9. "Return [%]": 12.5,
  10. "Win Rate [%]": 66.7,
  11. "Max. Drawdown [%]": -8.2,
  12. "# Trades": 3,
  13. },
  14. trades=[
  15. {
  16. "side": "Long",
  17. "entry_time": "2026-04-01 00:00",
  18. "exit_time": "2026-04-02 00:00",
  19. "entry_price": 70000.0,
  20. "exit_price": 72000.0,
  21. "pnl": 200.0,
  22. "return_pct": 2.8,
  23. }
  24. ],
  25. plot_filename="report.plot.html",
  26. )
  27. assert "BTC-USDT-SWAP" in html
  28. assert "1H" in html
  29. assert "Leverage" in html
  30. assert "Return [%]" in html
  31. assert "Trade Journal" in html
  32. assert "report.plot.html" in html
  33. assert "2026-04-01 00:00" in html
  34. assert "Long" in html