import test from 'node:test' import assert from 'node:assert/strict' import { readFile } from 'node:fs/promises' import { fulfillment, fulfillmentIdempotencyKey, releaseFulfillmentKey, resetFulfillmentSession, restoreFulfillmentDraft, updateFulfillmentDraft } from '../src/stores/fulfillment.js' import { completeDispatchPicking, completeOutboundTask, departDispatch, getDispatchTask, getOutboundTask, listDispatchTasks, listOutboundTasks, normalizeDispatchTask, normalizeOutboundTask, pickDispatchItem, pickOutboundPallet, pickOutboundTask, resolveOutboundTask, outboundPickPayload, tripDepartureRequest } from '../src/api/fulfillment.js' import { session } from '../src/stores/session.js' import { toDispatchError } from '../src/utils/dispatch-error.js' const read = (path) => readFile(new URL(path, import.meta.url), 'utf8') test('dispatch merge retains return carton picking and review gates together', async () => { const source = (await read('../src/pages/dispatch/dispatch.vue')).match(/