/** * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { /** @var ClassMetadataInfo $metadata */ $metadata = $eventArgs->getClassMetadata(); if ($metadata->getName() != AbstractToken::class) { return; } $metadata->associationMappings['owner']['joinColumns'][0]['referencedColumnName'] = $this->options->getTokenOwnerPkColumn(); }
/** * @dataProvider providerLoadClassMetadata */ public function testLoadClassMetadata($className, $columnName) { $eventsArgs = $this->getMock(LoadClassMetadataEventArgs::class, [], [], '', false); $classMetaData = $this->getMock(ClassMetadataInfo::class, [], [], '', false); $classMetaData->expects($this->once())->method('getName')->willReturn($className); $eventsArgs->expects($this->once())->method('getClassMetadata')->willReturn($classMetaData); if ($columnName) { $this->options->setTokenOwnerPkColumn($columnName); } $this->subscriber->loadClassMetadata($eventsArgs); if ($columnName) { $this->assertEquals($columnName, $classMetaData->associationMappings['owner']['joinColumns'][0]['referencedColumnName']); } }
public function testSettersAndGetters() { $options = new DoctrineOptions(['token_owner_pk_column' => 'user_id']); $this->assertEquals('user_id', $options->getTokenOwnerPkColumn()); }