示例#1
0
 /**
  * @test
  * @author Christopher Hlubek <*****@*****.**>
  */
 public function updateMappedEntityWithCycle()
 {
     $repository = $this->objectManager->get('TYPO3\\CouchDB\\Tests\\Functional\\Fixtures\\Domain\\Repository\\TestEntityRepository');
     $entity = new \TYPO3\CouchDB\Tests\Functional\Fixtures\Domain\Model\TestEntity();
     $entity->setName('Foobar');
     $entity->setRelatedEntity($entity);
     $repository->add($entity);
     $identity = $this->persistenceManager->getIdentifierByObject($entity);
     $this->tearDown();
     $source = array('__identity' => $identity, 'name' => 'Foofoo');
     $propertyMapper = $this->objectManager->get('TYPO3\\Flow\\Property\\PropertyMapper');
     $mappedEntity = $propertyMapper->convert($source, 'TYPO3\\CouchDB\\Tests\\Functional\\Fixtures\\Domain\\Model\\TestEntity');
     $repository->update($mappedEntity);
     $this->assertEquals('Foofoo', $mappedEntity->getName());
 }
 /**
  * Larger documents are transferred differently from CouchDB Lucene, so the
  * HttpConnector had a bug with wrong handling of chunked transfer.
  *
  * @test
  * @author Christopher Hlubek <*****@*****.**>
  */
 public function chunkedDataIsTransferredCorrectly()
 {
     $repository = $this->objectManager->get('TYPO3\\CouchDB\\Tests\\Functional\\Fixtures\\Domain\\Repository\\TestEntityRepository');
     $entity = new \TYPO3\CouchDB\Tests\Functional\Fixtures\Domain\Model\TestEntity();
     $entity->setName(str_repeat('Some entity-', 2000));
     $entity->setRelatedValueObject(new Fixtures\Domain\Model\TestValueObject('green'));
     $repository->add($entity);
     $persistenceManager = $this->objectManager->get('TYPO3\\Flow\\Persistence\\PersistenceManagerInterface');
     $persistenceManager->persistAll();
     $persistenceSession = $this->objectManager->get('TYPO3\\Flow\\Persistence\\Generic\\Session');
     $persistenceSession->destroy();
     $entities = $repository->findByColor('green')->toArray();
     $this->assertEquals(1, count($entities));
 }