コード例 #1
0
        public void WorkflowService_Dot_ReturnsADotDefinition()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            var expected = new StringBuilder();

            expected.AppendLine("digraph OnOffWorkflow {");
            expected.AppendLine("  On -> Off [ label = SwitchOff ];");
            expected.AppendLine("  Off -> On [ label = SwitchOn ];");
            expected.AppendLine("}");

            // Act
            var diagraph = service.Dot(OnOffWorkflow.TYPE);

            // Assert
            Assert.AreEqual(expected.ToString(), diagraph);
        }
コード例 #2
0
        public void WorkflowService_GetWorkflowDefinitions_ReturnsOneDefiniton()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new HolidayApprovalWorkflow());
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            var filters = SimpleWorkflowDefinitionProvider.Instance
                          .GetWorkflowDefinitions().Where(_ => _.Type == HolidayApprovalWorkflow.TYPE);
            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService(filters);

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            // Act
            var result = service.GetWorkflowDefinitions();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count());
            Assert.AreEqual(HolidayApprovalWorkflow.TYPE, result.First().Type);
        }
コード例 #3
0
        public void WorkflowService_GetWorkflowDefinitions_ReturnsTwoDefinitons()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new HolidayApprovalWorkflow());
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            // Act
            var result = service.GetWorkflowDefinitions();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count());
        }
コード例 #4
0
        public void Initialize()
        {
            var options = TestDbContext.CreateDbContextOptions();

            Context = new TestDbContext(options);

            var diHelper      = new DITestHelper();
            var loggerFactory = diHelper.GetLoggerFactory();
            ILogger <WorkflowService <TestDbContext> > logger = loggerFactory
                                                                .CreateLogger <WorkflowService <TestDbContext> >();

            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new HolidayApprovalWorkflow());
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IUserContextService userContextService = new TestUserContextService();

            this.WorkflowService = new WorkflowService <TestDbContext>(
                Context,
                logger,
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator,
                userContextService
                );
        }
コード例 #5
0
        public void WorkflowService_GetWorkflowDefinitions_ReturnsOneDefiniton()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance.Invalidate();

            var options = TestDbContext.CreateDbContextOptions();

            Context = new TestDbContext(options);

            var diHelper      = new DITestHelper();
            var loggerFactory = diHelper.GetLoggerFactory();
            ILogger <WorkflowService <TestDbContext> > logger = loggerFactory
                                                                .CreateLogger <WorkflowService <TestDbContext> >();

            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new HolidayApprovalWorkflow());
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            var filters = SimpleWorkflowDefinitionProvider.Instance
                          .GetWorkflowDefinitions().Where(_ => _.Type == HolidayApprovalWorkflow.TYPE);
            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService(filters);

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IUserContextService userContextService = new TestUserContextService();

            var service = new WorkflowService <TestDbContext>(
                Context,
                logger,
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator,
                userContextService
                );

            // Act
            var result = service.GetWorkflowDefinitions();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count());
            Assert.AreEqual(HolidayApprovalWorkflow.TYPE, result.First().Type);
        }
コード例 #6
0
        public void WorkflowService_DotPassingInNull_FailsWithArgumentNullException()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            // Act
            Assert.ThrowsException <ArgumentNullException>(() => service.Dot(null));
        }