|
73 | 73 | "soxl_soxx_trend_income", |
74 | 74 | "tqqq_growth_income", |
75 | 75 | "us_equity_combo", |
| 76 | + "us_equity_combo_core", |
76 | 77 | "us_equity_combo_leveraged", |
77 | 78 | "hk_global_etf_tactical_rotation", |
78 | 79 | "hk_low_vol_dividend_quality_snapshot", |
@@ -748,6 +749,18 @@ def test_load_platform_runtime_settings_accepts_nasdaq_sp500_smart_dca(monkeypat |
748 | 749 | assert settings.strategy_profile == "nasdaq_sp500_smart_dca" |
749 | 750 |
|
750 | 751 |
|
| 752 | +def test_load_platform_runtime_settings_accepts_us_equity_combo_core(monkeypatch): |
| 753 | + monkeypatch.setenv("RUNTIME_TARGET_JSON", runtime_target_json("us_equity_combo_core")) |
| 754 | + monkeypatch.setenv("ACCOUNT_GROUP", "paper") |
| 755 | + monkeypatch.setenv("IB_ACCOUNT_GROUP_CONFIG_JSON", MINIMAL_GROUP_JSON) |
| 756 | + |
| 757 | + settings = load_platform_runtime_settings(project_id_resolver=lambda: "project-1") |
| 758 | + |
| 759 | + assert settings.strategy_profile == "us_equity_combo_core" |
| 760 | + assert settings.strategy_display_name == "US Core Combo Shadow" |
| 761 | + assert settings.strategy_target_mode == "weight" |
| 762 | + |
| 763 | + |
751 | 764 | def test_load_platform_runtime_settings_rejects_legacy_qqq_tech_alias(monkeypatch): |
752 | 765 | monkeypatch.setenv("RUNTIME_TARGET_JSON", runtime_target_json("tech_pullback_cash_buffer")) |
753 | 766 | monkeypatch.setenv("ACCOUNT_GROUP", "paper") |
@@ -788,6 +801,9 @@ def test_platform_profile_status_matrix_matches_current_ibkr_rollout(): |
788 | 801 | assert by_profile["tqqq_growth_income"]["enabled"] is True |
789 | 802 | assert "nasdaq_sp500_smart_dca" in by_profile |
790 | 803 | assert "ibit_smart_dca" in by_profile |
| 804 | + assert by_profile["us_equity_combo_core"]["display_name"] == "US Core Combo Shadow" |
| 805 | + assert by_profile["us_equity_combo_core"]["eligible"] is True |
| 806 | + assert by_profile["us_equity_combo_core"]["enabled"] is True |
791 | 807 | assert by_profile["hk_global_etf_tactical_rotation"] == { |
792 | 808 | "canonical_profile": "hk_global_etf_tactical_rotation", |
793 | 809 | "display_name": "HK Global ETF Tactical Rotation", |
@@ -834,6 +850,9 @@ def test_print_strategy_profile_status_json_matches_registry(): |
834 | 850 | assert by_profile["global_etf_rotation"]["requires_strategy_config_path"] is False |
835 | 851 | assert "nasdaq_sp500_smart_dca" in by_profile |
836 | 852 | assert "ibit_smart_dca" in by_profile |
| 853 | + assert by_profile["us_equity_combo_core"]["profile_group"] == "direct_runtime_inputs" |
| 854 | + assert by_profile["us_equity_combo_core"]["input_mode"] == "current_holdings+russell_snapshot" |
| 855 | + assert by_profile["us_equity_combo_core"]["requires_strategy_config_path"] is False |
837 | 856 | assert by_profile["us_equity_combo_leveraged"]["profile_group"] == "direct_runtime_inputs" |
838 | 857 | assert by_profile["us_equity_combo_leveraged"]["input_mode"] == "market_data" |
839 | 858 | assert by_profile["us_equity_combo_leveraged"]["requires_strategy_config_path"] is False |
|
0 commit comments