public void Process_NextStatePresent_AddsState()
        {
            // arrange
            var actionItem = CreateWorkflowItems();

            var workflowPipelineArgs = WorkflowPipelineArgsFactory.CreateWorkflowPipelineArgs();

            workflowPipelineArgs.ProcessorItem = new ProcessorItem(actionItem);

            var args = new PopulateScribanMailActionModelArgs(workflowPipelineArgs);
            var sut  = new AddNextWorkflowState();

            // act
            sut.Process(args);

            // assert
            var value = args.GetModel(AddNextWorkflowState.ModelKey);

            Assert.That(value, Is.EqualTo("next state"));
        }
        public void Process_NoNextState_AddsEmptyString()
        {
            // arrange
            var commandItem = ItemFactory.CreateItem();
            var actionItem  = ItemFactory.CreateItem();

            actionItem.Setup(x => x.Parent).Returns(commandItem.Object);

            var workflowPipelineArgs = WorkflowPipelineArgsFactory.CreateWorkflowPipelineArgs();

            workflowPipelineArgs.ProcessorItem = actionItem.Object;

            var args = new PopulateScribanMailActionModelArgs(workflowPipelineArgs);
            var sut  = new AddNextWorkflowState();

            // act
            sut.Process(args);

            // assert
            var value = args.GetModel(AddNextWorkflowState.ModelKey);

            Assert.That(value, Is.Empty);
        }