示例#1
0
 /**
  * Tests method getWorkflowsForSystemid with existing workflow objects
  */
 public function test_getWorkflowsForSystemid_1()
 {
     $arrWorkflows = class_module_workflows_workflow::getAllworkflows();
     $arrMap = array();
     //1. Collect all workflows for all objects
     /** @var  class_module_workflows_workflow */
     foreach ($arrWorkflows as $objWorkflow) {
         $strAffectedSystemId = $objWorkflow->getStrAffectedSystemid();
         if (!validateSystemid($strAffectedSystemId)) {
             continue;
         }
         $strWorkflowClass = $objWorkflow->getStrClass();
         if (!array_key_exists($strAffectedSystemId, $arrMap)) {
             $arrMap[$strAffectedSystemId] = array();
         }
         if (!array_key_exists($strWorkflowClass, $arrMap[$strAffectedSystemId])) {
             $arrMap[$strAffectedSystemId][$strWorkflowClass] = 1;
         } else {
             $arrMap[$strAffectedSystemId][$strWorkflowClass]++;
         }
     }
     //2. Now assert
     foreach ($arrMap as $strSystemId => $arrClasses) {
         $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId, false, array_keys($arrClasses));
         $this->assertEquals(count($arrWorkflows), array_sum($arrClasses));
         $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId, false);
         $this->assertEquals(count($arrWorkflows), array_sum($arrClasses));
         foreach ($arrMap[$strSystemId] as $strClass => $intCount) {
             $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId, false, $strClass);
             $this->assertEquals(count($arrWorkflows), $intCount);
             $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId, false, array($strClass));
             $this->assertEquals(count($arrWorkflows), $intCount);
         }
     }
 }
 /**
  * Creates a list of all workflows-instances currently available.
  *
  * @return string
  * @autoTestable
  * @permissions view
  */
 protected function actionList()
 {
     $objIterator = new class_array_section_iterator(class_module_workflows_workflow::getObjectCount());
     $objIterator->setPageNumber($this->getParam("pv"));
     $objIterator->setArraySection(class_module_workflows_workflow::getAllworkflows($objIterator->calculateStartPos(), $objIterator->calculateEndPos()));
     return $this->renderList($objIterator);
 }