/** * @depends testReferenceMapping * @param ClassMetadata $cm * @return \Doctrine\ORM\ODMAdapter\Mapping\ClassMetadata */ public function testMapReferenceDocument(ClassMetadata $cm) { $cm->mapReferencedObject(array('type' => Reference::PHPCR, 'inversed-by' => 'uuid', 'referenced-by' => 'uuid', 'target-object' => 'document', 'fieldName' => 'referencedField', 'inversed-entity' => 'entity', 'manager' => 'manager')); $this->assertTrue(isset($cm->mappings['referencedField'])); $this->assertEquals(array('type' => Reference::PHPCR, 'fieldName' => 'referencedField', 'referenced-by' => 'uuid', 'inversed-by' => 'uuid', 'target-object' => 'document', 'inversed-entity' => 'entity', 'property' => 'referencedField', 'manager' => 'manager'), $cm->mappings['referencedField']); $this->assertEquals(array('property' => 'uuid', 'fieldName' => 'uuid', 'type' => 'common-field', 'inversed-by' => 'uuid', 'referenced-by' => 'uuid', 'target-field' => 'referencedField', 'sync-type' => 'from-reference'), $cm->mappings['uuid']); $this->assertEquals(array('type' => Reference::PHPCR, 'fieldName' => 'referencedField', 'referenced-by' => 'uuid', 'inversed-by' => 'uuid', 'target-object' => 'document', 'inversed-entity' => 'entity', 'property' => 'referencedField', 'manager' => 'manager'), $cm->getReferencedObject('referencedField')); return $cm; }