public void AddCurrentAssembly_Adds_Resource_Definitions_From_Current_Assembly_To_Container() { // Arrange ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddCurrentAssembly(); // Act facade.DiscoverInjectables(); // Assert var services = _services.BuildServiceProvider(); Assert.IsType <TestModelResourceDefinition>(services.GetRequiredService <IResourceDefinition <TestModel> >()); }
public void DiscoverInjectables_Adds_Resource_Repositories_From_Current_Assembly_To_Container() { // Arrange ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, NullLoggerFactory.Instance); facade.AddCurrentAssembly(); // Act facade.DiscoverInjectables(); // Assert var services = _services.BuildServiceProvider(); Assert.IsType <TestModelRepository>(services.GetService <IResourceRepository <TestModel> >()); }
public void DiscoverResources_Adds_Resources_From_Current_Assembly_To_Graph() { // Arrange ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddCurrentAssembly(); // Act facade.DiscoverResources(); // Assert var resourceGraph = _resourceGraphBuilder.Build(); var testModelResource = resourceGraph.GetResourceContext(typeof(TestModel)); Assert.NotNull(testModelResource); }
public void Can_add_resource_service_from_current_assembly_to_container() { // Arrange var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddCurrentAssembly(); // Act facade.DiscoverInjectables(); // Assert var services = _services.BuildServiceProvider(); var resourceService = services.GetRequiredService <IResourceService <TestResource> >(); resourceService.Should().BeOfType <TestResourceService>(); }
public void Can_add_resource_from_current_assembly_to_graph() { // Arrange var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddCurrentAssembly(); // Act facade.DiscoverResources(); // Assert var resourceGraph = _resourceGraphBuilder.Build(); var resource = resourceGraph.GetResourceContext(typeof(TestResource)); resource.Should().NotBeNull(); }
public void DiscoverResources_Adds_Resources_From_Added_Assembly_To_Graph() { // Arrange ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddAssembly(typeof(Person).Assembly); // Act facade.DiscoverResources(); // Assert var resourceGraph = _resourceGraphBuilder.Build(); var personResource = resourceGraph.GetResourceContext(typeof(Person)); var articleResource = resourceGraph.GetResourceContext(typeof(Article)); Assert.NotNull(personResource); Assert.NotNull(articleResource); }
public void Can_add_resource_hooks_definition_from_current_assembly_to_container() { // Arrange var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, LoggerFactory); facade.AddCurrentAssembly(); _options.EnableResourceHooks = true; // Act facade.DiscoverInjectables(); // Assert var services = _services.BuildServiceProvider(); var resourceHooksDefinition = services.GetRequiredService <ResourceHooksDefinition <TestResource> >(); resourceHooksDefinition.Should().BeOfType <TestResourceHooksDefinition>(); }
public void Can_add_resources_from_assembly_to_graph() { // Arrange var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory); facade.AddAssembly(typeof(Person).Assembly); // Act facade.DiscoverResources(); // Assert var resourceGraph = _resourceGraphBuilder.Build(); var personResource = resourceGraph.GetResourceContext(typeof(Person)); personResource.Should().NotBeNull(); var articleResource = resourceGraph.GetResourceContext(typeof(Article)); articleResource.Should().NotBeNull(); }
public void Can_add_resources_from_assembly_to_graph() { // Arrange var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, LoggerFactory); facade.AddAssembly(typeof(Person).Assembly); // Act facade.DiscoverResources(); // Assert IResourceGraph resourceGraph = _resourceGraphBuilder.Build(); ResourceContext personContext = resourceGraph.GetResourceContext(typeof(Person)); personContext.Should().NotBeNull(); ResourceContext todoItemContext = resourceGraph.GetResourceContext(typeof(TodoItem)); todoItemContext.Should().NotBeNull(); }
public static IServiceCollection AddJsonApi( this IServiceCollection services, Action <JsonApiOptions> configureOptions, IMvcCoreBuilder mvcBuilder, Action <ServiceDiscoveryFacade> autoDiscover = null) { var config = new JsonApiOptions(); configureOptions(config); if (autoDiscover != null) { var facade = new ServiceDiscoveryFacade(services, config.ResourceGraphBuilder); autoDiscover(facade); } mvcBuilder.AddMvcOptions(opt => AddMvcOptions(opt, config)); AddJsonApiInternals(services, config); return(services); }