387a1c26e3
清理已跟踪原始日志与个人本地配置 修复前后端有效门禁、测试和构建问题 补齐生产 Jenkins、SpacetimeDB 本地命令与文档约束 收紧图片编辑器状态、附件与媒体引用测试 排除已下线旧创作入口测试并清理 warning
37 lines
1.2 KiB
TypeScript
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]);
|
|
});
|
|
});
|