/** * 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); }