コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }