@@ -11,6 +11,8 @@ import { BatchUploader } from '../../src/batchUploader';
1111import { expect } from 'chai' ;
1212import _BatchValidator from '../../src/mockBatchCreator' ;
1313import { Logger } from '../../src/logger' ;
14+ import { IReportingLogger } from '../../src/logging/reportingLogger' ;
15+ import { ErrorCodes } from '../../src/logging/errorCodes' ;
1416import { event0 , event1 , event2 , event3 } from '../fixtures/events' ;
1517import fetchMock from 'fetch-mock/esm/client' ;
1618const {
@@ -28,6 +30,11 @@ declare global {
2830 }
2931}
3032
33+ const mockReportingLogger : IReportingLogger = {
34+ error : sinon . spy ( ) ,
35+ warning : sinon . spy ( )
36+ } ;
37+
3138const enableBatchingConfigFlags = {
3239 eventBatchingIntervalMillis : 1000 ,
3340} ;
@@ -46,6 +53,9 @@ describe('batch uploader', () => {
4653 window . mParticle . config . flags = {
4754 eventBatchingIntervalMillis : 1000 ,
4855 } ;
56+ window . mParticle . config . logLevel = 'error' ;
57+ ( mockReportingLogger . error as sinon . SinonSpy ) . resetHistory ( ) ;
58+ ( mockReportingLogger . warning as sinon . SinonSpy ) . resetHistory ( ) ;
4959 } ) ;
5060
5161 afterEach ( ( ) => {
@@ -512,7 +522,7 @@ describe('batch uploader', () => {
512522
513523 fetchMock . post ( urls . events , 200 ) ;
514524
515- const newLogger = new Logger ( window . mParticle . config ) ;
525+ const newLogger = new Logger ( window . mParticle . config , mockReportingLogger ) ;
516526 const mpInstance = window . mParticle . getInstance ( ) ;
517527
518528 const uploader = new BatchUploader ( mpInstance , 1000 ) ;
@@ -545,6 +555,7 @@ describe('batch uploader', () => {
545555
546556 expect ( actualBatchResult . events . length ) . to . equal ( 1 ) ;
547557 expect ( actualBatchResult . events ) . to . eql ( actualBatch . events ) ;
558+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . called ) . to . eq ( false ) ;
548559 } ) ;
549560
550561 it ( 'should return batches that fail to upload with 500 errors' , async ( ) => {
@@ -554,7 +565,7 @@ describe('batch uploader', () => {
554565
555566 fetchMock . post ( urls . events , 500 ) ;
556567
557- const newLogger = new Logger ( window . mParticle . config ) ;
568+ const newLogger = new Logger ( window . mParticle . config , mockReportingLogger ) ;
558569 const mpInstance = window . mParticle . getInstance ( ) ;
559570
560571 const uploader = new BatchUploader ( mpInstance , 1000 ) ;
@@ -596,6 +607,8 @@ describe('batch uploader', () => {
596607 expect (
597608 batchesNotUploaded [ 2 ] . events [ 0 ] . data . event_name
598609 ) . to . equal ( 'Test Event 3' ) ;
610+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . calledOnce ) . to . eq ( true ) ;
611+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . getCall ( 0 ) . args [ 1 ] ) . to . eq ( ErrorCodes . BATCH_UPLOADER_ERROR ) ;
599612 } ) ;
600613
601614 it ( 'should return batches that fail to upload with 429 errors' , async ( ) => {
@@ -605,7 +618,7 @@ describe('batch uploader', () => {
605618
606619 fetchMock . post ( urls . events , 429 ) ;
607620
608- const newLogger = new Logger ( window . mParticle . config ) ;
621+ const newLogger = new Logger ( window . mParticle . config , mockReportingLogger ) ;
609622 const mpInstance = window . mParticle . getInstance ( ) ;
610623
611624 const uploader = new BatchUploader ( mpInstance , 1000 ) ;
@@ -647,6 +660,8 @@ describe('batch uploader', () => {
647660 expect (
648661 batchesNotUploaded [ 2 ] . events [ 0 ] . data . event_name
649662 ) . to . equal ( 'Test Event 3' ) ;
663+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . calledOnce ) . to . eq ( true ) ;
664+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . getCall ( 0 ) . args [ 1 ] ) . to . eq ( ErrorCodes . BATCH_UPLOADER_ERROR ) ;
650665 } ) ;
651666
652667 it ( 'should return null if batches fail to upload with 401 errors' , async ( ) => {
@@ -656,7 +671,7 @@ describe('batch uploader', () => {
656671
657672 fetchMock . post ( urls . events , 401 ) ;
658673
659- const newLogger = new Logger ( window . mParticle . config ) ;
674+ const newLogger = new Logger ( window . mParticle . config , mockReportingLogger ) ;
660675 const mpInstance = window . mParticle . getInstance ( ) ;
661676
662677 const uploader = new BatchUploader ( mpInstance , 1000 ) ;
@@ -685,6 +700,8 @@ describe('batch uploader', () => {
685700 ) ;
686701
687702 expect ( batchesNotUploaded === null ) . to . equal ( true ) ;
703+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . calledOnce ) . to . eq ( true ) ;
704+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . getCall ( 0 ) . args [ 1 ] ) . to . eq ( ErrorCodes . BATCH_UPLOADER_ERROR ) ;
688705 } ) ;
689706
690707 it ( 'should not throw an error when upload is called while storage has not been created yet' , async ( ) => {
@@ -708,7 +725,7 @@ describe('batch uploader', () => {
708725
709726 fetchMock . post ( urls . events , 400 ) ;
710727
711- const newLogger = new Logger ( window . mParticle . config ) ;
728+ const newLogger = new Logger ( window . mParticle . config , mockReportingLogger ) ;
712729 const mpInstance = window . mParticle . getInstance ( ) ;
713730
714731 const uploader = new BatchUploader ( mpInstance , 1000 ) ;
@@ -737,6 +754,8 @@ describe('batch uploader', () => {
737754 ) ;
738755
739756 expect ( batchesNotUploaded ) . to . be . ok ;
757+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . calledOnce ) . to . eq ( true ) ;
758+ expect ( ( mockReportingLogger . error as sinon . SinonSpy ) . getCall ( 0 ) . args [ 1 ] ) . to . eq ( ErrorCodes . BATCH_UPLOADER_ERROR ) ;
740759
741760 expect (
742761 batchesNotUploaded . length ,
0 commit comments