Expose partial item search failures and allow query-scoped retries

This commit is contained in:
2026-09-06 10:31:58 +03:00
parent 0c16bbd96f
commit 21e80d0dd6
5 changed files with 53 additions and 12 deletions
+13
View File
@@ -23,3 +23,16 @@ test('shared inventory waits are bounded and can be cancelled on tender change',
await assert.rejects(pending,{name:'AbortError'});
} finally {globalThis.fetch=original;}
});
test('item search does not convert unavailable inventory into zero matches',async()=>{
const {kalemAra}=await import('../src/services/kalem.js');
const original=globalThis.fetch;
try {
globalThis.fetch=async()=>Response.json({success:true,sonuclar:[]});
assert.deepEqual(await kalemAra('tüp'),[]);
globalThis.fetch=async()=>Response.json({success:false,error:'storage offline'},{status:503});
await assert.rejects(kalemAra('tüp'),/arama tamamlanamadı/);
const c=new AbortController();c.abort();
globalThis.fetch=async(url,{signal})=>{signal.throwIfAborted();};
await assert.rejects(kalemAra('tüp',{signal:c.signal}),{name:'AbortError'});
} finally {globalThis.fetch=original;}
});