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