Пример #1
0
        public void Create_ApplicationWorkFlowFromOnBoardingWorkflow()
        {
            //Arrange
            var workflowFromDb = InMemoryWorkflowDataService.GetOnboardingWorkflow();

            //Act
            var applicationWorkflow = new ApplicationWorkflow(workflowFromDb);


            //Assert
            Assert.Equal(workflowFromDb.WorkflowType, applicationWorkflow.Name);
            Assert.Equal(workflowFromDb.SourceEmailAddress, applicationWorkflow.SourceEmailAddress);
            Assert.Equal(workflowFromDb.RequestId, applicationWorkflow.RequestId);
            Assert.Equal(workflowFromDb.CreatedOn, applicationWorkflow.CreatedOn);
            Assert.Equal(workflowFromDb.ExpiresIn, applicationWorkflow.ExpiresIn);
            Assert.Equal(workflowFromDb.Status, applicationWorkflow.Status);

            Assert.Equal(workflowFromDb.FirstName, applicationWorkflow.WorkflowData.FirstName);
            Assert.Equal(workflowFromDb.LastName, applicationWorkflow.WorkflowData.LastName);
            Assert.Equal(workflowFromDb.Email, applicationWorkflow.WorkflowData.Email);
            Assert.Equal(workflowFromDb.Work, applicationWorkflow.WorkflowData.Work);
            Assert.Equal(workflowFromDb.Street, applicationWorkflow.WorkflowData.Street);
            Assert.Equal(workflowFromDb.City, applicationWorkflow.WorkflowData.City);
            Assert.Equal(workflowFromDb.Zip, applicationWorkflow.WorkflowData.Zip);
            Assert.Equal(workflowFromDb.State, applicationWorkflow.WorkflowData.State);

            Assert.Equal(workflowFromDb.Steps.Count, applicationWorkflow.Steps.Count);

            //TODO: steps validation
        }
Пример #2
0
        public void Indicate_Workflow_Is_Expired_Correctly()
        {
            //Arrange
            var workflowFromDb = InMemoryWorkflowDataService.GetOnboardingWorkflow(10, new DateTime(2018, 12, 20));

            //Act
            var applicationWorkflow = new ApplicationWorkflow(workflowFromDb);

            //Assert
            Assert.True(applicationWorkflow.IsExpired());
        }
Пример #3
0
        public void Indicate_If_Workflow_Can_Not_Continue_Correctly(WorkflowStatus status)
        {
            //Arrange
            var workflowFromDb = InMemoryWorkflowDataService.GetOnboardingWorkflow(10, new DateTime(2018, 12, 20));

            workflowFromDb.UpdateStatus(status);

            //Act
            var applicationWorkflow = new ApplicationWorkflow(workflowFromDb);

            //Assert
            Assert.False(applicationWorkflow.CanContinue());
        }
Пример #4
0
        public async Task <List <BaseWorkflow> > GetWorkflows()
        {
            var applicationWorkflows = new List <BaseWorkflow>();

            var workflows = await _db.UserWorkflows
                            .Include(wf => wf.Steps)
                            .ToListAsync();

            foreach (var userWorkflow in workflows)
            {
                var appWorkflow = new ApplicationWorkflow(userWorkflow);
                applicationWorkflows.Add(appWorkflow);
            }
            return(applicationWorkflows);
        }