Removed the deletion of WebEntry record when it is disabled. This attribute has no effect.
Fixed importation of processes with WebEntry task information.
This commit is contained in:
davidcallizaya
2017-06-01 16:54:48 -04:00
parent a845ba95cd
commit b533a87bd6
5 changed files with 187 additions and 92 deletions

View File

@@ -44,13 +44,13 @@ class WorkflowTestCase extends TestCase
* @param type $filename ProcessMaker file to be imported
* @return string PRO_UID
*/
protected function import($filename)
protected function import($filename, $regenerateUids=false)
{
$importer = new XmlImporter();
$importer->setSourceFile($filename);
return $importer->import(
XmlImporter::IMPORT_OPTION_CREATE_NEW,
XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, true
$regenerateUids ? XmlImporter::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW : XmlImporter::IMPORT_OPTION_CREATE_NEW,
XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, $regenerateUids
);
}

View File

@@ -2,6 +2,8 @@
namespace ProcessMaker\BusinessModel;
use ProcessMaker\Importer\XmlImporter;
/**
* WebEntryEventTest test
*/
@@ -165,6 +167,7 @@ class WebEntryEventTest extends \WorkflowTestCase
'WE_LINK_SKIN' => SYS_SKIN,
'WE_LINK_LANGUAGE' => SYS_LANG,
'WE_LINK_DOMAIN' => $this->domain,
'WEE_STATUS' => 'DISABLED',
]
);
}
@@ -484,6 +487,98 @@ class WebEntryEventTest extends \WorkflowTestCase
}
}
/**
* Tests importing a BPMN with WE2 information.
* The import maintain the UIDs.
*
* @cover ProcessMaker\BusinessModel\WebEntryEvent
*/
public function testImportProcessWithWE2()
{
$proUid = $this->import(__DIR__.'/WebEntry2-multi-login.pmx');
$this->assertNotEmpty($proUid);
$taskCriteria = new \Criteria;
$taskCriteria->add(\TaskPeer::PRO_UID, $proUid);
$taskCriteria->add(\TaskPeer::TAS_UID, "wee-%", \Criteria::LIKE);
$task = \TaskPeer::doSelectOne($taskCriteria);
//Check steps
$criteria = new \Criteria;
$criteria->add(\StepPeer::TAS_UID, $task->getTasUid());
$criteria->addAscendingOrderByColumn(\StepPeer::STEP_POSITION);
$steps = [];
$stepWithTrigger = 1;
$uidStepWithTrigger = null;
foreach (\StepPeer::doSelect($criteria) as $index => $step) {
$steps[]=$step->getStepTypeObj();
if ($index == $stepWithTrigger) {
$uidStepWithTrigger = $step->getStepUid();
}
}
$this->assertEquals(
["DYNAFORM", "DYNAFORM", "INPUT_DOCUMENT", "OUTPUT_DOCUMENT"],
$steps
);
//Check triggers
$criteriaTri = new \Criteria;
$criteriaTri->add(\StepTriggerPeer::TAS_UID, $task->getTasUid());
$criteriaTri->add(\StepTriggerPeer::STEP_UID, $uidStepWithTrigger);
$criteriaTri->addAscendingOrderByColumn(\StepTriggerPeer::ST_POSITION);
$triggers = [];
foreach (\StepTriggerPeer::doSelect($criteriaTri) as $stepTri) {
$triggers[]=[$stepTri->getStepUid(), $stepTri->getStType()];
}
$this->assertEquals(
[[$uidStepWithTrigger, "BEFORE"]],
$triggers
);
}
/**
* Tests importing a BPMN with WE2 information.
* The import regenerates the UIDs.
*
* @cover ProcessMaker\BusinessModel\WebEntryEvent
*/
public function testImportProcessWithWE2WithRegenUid()
{
$proUid = $this->import(__DIR__.'/WebEntry2-multi-login.pmx', true);
$this->assertNotEmpty($proUid);
$taskCriteria = new \Criteria;
$taskCriteria->add(\TaskPeer::PRO_UID, $proUid);
$taskCriteria->add(\TaskPeer::TAS_UID, "wee-%", \Criteria::LIKE);
$task = \TaskPeer::doSelectOne($taskCriteria);
//Check steps
$criteria = new \Criteria;
$criteria->add(\StepPeer::TAS_UID, $task->getTasUid());
$criteria->addAscendingOrderByColumn(\StepPeer::STEP_POSITION);
$steps = [];
$stepWithTrigger = 1;
$uidStepWithTrigger = null;
foreach (\StepPeer::doSelect($criteria) as $index => $step) {
$steps[]=$step->getStepTypeObj();
if ($index == $stepWithTrigger) {
$uidStepWithTrigger = $step->getStepUid();
}
}
$this->assertEquals(
["DYNAFORM", "DYNAFORM", "INPUT_DOCUMENT", "OUTPUT_DOCUMENT"],
$steps
);
//Check triggers
$criteriaTri = new \Criteria;
$criteriaTri->add(\StepTriggerPeer::TAS_UID, $task->getTasUid());
$criteriaTri->add(\StepTriggerPeer::STEP_UID, $uidStepWithTrigger);
$criteriaTri->addAscendingOrderByColumn(\StepTriggerPeer::ST_POSITION);
$triggers = [];
foreach (\StepTriggerPeer::doSelect($criteriaTri) as $stepTri) {
$triggers[]=[$stepTri->getStepUid(), $stepTri->getStType()];
}
$this->assertEquals(
[[$uidStepWithTrigger, "BEFORE"]],
$triggers
);
}
/**
* get a dynaform
* @return type