3
3
*/
4
4
5
5
import * as sentryCore from '@sentry/core' ;
6
+ import { Scope } from '@sentry/core' ;
6
7
import { afterEach , beforeEach , describe , expect , it , vi } from 'vitest' ;
7
8
import { applyDefaultOptions , BrowserClient } from '../src/client' ;
8
9
import { WINDOW } from '../src/helpers' ;
@@ -30,10 +31,12 @@ describe('BrowserClient', () => {
30
31
sendClientReports : true ,
31
32
} ) ,
32
33
) ;
34
+ const scope = new Scope ( ) ;
35
+ scope . setClient ( client ) ;
33
36
34
37
// Add some logs
35
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , client ) ;
36
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , client ) ;
38
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , scope ) ;
39
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , scope ) ;
37
40
38
41
// Simulate visibility change to hidden
39
42
if ( WINDOW . document ) {
@@ -58,9 +61,12 @@ describe('BrowserClient', () => {
58
61
it ( 'flushes logs when page visibility changes to hidden' , ( ) => {
59
62
const flushOutcomesSpy = vi . spyOn ( client as any , '_flushOutcomes' ) ;
60
63
64
+ const scope = new Scope ( ) ;
65
+ scope . setClient ( client ) ;
66
+
61
67
// Add some logs
62
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , client ) ;
63
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , client ) ;
68
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , scope ) ;
69
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , scope ) ;
64
70
65
71
// Simulate visibility change to hidden
66
72
if ( WINDOW . document ) {
@@ -73,9 +79,12 @@ describe('BrowserClient', () => {
73
79
} ) ;
74
80
75
81
it ( 'flushes logs on flush event' , ( ) => {
82
+ const scope = new Scope ( ) ;
83
+ scope . setClient ( client ) ;
84
+
76
85
// Add some logs
77
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , client ) ;
78
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , client ) ;
86
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , scope ) ;
87
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , scope ) ;
79
88
80
89
// Trigger flush event
81
90
client . emit ( 'flush' ) ;
@@ -84,8 +93,11 @@ describe('BrowserClient', () => {
84
93
} ) ;
85
94
86
95
it ( 'flushes logs after idle timeout' , ( ) => {
96
+ const scope = new Scope ( ) ;
97
+ scope . setClient ( client ) ;
98
+
87
99
// Add a log which will trigger afterCaptureLog event
88
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log' } , client ) ;
100
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log' } , scope ) ;
89
101
90
102
// Fast forward the idle timeout
91
103
vi . advanceTimersByTime ( DEFAULT_FLUSH_INTERVAL ) ;
@@ -94,14 +106,17 @@ describe('BrowserClient', () => {
94
106
} ) ;
95
107
96
108
it ( 'resets idle timeout when new logs are captured' , ( ) => {
109
+ const scope = new Scope ( ) ;
110
+ scope . setClient ( client ) ;
111
+
97
112
// Add initial log
98
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , client ) ;
113
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 1' } , scope ) ;
99
114
100
115
// Fast forward part of the idle timeout
101
116
vi . advanceTimersByTime ( DEFAULT_FLUSH_INTERVAL / 2 ) ;
102
117
103
118
// Add another log which should reset the timeout
104
- sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , client ) ;
119
+ sentryCore . _INTERNAL_captureLog ( { level : 'info' , message : 'test log 2' } , scope ) ;
105
120
106
121
// Fast forward the remaining time
107
122
vi . advanceTimersByTime ( DEFAULT_FLUSH_INTERVAL / 2 ) ;
0 commit comments