@@ -224,7 +224,7 @@ describe('ins harvesting', () => {
224
224
225
225
expect ( insHarvest . length ) . toEqual ( 1 ) // this page sets one measure
226
226
expect ( insHarvest [ 0 ] ) . toMatchObject ( {
227
- entryDetail : '{"foo":" bar"} ' ,
227
+ ' entryDetail.foo' : 'bar' ,
228
228
entryDuration : expect . any ( Number ) ,
229
229
eventType : 'BrowserPerformance' ,
230
230
entryName : 'agent-load' ,
@@ -235,6 +235,37 @@ describe('ins harvesting', () => {
235
235
} )
236
236
} )
237
237
238
+ it ( 'should spread detail' , async ( ) => {
239
+ const testUrl = await browser . testHandle . assetURL ( 'marks-and-measures-detail.html' , getInsInit ( { performance : { capture_measures : true } } ) )
240
+ await browser . url ( testUrl ) . then ( ( ) => browser . waitForAgentLoad ( ) )
241
+
242
+ const [ [ { request : { body : { ins : insHarvest } } } ] ] = await Promise . all ( [
243
+ insightsCapture . waitForResult ( { totalCount : 1 } )
244
+ ] )
245
+
246
+ expect ( insHarvest . length ) . toEqual ( 10 ) // this page sets 10 measures
247
+ // detail: {foo:'bar'}
248
+ expect ( insHarvest . find ( x => x . entryName === 'simple-object' ) [ 'entryDetail.foo' ] ) . toEqual ( 'bar' )
249
+ // detail: {nested1:{nested2:{nested3:{nested4: {foo: 'bar'}}}}
250
+ expect ( insHarvest . find ( x => x . entryName === 'nested-object' ) [ 'entryDetail.nested1.nested2.nested3.nested4.foo' ] ) . toEqual ( 'bar' )
251
+ // detail: 'hi'
252
+ expect ( insHarvest . find ( x => x . entryName === 'string' ) . entryDetail ) . toEqual ( 'hi' )
253
+ // detail: ''
254
+ expect ( insHarvest . find ( x => x . entryName === 'falsy-string' ) . entryDetail ) . toEqual ( '' )
255
+ // detail: 1
256
+ expect ( insHarvest . find ( x => x . entryName === 'number' ) . entryDetail ) . toEqual ( 1 )
257
+ // detail: 0
258
+ expect ( insHarvest . find ( x => x . entryName === 'falsy-number' ) . entryDetail ) . toEqual ( 0 )
259
+ // detail: true
260
+ expect ( insHarvest . find ( x => x . entryName === 'boolean' ) . entryDetail ) . toEqual ( true )
261
+ // detail: false
262
+ expect ( insHarvest . find ( x => x . entryName === 'falsy-boolean' ) . entryDetail ) . toEqual ( false )
263
+ // detail: [1,2,3]
264
+ expect ( insHarvest . find ( x => x . entryName === 'array' ) . entryDetail ) . toEqual ( '[1,2,3]' )
265
+ // detail: []
266
+ expect ( insHarvest . find ( x => x . entryName === 'falsy-array' ) . entryDetail ) . toEqual ( '[]' )
267
+ } )
268
+
238
269
; [
239
270
[ getInsInit ( { performance : { resources : { enabled : true , ignore_newrelic : false } } } ) , 'enabled' ] ,
240
271
[ getInsInit ( { performance : { resources : { enabled : false , ignore_newrelic : false } } , feature_flags : [ FEATURE_FLAGS . RESOURCES ] } ) , 'feature flag' ]
0 commit comments