@@ -379,16 +379,22 @@ describe('ApplicationSubmissionService', () => {
379
379
localGovernmentUuid,
380
380
} ) ;
381
381
382
+ mockGenerateSubmissionDocumentService . generateAndAttach . mockRejectedValue ( undefined ) ;
383
+ mockAppDocService . list . mockResolvedValue ( [
384
+ new ApplicationDocument ( {
385
+ typeCode : DOCUMENT_TYPE . ORIGINAL_SUBMISSION ,
386
+ } ) ,
387
+ ] ) ;
382
388
mockApplicationService . submit . mockRejectedValue ( new Error ( ) ) ;
383
389
384
- await expect (
385
- service . submitToAlcs (
386
- applicationSubmission as ValidatedApplicationSubmission ,
387
- mockUser ,
388
- ) ,
389
- ) . rejects . toMatchObject (
390
- new BaseServiceException ( `Failed to submit application: ${ fileNumber } ` ) ,
391
- ) ;
390
+ try {
391
+ await service . submitToAlcs ( applicationSubmission as ValidatedApplicationSubmission , mockUser ) ;
392
+ } catch ( err ) {
393
+ await expect ( [
394
+ new BaseServiceException ( `Failed to submit application: ${ fileNumber } ` ) ,
395
+ new BaseServiceException ( 'A document failed to generate' , undefined , 'DocumentGenerationError' ) ,
396
+ ] ) . toContainEqual ( err ) ;
397
+ }
392
398
} ) ;
393
399
394
400
it ( 'should call out to service on submitToAlcs' , async ( ) => {
@@ -410,112 +416,25 @@ describe('ApplicationSubmissionService', () => {
410
416
dateSubmittedToAlc : new Date ( ) ,
411
417
} ) ;
412
418
419
+ mockGenerateSubmissionDocumentService . generateAndAttach . mockRejectedValue ( undefined ) ;
420
+ mockAppDocService . list . mockResolvedValue ( [
421
+ {
422
+ typeCode : DOCUMENT_TYPE . ORIGINAL_SUBMISSION ,
423
+ } ,
424
+ {
425
+ typeCode : DOCUMENT_TYPE . ORIGINAL_SUBMISSION ,
426
+ } ,
427
+ ] as any ) ;
413
428
mockApplicationService . submit . mockResolvedValue ( mockSubmittedApp ) ;
414
- await service . submitToAlcs (
415
- mockApplication as ValidatedApplicationSubmission ,
416
- mockUser ,
417
- ) ;
418
-
419
- expect ( mockApplicationService . submit ) . toBeCalledTimes ( 1 ) ;
420
-
421
- expect (
422
- mockApplicationSubmissionStatusService . setStatusDate ,
423
- ) . toBeCalledTimes ( 1 ) ;
424
- expect ( mockApplicationSubmissionStatusService . setStatusDate ) . toBeCalledWith (
425
- mockApplication . uuid ,
426
- SUBMISSION_STATUS . SUBMITTED_TO_ALC ,
427
- mockSubmittedApp . dateSubmittedToAlc ,
428
- ) ;
429
- } ) ;
430
-
431
- it ( 'should submit to alcs even if document generation fails' , async ( ) => {
432
- const applicant = 'Bruce Wayne' ;
433
- const typeCode = 'fake-code' ;
434
- const fileNumber = 'fake' ;
435
- const localGovernmentUuid = 'fake-uuid' ;
436
- const mockApplication = new ApplicationSubmission ( {
437
- fileNumber,
438
- applicant,
439
- typeCode,
440
- localGovernmentUuid,
441
- status : new ApplicationSubmissionToSubmissionStatus ( {
442
- statusTypeCode : 'status-code' ,
443
- submissionUuid : 'fake' ,
444
- } ) ,
445
- } ) ;
446
-
447
- const mockSubmittedApp = new Application ( {
448
- dateSubmittedToAlc : new Date ( ) ,
449
- } ) ;
450
- mockApplicationService . submit . mockResolvedValue ( mockSubmittedApp ) ;
451
- mockGenerateSubmissionDocumentService . generateAndAttach . mockRejectedValue (
452
- new Error ( 'fake' ) ,
453
- ) ;
454
429
455
430
await service . submitToAlcs (
456
431
mockApplication as ValidatedApplicationSubmission ,
457
432
mockUser ,
458
433
) ;
459
434
460
435
expect ( mockApplicationService . submit ) . toBeCalledTimes ( 1 ) ;
461
- expect (
462
- mockGenerateSubmissionDocumentService . generateAndAttach ,
463
- ) . toBeCalledTimes ( 1 ) ;
464
- expect (
465
- mockGenerateSubmissionDocumentService . generateAndAttach ,
466
- ) . rejects . toMatchObject ( new Error ( 'fake' ) ) ;
467
- expect (
468
- mockApplicationSubmissionStatusService . setStatusDate ,
469
- ) . toBeCalledTimes ( 1 ) ;
470
- expect ( mockApplicationSubmissionStatusService . setStatusDate ) . toBeCalledWith (
471
- mockApplication . uuid ,
472
- SUBMISSION_STATUS . SUBMITTED_TO_ALC ,
473
- mockSubmittedApp . dateSubmittedToAlc ,
474
- ) ;
475
- } ) ;
476
-
477
- it ( 'should submit to alcs even if document attachment to application fails' , async ( ) => {
478
- const applicant = 'Bruce Wayne' ;
479
- const typeCode = 'fake-code' ;
480
- const fileNumber = 'fake' ;
481
- const localGovernmentUuid = 'fake-uuid' ;
482
- const mockApplication = new ApplicationSubmission ( {
483
- fileNumber,
484
- applicant,
485
- typeCode,
486
- localGovernmentUuid,
487
- status : new ApplicationSubmissionToSubmissionStatus ( {
488
- statusTypeCode : 'status-code' ,
489
- submissionUuid : 'fake' ,
490
- } ) ,
491
- } ) ;
492
-
493
- const mockSubmittedApp = new Application ( {
494
- dateSubmittedToAlc : new Date ( ) ,
495
- } ) ;
496
-
497
- mockApplicationService . submit . mockResolvedValue ( mockSubmittedApp ) ;
498
- mockGenerateSubmissionDocumentService . generateAndAttach . mockRejectedValue (
499
- new Error ( 'fake' ) ,
500
- ) ;
501
436
502
- await service . submitToAlcs (
503
- mockApplication as ValidatedApplicationSubmission ,
504
- mockUser ,
505
- ) ;
506
-
507
- await new Promise ( ( r ) => setTimeout ( r , 100 ) ) ;
508
-
509
- expect ( mockApplicationService . submit ) . toBeCalledTimes ( 1 ) ;
510
- expect (
511
- mockGenerateSubmissionDocumentService . generateAndAttach ,
512
- ) . toBeCalledTimes ( 1 ) ;
513
- expect (
514
- mockGenerateSubmissionDocumentService . generateAndAttach ,
515
- ) . toBeCalledWith ( fileNumber , mockUser ) ;
516
- expect (
517
- mockApplicationSubmissionStatusService . setStatusDate ,
518
- ) . toBeCalledTimes ( 1 ) ;
437
+ expect ( mockApplicationSubmissionStatusService . setStatusDate ) . toBeCalledTimes ( 1 ) ;
519
438
expect ( mockApplicationSubmissionStatusService . setStatusDate ) . toBeCalledWith (
520
439
mockApplication . uuid ,
521
440
SUBMISSION_STATUS . SUBMITTED_TO_ALC ,
0 commit comments