fix(billing): 封住发布前计费竞态
ci / verify (pull_request) Failing after 8s
ci / verify (pull_request) Failing after 8s
阻止上游提交状态不明的任务被租约接管后重复执行,并为人工复核保留可操作的结算记录。 将生产提交绑定到当前估价签名,统一复用预处理快照,并补强规则形状、定点溢出与历史规则兼容校验。 已通过 PostgreSQL 16 集成测试、Go 全量测试与静态检查、前端测试与构建、OpenAPI、依赖审计、镜像、迁移、流水线和 SemVer 门禁。
This commit is contained in:
@@ -3,6 +3,7 @@ import type { GatewayPricingEstimate } from '@easyai-ai-gateway/contracts';
|
||||
import {
|
||||
MEDIA_ESTIMATE_DEBOUNCE_MS,
|
||||
billingEstimateSignature,
|
||||
mediaEstimateAllowsProduction,
|
||||
mediaEstimateFromResponse,
|
||||
} from './PlaygroundPage';
|
||||
|
||||
@@ -46,4 +47,11 @@ describe('playground pricing estimate', () => {
|
||||
status: 'free',
|
||||
});
|
||||
});
|
||||
|
||||
it('only allows production submission for the current pricing signature', () => {
|
||||
expect(mediaEstimateAllowsProduction({ status: 'ready', signature: 'current' }, 'current')).toBe(true);
|
||||
expect(mediaEstimateAllowsProduction({ status: 'free', signature: 'current' }, 'current')).toBe(true);
|
||||
expect(mediaEstimateAllowsProduction({ status: 'ready', signature: 'stale' }, 'current')).toBe(false);
|
||||
expect(mediaEstimateAllowsProduction({ status: 'loading', signature: 'current' }, 'current')).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user