|
24 | 24 | US_EQUITY_DOMAIN, |
25 | 25 | get_eligible_profiles_for_platform, |
26 | 26 | get_platform_profile_matrix, |
| 27 | + get_platform_profile_status_matrix, |
27 | 28 | get_supported_profiles_for_platform, |
28 | 29 | ) |
29 | 30 |
|
@@ -103,6 +104,36 @@ def test_platform_profile_matrix_marks_default(self): |
103 | 104 | self.assertEqual(by_profile[DEFAULT_STRATEGY_PROFILE]["display_name"], "SOXL/SOXX Semiconductor Trend Income") |
104 | 105 | self.assertTrue(by_profile[DEFAULT_STRATEGY_PROFILE]["is_default"]) |
105 | 106 |
|
| 107 | + def test_platform_profile_status_matrix_matches_current_longbridge_rollout(self): |
| 108 | + rows = get_platform_profile_status_matrix() |
| 109 | + by_profile = {row["canonical_profile"]: row for row in rows} |
| 110 | + |
| 111 | + self.assertEqual( |
| 112 | + set(by_profile), |
| 113 | + { |
| 114 | + "hybrid_growth_income", |
| 115 | + "semiconductor_rotation_income", |
| 116 | + "tech_pullback_cash_buffer", |
| 117 | + }, |
| 118 | + ) |
| 119 | + self.assertEqual( |
| 120 | + by_profile["semiconductor_rotation_income"], |
| 121 | + { |
| 122 | + "canonical_profile": "semiconductor_rotation_income", |
| 123 | + "display_name": "SOXL/SOXX Semiconductor Trend Income", |
| 124 | + "domain": "us_equity", |
| 125 | + "eligible": True, |
| 126 | + "enabled": True, |
| 127 | + "is_default": True, |
| 128 | + "is_rollback": True, |
| 129 | + "platform": "longbridge", |
| 130 | + }, |
| 131 | + ) |
| 132 | + self.assertEqual(by_profile["hybrid_growth_income"]["display_name"], "TQQQ Growth Income") |
| 133 | + self.assertTrue(by_profile["tech_pullback_cash_buffer"]["eligible"]) |
| 134 | + self.assertTrue(by_profile["tech_pullback_cash_buffer"]["enabled"]) |
| 135 | + self.assertEqual(by_profile["tech_pullback_cash_buffer"]["display_name"], "QQQ Tech Enhancement") |
| 136 | + |
106 | 137 | def test_loads_feature_snapshot_env_for_tech_profile(self): |
107 | 138 | with patch.dict( |
108 | 139 | os.environ, |
|
0 commit comments