进行了一些小优化
This commit is contained in:
@@ -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'\]/)
|
||||
})
|
||||
Reference in New Issue
Block a user