fix payment points
This commit is contained in:
@@ -129,6 +129,30 @@ test('core asset paths never use floating-point money helpers', () => {
|
||||
assert.deepEqual(violations, [])
|
||||
})
|
||||
|
||||
test('points orders bypass cash commissions and purchase dead paths stay removed', () => {
|
||||
const commission = fs.readFileSync(path.join(root, 'src', 'Payment', 'CommissionLedger.php'), 'utf8')
|
||||
const paidStart = commission.indexOf('public function record_paid_order')
|
||||
const paidEnd = commission.indexOf('public function settle_due', paidStart)
|
||||
const paidMethod = commission.slice(paidStart, paidEnd)
|
||||
const pointsGuard = paidMethod.indexOf('AssetType::POINTS->value')
|
||||
const affiliateGuard = paidMethod.indexOf('Settings::affiliate_enabled()')
|
||||
|
||||
assert.ok(paidStart >= 0 && paidEnd > paidStart)
|
||||
assert.ok(pointsGuard >= 0 && affiliateGuard > pointsGuard)
|
||||
assert.match(paidMethod, /\$currency\s*=\s*sanitize_key/)
|
||||
|
||||
const pay = fs.readFileSync(path.join(root, 'inc', 'helpers', 'aksrt-pay.php'), 'utf8')
|
||||
const payTypesStart = pay.indexOf('function aksrt_get_pay_types')
|
||||
const cashMethodsStart = pay.indexOf('function aksrt_list_cash_payment_methods', payTypesStart)
|
||||
const payTypesMethod = pay.slice(payTypesStart, cashMethodsStart)
|
||||
assert.ok(payTypesStart >= 0 && cashMethodsStart > payTypesStart)
|
||||
assert.equal((payTypesMethod.match(/(?:^|\n)\s*return\b/g) || []).length, 1)
|
||||
|
||||
const cashier = fs.readFileSync(path.join(root, 'assets', 'js', 'cms-download.js'), 'utf8')
|
||||
assert.match(cashier, /\[data-action="aksrt-need-purchase"\], \[data-aksrt-pay-content\]/)
|
||||
assert.doesNotMatch(cashier, /const cashierLink\s*=\s*e\.target\.closest\('\.cashier-link'\)/)
|
||||
})
|
||||
|
||||
test('content preview is read-only while purchase requires an operation key', () => {
|
||||
const source = fs.readFileSync(path.join(root, 'src', 'Content', 'PayRest.php'), 'utf8')
|
||||
const previewStart = source.indexOf('public function rest_preview')
|
||||
|
||||
Reference in New Issue
Block a user