Updates for BpmnActivityTest class

This commit is contained in:
Erik Amaru Ortiz
2014-02-04 23:19:10 -04:00
parent ad27682bc3
commit ee480a93e3
5 changed files with 101 additions and 263 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -1,257 +0,0 @@
<?php
if (! class_exists("Propel")) {
include_once __DIR__ . "/../../bootstrap.php";
}
use \ProcessMaker\Project\Adapter\WorkflowProject;
class WorkflowProjectTest extends PHPUnit_Framework_TestCase
{
protected $workflowProject;
protected function setUp()
{
$this->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);
}
}

View File

@@ -1,15 +1,21 @@
<?php
if (! class_exists("Propel")) {
include_once __DIR__ . "/../bootstrap.php";
}
use \ProcessMaker\Project\BpmnProject;
use \PHPUnit_Framework_TestCase;
use ProcessMaker\Project\BpmnProject;
class BpmnProjectTest extends PHPUnit_Framework_TestCase
{
protected static $prjUid;
public static function tearDownAfterClass()
{
$bp = BpmnProject::load(self::$prjUid);
$bp->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));

View File

@@ -0,0 +1,33 @@
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="true"
syntaxCheck="true"
bootstrap="tests/bootstrap.php"
>
<testsuites>
<testsuite name="unit">
<directory>./Tests</directory>
</testsuite>
</testsuites>
<!--<filter>
<whitelist>
<directory>./</directory>
<exclude>
<directory>./gulliver</directory>
<directory>./workflow</directory>
<directory>./rbac</directory>
</exclude>
</whitelist>
</filter> -->
<php>
<var name="SYS_SYS" value="workflow" />
</php>
</phpunit>