'@&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']); } }