import assert from 'node:assert/strict'; import { api } from '../src/client/api.mjs'; const originalFetch = globalThis.fetch; let calls = 0; let release; globalThis.fetch = async () => { calls += 1; await new Promise(resolve => { release = resolve; }); return new Response(JSON.stringify({ ok: true, calls }), { status: 200, headers: { 'Content-Type': 'application/json' } }); }; try { const first = api('/api/large-ledger'); const second = api('/api/large-ledger'); await Promise.resolve(); assert.equal(calls, 1, '并发的相同 GET 请求应只发送一次'); release(); assert.deepEqual(await first, { ok: true, calls: 1 }); assert.deepEqual(await second, { ok: true, calls: 1 }); } finally { globalThis.fetch = originalFetch; } console.log('API read deduplication tests passed');