PMCORE-980

This commit is contained in:
Andrea Adamczyk
2021-03-23 15:13:52 -04:00
parent 3c21cfa277
commit 22a2a334fa
8 changed files with 192 additions and 8 deletions

View File

@@ -13,6 +13,7 @@ use ProcessMaker\Model\GroupUser;
use ProcessMaker\Model\Groupwf;
use ProcessMaker\Model\Process;
use ProcessMaker\Model\ProcessCategory;
use ProcessMaker\Model\SubProcess;
use ProcessMaker\Model\Task;
use ProcessMaker\Model\TaskUser;
use ProcessMaker\Model\User;
@@ -2538,4 +2539,41 @@ class DelegationTest extends TestCase
$this->assertNotEmpty($result);
$this->assertEquals($result, $delegation->DEL_TITLE);
}
/**
* It should test the hasActiveParentsCases() method
*
* @covers \ProcessMaker\Model\Delegation::hasActiveParentsCases()
* @test
*/
public function it_should_test_the_has_active_parents_cases_method()
{
$process = factory(Process::class)->create();
$processParent = factory(Process::class, 3)->create();
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[0]['PRO_UID']
]);
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[1]['PRO_UID']
]);
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[2]['PRO_UID']
]);
$parents = SubProcess::getProParents($process['PRO_UID']);
factory(Delegation::class)->create([
'PRO_UID' => $parents[0]['PRO_PARENT'],
'TAS_UID' => $parents[0]['TAS_PARENT'],
'DEL_THREAD_STATUS' => 'OPEN'
]);
$res = Delegation::hasActiveParentsCases($parents);
// Assert the result is true
$this->assertTrue($res);
}
}

View File

@@ -0,0 +1,64 @@
<?php
namespace Tests\unit\workflow\engine\src\ProcessMaker\Model;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use ProcessMaker\Model\Process;
use ProcessMaker\Model\SubProcess;
use Tests\TestCase;
/**
* Class ProcessTest
*
* @coversDefaultClass \ProcessMaker\Model\SubProcess
*/
class SubProcessTest extends TestCase
{
use DatabaseTransactions;
/**
* Call the setUp parent method
*/
public function setUp()
{
parent::setUp();
}
/**
* It should test the getProParents() method
*
* @covers \ProcessMaker\Model\SubProcess::getProParents()
* @test
*/
public function it_should_test_the_get_pro_parents_method()
{
$process = factory(Process::class)->create();
$processParent = factory(Process::class, 3)->create();
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[0]['PRO_UID']
]);
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[1]['PRO_UID']
]);
factory(SubProcess::class)->create([
'PRO_UID' => $process['PRO_UID'],
'PRO_PARENT' => $processParent[2]['PRO_UID']
]);
$res = SubProcess::getProParents($process['PRO_UID']);
$res = array_map(function ($x) {
return $x['PRO_PARENT'];
}, $res);
// Assert the subprocess has three parents
$this->assertCount(3, $res);
// Assert that the parents are the processes created
$this->assertContains($processParent[0]['PRO_UID'], $res);
$this->assertContains($processParent[1]['PRO_UID'], $res);
$this->assertContains($processParent[2]['PRO_UID'], $res);
}
}