public async void PostUploadInfoBadRequest() { // Arrange var config = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var request = new UploadInfoRequest(); // *** uncomment all lines below to fail test *** //request.ID = "document-id"; //request.DocumentCategory = "document-category"; //request.Size = 1; var loggerMock = new Mock <ILogger <DocumentTrackingController> >(); //var repositoryMock = new Mock<ITrackingMemoryRepository>(); var repository = new TrackingMemoryRepository(); var managerMock = new Mock <TrackingManager>(repository); var controller = new DocumentTrackingController(loggerMock.Object, managerMock.Object, mapper); var response = await controller.PostUploadInfo(request); // Assert var viewResult = Assert.IsType <BadRequestObjectResult>(response.Result); Assert.Equal("document data incomplete", viewResult.Value); }
public async void PostUploadInfoOk() { // Arrange var config = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var request = new UploadInfoRequest(); request.ID = "document-id"; request.DocumentCategory = "document-category"; request.Size = 1; var loggerMock = new Mock <ILogger <DocumentTrackingController> >(); var repositoryMock = new Mock <ITrackingMemoryRepository>(); var managerMock = new Mock <TrackingManager>(repositoryMock.Object); managerMock.Setup(m => m.TrackDocument( It.IsAny <DocumentInfo>() ) ).ReturnsAsync("newid123456"); var controller = new DocumentTrackingController(loggerMock.Object, managerMock.Object, mapper); var response = await controller.PostUploadInfo(request); // Assert var viewResult = Assert.IsType <OkObjectResult>(response.Result); var uploadInfoResponse = Assert.IsType <UploadInfoResponse>(viewResult.Value); Assert.Equal("newid123456", uploadInfoResponse.ExternalID); }