@@ -4,8 +4,17 @@ import { IndexPage } from './index-page'
44
55const indexPage = new IndexPage ( )
66
7+ const basicEdgeFn = `
8+ // this is a process signal function
9+ const processSignal = (signal) => {
10+ if (signal.type === 'interaction') {
11+ const eventName = signal.data.eventType + ' ' + '[' + signal.type + ']'
12+ analytics.track(eventName, signal.data)
13+ }
14+ }`
15+
716test . beforeEach ( async ( { page } ) => {
8- await indexPage . load ( page )
17+ await indexPage . load ( page , basicEdgeFn )
918} )
1019
1120test ( 'network signals' , async ( ) => {
@@ -15,7 +24,8 @@ test('network signals', async () => {
1524 await indexPage . mockRandomJSONApi ( )
1625 await indexPage . makeFetchCallToRandomJSONApi ( )
1726 await indexPage . waitForSignalsApiFlush ( )
18- const batch = indexPage . signalsApiReq . postDataJSON ( ) . batch as SegmentEvent [ ]
27+ const batch = indexPage . lastSignalsApiReq . postDataJSON ( )
28+ . batch as SegmentEvent [ ]
1929 const networkEvents = batch . filter (
2030 ( el : SegmentEvent ) => el . properties ! . type === 'network'
2131 )
@@ -41,7 +51,7 @@ test('instrumentation signals', async () => {
4151 indexPage . waitForSignalsApiFlush ( ) ,
4252 ] )
4353
44- const signalReqJSON = indexPage . signalsApiReq . postDataJSON ( )
54+ const signalReqJSON = indexPage . lastSignalsApiReq . postDataJSON ( )
4555
4656 const isoDateRegEx = / ^ \d { 4 } - \d { 2 } - \d { 2 } T \d { 2 } : \d { 2 } : \d { 2 } \. \d { 3 } Z $ /
4757 const instrumentationEvents = signalReqJSON . batch . filter (
@@ -59,19 +69,19 @@ test('instrumentation signals', async () => {
5969 } )
6070} )
6171
62- test ( 'interaction signals' , async ( { page } ) => {
72+ test ( 'interaction signals' , async ( ) => {
6373 /**
6474 * Make a button click, see if it:
6575 * - creates an interaction signal that sends to the signals endpoint
6676 * - creates an analytics event that sends to the tracking endpoint
6777 */
6878 await Promise . all ( [
69- page . click ( 'button' ) ,
79+ indexPage . clickButton ( ) ,
7080 indexPage . waitForSignalsApiFlush ( ) ,
7181 indexPage . waitForTrackingApiFlush ( ) ,
7282 ] )
7383
74- const signalsReqJSON = indexPage . signalsApiReq . postDataJSON ( )
84+ const signalsReqJSON = indexPage . lastSignalsApiReq . postDataJSON ( )
7585 const interactionSignals = signalsReqJSON . batch . filter (
7686 ( el : SegmentEvent ) => el . properties ! . type === 'interaction'
7787 )
@@ -104,7 +114,7 @@ test('interaction signals', async ({ page }) => {
104114 } ,
105115 } )
106116
107- const analyticsReqJSON = indexPage . trackingApiReq . postDataJSON ( )
117+ const analyticsReqJSON = indexPage . lastTrackingApiReq . postDataJSON ( )
108118
109119 expect ( analyticsReqJSON ) . toMatchObject ( {
110120 writeKey : '<SOME_WRITE_KEY>' ,
@@ -128,7 +138,7 @@ test('navigation signals', async ({ page }) => {
128138 {
129139 // on page load, a navigation signal should be sent
130140 await indexPage . waitForSignalsApiFlush ( )
131- const signalReqJSON = indexPage . signalsApiReq . postDataJSON ( )
141+ const signalReqJSON = indexPage . lastSignalsApiReq . postDataJSON ( )
132142 const navigationEvents = signalReqJSON . batch . filter (
133143 ( el : SegmentEvent ) => el . properties ! . type === 'navigation'
134144 )
@@ -153,7 +163,7 @@ test('navigation signals', async ({ page }) => {
153163 window . location . hash = '#foo'
154164 } )
155165 await indexPage . waitForSignalsApiFlush ( )
156- const signalReqJSON = indexPage . signalsApiReq . postDataJSON ( )
166+ const signalReqJSON = indexPage . lastSignalsApiReq . postDataJSON ( )
157167
158168 const navigationEvents = signalReqJSON . batch . filter (
159169 ( el : SegmentEvent ) => el . properties ! . type === 'navigation'
0 commit comments