erio
5534347328
test: add unit tests for channel platform matching, interval validation, credits check
- TestIsPlatformPricingMatch: 12 cases covering all platform combinations
- TestMatchingPlatforms: 4 cases for platform expansion
- TestGetChannelModelPricing_AntigravityCrossPlatform: antigravity sees anthropic pricing
- TestGetChannelModelPricing_AnthropicCannotSeeAntigravityPricing: no reverse leakage
- TestResolveChannelMapping_AntigravityCrossPlatform: antigravity uses anthropic mapping
- TestFilterValidIntervals: 8 cases for empty interval filtering
- TestHasEnoughCredits: 10 cases for credits balance threshold logic
- Extract hasEnoughCredits() pure function for testability
2026-04-04 11:17:49 +08:00
..
2026-03-23 03:49:28 +08:00
2026-03-31 13:24:22 +08:00
2026-03-23 10:16:52 +08:00
2026-03-31 13:04:55 +08:00
2026-03-27 14:33:05 +08:00
2026-04-02 20:44:05 +08:00
2026-04-04 11:15:59 +08:00
2026-04-01 02:19:42 +08:00
2026-04-01 02:19:42 +08:00
2026-03-19 22:27:55 +08:00
2026-03-30 00:22:02 +08:00
2026-03-19 22:27:55 +08:00
2026-03-23 10:16:52 +08:00
2026-04-03 09:22:10 +08:00
2026-04-04 11:17:49 +08:00
2026-04-04 11:17:49 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 11:17:48 +08:00
2026-03-27 20:11:24 +08:00
2026-03-27 20:18:07 +08:00
2026-04-01 02:19:42 +08:00
2026-04-01 12:24:52 +08:00
2026-03-25 19:03:12 +08:00
2026-03-25 17:38:41 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-25 19:03:12 +08:00
2026-03-23 03:49:28 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 19:03:13 +08:00
2026-04-04 11:15:59 +08:00
2026-04-04 11:17:49 +08:00
2026-04-04 11:17:48 +08:00
2026-04-04 11:13:58 +08:00
2026-04-04 11:15:59 +08:00
2026-03-23 03:49:28 +08:00
2026-03-26 11:17:25 +08:00
2026-03-21 23:36:30 +08:00
2026-03-27 14:33:05 +08:00
2026-03-27 14:33:05 +08:00
2026-03-19 16:56:18 +08:00
2026-03-26 11:17:25 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-03-31 13:04:55 +08:00
2026-03-27 14:51:36 +08:00
2026-04-04 11:12:21 +08:00
2026-03-22 17:26:44 +08:00
2026-03-24 15:19:01 +08:00
2026-04-04 11:17:48 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 11:15:59 +08:00
2026-03-23 10:16:52 +08:00
2026-03-24 09:32:01 +08:00
2026-03-24 09:32:01 +08:00
2026-03-23 03:49:28 +08:00
2026-03-24 09:31:32 +08:00
2026-03-31 13:04:55 +08:00
2026-03-30 11:43:07 +08:00
2026-03-27 14:33:05 +08:00
2026-03-19 16:56:18 +08:00
2026-03-26 11:17:25 +08:00
2026-03-27 20:11:24 +08:00
2026-04-04 11:17:49 +08:00
2026-04-04 11:17:49 +08:00
2026-03-23 03:49:28 +08:00
2026-03-23 03:49:28 +08:00
2026-03-23 03:50:03 +08:00
2026-03-31 13:04:55 +08:00
2026-03-24 19:20:15 +08:00
2026-03-24 19:20:15 +08:00
2026-03-29 20:52:29 +08:00
2026-03-29 20:52:29 +08:00
2026-03-24 19:20:15 +08:00
2026-03-24 19:20:15 +08:00
2026-03-24 19:20:15 +08:00
2026-03-31 10:33:28 +08:00
2026-04-04 11:13:43 +08:00
2026-04-04 11:17:48 +08:00
2026-03-29 21:09:19 +08:00
2026-03-29 21:09:19 +08:00
2026-03-27 14:33:05 +08:00
2026-03-30 00:21:51 +08:00
2026-04-02 20:50:38 +08:00
2026-03-23 00:10:22 +08:00
2026-04-02 20:44:28 +08:00
2026-03-23 03:50:03 +08:00
2026-03-24 19:21:30 +08:00
2026-04-04 11:13:43 +08:00
2026-03-23 10:16:52 +08:00
2026-03-20 18:22:00 +08:00
2026-03-23 10:16:52 +08:00
2026-03-21 23:30:13 +08:00
2026-03-21 23:30:13 +08:00
2026-03-21 23:49:50 +08:00
2026-03-21 23:30:13 +08:00
2026-03-19 19:03:13 +08:00
2026-04-04 11:15:59 +08:00
2026-03-23 03:49:28 +08:00
2026-04-02 20:44:05 +08:00
2026-03-23 10:16:52 +08:00
2026-04-03 01:50:26 +08:00
2026-03-31 13:04:55 +08:00
2026-03-26 11:17:25 +08:00
2026-03-26 16:43:38 +08:00
2026-03-21 01:24:30 +08:00
2026-03-21 01:24:30 +08:00
2026-03-19 22:27:55 +08:00
2026-03-23 03:49:28 +08:00
2026-04-04 11:13:58 +08:00
2026-03-27 14:33:05 +08:00
2026-03-30 00:21:51 +08:00
2026-04-01 12:24:52 +08:00
2026-04-02 20:44:12 +08:00
2026-04-04 11:09:01 +08:00
2026-04-04 11:15:59 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-04-04 11:00:55 +08:00