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(); }
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()); }
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()); }