17 lines
804 B
JavaScript
17 lines
804 B
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { fetchLiveTenders } from '../src/services/tenderApi.js';
|
|
|
|
test('live tender list distinguishes retryable source outage from an empty pool', async () => {
|
|
const original = globalThis.fetch;
|
|
try {
|
|
globalThis.fetch = async url => {
|
|
assert.equal(url, '/api/tenders');
|
|
return Response.json({ success: false, code: 'SOURCE_UNAVAILABLE', retryable: true, error: 'kaynak yok' }, { status: 502 });
|
|
};
|
|
await assert.rejects(() => fetchLiveTenders(), /geçici olarak erişilemiyor.*yeniden deneyin/);
|
|
globalThis.fetch = async () => Response.json({ success: true, tenders: [], totalCount: 0 });
|
|
assert.deepEqual((await fetchLiveTenders()).tenders, []);
|
|
} finally { globalThis.fetch = original; }
|
|
});
|