diff --git a/tests/v042-hardening.test.ts b/tests/v042-hardening.test.ts index 0b04663..cebd2f1 100644 --- a/tests/v042-hardening.test.ts +++ b/tests/v042-hardening.test.ts @@ -117,7 +117,8 @@ describe('P1-A — 二级索引恢复', () => { expect(idxLsm).toBeDefined(); expect(idxLsm.getStats().sstableCount).toBeGreaterThan(0); await idxLsm.prefetchRange('', '\uffff'); - expect(idxLsm.rangeScan('', '\uffff')).toHaveLength(3); + // v0.8.0: LSM.rangeScan 改为 async(读取自洽,未命中会回源加载) + expect(await idxLsm.rangeScan('', '\uffff')).toHaveLength(3); const byEmail = await engine2.find('users', { table: 'users', where: { email: 'a@x.com' } }); expect(byEmail).toHaveLength(2); // createIndex 对已持久化的索引列应幂等可重建(不得静默跳过导致索引永久缺失) @@ -147,7 +148,8 @@ describe('P1-A — 二级索引恢复', () => { const idxLsm = (engine2 as any).secondaryIndexes.get('users:idx:city'); expect(idxLsm).toBeDefined(); await idxLsm.prefetchRange('', '\uffff'); - expect(idxLsm.rangeScan('', '\uffff')).toHaveLength(2); + // v0.8.0: LSM.rangeScan 改为 async + expect(await idxLsm.rangeScan('', '\uffff')).toHaveLength(2); // 索引查询应看到 WAL 恢复的行(修复前索引与主数据不一致 → 丢行) const byCity = await engine2.find('users', { table: 'users', where: { city: 'Shanghai' } }); expect(byCity).toHaveLength(1);