@@ -3,7 +3,7 @@ import { createValidRequestHeaders } from "tests/constants/request-headers";
33import { SUPPLIER_LETTERS } from "tests/constants/api-constants" ;
44import { logger } from "./pino-logger" ;
55
6- export async function pollForLettersInDb (
6+ async function pollForLetterStatus (
77 request : APIRequestContext ,
88 supplierId : string ,
99 domainId : string ,
@@ -41,54 +41,28 @@ export async function pollForLettersInDb(
4141 `Attempt ${ attempt } : Received status code ${ statusCode } for domainId: ${ domainId } . Retrying after ${ RETRY_DELAY_MS / 1000 } seconds...` ,
4242 ) ;
4343 await new Promise ( ( resolve ) => {
44- setTimeout ( resolve , RETRY_DELAY_MS ) ; // Wait for 10 seconds before the next attempt
44+ setTimeout ( resolve , RETRY_DELAY_MS ) ;
4545 } ) ;
4646 }
4747 }
48+
4849 return { letterStatus, statusCode } ;
4950}
5051
51- export async function pollForLettersInLetterQueue (
52+ export async function pollForLettersInDb (
5253 request : APIRequestContext ,
5354 supplierId : string ,
5455 domainId : string ,
5556 baseUrl : string ,
5657) : Promise < { letterStatus : string | undefined ; statusCode : number } > {
57- const headers = createValidRequestHeaders ( supplierId ) ;
58- let statusCode = 0 ;
59- let letterStatus : string | undefined ;
60- const RETRY_DELAY_MS = 10_000 ;
61- const MAX_ATTEMPTS = 5 ;
62-
63- for ( let attempt = 1 ; attempt <= MAX_ATTEMPTS ; attempt ++ ) {
64- const getLetterResponse = await request . get (
65- `${ baseUrl } /${ SUPPLIER_LETTERS } /${ domainId } ` ,
66- {
67- headers,
68- } ,
69- ) ;
70-
71- statusCode = getLetterResponse . status ( ) ;
72- const responseBody = ( await getLetterResponse . json ( ) ) as {
73- data ?: { attributes ?: { status ?: string } } ;
74- } ;
75- letterStatus = responseBody . data ?. attributes ?. status ;
76-
77- if ( statusCode === 200 && letterStatus === "PENDING" ) {
78- logger . info (
79- `Attempt ${ attempt } : Received status code ${ statusCode } for domainId: ${ domainId } ` ,
80- ) ;
81- break ;
82- }
58+ return pollForLetterStatus ( request , supplierId , domainId , baseUrl ) ;
59+ }
8360
84- if ( attempt < MAX_ATTEMPTS ) {
85- logger . info (
86- `Attempt ${ attempt } : Received status code ${ statusCode } for domainId: ${ domainId } . Retrying after ${ RETRY_DELAY_MS / 1000 } seconds...` ,
87- ) ;
88- await new Promise ( ( resolve ) => {
89- setTimeout ( resolve , RETRY_DELAY_MS ) ; // Wait for 10 seconds before the next attempt
90- } ) ;
91- }
92- }
93- return { letterStatus, statusCode } ;
61+ export async function pollForLettersInLetterQueue (
62+ request : APIRequestContext ,
63+ supplierId : string ,
64+ domainId : string ,
65+ baseUrl : string ,
66+ ) : Promise < { letterStatus : string | undefined ; statusCode : number } > {
67+ return pollForLetterStatus ( request , supplierId , domainId , baseUrl ) ;
9468}
0 commit comments