@@ -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 response size from Content-Length header if available' , async ( { getLocalTestPath, page } ) => {
@@ -35,7 +35,10 @@ sentryTest('captures response size from Content-Length header if available', asy
35
35
} ) ;
36
36
37
37
const requestPromise = waitForErrorRequest ( page ) ;
38
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
38
+
39
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
40
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
41
+ } ) ;
39
42
40
43
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
41
44
await page . goto ( url ) ;
@@ -67,9 +70,8 @@ sentryTest('captures response size from Content-Length header if available', asy
67
70
} ,
68
71
} ) ;
69
72
70
- const replayReq1 = await replayRequestPromise1 ;
71
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
72
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
73
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
74
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
73
75
{
74
76
data : {
75
77
method : 'GET' ,
@@ -123,7 +125,10 @@ sentryTest('captures response size without Content-Length header', async ({ getL
123
125
} ) ;
124
126
125
127
const requestPromise = waitForErrorRequest ( page ) ;
126
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
128
+
129
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
130
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
131
+ } ) ;
127
132
128
133
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
129
134
await page . goto ( url ) ;
@@ -155,9 +160,8 @@ sentryTest('captures response size without Content-Length header', async ({ getL
155
160
} ,
156
161
} ) ;
157
162
158
- const replayReq1 = await replayRequestPromise1 ;
159
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
160
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
163
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
164
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
161
165
{
162
166
data : {
163
167
method : 'GET' ,
@@ -208,7 +212,10 @@ sentryTest('captures response size from non-text response body', async ({ getLoc
208
212
} ) ;
209
213
210
214
const requestPromise = waitForErrorRequest ( page ) ;
211
- const replayRequestPromise1 = waitForReplayRequest ( page , 0 ) ;
215
+
216
+ const replayRequestPromise = collectReplayRequests ( page , recordingEvents => {
217
+ return getReplayPerformanceSpans ( recordingEvents ) . some ( span => span . op === 'resource.fetch' ) ;
218
+ } ) ;
212
219
213
220
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
214
221
await page . goto ( url ) ;
@@ -241,9 +248,8 @@ sentryTest('captures response size from non-text response body', async ({ getLoc
241
248
} ,
242
249
} ) ;
243
250
244
- const replayReq1 = await replayRequestPromise1 ;
245
- const { performanceSpans : performanceSpans1 } = getCustomRecordingEvents ( replayReq1 ) ;
246
- expect ( performanceSpans1 . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
251
+ const { replayRecordingSnapshots } = await replayRequestPromise ;
252
+ expect ( getReplayPerformanceSpans ( replayRecordingSnapshots ) . filter ( span => span . op === 'resource.fetch' ) ) . toEqual ( [
247
253
{
248
254
data : {
249
255
method : 'POST' ,
0 commit comments