public void CreateInstance_CreatesFilter() { // Arrange var property = typeof(StringController).GetProperty(nameof(StringController.StringProp)); var lifecycleProperties = new[] { new LifecycleProperty(property, "key") }; var factory = new ControllerSaveTempDataPropertyFilterFactory(lifecycleProperties); // Act var filter = factory.CreateInstance(CreateServiceProvider()); // Assert var tempDataFilter = Assert.IsType <ControllerSaveTempDataPropertyFilter>(filter); Assert.Same(lifecycleProperties, tempDataFilter.Properties); }
public void CreateInstance_CreatesFilter() { // Arrange var factory = new ControllerSaveTempDataPropertyFilterFactory(); var propertyInfo = typeof(StringController).GetProperty("StringProp"); factory.TempDataProperties = new List <TempDataProperty>() { new TempDataProperty("TempDataProperty-StringProp", propertyInfo, null, null) }; // Act var filter = factory.CreateInstance(CreateServiceProvider()); // Assert Assert.Collection( Assert.IsType <ControllerSaveTempDataPropertyFilter>(filter).Properties, property => Assert.Equal(propertyInfo, property.PropertyInfo)); }
/// <inheritdoc /> public void OnProvidersExecuting(ApplicationModelProviderContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } foreach (var controllerModel in context.Result.Controllers) { var modelType = controllerModel.ControllerType.AsType(); var tempDataProperties = SaveTempDataPropertyFilterBase.GetTempDataProperties(modelType); if (tempDataProperties != null) { var factory = new ControllerSaveTempDataPropertyFilterFactory() { TempDataProperties = tempDataProperties }; controllerModel.Filters.Add(factory); } } }