33 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
44
55import { EventEmitter } from 'events' ;
6+ import { createMock } from '@golevelup/ts-jest' ;
7+ import { StatsD } from 'hot-shots' ;
8+ import { AuthLogger } from '../types' ;
69
7- const { mockLog, mockStatsd } = require ( '../../test/mocks' ) ;
810const emailHelpers = require ( './utils/helpers' ) ;
911const deliveryDelay = require ( './delivery-delay' ) ;
1012
@@ -48,26 +50,26 @@ describe('delivery delay messages', () => {
4850 } ) ;
4951
5052 it ( 'should not log an error for headers' , async ( ) => {
51- const log = mockLog ( ) ;
52- const statsd = mockStatsd ( ) ;
53+ const log = createMock < AuthLogger > ( ) ;
54+ const statsd = createMock < StatsD > ( ) ;
5355 await mockedDeliveryDelay ( log , statsd ) . handleDeliveryDelay (
5456 mockMessage ( { junk : 'message' } )
5557 ) ;
5658 expect ( log . error ) . toHaveBeenCalledTimes ( 0 ) ;
5759 } ) ;
5860
5961 it ( 'should log an error for missing headers' , async ( ) => {
60- const log = mockLog ( ) ;
61- const statsd = mockStatsd ( ) ;
62+ const log = createMock < AuthLogger > ( ) ;
63+ const statsd = createMock < StatsD > ( ) ;
6264 const message = mockMessage ( { junk : 'message' } ) ;
6365 message . headers = undefined ;
6466 await mockedDeliveryDelay ( log , statsd ) . handleDeliveryDelay ( message ) ;
6567 expect ( log . error ) . toHaveBeenCalledTimes ( 1 ) ;
6668 } ) ;
6769
6870 it ( 'should log delivery delay with all fields' , async ( ) => {
69- const log = mockLog ( ) ;
70- const statsd = mockStatsd ( ) ;
71+ const log = createMock < AuthLogger > ( ) ;
72+ const statsd = createMock < StatsD > ( ) ;
7173 const mockMsg = createDeliveryDelayMessage ( {
7274 deliveryDelay : {
7375 delayType : 'TransientCommunicationFailure' ,
@@ -118,8 +120,8 @@ describe('delivery delay messages', () => {
118120 } ) ;
119121
120122 it ( 'should handle delivery delay with notificationType' , async ( ) => {
121- const log = mockLog ( ) ;
122- const statsd = mockStatsd ( ) ;
123+ const log = createMock < AuthLogger > ( ) ;
124+ const statsd = createMock < StatsD > ( ) ;
123125 const mockMsg = createDeliveryDelayMessage ( {
124126 notificationType : 'DeliveryDelay' ,
125127 eventType : undefined ,
@@ -150,8 +152,8 @@ describe('delivery delay messages', () => {
150152 jest
151153 . spyOn ( emailHelpers , 'logAccountEventFromMessage' )
152154 . mockReturnValue ( Promise . resolve ( ) ) ;
153- const log = mockLog ( ) ;
154- const statsd = mockStatsd ( ) ;
155+ const log = createMock < AuthLogger > ( ) ;
156+ const statsd = createMock < StatsD > ( ) ;
155157 const mockMsg = createDeliveryDelayMessage ( {
156158 deliveryDelay : {
157159 delayType : 'SpamDetected' ,
@@ -169,8 +171,8 @@ describe('delivery delay messages', () => {
169171 } ) ;
170172
171173 it ( 'should handle popular email domain' , async ( ) => {
172- const log = mockLog ( ) ;
173- const statsd = mockStatsd ( ) ;
174+ const log = createMock < AuthLogger > ( ) ;
175+ const statsd = createMock < StatsD > ( ) ;
174176 const mockMsg = createDeliveryDelayMessage ( {
175177 deliveryDelay : {
176178 delayType : 'RecipientServerError' ,
@@ -187,8 +189,8 @@ describe('delivery delay messages', () => {
187189 } ) ;
188190
189191 it ( 'should handle missing delayedRecipients gracefully' , async ( ) => {
190- const log = mockLog ( ) ;
191- const statsd = mockStatsd ( ) ;
192+ const log = createMock < AuthLogger > ( ) ;
193+ const statsd = createMock < StatsD > ( ) ;
192194 const mockMsg = createDeliveryDelayMessage ( {
193195 deliveryDelay : {
194196 delayType : 'Undetermined' ,
@@ -204,8 +206,8 @@ describe('delivery delay messages', () => {
204206 } ) ;
205207
206208 it ( 'should handle errors and still delete message' , async ( ) => {
207- const log = mockLog ( ) ;
208- const statsd = mockStatsd ( ) ;
209+ const log = createMock < AuthLogger > ( ) ;
210+ const statsd = createMock < StatsD > ( ) ;
209211 const mockMsg = createDeliveryDelayMessage ( ) ;
210212
211213 jest
0 commit comments