@@ -10,7 +10,8 @@ import {
10
10
REQUEST_ALREADY_PENDING ,
11
11
REQUEST_STATE , REQUEST_TYPE ,
12
12
ONBOARDING_REQUEST_CREATED_SUCCESSFULLY ,
13
- UNAUTHORIZED_TO_CREATE_ONBOARDING_EXTENSION_REQUEST
13
+ UNAUTHORIZED_TO_CREATE_ONBOARDING_EXTENSION_REQUEST ,
14
+ REQUEST_FETCHED_SUCCESSFULLY
14
15
} from "../../constants/requests" ;
15
16
const { generateToken } = require ( "../../test/utils/generateBotToken" ) ;
16
17
import app from "../../server" ;
@@ -299,4 +300,82 @@ describe("/requests Onboarding Extension", () => {
299
300
. to . equal ( new Date ( currentDate + ( body . numberOfDays * 24 * 60 * 60 * 1000 ) ) . toDateString ( ) ) ;
300
301
} )
301
302
} )
302
- } ) ;
303
+
304
+ describe ( "GET /requests" , ( ) => {
305
+ const getEndpoint = "/requests" ;
306
+ const username = userData [ 4 ] . username ;
307
+
308
+ beforeEach ( async ( ) => {
309
+ await addUser ( userData [ 4 ] ) ;
310
+ } ) ;
311
+
312
+ afterEach ( async ( ) => {
313
+ await cleanDb ( ) ;
314
+ } ) ;
315
+
316
+ it ( "should return 204 content when onboarding extension request does not exist" , ( done ) => {
317
+ requestsQuery . createRequest ( { type : REQUEST_TYPE . OOO } ) ;
318
+ chai . request ( app )
319
+ . get ( `${ getEndpoint } ?type=ONBOARDING` )
320
+ . end ( ( err , res ) => {
321
+ if ( err ) return done ( err ) ;
322
+ expect ( res . statusCode ) . to . equal ( 204 ) ;
323
+ return done ( ) ;
324
+ } ) ;
325
+ } ) ;
326
+
327
+ it ( "should fetch onboarding extension request by requestedBy field" , ( done ) => {
328
+ requestsQuery . createRequest ( { type : REQUEST_TYPE . ONBOARDING , requestedBy : username } ) ;
329
+ chai . request ( app )
330
+ . get ( `${ getEndpoint } ?requestedBy=${ username } &type=ONBOARDING&dev=true` )
331
+ . end ( ( err , res ) => {
332
+ if ( err ) return done ( err ) ;
333
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
334
+ expect ( res . body . message ) . to . equal ( REQUEST_FETCHED_SUCCESSFULLY ) ;
335
+ expect ( res . body . data [ 0 ] . type ) . to . equal ( REQUEST_TYPE . ONBOARDING ) ;
336
+ expect ( res . body . data [ 0 ] . requestedBy ) . to . equal ( username ) ;
337
+ return done ( ) ;
338
+ } ) ;
339
+ } ) ;
340
+
341
+ it ( "should return 204 response when onboarding extension request does not exist for a user" , ( done ) => {
342
+ requestsQuery . createRequest ( { type : REQUEST_TYPE . OOO , requestedBy : username } ) ;
343
+ chai . request ( app )
344
+ . get ( `${ getEndpoint } ?requestedBy=${ username } &type=ONBOARDING` )
345
+ . end ( ( err , res ) => {
346
+ if ( err ) return done ( err ) ;
347
+ expect ( res . statusCode ) . to . equal ( 204 ) ;
348
+ return done ( ) ;
349
+ } ) ;
350
+ } ) ;
351
+
352
+ it ( "should fetch onboarding extension request by type field" , ( done ) => {
353
+ requestsQuery . createRequest ( { type : REQUEST_TYPE . ONBOARDING } ) ;
354
+ chai . request ( app )
355
+ . get ( `${ getEndpoint } ?type=ONBOARDING` )
356
+ . end ( ( err , res ) => {
357
+ if ( err ) return done ( err ) ;
358
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
359
+ expect ( res . body . message ) . to . equal ( REQUEST_FETCHED_SUCCESSFULLY ) ;
360
+ expect ( res . body . data . length ) . to . equal ( 1 ) ;
361
+ expect ( res . body . data [ 0 ] . type ) . to . equal ( REQUEST_TYPE . ONBOARDING ) ;
362
+ return done ( ) ;
363
+ } ) ;
364
+ } ) ;
365
+
366
+ it ( "should fetch onboarding extension request by state field" , ( done ) => {
367
+ requestsQuery . createRequest ( { type : REQUEST_TYPE . ONBOARDING , state : REQUEST_STATE . APPROVED } ) ;
368
+ chai . request ( app )
369
+ . get ( `${ getEndpoint } ?state=APPROVED` )
370
+ . end ( ( err , res ) => {
371
+ if ( err ) return done ( err ) ;
372
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
373
+ expect ( res . body . message ) . to . equal ( REQUEST_FETCHED_SUCCESSFULLY ) ;
374
+ expect ( res . body . data . length ) . to . equal ( 1 ) ;
375
+ expect ( res . body . data [ 0 ] . type ) . to . equal ( REQUEST_TYPE . ONBOARDING ) ;
376
+ expect ( res . body . data [ 0 ] . state ) . to . equal ( REQUEST_STATE . APPROVED ) ;
377
+ return done ( ) ;
378
+ } ) ;
379
+ } ) ;
380
+ } ) ;
381
+ } ) ;
0 commit comments