Files
Genarrative/scripts/spacetime-migration-common.test.ts
T
kdletters 387a1c26e3 完成全量检查整改
清理已跟踪原始日志与个人本地配置
修复前后端有效门禁、测试和构建问题
补齐生产 Jenkins、SpacetimeDB 本地命令与文档约束
收紧图片编辑器状态、附件与媒体引用测试
排除已下线旧创作入口测试并清理 warning
2026-07-17 16:56:46 +08:00

37 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import {
buildSpacetimeCallArgs,
encodeSpacetimeCliOption,
} from './spacetime-migration-common.mjs';
describe('SpacetimeDB CLI SATS option encoding', () => {
it('keeps absent options null and wraps present values as Some', () => {
expect(encodeSpacetimeCliOption(null)).toBeNull();
expect(encodeSpacetimeCliOption(undefined)).toBeNull();
expect(encodeSpacetimeCliOption('job-2')).toEqual([0, 'job-2']);
expect(encodeSpacetimeCliOption(123)).toEqual([0, 123]);
});
it('serializes non-empty maintenance cursors in the CLI procedure input', () => {
const args = buildSpacetimeCallArgs(
{
database: 'genarrative-prod',
passthrough: [],
serverUrl: 'http://127.0.0.1:3311',
},
'compact_external_generation_job_payloads_and_return',
{
dry_run: true,
limit: 1,
cursor_job_id: encodeSpacetimeCliOption('job-2'),
completed_before_micros: encodeSpacetimeCliOption(123),
},
);
const input = JSON.parse(args.at(-2) ?? 'null');
expect(input.cursor_job_id).toEqual([0, 'job-2']);
expect(input.completed_before_micros).toEqual([0, 123]);
});
});