/**
  * @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());
 }