2020-02-18 09:28:10 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Tests\unit\workflow\engine\classes;
|
|
|
|
|
|
|
|
|
|
use Cases;
|
|
|
|
|
use ProcessMaker\Model\Application;
|
|
|
|
|
use ProcessMaker\Model\Delegation;
|
|
|
|
|
use ProcessMaker\Model\Process;
|
|
|
|
|
use ProcessMaker\Model\Step;
|
2020-08-18 15:08:58 +00:00
|
|
|
use ProcessMaker\Model\Task;
|
|
|
|
|
use ProcessMaker\Model\TaskUser;
|
|
|
|
|
use ProcessMaker\Model\User;
|
2020-02-18 09:28:10 -04:00
|
|
|
use Tests\TestCase;
|
|
|
|
|
|
|
|
|
|
class CasesTest extends TestCase
|
|
|
|
|
{
|
|
|
|
|
protected $preserveGlobalState = false;
|
|
|
|
|
protected $runTestInSeparateProcess = true;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Call setUp method
|
|
|
|
|
*/
|
|
|
|
|
public function setUp()
|
|
|
|
|
{
|
|
|
|
|
parent::setUp(); // TODO: Change the autogenerated stub
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Test getNextStep method with no steps
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX);
|
|
|
|
|
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method with step
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_position()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method with output document
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_output_document()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'OUTPUT_DOCUMENT'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method with input document
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_input_document()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'INPUT_DOCUMENT'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method with external document
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_external()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'EXTERNAL'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method with message step
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_message()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'MESSAGE'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when the step does not exist
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_step_does_not_exists()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$this->expectExceptionMessage("**ID_STEP_DOES_NOT_EXIST**");
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when there is an exception
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_step_exception()
|
|
|
|
|
{
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$this->expectExceptionMessage("The Application row '' doesn't exist!");
|
|
|
|
|
$res = $cases->getNextStep();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when the result is false
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_step_false()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create();
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create();
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX);
|
|
|
|
|
$this->assertFalse($res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when there is a gmail account
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_gmail()
|
|
|
|
|
{
|
|
|
|
|
$_SESSION['gmail'] = '';
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'MESSAGE'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when there is a gmail account related to the next step
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_gmail_nextstep()
|
|
|
|
|
{
|
|
|
|
|
$_SESSION['gmail'] = '';
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 1,
|
|
|
|
|
'STEP_CONDITION' => '1 == 1',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'MESSAGE'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getNextStep method when the step condition is empty
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getNextStep()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_next_step_method_condition_empty()
|
|
|
|
|
{
|
|
|
|
|
$_SESSION['gmail'] = '';
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$application = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
|
|
|
|
|
$appDelegation = factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'DEL_PREVIOUS' => $appDelegation->DEL_INDEX
|
|
|
|
|
]);
|
|
|
|
|
factory(Step::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $appDelegation->TAS_UID,
|
|
|
|
|
'STEP_POSITION' => 2,
|
|
|
|
|
'STEP_CONDITION' => '',
|
|
|
|
|
'STEP_TYPE_OBJ' => 'MESSAGE'
|
|
|
|
|
]);
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$res = $cases->getNextStep($process->PRO_UID, $application->APP_UID, $appDelegation->DEL_INDEX, 1);
|
|
|
|
|
$this->assertCount(4, $res);
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-18 15:08:58 +00:00
|
|
|
/**
|
|
|
|
|
* Test the getStartCases method
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getStartCases()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_should_test_get_start_cases()
|
|
|
|
|
{
|
|
|
|
|
// Creating a process with initial tasks
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
$user = factory(User::class)->create();
|
|
|
|
|
$normalTask = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'PRO_ID' => $process->PRO_ID,
|
|
|
|
|
'TAS_START' => 'TRUE'
|
|
|
|
|
]);
|
|
|
|
|
$webEntryTask = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'PRO_ID' => $process->PRO_ID,
|
|
|
|
|
'TAS_START' => 'TRUE',
|
|
|
|
|
'TAS_TYPE' => 'WEBENTRYEVENT'
|
|
|
|
|
]);
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $normalTask->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $webEntryTask->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// Instance class Cases
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
|
|
|
|
|
// Get all initial tasks
|
|
|
|
|
$startingTasks = $cases->getStartCases($user->USR_UID);
|
|
|
|
|
$this->assertCount(3, $startingTasks);
|
|
|
|
|
|
|
|
|
|
// Get initial tasks without dummy tasks
|
|
|
|
|
$startingTasks = $cases->getStartCases($user->USR_UID, true);
|
|
|
|
|
$this->assertCount(2, $startingTasks);
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-06 09:30:18 -04:00
|
|
|
/**
|
|
|
|
|
* Tests the getTo method when the task assign type is BALANCED
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getTo()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_shoult_test_the_get_to_method_with_default_tas_assign_type()
|
|
|
|
|
{
|
|
|
|
|
$task = factory(Task::class)->create();
|
|
|
|
|
$user = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test@test.com'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// Instance class Cases
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$result = $cases->getTo($task->TAS_UID, $user->USR_UID, '');
|
|
|
|
|
$this->assertNotEmpty($result);
|
|
|
|
|
$this->assertRegExp("/{$user->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getTo method when the task assign type is SELF_SERVICE
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getTo()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_shoult_test_the_get_to_method_with_self_service_tas_assign_type()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
|
|
|
|
|
$task = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'BALANCED'
|
|
|
|
|
]);
|
|
|
|
|
$task2 = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'SELF_SERVICE'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$user = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test@test.com'
|
|
|
|
|
]);
|
|
|
|
|
$user2 = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test2@test2.com'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$application = factory(Application::class)->create([
|
|
|
|
|
'APP_STATUS_ID' => 2,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'APP_INIT_USER' => "00000000000000000000000000000001",
|
|
|
|
|
'APP_CUR_USER' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 1,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 0,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task->TAS_UID,
|
|
|
|
|
'USR_UID' => "00000000000000000000000000000001",
|
|
|
|
|
'DEL_THREAD' => 1,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'CLOSED'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 2,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 3,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 3,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$arrayData = [
|
|
|
|
|
"SYS_LANG" => "en",
|
|
|
|
|
"SYS_SKIN" => "neoclassic",
|
|
|
|
|
"SYS_SYS" => "workflow",
|
|
|
|
|
"APPLICATION" => $application->APP_UID,
|
|
|
|
|
"PROCESS" => $process->PRO_UID,
|
|
|
|
|
"TASK" => $task->TAS_UID,
|
|
|
|
|
"INDEX" => "1",
|
|
|
|
|
"USER_LOGGED" => "00000000000000000000000000000001",
|
|
|
|
|
"USR_USERNAME" => "admin",
|
|
|
|
|
"APP_NUMBER" => $application->APP_NUMBER,
|
|
|
|
|
"PIN" => $application->APP_PIN,
|
|
|
|
|
"TAS_ID" => $task->TAS_ID
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Instance class Cases
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$result = $cases->getTo($task2->TAS_UID, $user->USR_UID, $arrayData);
|
|
|
|
|
|
|
|
|
|
// Asserts the result is not empty
|
|
|
|
|
$this->assertNotEmpty($result);
|
|
|
|
|
|
|
|
|
|
// Asserts the emails of both users are contained in the result
|
|
|
|
|
$this->assertRegExp("/{$user->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
$this->assertRegExp("/{$user2->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getTo method when the task assign type is MULTIPLE_INSTANCE
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getTo()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_shoult_test_the_get_to_method_with_multiple_instance_tas_assign_type()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
|
|
|
|
|
$task = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'BALANCED'
|
|
|
|
|
]);
|
|
|
|
|
$task2 = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'MULTIPLE_INSTANCE'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$user = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test@test.com'
|
|
|
|
|
]);
|
|
|
|
|
$user2 = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test2@test2.com'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$application = factory(Application::class)->create([
|
|
|
|
|
'APP_STATUS_ID' => 2,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'APP_INIT_USER' => "00000000000000000000000000000001",
|
|
|
|
|
'APP_CUR_USER' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 1,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 0,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task->TAS_UID,
|
|
|
|
|
'USR_UID' => "00000000000000000000000000000001",
|
|
|
|
|
'DEL_THREAD' => 1,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'CLOSED'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 2,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 3,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 3,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$arrayData = [
|
|
|
|
|
"SYS_LANG" => "en",
|
|
|
|
|
"SYS_SKIN" => "neoclassic",
|
|
|
|
|
"SYS_SYS" => "workflow",
|
|
|
|
|
"APPLICATION" => $application->APP_UID,
|
|
|
|
|
"PROCESS" => $process->PRO_UID,
|
|
|
|
|
"TASK" => $task->TAS_UID,
|
|
|
|
|
"INDEX" => "1",
|
|
|
|
|
"USER_LOGGED" => "00000000000000000000000000000001",
|
|
|
|
|
"USR_USERNAME" => "admin",
|
|
|
|
|
"APP_NUMBER" => $application->APP_NUMBER,
|
|
|
|
|
"PIN" => $application->APP_PIN,
|
|
|
|
|
"TAS_ID" => $task->TAS_ID
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Instance class Cases
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$result = $cases->getTo($task2->TAS_UID, $user->USR_UID, $arrayData);
|
|
|
|
|
|
|
|
|
|
// Asserts the result is not empty
|
|
|
|
|
$this->assertNotEmpty($result);
|
|
|
|
|
|
|
|
|
|
// Asserts the emails of both users are contained in the result
|
|
|
|
|
$this->assertRegExp("/{$user->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
$this->assertRegExp("/{$user2->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests the getTo method when the task assign type is MULTIPLE_INSTANCE_VALUE_BASED
|
|
|
|
|
*
|
|
|
|
|
* @covers \Cases::getTo()
|
|
|
|
|
* @test
|
|
|
|
|
*/
|
|
|
|
|
public function it_shoult_test_the_get_to_method_with_multiple_instance_value_based_tas_assign_type()
|
|
|
|
|
{
|
|
|
|
|
$process = factory(Process::class)->create();
|
|
|
|
|
|
|
|
|
|
$task = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'BALANCED'
|
|
|
|
|
]);
|
|
|
|
|
$task2 = factory(Task::class)->create([
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_ASSIGN_TYPE' => 'MULTIPLE_INSTANCE_VALUE_BASED',
|
|
|
|
|
'TAS_ASSIGN_VARIABLE' => '@@users'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$user = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test@test.com'
|
|
|
|
|
]);
|
|
|
|
|
$user2 = factory(User::class)->create([
|
|
|
|
|
'USR_EMAIL' => 'test2@test2.com'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
factory(TaskUser::class)->create([
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$application = factory(Application::class)->create([
|
|
|
|
|
'APP_STATUS_ID' => 2,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'APP_INIT_USER' => "00000000000000000000000000000001",
|
|
|
|
|
'APP_CUR_USER' => $user2->USR_UID
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 1,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 0,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task->TAS_UID,
|
|
|
|
|
'USR_UID' => "00000000000000000000000000000001",
|
|
|
|
|
'DEL_THREAD' => 1,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'CLOSED'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 2,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 2,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
factory(Delegation::class)->create([
|
|
|
|
|
'APP_UID' => $application->APP_UID,
|
|
|
|
|
'DEL_INDEX' => 3,
|
|
|
|
|
'APP_NUMBER' => $application->APP_NUMBER,
|
|
|
|
|
'DEL_PREVIOUS' => 1,
|
|
|
|
|
'PRO_UID' => $process->PRO_UID,
|
|
|
|
|
'TAS_UID' => $task2->TAS_UID,
|
|
|
|
|
'USR_UID' => $user2->USR_UID,
|
|
|
|
|
'DEL_THREAD' => 3,
|
|
|
|
|
'DEL_THREAD_STATUS' => 'OPEN'
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$arrayData = [
|
|
|
|
|
"SYS_LANG" => "en",
|
|
|
|
|
"SYS_SKIN" => "neoclassic",
|
|
|
|
|
"SYS_SYS" => "workflow",
|
|
|
|
|
"APPLICATION" => $application->APP_UID,
|
|
|
|
|
"PROCESS" => $process->PRO_UID,
|
|
|
|
|
"TASK" => $task->TAS_UID,
|
|
|
|
|
"INDEX" => "1",
|
|
|
|
|
"USER_LOGGED" => "00000000000000000000000000000001",
|
|
|
|
|
"USR_USERNAME" => "admin",
|
|
|
|
|
"APP_NUMBER" => $application->APP_NUMBER,
|
|
|
|
|
"PIN" => $application->APP_PIN,
|
|
|
|
|
"TAS_ID" => $task->TAS_ID,
|
|
|
|
|
'users' => [$user->USR_UID, $user2->USR_UID]
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Instance class Cases
|
|
|
|
|
$cases = new Cases();
|
|
|
|
|
$result = $cases->getTo($task2->TAS_UID, $user->USR_UID, $arrayData);
|
|
|
|
|
|
|
|
|
|
// Asserts the result is not empty
|
|
|
|
|
$this->assertNotEmpty($result);
|
|
|
|
|
|
|
|
|
|
// Asserts the emails of both users are contained in the result
|
|
|
|
|
$this->assertRegExp("/{$user->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
$this->assertRegExp("/{$user2->USR_EMAIL}/", $result["to"]);
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-18 09:28:10 -04:00
|
|
|
/**
|
|
|
|
|
* Call the tearDown method
|
|
|
|
|
*/
|
|
|
|
|
public function tearDown()
|
|
|
|
|
{
|
|
|
|
|
// The parent method needs to be override due to errors appearing
|
|
|
|
|
}
|
2020-10-06 09:30:18 -04:00
|
|
|
}
|