public async Task DeleteInfoAsync__An_unexpected_internal_error_occurred__Should_throw_Exception() { _infoDbServiceMock.Setup(x => x.DeleteAsync(It.IsAny <string>())).ThrowsAsync(new Exception()); var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object); Func <Task> result = async() => await controller.DeleteInfoAsync("1"); await result.Should().ThrowExactlyAsync <Exception>(); }
public async Task DeleteInfoAsync__Argument_id_is_null_or_empty__Should_return_400BadRequest_response([Values(null, "")] string id) { _infoDbServiceMock.Setup(x => x.DeleteAsync(id)).ThrowsAsync(new ArgumentException()); var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object); var result = await controller.DeleteInfoAsync(id); (result as ObjectResult).StatusCode.Should().Be(400); ((result as ObjectResult).Value as ResponseWrapper).Error.Should().NotBeNull(); }
public async Task DeleteInfoAsync__An_internal_error_reffered_to_the_database_occurred__Should_throw_InternalDbServiceException() { // Example of these errors: database does not exist, table does not exist etc. _infoDbServiceMock.Setup(x => x.DeleteAsync(It.IsAny <string>())).ThrowsAsync(new InternalDbServiceException()); var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object); Func <Task> result = async() => await controller.DeleteInfoAsync("1"); await result.Should().ThrowExactlyAsync <InternalDbServiceException>(); }
public async Task DeleteInfoAsync__Delete_succeeded__Should_return_200OK_empty_response() { var emptyResponse = new ResponseWrapper(); _infoDbServiceMock.Setup(x => x.DeleteAsync(It.IsNotNull <string>())); var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object); var result = await controller.DeleteInfoAsync("123"); (result as ObjectResult).StatusCode.Should().Be(200); ((result as ObjectResult).Value as ResponseWrapper).Should().BeEquivalentTo(emptyResponse); }
public async Task DeleteInfoAsync__Element_not_found__Should_return_404NotFound_response_with_error() { string id = "-1"; _infoDbServiceMock.Setup(x => x.DeleteAsync(id)).ThrowsAsync(new InvalidOperationException()); var controller = new SDCWebApp.Controllers.VisitInfoController(_infoDbServiceMock.Object, _logger, _mapperMock.Object); var result = await controller.DeleteInfoAsync(id); (result as ObjectResult).StatusCode.Should().Be(404); ((result as ObjectResult).Value as ResponseWrapper).Error.Should().NotBeNull(); }