diff --git a/workflow/engine/classes/model/BpmnActivity.php b/workflow/engine/classes/model/BpmnActivity.php index f29cfd5d2..d6b5a820f 100644 --- a/workflow/engine/classes/model/BpmnActivity.php +++ b/workflow/engine/classes/model/BpmnActivity.php @@ -163,15 +163,16 @@ class BpmnActivity extends BaseBpmnActivity $data = parent::toArray($type); $bouUid = $this->bound->getBouUid(); - if (! empty($bouUid)) { + if (empty($bouUid)) { $bound = BpmnBound::findByElement('Activity', $this->getActUid()); if (is_object($bound)) { $this->bound = $bound; - $data = array_merge($data, $this->bound->toArray($type)); } } + $data = array_merge($data, $this->bound->toArray($type)); + return $data; } diff --git a/workflow/engine/src/Tests/Model/BpmnActivityTest.php b/workflow/engine/src/Tests/Model/BpmnActivityTest.php index 78fde8753..7d9fdf4d2 100644 --- a/workflow/engine/src/Tests/Model/BpmnActivityTest.php +++ b/workflow/engine/src/Tests/Model/BpmnActivityTest.php @@ -225,6 +225,61 @@ class BpmnActivityTest extends PHPUnit_Framework_TestCase $this->assertEquals($expected, $result); } + public function testToArray() + { + $activity = BpmnActivityPeer::retrieveByPK(self::$data1["ACT_UID"]); + + $expected = array( + "ACT_UID" => self::$data1["ACT_UID"], + "PRJ_UID" => self::$data1["PRJ_UID"], + "PRO_UID" => self::$data1["PRO_UID"], + "ACT_NAME" => self::$data1["ACT_NAME"], + "ACT_TYPE" => "TASK", + "ACT_IS_FOR_COMPENSATION" => "0", + "ACT_START_QUANTITY" => "1", + "ACT_COMPLETION_QUANTITY" => "1", + "ACT_TASK_TYPE" => "EMPTY", + "ACT_IMPLEMENTATION" => "", + "ACT_INSTANTIATE" => "0", + "ACT_SCRIPT_TYPE" => "", + "ACT_SCRIPT" => "", + "ACT_LOOP_TYPE" => "NONE", + "ACT_TEST_BEFORE" => "0", + "ACT_LOOP_MAXIMUM" => "0", + "ACT_LOOP_CONDITION" => "", + "ACT_LOOP_CARDINALITY" => "0", + "ACT_LOOP_BEHAVIOR" => "NONE", + "ACT_IS_ADHOC" => "0", + "ACT_IS_COLLAPSED" => "1", + "ACT_COMPLETION_CONDITION" => "", + "ACT_ORDERING" => "PARALLEL", + "ACT_CANCEL_REMAINING_INSTANCES" => "1", + "ACT_PROTOCOL" => "", + "ACT_METHOD" => "", + "ACT_IS_GLOBAL" => "0", + "ACT_REFERER" => "", + "ACT_DEFAULT_FLOW" => "", + "ACT_MASTER_DIAGRAM" => "", + "DIA_UID" => "18171550f1198ddc8642045664020352", + "ELEMENT_UID" => self::$data1["ACT_UID"], + "BOU_ELEMENT" => "pm_canvas", + "BOU_ELEMENT_TYPE" => "bpmnActivity", + "BOU_X" => self::$data1["BOU_X"], + "BOU_Y" => self::$data1["BOU_Y"], + "BOU_WIDTH" => "0", + "BOU_HEIGHT" => "0", + "BOU_REL_POSITION" => "0", + "BOU_SIZE_IDENTICAL" => "0", + "BOU_CONTAINER" => "bpmnDiagram" + ); + + $result = $activity->toArray(); + + unset($result["BOU_UID"]); + + $this->assertEquals($expected, $result); + } + /** * @depends testNew * @depends testNewUsingFromArray diff --git a/workflow/engine/src/Tests/ProcessMaker/Adapter/BpmnWorkflowProjectTest.php b/workflow/engine/src/Tests/ProcessMaker/Adapter/BpmnWorkflowProjectTest.php deleted file mode 100644 index 3083b7f2f..000000000 --- a/workflow/engine/src/Tests/ProcessMaker/Adapter/BpmnWorkflowProjectTest.php +++ /dev/null @@ -1,257 +0,0 @@ -workflowProject = new WorkflowProject(); - } - - public function testCreate() - { - $data = array( - "PRO_TITLE" => "Test Project #1", - "PRO_DESCRIPTION" => "Description for - Test Project #1", - "PRO_CATEGORY" => "", - "PRO_CREATE_USER" => "00000000000000000000000000000001" - ); - - $wp = new WorkflowProject($data); - - $processData = $wp->getProperties(); - - foreach ($data as $key => $value) { - $this->assertEquals($data[$key], $processData[$key]); - } - - return $wp; - } - - /** - * @depends testCreate - */ - public function testAddTask($wp) - { - $data = array( - "TAS_TITLE" => "task #1", - "TAS_DESCRIPTION" => "Description for task #1", - "TAS_POSX" => "50", - "TAS_POSY" => "50", - "TAS_WIDTH" => "100", - "TAS_HEIGHT" => "25" - ); - - $tasUid = $wp->addTask($data); - - $taskData = $wp->getTask($tasUid); - - foreach ($data as $key => $value) { - $this->assertEquals($data[$key], $taskData[$key]); - } - } - - /** - * @depends testCreate - */ - public function testUpdateTask($wp) - { - $data = array( - "TAS_TITLE" => "task #1 (updated)", - "TAS_POSX" => "150", - "TAS_POSY" => "250" - ); - - // at this time, there is only one task - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(1, $tasks); - - $wp->updateTask($tasks[0]['TAS_UID'], $data); - $taskData = $wp->getTask($tasks[0]['TAS_UID']); - - foreach ($data as $key => $value) { - $this->assertEquals($data[$key], $taskData[$key]); - } - } - - /** - * @depends testCreate - */ - public function testRemoveTask($wp) - { - $tasUid = $wp->addTask(array( - "TAS_TITLE" => "task #2", - "TAS_POSX" => "150", - "TAS_POSY" => "250" - )); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(2, $tasks); - - $wp->removeTask($tasUid); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(1, $tasks); - } - - /** - * @depends testCreate - */ - public function testGetTasks($wp) - { - $tasUid1 = $wp->addTask(array( - "TAS_TITLE" => "task #2", - "TAS_POSX" => "250", - "TAS_POSY" => "250" - )); - $tasUid2 = $wp->addTask(array( - "TAS_TITLE" => "task #3", - "TAS_POSX" => "350", - "TAS_POSY" => "350" - )); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(3, $tasks); - - $wp->removeTask($tasUid1); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(2, $tasks); - - $wp->removeTask($tasUid2); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(1, $tasks); - - $wp->removeTask($tasks[0]['TAS_UID']); - - $tasks = $wp->getTasks(); - $this->assertInternalType('array', $tasks); - $this->assertCount(0, $tasks); - } - - /** - * - */ - public function testAddRoute() - { - $wp = new WorkflowProject(array( - "PRO_TITLE" => "Test Project #2 (Sequential)", - "PRO_CREATE_USER" => "00000000000000000000000000000001" - )); - - $tasUid1 = $wp->addTask(array( - "TAS_TITLE" => "task #1", - "TAS_POSX" => "410", - "TAS_POSY" => "61" - )); - $tasUid2 = $wp->addTask(array( - "TAS_TITLE" => "task #2", - "TAS_POSX" => "159", - "TAS_POSY" => "370" - )); - - $rouUid = $wp->addRoute($tasUid1, $tasUid2, "SEQUENTIAL"); - - $routeSaved = $wp->getRoute($rouUid); - - $this->assertEquals($tasUid1, $routeSaved['TAS_UID']); - $this->assertEquals($tasUid2, $routeSaved['ROU_NEXT_TASK']); - $this->assertEquals("SEQUENTIAL", $routeSaved['ROU_TYPE']); - } - - public function testAddSelectRoute() - { - $wp = new WorkflowProject(array( - "PRO_TITLE" => "Test Project #3 (Select)", - "PRO_CREATE_USER" => "00000000000000000000000000000001" - )); - - $tasUid1 = $wp->addTask(array( - "TAS_TITLE" => "task #1", - "TAS_POSX" => "410", - "TAS_POSY" => "61" - )); - $tasUid2 = $wp->addTask(array( - "TAS_TITLE" => "task #2", - "TAS_POSX" => "159", - "TAS_POSY" => "370" - )); - $tasUid3 = $wp->addTask(array( - "TAS_TITLE" => "task #3", - "TAS_POSX" => "670", - "TAS_POSY" => "372" - )); - - $wp->addSelectRoute($tasUid1, array($tasUid2, $tasUid3)); - } - - public function testCompleteWorkflowProject() - { - $wp = new WorkflowProject(array( - "PRO_TITLE" => "Test Complete Project #4", - "PRO_CREATE_USER" => "00000000000000000000000000000001" - )); - - $tasUid1 = $wp->addTask(array( - "TAS_TITLE" => "task #1", - "TAS_POSX" => "406", - "TAS_POSY" => "71" - )); - $tasUid2 = $wp->addTask(array( - "TAS_TITLE" => "task #2", - "TAS_POSX" => "188", - "TAS_POSY" => "240" - )); - $tasUid3 = $wp->addTask(array( - "TAS_TITLE" => "task #3", - "TAS_POSX" => "406", - "TAS_POSY" => "239" - )); - $tasUid4 = $wp->addTask(array( - "TAS_TITLE" => "task #4", - "TAS_POSX" => "294", - "TAS_POSY" => "366" - )); - $tasUid5 = $wp->addTask(array( - "TAS_TITLE" => "task #5", - "TAS_POSX" => "640", - "TAS_POSY" => "240" - )); - $tasUid6 = $wp->addTask(array( - "TAS_TITLE" => "task #6", - "TAS_POSX" => "640", - "TAS_POSY" => "359" - )); - - - $wp->addRoute($tasUid1, $tasUid2, "PARALLEL"); - $wp->addRoute($tasUid1, $tasUid3, "PARALLEL"); - $wp->addRoute($tasUid1, $tasUid5, "PARALLEL"); - - $wp->addRoute($tasUid2, $tasUid4, "SEC-JOIN"); - $wp->addRoute($tasUid3, $tasUid4, "SEC-JOIN"); - - $wp->addRoute($tasUid5, $tasUid6, "EVALUATE"); - $wp->addRoute($tasUid5, "-1", "EVALUATE"); - - $wp->setStartTask($tasUid1); - - $wp->setEndTask($tasUid4); - $wp->setEndTask($tasUid6); - } -} \ No newline at end of file diff --git a/workflow/engine/src/Tests/ProcessMaker/BpmnProjectTest.php b/workflow/engine/src/Tests/ProcessMaker/BpmnProjectTest.php index dcc485625..1305351fc 100644 --- a/workflow/engine/src/Tests/ProcessMaker/BpmnProjectTest.php +++ b/workflow/engine/src/Tests/ProcessMaker/BpmnProjectTest.php @@ -1,15 +1,21 @@ remove(); + } + public function testCreate() { $data = array( @@ -21,6 +27,7 @@ class BpmnProjectTest extends PHPUnit_Framework_TestCase // Create a new BpmnProject and save to DB $bp = new BpmnProject($data); $projectData = $bp->getProject(); + self::$prjUid = $bp->getUid(); foreach ($data as $key => $value) { $this->assertEquals($value, $projectData[$key]); @@ -227,7 +234,6 @@ class BpmnProjectTest extends PHPUnit_Framework_TestCase public function testRemove($bp) { $prjUid = $bp->getUid(); - $bp->remove(); $this->assertNull(BpmnProject::load($prjUid)); diff --git a/workflow/engine/src/phpunit.xml b/workflow/engine/src/phpunit.xml new file mode 100644 index 000000000..75e48de1c --- /dev/null +++ b/workflow/engine/src/phpunit.xml @@ -0,0 +1,33 @@ + + + + + ./Tests + + + + + + + + + \ No newline at end of file