function let(DefinitionInterface $definition, EntityManager $manager, ClassMetadata $metadata) { $entity = 'AcmeBundle:Test'; $definition->getName()->willReturn('test'); $definition->getEntityName()->willReturn($entity); $definition->getEntityManager()->willReturn($manager); $manager->getClassMetadata($entity)->willReturn($metadata); $metadata->getName()->willReturn($entity); }
/** * @param object $object * @return mixed * @throws UnsupportedEntityException */ public function getId(DefinitionInterface $definition, $object) { $metadata = $definition->getEntityManager()->getClassMetadata($definition->getEntityName()); $identity = $metadata->getIdentifierValues($object); if (count($identity) !== 1) { throw new UnsupportedEntityException("Entity '{$metadata->getName()}' must have exactly one identifier column"); } reset($identity); return current($identity); }