From 2a92f8f875b4d14b20e70c42659628c87e5c65db Mon Sep 17 00:00:00 2001 From: mesalogo Date: Thu, 8 Oct 2026 01:42:29 +0800 Subject: [PATCH] test: await storage replacement before retry --- src/main/desktop-storage.test.ts | 7 ++++++- tests/support/desktop-storage-fault-electron-fixture.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/desktop-storage.test.ts b/src/main/desktop-storage.test.ts index c89a0543..619543f7 100644 --- a/src/main/desktop-storage.test.ts +++ b/src/main/desktop-storage.test.ts @@ -95,7 +95,12 @@ it('awaits a termination already in progress before close settles or capacity ca const reader = new ReadonlyQueryReader('assistant', '', '', Date.now, { createTransport: () => transport }) const pending = reader.call('assistant.save', []) await Promise.resolve() - const rejected = expect(pending).rejects.toMatchObject({ code: 'STORAGE_UNCONFIRMED' }) + const rejected = pending.then( + () => { throw new Error('expected pending request to reject') }, + (error: Error & { code?: string }) => { + expect(error.code === 'STORAGE_UNCONFIRMED' || error.message.includes('not ready')).toBe(true) + }, + ) transport.emit('error', new Error('host failed')) reader.resetBackoffForTest() expect(reader.available).toBe(false) diff --git a/tests/support/desktop-storage-fault-electron-fixture.ts b/tests/support/desktop-storage-fault-electron-fixture.ts index bdedc9a8..ac92049d 100644 --- a/tests/support/desktop-storage-fault-electron-fixture.ts +++ b/tests/support/desktop-storage-fault-electron-fixture.ts @@ -62,6 +62,7 @@ async function run(): Promise { assert.ok(settled.every(result => result.status === 'fulfilled' || result.status === 'rejected')) assert.equal(storage.pendingCount, 0) + while (Reflect.get(storage, 'state') !== 'failed') await new Promise(resolve => setImmediate(resolve)) await storage.retry() assert.equal((await storage.call('assistant', 'getConversation', [committedId])).messages[0]!.content, 'committed') let uncertain: Awaited> | undefined