Skip to content

Commit ee3811a

Browse files
committed
Add unit test
1 parent 592346a commit ee3811a

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Persist/OperationDataArrayResolverTest.php

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,57 @@ public function testNestedMetadataArrayOfDiverseObjects()
477477
$this->assertEquals($expectedResult, $result);
478478
}
479479

480+
481+
public function testExtendedWithRequiredEntity()
482+
{
483+
$entityDataObjectBuilder = new EntityDataObjectBuilder();
484+
$extEntityDataObject = $entityDataObjectBuilder
485+
->withName("extEntity")
486+
->withType("entity")
487+
->withLinkedEntities(["baseSubentity" => "subentity","extSubentity" => "subentity"])
488+
->build();
489+
490+
$mockDOHInstance = AspectMock::double(DataObjectHandler::class, ["getObject" => function ($name) {
491+
$entityDataObjectBuilder = new EntityDataObjectBuilder();
492+
493+
if ($name == "baseSubentity") {
494+
return $entityDataObjectBuilder
495+
->withName("baseSubentity")
496+
->withType("subentity")
497+
->withDataFields(["subtest" => "BaseSubtest"])
498+
->build();
499+
}
500+
501+
if ($name == "extSubentity") {
502+
return $entityDataObjectBuilder
503+
->withName("extSubentity")
504+
->withType("subentity")
505+
->withDataFields(["subtest" => "ExtSubtest"])
506+
->build();
507+
}
508+
}])->make();
509+
AspectMock::double(DataObjectHandler::class, ['getInstance' => $mockDOHInstance]);
510+
511+
$subentityOpElementBuilder = new OperationElementBuilder();
512+
$subentityOpElement = $subentityOpElementBuilder
513+
->withKey("sub")
514+
->withType("subentity")
515+
->withElementType("object")
516+
->withFields(["subtest" => "string"])
517+
->build();
518+
519+
$operationResolver = new OperationDataArrayResolver();
520+
$result = $operationResolver->resolveOperationDataArray($extEntityDataObject,[$subentityOpElement], "create", false);
521+
522+
$expected = [
523+
"sub" => [
524+
"subtest" => "ExtSubtest"
525+
]
526+
];
527+
528+
$this->assertEquals($expected, $result);
529+
530+
}
480531
/**
481532
* After class functionality
482533
* @return void

0 commit comments

Comments
 (0)