protected internal virtual void verifyStatisticsResult(IHistoricActivityStatistics statistics, int instances, int finished, int canceled, int completeScope)
 {
     Assert.AreEqual(instances, statistics.Instances, "Instances");
     Assert.AreEqual(finished, statistics.Finished, "Finished");
     Assert.AreEqual(canceled, statistics.Canceled, "Canceled");
     Assert.AreEqual(completeScope, statistics.CompleteScope, "Complete Scope");
 }
        public virtual void testQueryIncludingCompleteScopeWithReadHistoryPermissionOnAnyProcessDefinition()
        {
            // given
            string processDefinitionId = selectProcessDefinitionByKey(PROCESS_KEY).Id;

            StartProcessInstanceByKey(PROCESS_KEY);
            StartProcessInstanceByKey(PROCESS_KEY);
            StartProcessInstanceByKey(PROCESS_KEY);

            string taskId = selectAnyTask().Id;

            disableAuthorization();
            taskService.Complete(taskId);
            enableAuthorization();

            createGrantAuthorization(Resources.ProcessDefinition, AuthorizationFields.Any, userId, Permissions.ReadHistory);

            // when
            IQueryable <IHistoricActivityStatistics> query = historyService.CreateHistoricActivityStatisticsQuery(processDefinitionId);///*.IncludeCompleteScope()*/;

            // then
            //verifyQueryResults(query, 2);
            IList <IHistoricActivityStatistics> statistics = query.ToList();

            IHistoricActivityStatistics task = getStatisticsByKey(statistics, "theTask");

            verifyStatisticsResult(task, 2, 0, 0, 0);

            IHistoricActivityStatistics end = getStatisticsByKey(statistics, "theEnd");

            verifyStatisticsResult(end, 0, 0, 0, 1);
        }
        public virtual void testQueryIncludingCanceledWithReadHistoryPermissionOnAnyProcessDefinition()
        {
            // given
            string processDefinitionId = selectProcessDefinitionByKey(PROCESS_KEY).Id;

            StartProcessInstanceByKey(PROCESS_KEY);
            StartProcessInstanceByKey(PROCESS_KEY);
            string ProcessInstanceId = StartProcessInstanceByKey(PROCESS_KEY).Id;

            disableAuthorization();
            runtimeService.DeleteProcessInstance(ProcessInstanceId, null);
            enableAuthorization();

            createGrantAuthorization(Resources.ProcessDefinition, AuthorizationFields.Any, userId, Permissions.ReadHistory);

            // when
            IQueryable <IHistoricActivityStatistics> query = historyService.CreateHistoricActivityStatisticsQuery(processDefinitionId);///*.IncludeFinished()*/;

            // then
            //verifyQueryResults(query, 1);
            IList <IHistoricActivityStatistics> statistics = query.ToList();

            IHistoricActivityStatistics task = getStatisticsByKey(statistics, "theTask");

            verifyStatisticsResult(task, 2, 0, 1, 0);
        }
        public virtual void testQueryIncludingAllWithReadHistoryPermissionOnProcessDefinition()
        {
            // given
            string processDefinitionId = selectProcessDefinitionByKey(PROCESS_KEY).Id;

            StartProcessInstanceByKey(PROCESS_KEY);
            StartProcessInstanceByKey(PROCESS_KEY);
            string ProcessInstanceId = StartProcessInstanceByKey(PROCESS_KEY).Id;

            disableAuthorization();
            runtimeService.DeleteProcessInstance(ProcessInstanceId, null);
            enableAuthorization();

            string taskId = selectAnyTask().Id;

            disableAuthorization();
            taskService.Complete(taskId);
            enableAuthorization();

            createGrantAuthorization(Resources.ProcessDefinition, PROCESS_KEY, userId, Permissions.ReadHistory);

            // when
            IQueryable <IHistoricActivityStatistics> query = historyService.CreateHistoricActivityStatisticsQuery(processDefinitionId);///*.IncludeFinished()*//*.IncludeCanceled()*//*.IncludeCompleteScope()*/;

            // then
            //verifyQueryResults(query, 3);
            IList <IHistoricActivityStatistics> statistics = query.ToList();

            IHistoricActivityStatistics start = getStatisticsByKey(statistics, "theStart");
            //verifyStatisticsResult(start, 0, 3, 0, 0);

            IHistoricActivityStatistics task = getStatisticsByKey(statistics, "theTask");
            //verifyStatisticsResult(task, 1, 2, 1, 0);

            IHistoricActivityStatistics end = getStatisticsByKey(statistics, "theEnd");
            //verifyStatisticsResult(end, 0, 1, 0, 1);
        }