64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import {
|
|
getPaymentVisibleMethodSourceOptions,
|
|
normalizePaymentVisibleMethodSource,
|
|
} from '@/api/admin/settings'
|
|
|
|
describe('admin settings payment visible method helpers', () => {
|
|
it('normalizes aliases into canonical source keys per visible method', () => {
|
|
expect(normalizePaymentVisibleMethodSource('alipay', 'official')).toBe('official_alipay')
|
|
expect(normalizePaymentVisibleMethodSource('alipay', 'alipay_direct')).toBe('official_alipay')
|
|
expect(normalizePaymentVisibleMethodSource('alipay', 'easypay')).toBe('easypay_alipay')
|
|
|
|
expect(normalizePaymentVisibleMethodSource('wxpay', 'official')).toBe('official_wxpay')
|
|
expect(normalizePaymentVisibleMethodSource('wxpay', 'wechat')).toBe('official_wxpay')
|
|
expect(normalizePaymentVisibleMethodSource('wxpay', 'easypay')).toBe('easypay_wxpay')
|
|
})
|
|
|
|
it('rejects unknown or cross-method source values', () => {
|
|
expect(normalizePaymentVisibleMethodSource('alipay', 'official_wxpay')).toBe('')
|
|
expect(normalizePaymentVisibleMethodSource('wxpay', 'official_alipay')).toBe('')
|
|
expect(normalizePaymentVisibleMethodSource('alipay', 'unknown')).toBe('')
|
|
expect(normalizePaymentVisibleMethodSource('wxpay', null)).toBe('')
|
|
})
|
|
|
|
it('exposes method-scoped source options instead of arbitrary strings', () => {
|
|
expect(getPaymentVisibleMethodSourceOptions('alipay')).toEqual([
|
|
{
|
|
value: '',
|
|
labelZh: '未配置',
|
|
labelEn: 'Not configured',
|
|
},
|
|
{
|
|
value: 'official_alipay',
|
|
labelZh: '支付宝官方',
|
|
labelEn: 'Official Alipay',
|
|
},
|
|
{
|
|
value: 'easypay_alipay',
|
|
labelZh: '易支付支付宝',
|
|
labelEn: 'EasyPay Alipay',
|
|
},
|
|
])
|
|
|
|
expect(getPaymentVisibleMethodSourceOptions('wxpay')).toEqual([
|
|
{
|
|
value: '',
|
|
labelZh: '未配置',
|
|
labelEn: 'Not configured',
|
|
},
|
|
{
|
|
value: 'official_wxpay',
|
|
labelZh: '微信官方',
|
|
labelEn: 'Official WeChat Pay',
|
|
},
|
|
{
|
|
value: 'easypay_wxpay',
|
|
labelZh: '易支付微信',
|
|
labelEn: 'EasyPay WeChat Pay',
|
|
},
|
|
])
|
|
})
|
|
})
|