@@ -373,34 +373,6 @@ public async Task Post_UploadEvidenceSetToYes_ButEvidenceFileIsInvalidType_Rende
373373 Assert . Equal ( StatusCodes . Status400BadRequest , ( int ) response . StatusCode ) ;
374374 await AssertEx . HtmlResponseHasErrorAsync ( response , "EvidenceFile" , "The selected file must be a BMP, CSV, DOC, DOCX, EML, JPEG, JPG, MBOX, MSG, ODS, ODT, PDF, PNG, TIF, TXT, XLS or XLSX" ) ;
375375 }
376- // data-testid="uploaded-evidence-link"
377- //[Fact]
378- //public async Task Post_UploadEvidenceSetToYes_EvidenceFileIsSelected_UploadsFile()
379- //{
380- // // Arrange
381- // var user = await TestData.CreateUserAsync(role: UserRoles.AccessManager);
382- // SetCurrentUser(user);
383-
384- // var existingUser = await TestData.CreateUserAsync();
385-
386- // var request = new HttpRequestMessage(HttpMethod.Post, GetRequestPath(existingUser.UserId))
387- // {
388- // Content = new MultipartFormDataContentBuilder
389- // {
390- // { "HasAdditionalReason", false },
391- // { "HasMoreInformation", false },
392- // { "UploadEvidence", true },
393- // { "EvidenceFile", CreateEvidenceFileBinaryContent(), "validfile.png" },
394- // }
395- // };
396-
397- // // Act
398- // var response = await HttpClient.SendAsync(request);
399-
400- // // Assert
401- // Assert.Equal(StatusCodes.Status302Found, (int)response.StatusCode);
402- // FileServiceMock.Verify(mock => mock.UploadFileAsync(It.IsAny<Stream>(), It.IsAny<string?>(), null));
403- //}
404376
405377 [ Fact ]
406378 public async Task Post_UploadEvidenceSetToYes_AndEvidenceFileIsSelected_ButOtherFieldsInvalid_ShowsUploadedFile ( )
@@ -426,22 +398,19 @@ public async Task Post_UploadEvidenceSetToYes_AndEvidenceFileIsSelected_ButOther
426398
427399 // Assert
428400 Assert . Equal ( StatusCodes . Status400BadRequest , ( int ) response . StatusCode ) ;
429- FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) ) ;
430- Guid evidenceFileId = await Assert . IsType < Task < Guid > > ( FileServiceMock . Invocations . FirstOrDefault ( i => i . Method . Name == "UploadFileAsync" ) ? . ReturnValue ) ;
431- var expectedFileUrl = $ "{ TestScopedServices . FakeBlobStorageFileUrlBase } { evidenceFileId } ";
432401 var html = await AssertEx . HtmlResponseAsync ( response , 400 ) ;
433402
403+ var evidenceFileId = AssertFileWasUploadedAsync ( ) ;
404+ var expectedFileUrl = $ "{ TestScopedServices . FakeBlobStorageFileUrlBase } { evidenceFileId } ";
405+
434406 var link = Assert . IsAssignableFrom < IHtmlAnchorElement > ( html . GetElementByTestId ( "uploaded-evidence-file-link" ) ) ;
435407 Assert . Equal ( "validfile.png (1.2 KB)" , link . TextContent ) ;
436408 Assert . Equal ( expectedFileUrl , link . Href ) ;
437409
438- string GetHiddenInputValue ( string name ) =>
439- Assert . IsAssignableFrom < IHtmlInputElement > ( html . QuerySelector ( $@ "input[type=""hidden""][name=""{ name } ""]") ) . Value ;
440-
441- Assert . Equal ( evidenceFileId . ToString ( ) , GetHiddenInputValue ( "EvidenceFileId" ) ) ;
442- Assert . Equal ( "validfile.png" , GetHiddenInputValue ( "EvidenceFileName" ) ) ;
443- Assert . Equal ( "1.2 KB" , GetHiddenInputValue ( "EvidenceFileSizeDescription" ) ) ;
444- Assert . Equal ( expectedFileUrl , GetHiddenInputValue ( "UploadedEvidenceFileUrl" ) ) ;
410+ Assert . Equal ( evidenceFileId . ToString ( ) , GetHiddenInputValue ( html , "EvidenceFileId" ) ) ;
411+ Assert . Equal ( "validfile.png" , GetHiddenInputValue ( html , "EvidenceFileName" ) ) ;
412+ Assert . Equal ( "1.2 KB" , GetHiddenInputValue ( html , "EvidenceFileSizeDescription" ) ) ;
413+ Assert . Equal ( expectedFileUrl , GetHiddenInputValue ( html , "UploadedEvidenceFileUrl" ) ) ;
445414 }
446415
447416 [ Fact ]
@@ -472,21 +441,18 @@ public async Task Post_UploadEvidenceSetToYes_AndEvidenceFilePreviouslyUploaded_
472441
473442 // Assert
474443 Assert . Equal ( StatusCodes . Status400BadRequest , ( int ) response . StatusCode ) ;
444+ var html = await AssertEx . HtmlResponseAsync ( response , 400 ) ;
475445
476446 var expectedFileUrl = $ "{ TestScopedServices . FakeBlobStorageFileUrlBase } { evidenceFileId } ";
477- var html = await AssertEx . HtmlResponseAsync ( response , 400 ) ;
478447
479448 var link = Assert . IsAssignableFrom < IHtmlAnchorElement > ( html . GetElementByTestId ( "uploaded-evidence-file-link" ) ) ;
480449 Assert . Equal ( "testfile.jpg (3 KB)" , link . TextContent ) ;
481450 Assert . Equal ( "http://test.com/file" , link . Href ) ;
482451
483- string GetHiddenInputValue ( string name ) =>
484- Assert . IsAssignableFrom < IHtmlInputElement > ( html . QuerySelector ( $@ "input[type=""hidden""][name=""{ name } ""]") ) . Value ;
485-
486- Assert . Equal ( evidenceFileId . ToString ( ) , GetHiddenInputValue ( "EvidenceFileId" ) ) ;
487- Assert . Equal ( "testfile.jpg" , GetHiddenInputValue ( "EvidenceFileName" ) ) ;
488- Assert . Equal ( "3 KB" , GetHiddenInputValue ( "EvidenceFileSizeDescription" ) ) ;
489- Assert . Equal ( "http://test.com/file" , GetHiddenInputValue ( "UploadedEvidenceFileUrl" ) ) ;
452+ Assert . Equal ( evidenceFileId . ToString ( ) , GetHiddenInputValue ( html , "EvidenceFileId" ) ) ;
453+ Assert . Equal ( "testfile.jpg" , GetHiddenInputValue ( html , "EvidenceFileName" ) ) ;
454+ Assert . Equal ( "3 KB" , GetHiddenInputValue ( html , "EvidenceFileSizeDescription" ) ) ;
455+ Assert . Equal ( "http://test.com/file" , GetHiddenInputValue ( html , "UploadedEvidenceFileUrl" ) ) ;
490456 }
491457
492458 [ Fact ]
@@ -516,7 +482,7 @@ public async Task Post_UploadEvidenceSetToYes_AndEvidenceFilePreviouslyUploaded_
516482 // Assert
517483 Assert . Equal ( StatusCodes . Status400BadRequest , ( int ) response . StatusCode ) ;
518484
519- FileServiceMock . Verify ( mock => mock . DeleteFileAsync ( evidenceFileId ) ) ;
485+ AssertFileWasDeleted ( evidenceFileId ) ;
520486 }
521487
522488 [ Fact ]
@@ -545,7 +511,7 @@ public async Task Post_UploadEvidenceSetToNo_ButEvidenceFilePreviouslyUploaded_A
545511 // Assert
546512 Assert . Equal ( StatusCodes . Status400BadRequest , ( int ) response . StatusCode ) ;
547513
548- FileServiceMock . Verify ( mock => mock . DeleteFileAsync ( evidenceFileId ) ) ;
514+ AssertFileWasDeleted ( evidenceFileId ) ;
549515 }
550516
551517 [ Fact ]
@@ -618,7 +584,7 @@ public async Task GetCancel_EvidenceFilePreviouslyUploaded_DeletesPreviouslyUplo
618584 Assert . Equal ( StatusCodes . Status302Found , ( int ) response . StatusCode ) ;
619585 Assert . StartsWith ( $ "/users/{ existingUser . UserId } ", response . Headers . Location ? . OriginalString ) ;
620586
621- FileServiceMock . Verify ( mock => mock . DeleteFileAsync ( evidenceFileId ) ) ;
587+ AssertFileWasDeleted ( evidenceFileId ) ;
622588 }
623589
624590 [ Fact ]
@@ -698,8 +664,7 @@ public async Task Post_ValidRequest_WithAdditionalReasonMoreInformationAndEviden
698664 Assert . NotNull ( updatedUser ) ;
699665 Assert . False ( updatedUser . Active ) ;
700666
701- FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) ) ;
702- Guid evidenceFileId = await Assert . IsType < Task < Guid > > ( FileServiceMock . Invocations . FirstOrDefault ( i => i . Method . Name == "UploadFileAsync" ) ? . ReturnValue ) ;
667+ var evidenceFileId = await AssertFileWasUploadedAsync ( ) ;
703668
704669 EventPublisher . AssertEventsSaved ( e =>
705670 {
@@ -747,7 +712,7 @@ public async Task Post_ValidRequest_WithPreviouslyUploadedEvidenceFile_Deactivat
747712 Assert . NotNull ( updatedUser ) ;
748713 Assert . False ( updatedUser . Active ) ;
749714
750- FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) , Times . Never ) ;
715+ AssertFileWasNotUploaded ( ) ;
751716
752717 EventPublisher . AssertEventsSaved ( e =>
753718 {
@@ -797,7 +762,7 @@ public async Task Post_ValidRequest_WithAdditionalInfo_ButAdditionalInfoRadioBut
797762 Assert . NotNull ( updatedUser ) ;
798763 Assert . False ( updatedUser . Active ) ;
799764
800- FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) , Times . Never ) ;
765+ AssertFileWasNotUploaded ( ) ;
801766
802767 EventPublisher . AssertEventsSaved ( e =>
803768 {
@@ -814,5 +779,29 @@ public async Task Post_ValidRequest_WithAdditionalInfo_ButAdditionalInfoRadioBut
814779 AssertEx . HtmlDocumentHasFlashSuccess ( redirectDoc , expectedMessage : $ "{ existingUser . Name } s account has been deactivated.") ;
815780 }
816781
782+ private async Task < Guid > AssertFileWasUploadedAsync ( )
783+ {
784+ FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) ) ;
785+ return await Assert . IsType < Task < Guid > > ( FileServiceMock . Invocations . FirstOrDefault ( i => i . Method . Name == "UploadFileAsync" ) ? . ReturnValue ) ;
786+ }
787+
788+ private void AssertFileWasNotUploaded ( )
789+ {
790+ FileServiceMock . Verify ( mock => mock . UploadFileAsync ( It . IsAny < Stream > ( ) , It . IsAny < string ? > ( ) , null ) , Times . Never ) ;
791+ }
792+
793+ private void AssertFileWasDeleted ( Guid fileId )
794+ {
795+ FileServiceMock . Verify ( mock => mock . DeleteFileAsync ( fileId ) ) ;
796+ }
797+
798+ private string GetHiddenInputValue ( IHtmlDocument html , string name )
799+ {
800+ var element = html . QuerySelector ( $@ "input[type=""hidden""][name=""{ name } ""]") ;
801+ var input = Assert . IsAssignableFrom < IHtmlInputElement > ( element ) ;
802+
803+ return input . Value ;
804+ }
805+
817806 private static string GetRequestPath ( Guid userId ) => $ "/users/{ userId } /deactivate";
818807}
0 commit comments