public void ConfigureOptions_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.ConfigureOptions(x => { x.ListActionName = "List"; x.DefaultPage = 10; x.DefaultRows = 100; x.PagePropertyName = "CurrentPage"; x.RowsPropertyName = "CurrentRows"; x.SortColumnPropertyName = "Sortx"; x.SortDirectionPropertyName = "Sortd"; x.SortDirection = Direction.Descending; x.PostRedirectGetEnabled = false; x.TransferValuesEnabled = false; }); var provider = services.BuildServiceProvider(); var options = provider.GetService <IOptions <GenericSearchOptions> >(); options.Value.ListActionName.Should().Be("List"); options.Value.DefaultPage.Should().Be(10); options.Value.DefaultRows.Should().Be(100); options.Value.PagePropertyName.Should().Be("CurrentPage"); options.Value.RowsPropertyName.Should().Be("CurrentRows"); options.Value.SortColumnPropertyName.Should().Be("Sortx"); options.Value.SortDirectionPropertyName.Should().Be("Sortd"); options.Value.SortDirection.Should().Be(Direction.Descending); options.Value.PostRedirectGetEnabled.Should().BeFalse(); options.Value.TransferValuesEnabled.Should().BeFalse(); }
public void ConfigureOptions_UseModelActivator_Generic_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.ConfigureOptions(x => x.UseModelActivator((sp, t) => Activator.CreateInstance(t))); var provider = services.BuildServiceProvider(); var options = provider.GetService <IOptions <GenericSearchOptions> >(); options.Value.DefaultModelActivatorResolver.Should().NotBeNull(); }
public void ConfigureOptions_UseModelFactory_Type_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.ConfigureOptions(x => x.UseModelFactory(typeof(TestModelFactory))); var provider = services.BuildServiceProvider(); var options = provider.GetService <IOptions <GenericSearchOptions> >(); options.Value.DefaultModelActivatorType.Should().Be <TestModelFactory>(); }
public void ConfigureOptions_UseModelFactory_Type_Throws() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.ConfigureOptions(x => x.UseModelFactory(typeof(Request))); var provider = services.BuildServiceProvider(); var options = provider.GetService <IOptions <GenericSearchOptions> >(); options.Invoking(x => x.Value) .Should() .ThrowExactly <ArgumentException>(); }
public void CreateFilter_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultActivators() .AddDefaultServices(); builder.ConfigureOptions(x => x.AddList <Request, Item, Result>()); var provider = services.BuildServiceProvider(); var configurationProvider = provider.CreateScope().ServiceProvider.GetRequiredService <IListConfigurationProvider>(); var configuration = configurationProvider.GetConfiguration(typeof(Request)); configuration.Should().NotBeNull(); configuration.ItemType.Should().Be <Item>(); configuration.ResultType.Should().Be <Result>(); }