Пример #1
0
        public async Task BPMN_FinishManualTask_ShouldFinishManualTask()
        {
            var processModelId = "test_consumer_api_manualtask";
            var identity       = this.fixture.DefaultIdentity;
            var payload        = new ProcessStartRequestPayload <object>();
            var callbackType   = StartCallbackType.CallbackOnProcessInstanceCreated;

            ProcessStartResponsePayload processInstance = await this
                                                          .fixture
                                                          .ConsumerAPIClient
                                                          .StartProcessInstance(identity, processModelId, "StartEvent_1", payload, callbackType);

            // Give the ProcessEngine time to reach the ManualTask
            await Task.Delay(1000);

            ManualTaskList manualTasks = await this
                                         .fixture
                                         .ConsumerAPIClient
                                         .GetManualTasksForCorrelation(identity, processInstance.CorrelationId);

            Assert.NotEmpty(manualTasks.ManualTasks);

            var manualTaskToBeFinished = manualTasks.ManualTasks.ElementAt(0);

            await this
            .fixture
            .ConsumerAPIClient
            .FinishManualTask(
                identity,
                processInstance.ProcessInstanceId,
                processInstance.CorrelationId,
                manualTaskToBeFinished.FlowNodeInstanceId
                );
        }
        public async Task BPMN_GetWaitingManualTasksByIdentity_ShouldFetchManualTaskList()
        {
            var processModelId = "test_consumer_api_manualtask";
            var payload        = new ProcessStartRequestPayload <object>();
            var callbackType   = StartCallbackType.CallbackOnProcessInstanceCreated;

            ProcessStartResponsePayload processInstance = await this
                                                          .fixture
                                                          .ConsumerAPIClient
                                                          .StartProcessInstance(this.fixture.DefaultIdentity, processModelId, "StartEvent_1", payload, callbackType);

            // Give the ProcessEngine time to reach the ManualTask
            await Task.Delay(2000);

            ManualTaskList manualTasks = await this.fixture.ConsumerAPIClient.GetWaitingManualTasksByIdentity(this.fixture.DefaultIdentity);

            Assert.NotEmpty(manualTasks.ManualTasks);
        }