purewhiter--mobilegym
68 行
2.2 KiB
TypeScript
68 行
2.2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import {
|
|
getBillAvatarFallback,
|
|
getBillDisplayTitle,
|
|
recordMatchesBillFilters,
|
|
type BillTitleContext,
|
|
} from '../apps/Alipay/utils/bills';
|
|
import type { AlipayTransferRecord } from '../apps/Alipay/types';
|
|
|
|
const baseRecord: AlipayTransferRecord = {
|
|
id: 'rp_1',
|
|
counterpartyName: '小周(周小雨)',
|
|
counterpartyAvatar: '',
|
|
delta: 88.88,
|
|
timestamp: 0,
|
|
displayTitle: '小周(周小雨)',
|
|
kind: 'redPacket',
|
|
category: 'transferRedPacket',
|
|
detailTimeLabel: '创建时间',
|
|
paymentMethod: '余额',
|
|
transferNote: '生日快乐',
|
|
orderId: '202604250001',
|
|
};
|
|
|
|
function title(record: AlipayTransferRecord, context: BillTitleContext) {
|
|
return getBillDisplayTitle(record, false, context);
|
|
}
|
|
|
|
describe('Alipay bill red packet titles', () => {
|
|
it('账单列表按红包方向显示普通红包动作', () => {
|
|
expect(title(baseRecord, 'list')).toBe('收到普通红包');
|
|
expect(title({ ...baseRecord, delta: -66 }, 'list')).toBe('发普通红包');
|
|
});
|
|
|
|
it('账单详情按红包方向显示交易对象或支付宝红包', () => {
|
|
expect(title(baseRecord, 'detail')).toBe('小周(周小雨)');
|
|
expect(title({ ...baseRecord, delta: -66 }, 'detail')).toBe('支付宝红包');
|
|
});
|
|
|
|
it('转账筛选不包含红包,转账红包分类才包含红包', () => {
|
|
expect(recordMatchesBillFilters(baseRecord, { quickFilter: 'transfer' })).toBe(false);
|
|
expect(recordMatchesBillFilters(baseRecord, { category: 'transferRedPacket' })).toBe(true);
|
|
});
|
|
|
|
it('空头像账单使用灰色默认头像而不是分类图标', () => {
|
|
expect(getBillAvatarFallback({ ...baseRecord, counterpartyAvatar: '' })).toBe('defaultAvatar');
|
|
});
|
|
|
|
it('转账显示名按收支方向处理真名', () => {
|
|
expect(getBillDisplayTitle({
|
|
...baseRecord,
|
|
kind: 'transfer',
|
|
category: 'transferRedPacket',
|
|
counterpartyName: '转账-小丽(李丽)',
|
|
displayTitle: undefined,
|
|
delta: 88.8,
|
|
})).toBe('转账-小丽');
|
|
expect(getBillDisplayTitle({
|
|
...baseRecord,
|
|
kind: 'transfer',
|
|
category: 'transferRedPacket',
|
|
counterpartyName: '转账-小丽(李丽)',
|
|
displayTitle: undefined,
|
|
delta: -88.8,
|
|
})).toBe('转账-小丽(李丽)');
|
|
});
|
|
});
|