HOR-3207
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:
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user