test(crm): 完善高停留雷达Push通知与收件箱单测覆盖
这个提交包含在:
@@ -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) => {
|
||||
|
||||
在新工单中引用
屏蔽一个用户