public async Task AddFaceAsync_WithCorrectInput_ReturnsOk() { var mockLogger = Mock.Of <ILogger <MaintenanceController> >(); var mockFaceClientService = new Mock <IFaceClientService>(); mockFaceClientService .Setup(service => service.AddFaceAsync(It.IsNotNull <string>(), It.IsNotNull <string>())) .Returns(() => Task.FromResult(new Cloud.Models.Face { FaceId = $"{Guid.NewGuid()}" })); var dto = new FaceDto { FaceUrl = $"http://www.google.com" }; var controller = new MaintenanceController(mockFaceClientService.Object, mockLogger); var actionResult = await controller.AddFaceAsync($"{Guid.NewGuid()}", dto); Assert.NotNull(actionResult); var okObjectResult = Assert.IsAssignableFrom <OkObjectResult>(actionResult); var face = Assert.IsAssignableFrom <Cloud.Models.Face>(okObjectResult.Value); face.Should().NotBeNull(); face.FaceId.Should().NotBeNullOrWhiteSpace(); }
public async Task AddFaceAsync_WithMissingDto_ReturnsBadRequest() { var mockLogger = Mock.Of <ILogger <MaintenanceController> >(); var mockFaceClientService = Mock.Of <IFaceClientService>(); var controller = new MaintenanceController(mockFaceClientService, mockLogger); var actionResult = await controller.AddFaceAsync($"{Guid.NewGuid()}", default); Assert.NotNull(actionResult); Assert.IsAssignableFrom <BadRequestObjectResult>(actionResult); }
public async Task AddFaceAsync_WithMissingPersonId_ReturnsBadRequest() { var mockLogger = Mock.Of <ILogger <MaintenanceController> >(); var mockFaceClientService = Mock.Of <IFaceClientService>(); var controller = new MaintenanceController(mockFaceClientService, mockLogger); var actionResult = await controller.AddFaceAsync(null, new FaceDto()); Assert.NotNull(actionResult); Assert.IsAssignableFrom <BadRequestResult>(actionResult); }
public async Task AddFaceAsync_WithFaceClientServiceFault_ThrowsException() { var mockLogger = Mock.Of <ILogger <MaintenanceController> >(); var mockFaceClientService = new Mock <IFaceClientService>(); mockFaceClientService .Setup(service => service.AddFaceAsync(It.IsNotNull <string>(), It.IsNotNull <string>())) .Throws <NotImplementedException>(); var dto = new FaceDto { FaceUrl = $"http://www.google.com" }; var controller = new MaintenanceController(mockFaceClientService.Object, mockLogger); await Assert.ThrowsAsync <NotImplementedException>(async() => { await controller.AddFaceAsync($"{Guid.NewGuid()}", dto); }); }