@@ -24,9 +24,26 @@ sentryTest(
24
24
sentryTest . skip ( ) ;
25
25
}
26
26
27
+ // We want to ensure to check the correct event payloads
28
+ let firstInputMutationSegmentId : number | undefined = undefined ;
27
29
const reqPromise0 = waitForReplayRequest ( page , 0 ) ;
28
- const reqPromise1 = waitForReplayRequest ( page , 1 ) ;
29
- const reqPromise2 = waitForReplayRequest ( page , 2 ) ;
30
+ const reqPromise1 = waitForReplayRequest ( page , ( event , res ) => {
31
+ const check =
32
+ firstInputMutationSegmentId === undefined && getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation ) ;
33
+
34
+ if ( check ) {
35
+ firstInputMutationSegmentId = event . segment_id ;
36
+ }
37
+
38
+ return check ;
39
+ } ) ;
40
+ const reqPromise2 = waitForReplayRequest ( page , ( event , res ) => {
41
+ return (
42
+ typeof firstInputMutationSegmentId === 'number' &&
43
+ firstInputMutationSegmentId < event . segment_id &&
44
+ getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation )
45
+ ) ;
46
+ } ) ;
30
47
31
48
await page . route ( 'https://dsn.ingest.sentry.io/**/*' , route => {
32
49
return route . fulfill ( {
@@ -39,13 +56,13 @@ sentryTest(
39
56
const url = await getLocalTestPath ( { testDir : __dirname } ) ;
40
57
41
58
await page . goto ( url ) ;
42
-
43
59
await reqPromise0 ;
44
60
45
61
const text = 'test' ;
46
62
47
63
await page . locator ( '#input' ) . fill ( text ) ;
48
64
await forceFlushReplay ( ) ;
65
+
49
66
const snapshots = getIncrementalRecordingSnapshots ( await reqPromise1 ) . filter ( isInputMutation ) ;
50
67
const lastSnapshot = snapshots [ snapshots . length - 1 ] ;
51
68
expect ( lastSnapshot . data . text ) . toBe ( '*' . repeat ( text . length ) ) ;
@@ -66,9 +83,26 @@ sentryTest(
66
83
sentryTest . skip ( ) ;
67
84
}
68
85
86
+ // We want to ensure to check the correct event payloads
87
+ let firstInputMutationSegmentId : number | undefined = undefined ;
69
88
const reqPromise0 = waitForReplayRequest ( page , 0 ) ;
70
- const reqPromise1 = waitForReplayRequest ( page , 1 ) ;
71
- const reqPromise2 = waitForReplayRequest ( page , 2 ) ;
89
+ const reqPromise1 = waitForReplayRequest ( page , ( event , res ) => {
90
+ const check =
91
+ firstInputMutationSegmentId === undefined && getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation ) ;
92
+
93
+ if ( check ) {
94
+ firstInputMutationSegmentId = event . segment_id ;
95
+ }
96
+
97
+ return check ;
98
+ } ) ;
99
+ const reqPromise2 = waitForReplayRequest ( page , ( event , res ) => {
100
+ return (
101
+ typeof firstInputMutationSegmentId === 'number' &&
102
+ firstInputMutationSegmentId < event . segment_id &&
103
+ getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation )
104
+ ) ;
105
+ } ) ;
72
106
73
107
await page . route ( 'https://dsn.ingest.sentry.io/**/*' , route => {
74
108
return route . fulfill ( {
0 commit comments