test(crm): 完善高停留雷达Push通知与收件箱单测覆盖

这个提交包含在:
wikiboss
2026-09-21 11:14:57 +08:00
父节点 6c3d5d323a
当前提交 c178c0e1ef
共有 3 个文件被更改,包括 91 次插入 和 1 次删除

查看文件

@@ -1,6 +1,7 @@
import {
CrmRadarPushService,
RadarPushPayload,
isHotRadarPush,
} from '../../../src/modules/crm/service/push';
import { RadarTrack } from '../../../src/comm/types/omni';
@@ -91,6 +92,16 @@ describe('Task 35: 雷达 Push 通知内存渠道 (CrmRadarPushService)', () =>
expect(cardB[0].visitorId).toBe('vis_b');
});
it('停留满 3 分钟或浏览 3 个模块视为高意向推送', () => {
expect(isHotRadarPush({ stayDurationMs: 179999, viewedBlocks: ['hero'] })).toBe(
false
);
expect(isHotRadarPush({ stayDurationMs: 180000, viewedBlocks: [] })).toBe(true);
expect(
isHotRadarPush({ stayDurationMs: 1000, viewedBlocks: ['hero', 'case', 'article'] })
).toBe(true);
});
it('unsubscribe 后不再收到后续 publish', () => {
const received: RadarPushPayload[] = [];
const listener = (payload: RadarPushPayload) => {