public void TestMappingHook() { // Arrange var hostingEnvironmentMock = new Mock <IHostingEnvironment>(); var loggerMock = new Mock <ILogger <ExceptionToActionResultMapper> >(); var hookMock = new Mock <IExceptionToActionResultMapperHook>(); var returnActionResult = new ObjectResult("meep"); returnActionResult.StatusCode = StatusCodes.Status409Conflict; hookMock.Setup(hm => hm.Map(It.IsAny <Exception>())).Returns(returnActionResult); var hooks = new List <IExceptionToActionResultMapperHook>(); hooks.Add(hookMock.Object); var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object); var ex = new ExceptionWithFeedback("meep", "moop"); // Act var actionResult = mapper.Map(ex); // Assert Assert.IsType <ObjectResult>(actionResult); Assert.Equal(StatusCodes.Status409Conflict, ((ObjectResult)actionResult).StatusCode); }
public void TestMapExceptionWithFeedback() { // Arrange var hostingEnvironmentMock = new Mock <IHostingEnvironment>(); var loggerMock = new Mock <ILogger <ExceptionToActionResultMapper> >(); var hooks = new List <IExceptionToActionResultMapperHook>(); var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object); var ex = new ExceptionWithFeedback("meep", "moop"); // Act var actionResult = mapper.Map(ex); // Assert Assert.IsType <InternalServerObjectResult>(actionResult); var internalServerObjectResult = actionResult as InternalServerObjectResult; Assert.Equal("meep", ((ErrorContent)internalServerObjectResult.Value).Code); Assert.Equal("moop", ((ErrorContent)internalServerObjectResult.Value).Message); }