feat: split portfolio and opportunity decision models
This commit is contained in:
@@ -140,7 +140,7 @@ class CLITestCase(unittest.TestCase):
|
||||
patch.object(cli, "get_binance_credentials", return_value={"api_key": "k", "api_secret": "s"}),
|
||||
patch.object(cli, "SpotBinanceClient"),
|
||||
patch.object(
|
||||
cli.opportunity_service, "analyze_portfolio", return_value={"scores": [{"asset": "BTC", "score": 0.75}]}
|
||||
cli.portfolio_service, "analyze_portfolio", return_value={"recommendations": [{"symbol": "BTCUSDT", "score": 0.75}]}
|
||||
),
|
||||
patch.object(
|
||||
cli, "print_output", side_effect=lambda payload, **kwargs: captured.setdefault("payload", payload)
|
||||
@@ -148,7 +148,7 @@ class CLITestCase(unittest.TestCase):
|
||||
):
|
||||
result = cli.main(["portfolio"])
|
||||
self.assertEqual(result, 0)
|
||||
self.assertEqual(captured["payload"]["scores"][0]["asset"], "BTC")
|
||||
self.assertEqual(captured["payload"]["recommendations"][0]["symbol"], "BTCUSDT")
|
||||
|
||||
def test_opportunity_dispatches(self):
|
||||
captured = {}
|
||||
@@ -161,7 +161,7 @@ class CLITestCase(unittest.TestCase):
|
||||
patch.object(
|
||||
cli.opportunity_service,
|
||||
"scan_opportunities",
|
||||
return_value={"opportunities": [{"symbol": "BTCUSDT", "score": 0.82}]},
|
||||
return_value={"recommendations": [{"symbol": "BTCUSDT", "score": 0.82}]},
|
||||
),
|
||||
patch.object(
|
||||
cli, "print_output", side_effect=lambda payload, **kwargs: captured.setdefault("payload", payload)
|
||||
@@ -169,7 +169,7 @@ class CLITestCase(unittest.TestCase):
|
||||
):
|
||||
result = cli.main(["opportunity", "-s", "BTCUSDT", "ETHUSDT"])
|
||||
self.assertEqual(result, 0)
|
||||
self.assertEqual(captured["payload"]["opportunities"][0]["symbol"], "BTCUSDT")
|
||||
self.assertEqual(captured["payload"]["recommendations"][0]["symbol"], "BTCUSDT")
|
||||
|
||||
def test_catlog_dispatches(self):
|
||||
captured = {}
|
||||
|
||||
Reference in New Issue
Block a user