public function testEvent()
 {
     $entity = new Product();
     $class = get_class($entity);
     $data = [];
     $entityMapping = ['alias' => 'test'];
     $event = new PrepareEntityMapEvent($entity, $class, $data, $entityMapping);
     $this->assertSame($entity, $event->getEntity());
     $this->assertSame($class, $event->getClassName());
     $this->assertSame($entityMapping, $event->getEntityMapping());
     $this->assertSame($data, $event->getData());
     $newData = [];
     $event->setData($newData);
     $this->assertSame($newData, $event->getData());
 }
Example #2
0
 /**
  * Add organization field to the search mapping
  *
  * @param PrepareEntityMapEvent $event
  */
 public function prepareEntityMapEvent(PrepareEntityMapEvent $event)
 {
     $data = $event->getData();
     $className = $event->getClassName();
     $organizationId = self::EMPTY_ORGANIZATION_ID;
     $ownerId = self::EMPTY_OWNER_ID;
     $metadata = $this->metadataProvider->getMetadata($className);
     if ($metadata) {
         $entity = $event->getEntity();
         $ownerId = $this->getOwnerId($metadata, $entity);
         $organizationId = $this->getOrganizationId($metadata, $entity);
     }
     $data['integer'][sprintf('%s_owner', $event->getEntityMapping()['alias'])] = $ownerId;
     $data['integer']['organization'] = $organizationId;
     $event->setData($data);
 }