fancive_obsidian-parallel-r.../tests/direct-generation.test.js
wujunchen 0bf5ab12b1 lint: extend Biome coverage to tests/ and scripts/
Add tests/**/*.js and scripts/**/*.mjs to biome.json includes and
update npm lint scripts to cover these directories. Auto-fixed all
formatting issues in 26 files.

Change-Id: I8c2763cb9683616a8abc1484d91bf8af79bb590e
2026-04-27 19:53:35 +08:00

73 lines
2.5 KiB
JavaScript

const { assert, requireBundledModule, cleanup } = require('./direct-test-setup');
(async () => {
try {
const generation = await requireBundledModule('src/generation.ts');
// ── cancellationNoticeKey: API backend during generation ──
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, { phase: 'generating' }),
'cancelRequestedApiInFlight',
'API backend + generating = API in-flight notice',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'anthropic-api' }, { phase: 'generating' }),
'cancelRequestedApiInFlight',
'anthropic-api backend + generating = API in-flight notice',
);
// ── cancellationNoticeKey: CLI backends ──
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'claude-code' }, { phase: 'generating' }),
'cancelRequested',
'CLI backend uses simple cancel notice',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'codex' }, { phase: 'generating' }),
'cancelRequested',
'codex backend uses simple cancel notice',
);
// ── cancellationNoticeKey: non-generating phases ──
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, { phase: 'queued' }),
'cancelRequested',
'queued phase = simple cancel even for API',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, { phase: 'cache-check' }),
'cancelRequested',
'cache-check phase = simple cancel',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, { phase: 'reading' }),
'cancelRequested',
'reading phase = simple cancel',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, { phase: 'saving' }),
'cancelRequested',
'saving phase = simple cancel',
);
// ── cancellationNoticeKey: null/edge cases ──
assert.strictEqual(
generation.cancellationNoticeKey(null, { phase: 'generating' }),
'cancelRequested',
'null settings = simple cancel',
);
assert.strictEqual(
generation.cancellationNoticeKey({ backend: 'api' }, null),
'cancelRequested',
'null job = simple cancel',
);
assert.strictEqual(generation.cancellationNoticeKey(null, null), 'cancelRequested', 'both null = simple cancel');
console.log('direct generation tests passed');
} finally {
cleanup();
}
})().catch((e) => {
console.error(e);
process.exit(1);
});