Exemplo n.º 1
0
 public function load(ObjectManager $manager)
 {
     $adminRole = new Role();
     $adminRole->setName('admin');
     $manager->persist($adminRole);
     $this->referenceRepository->addReference('admin-role', $adminRole);
     $manager->flush();
 }
 public function testReferenceEntry()
 {
     $em = $this->getMockAnnotationReaderEntityManager();
     $role = new TestEntity\Role();
     $role->setName('admin');
     $meta = $em->getClassMetadata(self::TEST_ENTITY_ROLE);
     $meta->getReflectionProperty('id')->setValue($role, 1);
     $referenceRepo = new ProxyReferenceRepository($em);
     $referenceRepo->addReference('test', $role);
     $references = $referenceRepo->getReferences();
     $this->assertCount(1, $references);
     $this->assertArrayHasKey('test', $references);
     $this->assertInstanceOf(self::TEST_ENTITY_ROLE, $references['test']);
 }
 public function testReferenceMultipleEntries()
 {
     $em = $this->getMockSqliteEntityManager();
     $referenceRepository = new ProxyReferenceRepository($em);
     $em->getEventManager()->addEventSubscriber(new ORMReferenceListener($referenceRepository));
     $schemaTool = new SchemaTool($em);
     $schemaTool->createSchema(array($em->getClassMetadata(self::TEST_ENTITY_ROLE)));
     $role = new TestEntity\Role();
     $role->setName('admin');
     $em->persist($role);
     $referenceRepository->addReference('admin', $role);
     $referenceRepository->addReference('duplicate', $role);
     $em->flush();
     $em->clear();
     $this->assertInstanceOf('Doctrine\\ORM\\Proxy\\Proxy', $referenceRepository->getReference('admin'));
     $this->assertInstanceOf('Doctrine\\ORM\\Proxy\\Proxy', $referenceRepository->getReference('duplicate'));
 }
 public function testSetReferenceHavingIdentifier()
 {
     $em = $this->getMockSqliteEntityManager();
     $referenceRepository = new ReferenceRepository($em);
     $schemaTool = new SchemaTool($em);
     $schemaTool->dropSchema(array());
     $schemaTool->createSchema(array($em->getClassMetadata(Role::class)));
     $role = new Role();
     $role->setName('role_name');
     $em->persist($role);
     $em->flush();
     $referenceRepository->setReference('entity', $role);
     $identities = $referenceRepository->getIdentities();
     $this->assertCount(1, $identities);
     $this->assertArrayHasKey('entity', $identities);
 }