@@ -22,7 +22,7 @@ describe(StandardRetryStrategy.name, () => {
22
22
} ) ;
23
23
24
24
afterEach ( ( ) => {
25
- jest . clearAllMocks ;
25
+ jest . clearAllMocks ( ) ;
26
26
} ) ;
27
27
28
28
it ( "sets maxAttemptsProvider as a class member variable" , ( ) => {
@@ -65,47 +65,49 @@ describe(StandardRetryStrategy.name, () => {
65
65
expect ( getRetryCount ) . toHaveBeenCalledTimes ( 3 ) ;
66
66
} ) ;
67
67
68
- it ( "throws when attempts exceeds maxAttempts" , async ( ) => {
68
+ it ( "disables any retries when maxAttempts is 1 " , async ( ) => {
69
69
const mockRetryToken = {
70
- getRetryCount : ( ) => 2 ,
70
+ getRetryCount : ( ) => 0 ,
71
71
getRetryTokenCount : ( errorInfo : any ) => 1 ,
72
72
} ;
73
73
( createDefaultRetryToken as jest . Mock ) . mockReturnValue ( mockRetryToken ) ;
74
- const retryStrategy = new StandardRetryStrategy ( ( ) => Promise . resolve ( 1 ) ) ;
74
+ const retryStrategy = new StandardRetryStrategy ( 1 ) ;
75
75
const token = await retryStrategy . acquireInitialRetryToken ( retryTokenScope ) ;
76
76
try {
77
77
await retryStrategy . refreshRetryTokenForRetry ( token , errorInfo ) ;
78
+ fail ( `expected ${ noRetryTokenAvailableError } ` ) ;
78
79
} catch ( error ) {
79
80
expect ( error ) . toStrictEqual ( noRetryTokenAvailableError ) ;
80
81
}
81
82
} ) ;
82
83
83
- it ( "throws when attempts exceeds default max attempts (3) " , async ( ) => {
84
+ it ( "throws when attempts exceeds maxAttempts " , async ( ) => {
84
85
const mockRetryToken = {
85
- getRetryCount : ( ) => 5 ,
86
+ getRetryCount : ( ) => 2 ,
86
87
getRetryTokenCount : ( errorInfo : any ) => 1 ,
87
88
} ;
88
89
( createDefaultRetryToken as jest . Mock ) . mockReturnValue ( mockRetryToken ) ;
89
- const retryStrategy = new StandardRetryStrategy ( ( ) => Promise . resolve ( 5 ) ) ;
90
+ const retryStrategy = new StandardRetryStrategy ( ( ) => Promise . resolve ( 1 ) ) ;
90
91
const token = await retryStrategy . acquireInitialRetryToken ( retryTokenScope ) ;
91
92
try {
92
93
await retryStrategy . refreshRetryTokenForRetry ( token , errorInfo ) ;
94
+ fail ( `expected ${ noRetryTokenAvailableError } ` ) ;
93
95
} catch ( error ) {
94
96
expect ( error ) . toStrictEqual ( noRetryTokenAvailableError ) ;
95
97
}
96
98
} ) ;
97
99
98
- it ( "throws when no tokens are available " , async ( ) => {
100
+ it ( "throws when attempts exceeds default max attempts (3) " , async ( ) => {
99
101
const mockRetryToken = {
100
- getRetryCount : ( ) => 0 ,
102
+ getRetryCount : ( ) => 5 ,
101
103
getRetryTokenCount : ( errorInfo : any ) => 1 ,
102
- hasRetryTokens : ( errorType : RetryErrorType ) => false ,
103
104
} ;
104
105
( createDefaultRetryToken as jest . Mock ) . mockReturnValue ( mockRetryToken ) ;
105
- const retryStrategy = new StandardRetryStrategy ( ( ) => Promise . resolve ( maxAttempts ) ) ;
106
+ const retryStrategy = new StandardRetryStrategy ( ( ) => Promise . resolve ( 5 ) ) ;
106
107
const token = await retryStrategy . acquireInitialRetryToken ( retryTokenScope ) ;
107
108
try {
108
109
await retryStrategy . refreshRetryTokenForRetry ( token , errorInfo ) ;
110
+ fail ( `expected ${ noRetryTokenAvailableError } ` ) ;
109
111
} catch ( error ) {
110
112
expect ( error ) . toStrictEqual ( noRetryTokenAvailableError ) ;
111
113
}
@@ -125,6 +127,7 @@ describe(StandardRetryStrategy.name, () => {
125
127
} as RetryErrorInfo ;
126
128
try {
127
129
await retryStrategy . refreshRetryTokenForRetry ( token , errorInfo ) ;
130
+ fail ( `expected ${ noRetryTokenAvailableError } ` ) ;
128
131
} catch ( error ) {
129
132
expect ( error ) . toStrictEqual ( noRetryTokenAvailableError ) ;
130
133
}
0 commit comments