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