Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }