protected TestObjectsC <TPrimary, TFirstSecondary, TSecondSecondary> CreateTestObjectsC <TPrimary, TFirstSecondary, TSecondSecondary>( IHooksDiscovery <TPrimary> primaryDiscovery = null, IHooksDiscovery <TFirstSecondary> firstSecondaryDiscovery = null, IHooksDiscovery <TSecondSecondary> secondSecondaryDiscovery = null, DbContextOptions <AppDbContext> repoDbContextOptions = null) where TPrimary : class, IIdentifiable <int> where TFirstSecondary : class, IIdentifiable <int> where TSecondSecondary : class, IIdentifiable <int> { // creates the resource definition mock and corresponding for a given set of discoverable hooks Mock <IResourceHookContainer <TPrimary> > primaryResource = CreateResourceDefinition <TPrimary>(); Mock <IResourceHookContainer <TFirstSecondary> > firstSecondaryResource = CreateResourceDefinition <TFirstSecondary>(); Mock <IResourceHookContainer <TSecondSecondary> > secondSecondaryResource = CreateResourceDefinition <TSecondSecondary>(); // mocking the genericServiceFactory and JsonApiContext and wiring them up. (Mock <ITargetedFields> ufMock, Mock <IEnumerable <IQueryConstraintProvider> > constraintsMock, Mock <IGenericServiceFactory> gpfMock, IJsonApiOptions options) = CreateMocks(); AppDbContext dbContext = repoDbContextOptions != null ? new AppDbContext(repoDbContextOptions) : null; IResourceGraph resourceGraph = new ResourceGraphBuilder(new JsonApiOptions(), NullLoggerFactory.Instance).Add <TPrimary>().Add <TFirstSecondary>() .Add <TSecondSecondary>().Build(); SetupProcessorFactoryForResourceDefinition(gpfMock, primaryResource.Object, primaryDiscovery, dbContext, resourceGraph); SetupProcessorFactoryForResourceDefinition(gpfMock, firstSecondaryResource.Object, firstSecondaryDiscovery, dbContext, resourceGraph); SetupProcessorFactoryForResourceDefinition(gpfMock, secondSecondaryResource.Object, secondSecondaryDiscovery, dbContext, resourceGraph); var execHelper = new HookContainerProvider(gpfMock.Object, ResourceGraph, options); var traversalHelper = new NodeNavigator(ResourceGraph, ufMock.Object); var hookExecutor = new ResourceHookExecutor(execHelper, traversalHelper, ufMock.Object, constraintsMock.Object, ResourceGraph); return(new TestObjectsC <TPrimary, TFirstSecondary, TSecondSecondary>(constraintsMock, hookExecutor, primaryResource, firstSecondaryResource, secondSecondaryResource)); }
CreateTestObjects <TPrimary, TSecondary>( IHooksDiscovery <TPrimary> primaryDiscovery = null, IHooksDiscovery <TSecondary> secondaryDiscovery = null, DbContextOptions <AppDbContext> repoDbContextOptions = null ) where TPrimary : class, IIdentifiable <int> where TSecondary : class, IIdentifiable <int> { // creates the resource definition mock and corresponding for a given set of discoverable hooks var primaryResource = CreateResourceDefinition <TPrimary>(); var secondaryResource = CreateResourceDefinition <TSecondary>(); // mocking the genericServiceFactory and JsonApiContext and wiring them up. var(ufMock, constraintsMock, gpfMock, options) = CreateMocks(); var dbContext = repoDbContextOptions != null ? new AppDbContext(repoDbContextOptions) : null; var resourceGraph = new ResourceGraphBuilder(new JsonApiOptions(), NullLoggerFactory.Instance) .Add <TPrimary>() .Add <TSecondary>() .Build(); SetupProcessorFactoryForResourceDefinition(gpfMock, primaryResource.Object, primaryDiscovery, dbContext, resourceGraph); SetupProcessorFactoryForResourceDefinition(gpfMock, secondaryResource.Object, secondaryDiscovery, dbContext, resourceGraph); var execHelper = new HookExecutorHelper(gpfMock.Object, ResourceGraph, options); var traversalHelper = new TraversalHelper(ResourceGraph, ufMock.Object); var hookExecutor = new ResourceHookExecutor(execHelper, traversalHelper, ufMock.Object, constraintsMock.Object, ResourceGraph); return(constraintsMock, ufMock, hookExecutor, primaryResource, secondaryResource); }
internal (ResourceHookExecutor, Mock <IResourceHookContainer <TPrimary> >) CreateTestObjects <TPrimary>(IHooksDiscovery <TPrimary> primaryDiscovery = null) where TPrimary : class, IIdentifiable <int> { // creates the resource definition mock and corresponding ImplementedHooks discovery instance var primaryResource = CreateResourceDefinition <TPrimary>(); // mocking the genericServiceFactory and JsonApiContext and wiring them up. var(ufMock, constraintsMock, gpfMock, options) = CreateMocks(); SetupProcessorFactoryForResourceDefinition(gpfMock, primaryResource.Object, primaryDiscovery); var execHelper = new HookExecutorHelper(gpfMock.Object, ResourceGraph, options); var traversalHelper = new TraversalHelper(ResourceGraph, ufMock.Object); var hookExecutor = new ResourceHookExecutor(execHelper, traversalHelper, ufMock.Object, constraintsMock.Object, ResourceGraph); return(hookExecutor, primaryResource); }
protected TestObjectsA <TPrimary> CreateTestObjects <TPrimary>(IHooksDiscovery <TPrimary> primaryDiscovery = null) where TPrimary : class, IIdentifiable <int> { // creates the resource definition mock and corresponding ImplementedHooks discovery instance Mock <IResourceHookContainer <TPrimary> > primaryResource = CreateResourceDefinition <TPrimary>(); // mocking the genericServiceFactory and JsonApiContext and wiring them up. (Mock <ITargetedFields> ufMock, Mock <IEnumerable <IQueryConstraintProvider> > constraintsMock, Mock <IGenericServiceFactory> gpfMock, IJsonApiOptions options) = CreateMocks(); SetupProcessorFactoryForResourceDefinition(gpfMock, primaryResource.Object, primaryDiscovery); var execHelper = new HookContainerProvider(gpfMock.Object, ResourceGraph, options); var traversalHelper = new NodeNavigator(ResourceGraph, ufMock.Object); var hookExecutor = new ResourceHookExecutor(execHelper, traversalHelper, ufMock.Object, constraintsMock.Object, ResourceGraph); return(new TestObjectsA <TPrimary>(hookExecutor, primaryResource)); }