@@ -3,9 +3,9 @@ import { expect } from '@playwright/test';
3
3
import { sentryTest } from '../../../../../utils/fixtures' ;
4
4
import { envelopeRequestParser , waitForErrorRequest } from '../../../../../utils/helpers' ;
5
5
import {
6
- getCustomRecordingEvents ,
6
+ collectReplayRequests ,
7
+ getReplayPerformanceSpans ,
7
8
shouldSkipReplayTest ,
8
- waitForReplayRequest ,
9
9
} from '../../../../../utils/replayHelpers' ;
10
10
11
11
sentryTest ( 'captures text request body' , async ( { getLocalTestPath, page, browserName } ) => {
@@ -30,7 +30,9 @@ sentryTest('captures text request body', async ({ getLocalTestPath, page, browse
30
30
} ) ;
31
31
32
32
const requestPromise = waitForErrorRequest ( page ) ;
33
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
33
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
34
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
35
+ } ) ;
34
36
35
37
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
36
38
await page . goto ( url ) ;
@@ -65,9 +67,8 @@ sentryTest('captures text request body', async ({ getLocalTestPath, page, browse
65
67
} ,
66
68
} ) ;
67
69
68
- const replayReq1 = await replayRequestPromise1 ;
69
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
70
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
70
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
71
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
71
72
{
72
73
data : {
73
74
method : 'POST' ,
@@ -109,7 +110,9 @@ sentryTest('captures JSON request body', async ({ getLocalTestPath, page, browse
109
110
} ) ;
110
111
111
112
const requestPromise = waitForErrorRequest ( page ) ;
112
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
113
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
114
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
115
+ } ) ;
113
116
114
117
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
115
118
await page . goto ( url ) ;
@@ -144,9 +147,8 @@ sentryTest('captures JSON request body', async ({ getLocalTestPath, page, browse
144
147
} ,
145
148
} ) ;
146
149
147
- const replayReq1 = await replayRequestPromise1 ;
148
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
149
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
150
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
151
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
150
152
{
151
153
data : {
152
154
method : 'POST' ,
@@ -188,7 +190,9 @@ sentryTest('captures non-text request body', async ({ getLocalTestPath, page, br
188
190
} ) ;
189
191
190
192
const requestPromise = waitForErrorRequest ( page ) ;
191
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
193
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
194
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
195
+ } ) ;
192
196
193
197
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
194
198
await page . goto ( url ) ;
@@ -227,9 +231,8 @@ sentryTest('captures non-text request body', async ({ getLocalTestPath, page, br
227
231
} ,
228
232
} ) ;
229
233
230
- const replayReq1 = await replayRequestPromise1 ;
231
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
232
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
234
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
235
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
233
236
{
234
237
data : {
235
238
method : 'POST' ,
@@ -271,7 +274,9 @@ sentryTest('captures text request body when matching relative URL', async ({ get
271
274
} ) ;
272
275
273
276
const requestPromise = waitForErrorRequest ( page ) ;
274
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
277
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
278
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
279
+ } ) ;
275
280
276
281
const url = await getLocalTestUrl ( { testDir : __dirname } ) ;
277
282
await page . goto ( url ) ;
@@ -306,9 +311,8 @@ sentryTest('captures text request body when matching relative URL', async ({ get
306
311
} ,
307
312
} ) ;
308
313
309
- const replayReq1 = await replayRequestPromise1 ;
310
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
311
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
314
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
315
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
312
316
{
313
317
data : {
314
318
method : 'POST' ,
@@ -348,7 +352,9 @@ sentryTest('does not capture request body when URL does not match', async ({ get
348
352
} ) ;
349
353
350
354
const requestPromise = waitForErrorRequest ( page ) ;
351
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
355
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
356
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
357
+ } ) ;
352
358
353
359
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
354
360
await page . goto ( url ) ;
@@ -383,9 +389,8 @@ sentryTest('does not capture request body when URL does not match', async ({ get
383
389
} ,
384
390
} ) ;
385
391
386
- const replayReq1 = await replayRequestPromise1 ;
387
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
388
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
392
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
393
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
389
394
{
390
395
data : {
391
396
method : 'POST' ,
0 commit comments