public void CreateWorkflow_Action_Fails()
        {
            // Arrange
            var workflowDto = TestHelper.WorkflowDto();

            GenericServiceResponse <bool> fakeResponse = null;

            mockClientServicesProvider.Setup(x => x.Logger).Returns(mockLogger.Object).Verifiable();
            mockClientServicesProvider.Setup(x => x.WorkflowService.CreateWorkflow(workflowDto)).Returns(fakeResponse).Verifiable();

            var viewModel = new GenericViewModel();

            var action = new CreateWorkflow <GenericViewModel>(mockClientServicesProvider.Object)
            {
                OnComplete = model => viewModel = model
            };

            // Act
            var result = action.Invoke(workflowDto);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(GenericViewModel));
            Assert.IsNotNull(result.Notifications);
            Assert.IsInstanceOfType(result.Notifications, typeof(NotificationCollection));
            Assert.IsTrue(result.Notifications.Count() == 1);
            Assert.IsTrue(result.HasErrors);
            Assert.IsNotNull(result.Success);
            Assert.IsInstanceOfType(result.Success, typeof(bool));
            Assert.IsFalse(result.Success);
        }
        public static async Task OnCreateWorkflow(CreateWorkflow action, IEffectContext context)
        {
            var dispatcher = context.Services.GetRequiredService <IDispatcher>();

            if (dispatcher == null)
            {
                throw new NullReferenceException("Unable to resolved service 'IDispatcher'.");
            }
            dispatcher.Dispatch(new DisableCreateButton());
            var api = context.Services.GetRequiredService <ISynapseManagementApi>();

            if (api == null)
            {
                throw new NullReferenceException("Unable to resolved service 'ISynapseManagementApi'.");
            }
            var command = new V1CreateWorkflowCommand()
            {
                Definition = action.Definition
            };

            try
            {
                var workflow = await api.CreateWorkflowAsync(command);

                dispatcher.Dispatch(new EnableCreateButton());
                if (workflow != null)
                {
                    context.Dispatcher.Dispatch(new NavigateTo("workflows"));
                }
            }
            catch (Exception ex)
            {
                dispatcher.Dispatch(new EnableCreateButton());
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Post([FromBody] CreateWorkflow createWorkflow)
        {
            try
            {
                var workFlow = WorkflowFactory.CreateNewWorkflow(createWorkflow.WorkflowName, createWorkflow.SourceEmailAddress, createWorkflow.RequestId, 30);
                await _workflowDataService.SaveWorkflowAsync(workFlow);

                return(Ok(createWorkflow));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 4
0
        private static void Main()
        {
            IWorkflowStep currentStep = new CreateWorkflow();

            while (true)
            {
                Console.Write(currentStep.ExplainStep());

                StepResponse response = currentStep.CommitStep(Console.ReadLine());
                if (response.Success)
                {
                    Console.WriteLine(response.Message);
                    currentStep = response.NextStep;
                }
                else
                {
                    Console.WriteLine(response.Message);
                }
            }
        }