private static IListConfigurationProvider CreateProvider(Action <TestListDefinition> action = null) { var definition = TestListDefinition.Create <Request, Item, Result>(); action?.Invoke(definition); var optionsMock = new Mock <IOptions <GenericSearchOptions> >(); optionsMock.Setup(x => x.Value).Returns(new GenericSearchOptions()); var options = optionsMock.Object; var factory = new ListConfigurationFactory(new SearchConfigurationFactory(new PascalCasePropertyPathFinder()), new PageConfigurationFactory(options), new RowsConfigurationFactory(options), new SortColumnConfigurationFactory(options), new SortDirectionConfigurationFactory(options), new PropertyConfigurationFactory(), new PostRedirectGetConfigurationFactory(options), new TransferValuesConfigurationFactory(options), new ModelActivatorConfigurationFactory(options)); var configuration = factory.Create(definition); var configurationProvider = new Mock <IListConfigurationProvider>(); configurationProvider.Setup(x => x.GetConfiguration(It.IsAny <Type>())).Returns(configuration); return(configurationProvider.Object); }
public ListConfigurationFactoryTests() { var options = new GenericSearchOptions(); var optionsMock = new Mock <IOptions <GenericSearchOptions> >(); optionsMock.SetupGet(x => x.Value).Returns(options); var filterConfigurationFactory = new SearchConfigurationFactory(new PascalCasePropertyPathFinder()); var pageConfigurationFactory = new PageConfigurationFactory(optionsMock.Object); var rowsConfigurationFactory = new RowsConfigurationFactory(optionsMock.Object); var sortColumnConfigurationFactory = new SortColumnConfigurationFactory(optionsMock.Object); var sortDirectionConfigurationFactory = new SortDirectionConfigurationFactory(optionsMock.Object); var propertyConfigurationFactory = new PropertyConfigurationFactory(); var postRedirectGetConfigurationFactory = new PostRedirectGetConfigurationFactory(optionsMock.Object); var transferValuesConfigurationFactory = new TransferValuesConfigurationFactory(optionsMock.Object); var requestFactoryConfigurationFactory = new ModelActivatorConfigurationFactory(optionsMock.Object); factory = new ListConfigurationFactory(filterConfigurationFactory, pageConfigurationFactory, rowsConfigurationFactory, sortColumnConfigurationFactory, sortDirectionConfigurationFactory, propertyConfigurationFactory, postRedirectGetConfigurationFactory, transferValuesConfigurationFactory, requestFactoryConfigurationFactory); }
public SearchActivatorTests() { var definition = new ListExpression <Request, Item, Result>(); definition .Search(x => x.Text, x => x.ActivateUsing(() => new TextSearch())) .Search(x => x.Integer, x => x.ActivateUsing(sp => new IntegerSearchActivator())) .Property(x => x.Foo, x => x.DefaultValue("Test")) .Property(x => x.Bar, x => x.Ignore()); var mock = new Mock <IOptions <GenericSearchOptions> >(); mock.Setup(x => x.Value) .Returns(new GenericSearchOptions()); var options = mock.Object; var factory = new ListConfigurationFactory(new SearchConfigurationFactory(new PascalCasePropertyPathFinder()), new PageConfigurationFactory(options), new RowsConfigurationFactory(options), new SortColumnConfigurationFactory(options), new SortDirectionConfigurationFactory(options), new PropertyConfigurationFactory(), new PostRedirectGetConfigurationFactory(options), new TransferValuesConfigurationFactory(options), new ModelActivatorConfigurationFactory(options)); var configuration = factory.Create(definition); var serviceProvider = new ServiceCollection().BuildServiceProvider(); model = new Request(); var activatorFactory = new SearchActivatorFactory(serviceProvider); var activator = new ModelPropertyActivator(activatorFactory, serviceProvider); activator.Activate(configuration, model); }