进行了一些小优化

This commit is contained in:
2026-08-25 06:58:09 +08:00
parent 9381d1ff53
commit e5df6fdaa7
4 changed files with 82 additions and 22 deletions
@@ -0,0 +1,35 @@
const fs = require('node:fs')
const path = require('node:path')
const test = require('node:test')
const assert = require('node:assert/strict')
const root = path.resolve(__dirname, '..', '..')
const read = (relativePath) => fs.readFileSync(path.join(root, relativePath), 'utf8')
test('admin order filters expose only the current order and payment categories', () => {
const page = read('src/Admin/Native/PayOrders.php')
assert.match(page, /ORDER_PRODUCT_RESOURCE\s*=>\s*__\('内容付费'/)
assert.match(page, /ORDER_PRODUCT_VIP\s*=>\s*__\('VIP'/)
assert.match(page, /ORDER_PRODUCT_RECHARGE\s*=>\s*__\('充值'/)
assert.match(page, /ORDER_PRODUCT_POINTS\s*=>\s*__\('购买积分'/)
assert.doesNotMatch(page, /shop_product|商城商品/)
assert.match(page, /''\s*=>\s*__\('支付方式'/)
assert.match(page, /'balance'\s*=>\s*__\('余额'/)
assert.match(page, /'points'\s*=>\s*__\('积分'/)
assert.match(page, /'gateway'\s*=>\s*__\('第三方网关支付'/)
assert.doesNotMatch(page, /全部支付|支付宝'|微信'/)
})
test('third-party payment filter resolves registered external gateways as one query', () => {
const page = read('src/Admin/Native/PayOrders.php')
const repository = read('src/Payment/OrderRepositoryAdmin.php')
assert.match(page, /\$args\['payment_methods'\]\s*=\s*\$this->third_party_gateway_ids\(\)/)
assert.match(page, /array_diff\(\s*array_keys\(.*?get_all\(\)\),\s*\['balance', 'points'\]\s*\)/s)
assert.match(repository, /array_key_exists\('payment_methods',\s*\$args\)/)
assert.match(repository, /payment_method IN \('/)
assert.match(repository, /\$payment_methods === \[\][\s\S]*?'1 = 0'/)
assert.doesNotMatch(repository, /\$args\['payment_method'\]/)
})