/** * Tests method getWorkflowsForSystemid with newly created workflow objects */ public function test_getWorkflowsForSystemid_2() { //1 Init settings $strSystemId1 = generateSystemid(); $strSystemId2 = generateSystemid(); $arrWorkflowsClasses = array(array("class" => "class_workflow_workflows_messagesummary", "systemid" => $strSystemId1, "amount" => 5), array("class" => "class_workflow_workflows_messagesummary", "systemid" => $strSystemId2, "amount" => 5), array("class" => "class_workflow_workflows_dbdump", "systemid" => $strSystemId2, "amount" => 23)); //2. Create the workflow objects $arrCreatedWorkflows = array(); foreach ($arrWorkflowsClasses as $arrInfo) { for ($intI = 0; $intI < $arrInfo["amount"]; $intI++) { $objWorkflow = new class_module_workflows_workflow(); $objWorkflow->setStrClass($arrInfo["class"]); $objWorkflow->setStrAffectedSystemid($arrInfo["systemid"]); $objWorkflow->updateObjectToDb(); $arrCreatedWorkflows[] = $objWorkflow; } } $this->flushDBCache(); //3. Assert number of workflows foreach ($arrWorkflowsClasses as $arrInfo) { $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($arrInfo["systemid"], false, $arrInfo["class"]); $this->assertEquals(count($arrWorkflows), $arrInfo["amount"]); $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($arrInfo["systemid"], false, array($arrInfo["class"])); $this->assertEquals(count($arrWorkflows), $arrInfo["amount"]); } $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId1, false, array("class_workflow_workflows_messagesummary")); $this->assertEquals(count($arrWorkflows), 5); $arrWorkflows = class_module_workflows_workflow::getWorkflowsForSystemid($strSystemId2, false, array("class_workflow_workflows_dbdump", "class_workflow_workflows_messagesummary")); $this->assertEquals(count($arrWorkflows), 28); //4. Delete created workflow objects /** @var class_module_workflows_workflow $objWorkflow*/ foreach ($arrCreatedWorkflows as $objWorkflow) { $objWorkflow->deleteObjectFromDatabase(); } $this->resetCaches(); }
/** * @return string * @permissions right1 */ protected function actionStartInstance() { $strReturn = ""; $objHandler = new class_module_workflows_handler($this->getSystemid()); $objWorkflow = new class_module_workflows_workflow(); $objWorkflow->setStrClass($objHandler->getStrHandlerClass()); $objWorkflow->setStrAffectedSystemid($this->getParam("instance_systemid")); $objWorkflow->setStrResponsible($this->getParam("instance_responsible_id")); $objWorkflow->updateObjectToDb(); $this->adminReload(getLinkAdminHref($this->getArrModule("modul"), "list")); return $strReturn; }