Files
luos/tests/unit/workflow/engine/src/ProcessMaker/Model/SubProcessTest.php
Paula Quispe ba1562001b PMCORE-3599
2021-12-20 11:39:08 -04:00

65 lines
1.8 KiB
PHP

<?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 SubProcessTest
*
* @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);
}
}