import test from 'node:test'; import assert from 'node:assert/strict'; import { parseVirtualPayNotifyXml } from '../src/api/virtualPay/virtualPayXml.js'; test('解析 XML 内嵌对象形式的发货通知', () => { const xml = ` 202608260001 1 1770000000 13650019900 `; assert.deepEqual(parseVirtualPayNotifyXml(xml), { Event: 'xpay_goods_deliver_notify', OpenId: 'test-openid', OutTradeNo: '202608260001', Env: '1', WeChatPayInfo: { TransactionId: 'wx-transaction', PaidTime: '1770000000' }, GoodsInfo: { ProductId: 'miaoguo-year', Quantity: '1', OrigPrice: '36500', ActualPrice: '19900' } }); }); test('解析 XML 内 JSON 形式的发货通知对象', () => { const xml = ` xpay_goods_deliver_notify `; const result = parseVirtualPayNotifyXml(xml); assert.equal(result.GoodsInfo.ProductId, 'miaoguo-year'); assert.equal(result.GoodsInfo.ActualPrice, 19900); assert.equal(result.WeChatPayInfo.TransactionId, 'wx-transaction'); });