import assert from 'node:assert/strict' import test from 'node:test' import { loadAllWarehouseRecords } from './warehousePagination.ts' test('loads every page for one warehouse type and preserves the type query', async () => { const queries = [] const records = await loadAllWarehouseRecords('DOMESTIC', async (query) => { queries.push(query) if (query.page === 1) return { records: [{ id: 'domestic-1' }], pages: '2' } return { records: [{ id: 'domestic-2' }], pages: '2' } }) assert.deepEqual(queries, [ { warehouseType: 'DOMESTIC', page: 1, size: 200 }, { warehouseType: 'DOMESTIC', page: 2, size: 200 }, ]) assert.deepEqual(records, [{ id: 'domestic-1' }, { id: 'domestic-2' }]) }) test('stops after the first page when the warehouse type has no later pages', async () => { let requestCount = 0 const records = await loadAllWarehouseRecords('FBA', async () => { requestCount += 1 return { records: [], pages: 0 } }) assert.equal(requestCount, 1) assert.deepEqual(records, []) })