OnResultExecuting() public method

public OnResultExecuting ( ResultExecutingContext context ) : void
context ResultExecutingContext
return void
        public async Task OnResultExecuting_DoesntThrowIfResponseStarted()
        {
            // Arrange
            var responseFeature = new TestResponseFeature(hasStarted: true);
            var httpContext     = GetHttpContext(responseFeature);
            var tempDataFactory = new Mock <ITempDataDictionaryFactory>(MockBehavior.Loose);

            tempDataFactory
            .Setup(f => f.GetTempData(It.IsAny <HttpContext>()))
            .Verifiable();
            var filter  = new SaveTempDataFilter(tempDataFactory.Object);
            var context = GetResultExecutingContext(httpContext);

            filter.OnResultExecuting(context);

            // Act
            // Checking it doesn't throw
            await responseFeature.FireOnSendingHeadersAsync();
        }
Example #2
0
        public async Task OnResultExecuting_DoesNotSaveTempData_WhenTempDataAlreadySaved()
        {
            // Arrange
            var responseFeature = new TestResponseFeature();
            var httpContext     = GetHttpContext(responseFeature);

            httpContext.Items[SaveTempDataFilter.TempDataSavedKey] = true; // indicate that tempdata was already saved
            var tempDataFactory = new Mock <ITempDataDictionaryFactory>(MockBehavior.Strict);

            tempDataFactory
            .Setup(f => f.GetTempData(It.IsAny <HttpContext>()))
            .Verifiable();
            var filter  = new SaveTempDataFilter(tempDataFactory.Object);
            var context = GetResultExecutingContext(httpContext);

            filter.OnResultExecuting(context); // registers callback

            // Act
            await responseFeature.FireOnSendingHeadersAsync();

            // Assert
            tempDataFactory.Verify(tdf => tdf.GetTempData(It.IsAny <HttpContext>()), Times.Never());
        }
Example #3
0
        public void OnResultExecuting_RegistersOnStartingCallback()
        {
            // Arrange
            var responseFeature = new Mock <IHttpResponseFeature>(MockBehavior.Strict);

            responseFeature
            .Setup(rf => rf.OnStarting(It.IsAny <System.Func <object, Task> >(), It.IsAny <object>()))
            .Verifiable();
            var tempDataFactory = new Mock <ITempDataDictionaryFactory>(MockBehavior.Strict);

            tempDataFactory
            .Setup(f => f.GetTempData(It.IsAny <HttpContext>()))
            .Verifiable();
            var filter      = new SaveTempDataFilter(tempDataFactory.Object);
            var httpContext = GetHttpContext(responseFeature.Object);
            var context     = GetResultExecutingContext(httpContext);

            // Act
            filter.OnResultExecuting(context);

            // Assert
            responseFeature.Verify();
            tempDataFactory.Verify(tdf => tdf.GetTempData(It.IsAny <HttpContext>()), Times.Never());
        }