@@ -17,17 +17,17 @@ global.TextEncoder = TextEncoder;
1717global . TextDecoder = TextDecoder ;
1818
1919import { JSDOM } from 'jsdom' ;
20- import { SendMode } from '../../src' ;
20+ import { PageType , SendMode } from '../../src' ;
2121import { BrowserInfo } from '../../src/browser' ;
2222import { NetRequest } from '../../src/network/NetRequest' ;
23- import { AnalyticsEventBuilder } from '../../src/provider' ;
2423import {
24+ AnalyticsEventBuilder ,
2525 ClickstreamContext ,
2626 ClickstreamProvider ,
2727 Event ,
2828 EventRecorder ,
2929} from '../../src/provider' ;
30- import { SessionTracker , PageViewTracker } from '../../src/tracker' ;
30+ import { PageViewTracker , SessionTracker } from '../../src/tracker' ;
3131import { StorageUtil } from '../../src/util/StorageUtil' ;
3232
3333describe ( 'SessionTracker test' , ( ) => {
@@ -89,6 +89,33 @@ describe('SessionTracker test', () => {
8989 expect ( session . isNewSession ( ) ) . toBeTruthy ( ) ;
9090 } ) ;
9191
92+ test ( 'test multi page mode record app start when setUp' , ( ) => {
93+ Object . assign ( provider . configuration , {
94+ pageType : PageType . multiPageApp ,
95+ } ) ;
96+ sessionTracker . setUp ( ) ;
97+ expect ( recordMethodMock ) . toBeCalledWith ( {
98+ name : Event . PresetEvent . APP_START ,
99+ attributes : {
100+ [ Event . ReservedAttribute . IS_FIRST_TIME ] : true ,
101+ } ,
102+ } ) ;
103+ } ) ;
104+
105+ test ( 'test multi page mode not record app start when come from the same host name' , ( ) => {
106+ Object . assign ( provider . configuration , {
107+ pageType : PageType . multiPageApp ,
108+ } ) ;
109+ context . browserInfo . latestReferrerHost = 'localhost' ;
110+ sessionTracker . setUp ( ) ;
111+ expect ( recordMethodMock ) . not . toBeCalledWith ( {
112+ name : Event . PresetEvent . APP_START ,
113+ attributes : {
114+ [ Event . ReservedAttribute . IS_FIRST_TIME ] : true ,
115+ } ,
116+ } ) ;
117+ } ) ;
118+
92119 test ( 'test setUp for unsupported env' , ( ) => {
93120 const addEventListenerMock = jest . spyOn ( window , 'addEventListener' ) ;
94121 const addEventListener = ( global as any ) . document . addEventListener ;
0 commit comments