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');
});