@@ -109,7 +109,7 @@ describe('createSpanEnvelope', () => {
109109
110110 const spanEnvelope = createSpanEnvelope ( [ span ] ) ;
111111
112- const spanItem = spanEnvelope [ 1 ] [ 0 ] [ 1 ] ;
112+ const spanItem = spanEnvelope ! [ 1 ] [ 0 ] [ 1 ] ;
113113 expect ( spanItem ) . toEqual ( {
114114 data : {
115115 'sentry.origin' : 'manual' ,
@@ -131,7 +131,7 @@ describe('createSpanEnvelope', () => {
131131 new SentrySpan ( { name : 'test' , attributes : { [ SEMANTIC_ATTRIBUTE_SENTRY_SOURCE ] : 'custom' } } ) ,
132132 ] ) ;
133133
134- const spanEnvelopeHeaders = spanEnvelope [ 0 ] ;
134+ const spanEnvelopeHeaders = spanEnvelope ! [ 0 ] ;
135135 expect ( spanEnvelopeHeaders ) . toEqual ( {
136136 sent_at : expect . any ( String ) ,
137137 trace : {
@@ -152,7 +152,7 @@ describe('createSpanEnvelope', () => {
152152
153153 const spanEnvelope = createSpanEnvelope ( [ new SentrySpan ( ) ] ) ;
154154
155- const spanEnvelopeHeaders = spanEnvelope [ 0 ] ;
155+ const spanEnvelopeHeaders = spanEnvelope ! [ 0 ] ;
156156 expect ( spanEnvelopeHeaders ) . toEqual ( {
157157 sent_at : expect . any ( String ) ,
158158 } ) ;
@@ -174,7 +174,7 @@ describe('createSpanEnvelope', () => {
174174
175175 expect ( beforeSendSpan ) . toHaveBeenCalled ( ) ;
176176
177- const spanItem = spanEnvelope [ 1 ] [ 0 ] [ 1 ] ;
177+ const spanItem = spanEnvelope ! [ 1 ] [ 0 ] [ 1 ] ;
178178 expect ( spanItem ) . toEqual ( {
179179 data : {
180180 'sentry.origin' : 'manual' ,
@@ -209,7 +209,7 @@ describe('createSpanEnvelope', () => {
209209
210210 expect ( beforeSendSpan ) . toHaveBeenCalled ( ) ;
211211
212- const spanItem = spanEnvelope [ 1 ] [ 0 ] [ 1 ] ;
212+ const spanItem = spanEnvelope ! [ 1 ] [ 0 ] [ 1 ] ;
213213 expect ( spanItem ) . toEqual ( {
214214 data : {
215215 'sentry.origin' : 'manual' ,
@@ -224,4 +224,22 @@ describe('createSpanEnvelope', () => {
224224 trace_id : expect . stringMatching ( / ^ [ 0 - 9 a - f ] { 32 } $ / ) ,
225225 } ) ;
226226 } ) ;
227+
228+ it ( 'calls `beforeSendSpan` and discards the envelope' , ( ) => {
229+ const beforeSendSpan = jest . fn ( ( ) => null ) ;
230+ const options = getDefaultTestClientOptions ( { dsn : 'https://domain/123' , beforeSendSpan } ) ;
231+ const client = new TestClient ( options ) ;
232+
233+ const span = new SentrySpan ( {
234+ name : 'test' ,
235+ isStandalone : true ,
236+ startTimestamp : 1 ,
237+ endTimestamp : 2 ,
238+ } ) ;
239+
240+ const spanEnvelope = createSpanEnvelope ( [ span ] , client ) ;
241+
242+ expect ( beforeSendSpan ) . toHaveBeenCalled ( ) ;
243+ expect ( spanEnvelope ) . toBeNull ( ) ;
244+ } ) ;
227245} ) ;
0 commit comments