public function testLoadInvertedReference() { // pre conditions $object = new InvertedReferenceMappingObject(); $object->docName = 'Name on document'; $object->objectId = 'test-id'; $testReferencedObject = new ProductObject(); $object->referencedField = $testReferencedObject; $testReferencedObject->id = 'test-id'; $testReferencedObject->entityName = 'Name on document'; $referenceMapping = array('referencedField' => array('inversed-by' => 'objectId', 'referenced-by' => 'id', 'target-object' => get_class($testReferencedObject), 'fieldName' => 'referencedField', 'sync-type' => 'from-reference')); $this->classMetadata->expects($this->any())->method('getReferencedObjects')->will($this->returnValue($referenceMapping)); $this->objectAdapterManager->expects($this->any())->method('getManager')->with($this->equalTo($object), $this->equalTo('referencedField'))->will($this->returnValue($this->objectManager)); $this->objectManager->expects($this->once())->method('getReference')->with($this->equalTo(get_class($testReferencedObject)), $this->equalTo('test-id'))->will($this->returnValue($testReferencedObject)); $this->UoW->loadReferences($object); $this->assertEquals($testReferencedObject, $object->referencedField); }
/** * The referenced objects won't be loaded directly by find() (on the referenced managers), * getReference() will be called to avoid performance issues. * * @param $object */ public function findReference($object) { $this->unitOfWork->loadReferences($object); }