@@ -23,7 +23,8 @@ import {
23
23
getOrCreateDataLayer ,
24
24
insertScriptTag ,
25
25
wrapOrCreateGtag ,
26
- findGtagScriptOnPage
26
+ findGtagScriptOnPage ,
27
+ promiseAllSettled
27
28
} from './helpers' ;
28
29
import { GtagCommand } from './constants' ;
29
30
import { Deferred } from '@firebase/util' ;
@@ -99,7 +100,7 @@ describe('Gtag wrapping functions', () => {
99
100
100
101
initPromise2 . resolve ( 'other-measurement-id' ) ; // Resolves second initialization promise.
101
102
await Promise . all ( [ initPromise1 , initPromise2 ] ) ; // Wait for resolution of Promise.all()
102
- await Promise . all ( fakeDynamicConfigPromises ) ;
103
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ;
103
104
104
105
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 1 ) ;
105
106
} ) ;
@@ -132,7 +133,7 @@ describe('Gtag wrapping functions', () => {
132
133
133
134
initPromise2 . resolve ( ) ; // Resolves second initialization promise.
134
135
await Promise . all ( [ initPromise1 , initPromise2 ] ) ; // Wait for resolution of Promise.all()
135
- await Promise . all ( fakeDynamicConfigPromises ) ;
136
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ;
136
137
137
138
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 1 ) ;
138
139
}
@@ -194,7 +195,7 @@ describe('Gtag wrapping functions', () => {
194
195
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 0 ) ;
195
196
196
197
initPromise1 . resolve ( ) ; // Resolves first initialization promise.
197
- await Promise . all ( fakeDynamicConfigPromises ) ;
198
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ;
198
199
await Promise . all ( [ initPromise1 ] ) ; // Wait for resolution of Promise.all()
199
200
200
201
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 1 ) ;
@@ -240,7 +241,7 @@ describe('Gtag wrapping functions', () => {
240
241
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 0 ) ;
241
242
242
243
initPromise1 . resolve ( fakeMeasurementId ) ;
243
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
244
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
244
245
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 0 ) ;
245
246
246
247
await Promise . all ( [ initPromise1 ] ) ; // Wait for resolution of Promise.all()
@@ -254,7 +255,7 @@ describe('Gtag wrapping functions', () => {
254
255
( window [ 'gtag' ] as Gtag ) ( GtagCommand . CONFIG , fakeMeasurementId , {
255
256
'transaction_id' : 'abcd123'
256
257
} ) ;
257
- await Promise . all ( fakeDynamicConfigPromises ) ;
258
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ;
258
259
await Promise . resolve ( ) ; // Config call is always chained onto initialization promise list, even if empty.
259
260
expect ( ( window [ 'dataLayer' ] as DataLayer ) . length ) . to . equal ( 1 ) ;
260
261
} ) ;
@@ -294,7 +295,7 @@ describe('Gtag wrapping functions', () => {
294
295
expect ( existingGtagStub ) . to . not . be . called ;
295
296
296
297
initPromise2 . resolve ( ) ; // Resolves second initialization promise.
297
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
298
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
298
299
expect ( existingGtagStub ) . to . not . be . called ;
299
300
300
301
await Promise . all ( [ initPromise1 , initPromise2 ] ) ; // Wait for resolution of Promise.all()
@@ -331,7 +332,7 @@ describe('Gtag wrapping functions', () => {
331
332
expect ( existingGtagStub ) . to . not . be . called ;
332
333
333
334
initPromise2 . resolve ( ) ; // Resolves second initialization promise.
334
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
335
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
335
336
expect ( existingGtagStub ) . to . not . be . called ;
336
337
337
338
await Promise . all ( [ initPromise1 , initPromise2 ] ) ; // Wait for resolution of Promise.all()
@@ -406,7 +407,7 @@ describe('Gtag wrapping functions', () => {
406
407
expect ( existingGtagStub ) . to . not . be . called ;
407
408
408
409
initPromise1 . resolve ( ) ; // Resolves first initialization promise.
409
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
410
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
410
411
expect ( existingGtagStub ) . to . not . be . called ;
411
412
412
413
await Promise . all ( [ initPromise1 ] ) ; // Wait for resolution of Promise.all()
@@ -462,7 +463,7 @@ describe('Gtag wrapping functions', () => {
462
463
expect ( existingGtagStub ) . to . not . be . called ;
463
464
464
465
initPromise1 . resolve ( fakeMeasurementId ) ;
465
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
466
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
466
467
expect ( existingGtagStub ) . to . not . be . called ;
467
468
468
469
await Promise . all ( [ initPromise1 ] ) ; // Wait for resolution of Promise.all()
@@ -482,7 +483,7 @@ describe('Gtag wrapping functions', () => {
482
483
( window [ 'gtag' ] as Gtag ) ( GtagCommand . CONFIG , fakeMeasurementId , {
483
484
'transaction_id' : 'abcd123'
484
485
} ) ;
485
- await Promise . all ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
486
+ await promiseAllSettled ( fakeDynamicConfigPromises ) ; // Resolves dynamic config fetches.
486
487
expect ( existingGtagStub ) . to . not . be . called ;
487
488
await Promise . resolve ( ) ; // Config call is always chained onto initialization promise list, even if empty.
488
489
expect ( existingGtagStub ) . to . be . calledWith (
0 commit comments