import assert from 'node:assert/strict' import test from 'node:test' import { readFileSync } from 'node:fs' import ts from 'typescript' import * as vue from 'vue' function evaluate(source, dependencies = {}) { const code = ts.transpileModule(source, { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2022 } }).outputText const exports = {} new Function('require', 'exports', code)(id => { assert.ok(id in dependencies, `Unexpected dependency ${id}`) return dependencies[id] }, exports) return exports } const eligibility = evaluate(readFileSync(new URL('../utils/customsEligibility.ts', import.meta.url), 'utf8')) const order = (id, status = 'LOADED', taxMode = 'TAX_REFUND') => ({ id, status, taxMode, orderNo: `ORDER-${id}`, businessSummary: { inboundCode: `IN-${id}` } }) const detail = id => ({ status: 'COMPLETED', merchantStatus: 'CUSTOMS_COMPLETED', inbounds: [{ orderId: id, taxMode: 'TAX_REFUND' }] }) function harness(t, orders, getDetail = async id => detail(id)) { const store = { orders, loadError: '', load: async () => {} }, calls = [] const source = readFileSync(new URL('./CustomsDocumentsView.vue', import.meta.url), 'utf8').match(/