/**
 * 共享 helper：生成 Robot Manager Import 工具的测试用 PO Excel buffer
 *
 * 中文 header 必须与 PurchaseOrderImporter.fieldMetadata 顺序一致。
 * 被 import.integration.test.ts 和 import-spike.integration.test.ts 复用。
 */
import * as XLSX from 'xlsx';

export function buildPoExcel(rows: Array<Record<string, any>>): Buffer {
  const headers = ['PO 编号', '供应商代码', '货币', '下单日期', '预计到货', '行号', 'SKU 代码', '数量', '单价', '备注'];
  const data: any[][] = [headers];
  for (const r of rows) {
    data.push([
      r.poNo, r.supplierCode, r.currencyCode ?? 'USD',
      r.orderedAt ?? '2026-05-18', r.expectedAt ?? '',
      r.lineNo, r.skuCode, r.quantity, r.unitPrice, r.notes ?? '',
    ]);
  }
  const wb = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(wb, XLSX.utils.aoa_to_sheet(data), 'Data');
  return XLSX.write(wb, { type: 'buffer', bookType: 'xlsx' });
}
