@@ -30,8 +30,11 @@ vi.mock('./event_processor_factory', async (importOriginal) => {
3030 const getBatchEventProcessor = vi . fn ( ) . mockImplementation ( ( ) => {
3131 return { } ;
3232 } ) ;
33+ const getOpaqueBatchEventProcessor = vi . fn ( ) . mockImplementation ( ( ) => {
34+ return { } ;
35+ } ) ;
3336 const original : any = await importOriginal ( ) ;
34- return { ...original , getBatchEventProcessor } ;
37+ return { ...original , getBatchEventProcessor, getOpaqueBatchEventProcessor } ;
3538} ) ;
3639
3740vi . mock ( '../utils/cache/local_storage_cache.browser' , ( ) => {
@@ -47,11 +50,11 @@ import defaultEventDispatcher from './event_dispatcher/default_dispatcher.browse
4750import { LocalStorageCache } from '../utils/cache/local_storage_cache.browser' ;
4851import { SyncPrefixCache } from '../utils/cache/cache' ;
4952import { createForwardingEventProcessor , createBatchEventProcessor } from './event_processor_factory.browser' ;
50- import { EVENT_STORE_PREFIX , FAILED_EVENT_RETRY_INTERVAL } from './event_processor_factory' ;
53+ import { EVENT_STORE_PREFIX , extractEventProcessor , FAILED_EVENT_RETRY_INTERVAL } from './event_processor_factory' ;
5154import sendBeaconEventDispatcher from './event_dispatcher/send_beacon_dispatcher.browser' ;
5255import { getForwardingEventProcessor } from './forwarding_event_processor' ;
5356import browserDefaultEventDispatcher from './event_dispatcher/default_dispatcher.browser' ;
54- import { getBatchEventProcessor } from './event_processor_factory' ;
57+ import { getOpaqueBatchEventProcessor } from './event_processor_factory' ;
5558
5659describe ( 'createForwardingEventProcessor' , ( ) => {
5760 const mockGetForwardingEventProcessor = vi . mocked ( getForwardingEventProcessor ) ;
@@ -65,35 +68,35 @@ describe('createForwardingEventProcessor', () => {
6568 dispatchEvent : vi . fn ( ) ,
6669 } ;
6770
68- const processor = createForwardingEventProcessor ( eventDispatcher ) ;
71+ const processor = extractEventProcessor ( createForwardingEventProcessor ( eventDispatcher ) ) ;
6972
7073 expect ( Object . is ( processor , mockGetForwardingEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
7174 expect ( mockGetForwardingEventProcessor ) . toHaveBeenNthCalledWith ( 1 , eventDispatcher ) ;
7275 } ) ;
7376
7477 it ( 'uses the browser default event dispatcher if none is provided' , ( ) => {
75- const processor = createForwardingEventProcessor ( ) ;
78+ const processor = extractEventProcessor ( createForwardingEventProcessor ( ) ) ;
7679
7780 expect ( Object . is ( processor , mockGetForwardingEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
7881 expect ( mockGetForwardingEventProcessor ) . toHaveBeenNthCalledWith ( 1 , browserDefaultEventDispatcher ) ;
7982 } ) ;
8083} ) ;
8184
8285describe ( 'createBatchEventProcessor' , ( ) => {
83- const mockGetBatchEventProcessor = vi . mocked ( getBatchEventProcessor ) ;
86+ const mockGetOpaqueBatchEventProcessor = vi . mocked ( getOpaqueBatchEventProcessor ) ;
8487 const MockLocalStorageCache = vi . mocked ( LocalStorageCache ) ;
8588 const MockSyncPrefixCache = vi . mocked ( SyncPrefixCache ) ;
8689
8790 beforeEach ( ( ) => {
88- mockGetBatchEventProcessor . mockClear ( ) ;
91+ mockGetOpaqueBatchEventProcessor . mockClear ( ) ;
8992 MockLocalStorageCache . mockClear ( ) ;
9093 MockSyncPrefixCache . mockClear ( ) ;
9194 } ) ;
9295
9396 it ( 'uses LocalStorageCache and SyncPrefixCache to create eventStore' , ( ) => {
9497 const processor = createBatchEventProcessor ( { } ) ;
95- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
96- const eventStore = mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventStore ;
98+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
99+ const eventStore = mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventStore ;
97100 expect ( Object . is ( eventStore , MockSyncPrefixCache . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
98101
99102 const [ cache , prefix , transformGet , transformSet ] = MockSyncPrefixCache . mock . calls [ 0 ] ;
@@ -111,14 +114,14 @@ describe('createBatchEventProcessor', () => {
111114 } ;
112115
113116 const processor = createBatchEventProcessor ( { eventDispatcher } ) ;
114- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
115- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventDispatcher ) . toBe ( eventDispatcher ) ;
117+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
118+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventDispatcher ) . toBe ( eventDispatcher ) ;
116119 } ) ;
117120
118121 it ( 'uses the default browser event dispatcher if none is provided' , ( ) => {
119122 const processor = createBatchEventProcessor ( { } ) ;
120- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
121- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventDispatcher ) . toBe ( defaultEventDispatcher ) ;
123+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
124+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . eventDispatcher ) . toBe ( defaultEventDispatcher ) ;
122125 } ) ;
123126
124127 it ( 'uses the provided closingEventDispatcher' , ( ) => {
@@ -127,8 +130,8 @@ describe('createBatchEventProcessor', () => {
127130 } ;
128131
129132 const processor = createBatchEventProcessor ( { closingEventDispatcher } ) ;
130- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
131- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( closingEventDispatcher ) ;
133+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
134+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( closingEventDispatcher ) ;
132135 } ) ;
133136
134137 it ( 'does not use any closingEventDispatcher if eventDispatcher is provided but closingEventDispatcher is not' , ( ) => {
@@ -137,45 +140,45 @@ describe('createBatchEventProcessor', () => {
137140 } ;
138141
139142 const processor = createBatchEventProcessor ( { eventDispatcher } ) ;
140- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
141- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( undefined ) ;
143+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
144+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( undefined ) ;
142145 } ) ;
143146
144147 it ( 'uses the default sendBeacon event dispatcher if neither eventDispatcher nor closingEventDispatcher is provided' , ( ) => {
145148 const processor = createBatchEventProcessor ( { } ) ;
146- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
147- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( sendBeaconEventDispatcher ) ;
149+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
150+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . closingEventDispatcher ) . toBe ( sendBeaconEventDispatcher ) ;
148151 } ) ;
149152
150153 it ( 'uses the provided flushInterval' , ( ) => {
151154 const processor1 = createBatchEventProcessor ( { flushInterval : 2000 } ) ;
152- expect ( Object . is ( processor1 , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
153- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . flushInterval ) . toBe ( 2000 ) ;
155+ expect ( Object . is ( processor1 , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
156+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . flushInterval ) . toBe ( 2000 ) ;
154157
155158 const processor2 = createBatchEventProcessor ( { } ) ;
156- expect ( Object . is ( processor2 , mockGetBatchEventProcessor . mock . results [ 1 ] . value ) ) . toBe ( true ) ;
157- expect ( mockGetBatchEventProcessor . mock . calls [ 1 ] [ 0 ] . flushInterval ) . toBe ( undefined ) ;
159+ expect ( Object . is ( processor2 , mockGetOpaqueBatchEventProcessor . mock . results [ 1 ] . value ) ) . toBe ( true ) ;
160+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 1 ] [ 0 ] . flushInterval ) . toBe ( undefined ) ;
158161 } ) ;
159162
160163 it ( 'uses the provided batchSize' , ( ) => {
161164 const processor1 = createBatchEventProcessor ( { batchSize : 20 } ) ;
162- expect ( Object . is ( processor1 , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
163- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . batchSize ) . toBe ( 20 ) ;
165+ expect ( Object . is ( processor1 , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
166+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . batchSize ) . toBe ( 20 ) ;
164167
165168 const processor2 = createBatchEventProcessor ( { } ) ;
166- expect ( Object . is ( processor2 , mockGetBatchEventProcessor . mock . results [ 1 ] . value ) ) . toBe ( true ) ;
167- expect ( mockGetBatchEventProcessor . mock . calls [ 1 ] [ 0 ] . batchSize ) . toBe ( undefined ) ;
169+ expect ( Object . is ( processor2 , mockGetOpaqueBatchEventProcessor . mock . results [ 1 ] . value ) ) . toBe ( true ) ;
170+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 1 ] [ 0 ] . batchSize ) . toBe ( undefined ) ;
168171 } ) ;
169172
170173 it ( 'uses maxRetries value of 5' , ( ) => {
171174 const processor = createBatchEventProcessor ( { } ) ;
172- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
173- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . retryOptions ?. maxRetries ) . toBe ( 5 ) ;
175+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
176+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . retryOptions ?. maxRetries ) . toBe ( 5 ) ;
174177 } ) ;
175178
176179 it ( 'uses the default failedEventRetryInterval' , ( ) => {
177180 const processor = createBatchEventProcessor ( { } ) ;
178- expect ( Object . is ( processor , mockGetBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
179- expect ( mockGetBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . failedEventRetryInterval ) . toBe ( FAILED_EVENT_RETRY_INTERVAL ) ;
181+ expect ( Object . is ( processor , mockGetOpaqueBatchEventProcessor . mock . results [ 0 ] . value ) ) . toBe ( true ) ;
182+ expect ( mockGetOpaqueBatchEventProcessor . mock . calls [ 0 ] [ 0 ] . failedEventRetryInterval ) . toBe ( FAILED_EVENT_RETRY_INTERVAL ) ;
180183 } ) ;
181184} ) ;
0 commit comments