import test from 'node:test'; import assert from 'node:assert/strict'; import { calcPaySig, calcUserSignature, moneyToFen } from '../src/api/virtualPay/virtualPaySign.js'; test('微信文档中的支付签名示例', () => { const body = '{"openid": "xxx", "user_ip": "127.0.0.1", "env": 0}'; assert.equal( calcPaySig('/xpay/query_user_balance', body, '12345'), 'c37809f27c6d7fd1837ad2500a04512b66b34fd793a39a385fade56dca89a4b5' ); }); test('微信文档中的用户态签名示例', () => { const body = '{"openid": "xxx", "user_ip": "127.0.0.1", "env": 0}'; assert.equal( calcUserSignature(body, '9hAb/NEYUlkaMBEsmFgzig=='), '089d9e8dc5d308977360c4b79ec600a93d736802802a807d634192328032f6c7' ); }); test('金额按旧支付表的分单位转换', () => { assert.equal(moneyToFen('199'), 19900); assert.equal(moneyToFen('1.00'), 100); assert.throws(() => moneyToFen('0.001')); });