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 AddDefaultActivators() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultActivators(); provider = services.BuildServiceProvider().CreateScope().ServiceProvider; }
public void AddSearchActivator_Duplicate_Throws() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.Invoking(x => x.AddSearchActivator <ActivatorBar>()) .Should() .ThrowExactly <ArgumentException>(); }
public static IGenericSearchServicesBuilder AddGenericSearch(this IServiceCollection services, params Assembly[] assemblies) { var builder = new GenericSearchServicesBuilder(services); foreach (var assembly in assemblies) { builder.AddProfilesFromAssembly(assembly); } return(builder); }
public void AddProfilesFromAssemblyOf_T_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddProfilesFromAssemblyOf <ProfileBaz>(); var service = services.Single(x => x.ServiceType == typeof(IListDefinitionSource)); service.ImplementationType.Should().Be <ProfileBaz>(); }
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 AddModelBinder_Executes_Once() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddModelBinder(); var count = services.Count; builder.AddModelBinder(); services.Count.Should().Be(count); }
public void AddDefaultServices_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultServices(); var provider = services.BuildServiceProvider(); var configurationProvider = provider.GetService <IListConfigurationProvider>(); configurationProvider.Should().NotBeNull(); }
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 AddPostToGetRedirects_Executes_Once() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddTransferValuesActionFilter(); var count = services.Count; builder.AddTransferValuesActionFilter(); services.Count.Should().Be(count); }
public void AddSearchActivator_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddSearchActivator <ActivatorFoo>(); var service = services.Single(x => x.ServiceType == typeof(ISearchActivator <TextSearch>)); service.ServiceType.Should().Be(typeof(ISearchActivator <TextSearch>)); service.ImplementationType.Should().Be(typeof(ActivatorFoo)); }
public void AddDefaultActivators_Executes_Once() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultActivators(); var count = services.Count; builder.AddDefaultActivators(); services.Count.Should().Be(count); }
public void AddProfile_Profile_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); var profile = new ProfileBaz(); builder.AddProfile(profile); var service = services.Single(x => x.ServiceType == typeof(IListDefinitionSource)); service.ImplementationInstance.Should().Be(profile); }
public void AddRequestFactory_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultActivators() .AddDefaultServices(); builder.AddModelFactory <TestModelFactory>(); var provider = services.BuildServiceProvider(); var requestFactory = provider.CreateScope().ServiceProvider.GetRequiredService <IModelFactory>(); requestFactory.Should().BeOfType <TestModelFactory>(); }
public void Configure_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.Configure(x => { x.AddList <Request, Item, Result>(); }); var service = services.SingleOrDefault(x => x.ServiceType == typeof(IListDefinition)); service.Should().NotBeNull(); Debug.Assert(service != null, nameof(service) + " != null"); service.Lifetime.Should().Be(ServiceLifetime.Singleton); }
public static IGenericSearchServicesBuilder AddDefaultGenericSearch(this IServiceCollection services, Action <GenericSearchOptions> configureOptions, params Assembly[] assemblies) { var builder = new GenericSearchServicesBuilder(services) .AddDefaultServices() .AddDefaultActivators() .AddModelBinder() .AddTransferValuesActionFilter() .AddPostRedirectGetActionFilter() .ConfigureOptions(configureOptions); foreach (var assembly in assemblies) { builder.AddProfilesFromAssembly(assembly); } return(builder); }
public void AddList_Succeeds() { var services = new ServiceCollection(); var builder = new GenericSearchServicesBuilder(services); builder.AddDefaultActivators() .AddDefaultServices(); builder.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>(); }