Files
luos/tests/unit/workflow/engine/classes/DerivationTest.php

83 lines
2.9 KiB
PHP
Raw Normal View History

2019-11-05 11:32:47 -04:00
<?php
namespace Tests\unit\workflow\engine\classes;
use \Derivation;
use Tests\TestCase;
class DerivationTest extends TestCase
{
/**
* Call the setUp parent method
*/
public function setUp()
{
parent::setUp(); // TODO: Change the autogenerated stub
}
/**
* It tests the getSubProcessVariables method with object variables
*
* @covers Derivation::getSubProcessVariables()
* @test
*/
public function it_should_test_the_get_sub_process_variables_method_with_object_variables()
{
$fields = ['@&var2' => '@&var3'];
$childCaseData = ['var2' => (object)['Street' => 'test', 'name' => 'Something']];
$parentCaseData = ['var1' => (object)['Street' => 'test']];
$der = new Derivation();
$res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData);
$this->assertArrayHasKey('var3', $res);
$this->assertObjectHasAttribute('Street', $res['var3']);
$this->assertObjectHasAttribute('name', $res['var3']);
$this->assertEquals($res['var3'], (object)['Street' => 'test', 'name' => 'Something']);
}
/**
* It tests the getSubProcessVariables method with origin labels
*
* @covers Derivation::getSubProcessVariables()
* @test
*/
public function it_should_test_the_get_sub_process_variables_method_with_origin_labels()
{
$fields = ['@&var2' => '@&var3', '@&var2_label' => '@&var3'];
$childCaseData = [
'var2' => (object)['Street' => 'test', 'name' => 'Something'],
'var2_label' => ['Street' => 'test', 'name' => 'Something']
];
$parentCaseData = ['var1' => (object)['Street' => 'test']];
$der = new Derivation();
$res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData);
$this->assertArrayHasKey('var3_label', $res);
$this->assertEquals($res['var3_label'], ['Street' => 'test', 'name' => 'Something']);
}
/**
* It tests the getSubProcessVariables method with target labels
*
* @covers Derivation::getSubProcessVariables()
* @test
*/
public function it_should_test_the_get_sub_process_variables_method_with_target_labels()
{
$fields = ['@&var2' => '@&var3', '@&var2' => '@&var3_label'];
$childCaseData = ['var2' => (object)['Street' => 'test', 'name' => 'Something']];
$parentCaseData = ['var1' => (object)['Street' => 'test']];
$der = new Derivation();
$res = $der->getSubProcessVariables($fields, $childCaseData, $parentCaseData);
$this->assertArrayHasKey('var3_label', $res);
$this->assertObjectHasAttribute('Street', $res['var3_label']);
$this->assertObjectHasAttribute('name', $res['var3_label']);
$this->assertEquals($res['var3_label'], (object)['Street' => 'test', 'name' => 'Something']);
}
}