public function testCreate_multijoin() { $qb = $this->em->createQueryBuilder()->select('p, c')->from('Product', 'p')->join('p.category', 'c')->join('c.parent', 'cp'); $fieldMapping = ['p.name', 'c.name', 'cp.name']; $propertyPathMapping = $this->factory->createPropertyPathMapping($qb, $fieldMapping); $this->assertEquals(['name', 'category.name', 'category.parent.name'], $propertyPathMapping); }
public function testGetConnectionListQueryBuilder() { /** @var CalendarConnectionRepository $repo */ $repo = $this->em->getRepository('OroCalendarBundle:CalendarConnection'); $qb = $repo->getConnectionListQueryBuilder(1); $this->assertEquals('SELECT calendarConnection, connectedCalendar, owner' . ' FROM Oro\\Bundle\\CalendarBundle\\Entity\\CalendarConnection calendarConnection' . ' INNER JOIN calendarConnection.calendar calendar' . ' INNER JOIN calendarConnection.connectedCalendar connectedCalendar' . ' INNER JOIN connectedCalendar.owner owner' . ' WHERE calendar.id = :id ORDER BY calendarConnection.createdAt ASC', $qb->getQuery()->getDQL()); }
public function testGetEventsToRemindQueryBuilder() { /** @var CalendarEventRepository $repo */ $repo = $this->em->getRepository('OroCalendarBundle:CalendarEvent'); $qb = $repo->getEventsToRemindQueryBuilder(new \DateTime()); $this->assertEquals('SELECT e, c, u' . ' FROM Oro\\Bundle\\CalendarBundle\\Entity\\CalendarEvent e' . ' INNER JOIN e.calendar c' . ' INNER JOIN c.owner u' . ' WHERE e.remindAt <= :current AND e.start > :current AND e.reminded = :reminded', $qb->getQuery()->getDQL()); }
/** * {@inheritDoc} */ protected function setUp() { parent::setUp(); $this->connectionMock = new ConnectionMock(array(), new DriverMock()); $this->emMock = EntityManagerMock::create($this->connectionMock); $this->uowMock = new UnitOfWorkMock($this->emMock); $this->emMock->setUnitOfWork($this->uowMock); $this->proxyFactory = new ProxyFactory($this->emMock, sys_get_temp_dir(), 'Proxies', true); }
public function setUp() { $reader = new AnnotationReader(); $metadataDriver = new AnnotationDriver($reader, 'Oro\\Bundle\\DataAuditBundle\\Tests\\Unit\\Fixture'); $this->em = $this->_getTestEntityManager(); $this->em->getConfiguration()->setEntityNamespaces(array('OroUserBundle' => 'Oro\\Bundle\\UserBundle\\Entity', 'OroDataAuditBundle' => 'Oro\\Bundle\\DataAuditBundle\\Entity')); $this->em->getConfiguration()->setMetadataDriverImpl($metadataDriver); $this->loggableAnnotationDriver = new \Oro\Bundle\DataAuditBundle\Metadata\Driver\AnnotationDriver(new AnnotationReader()); }
protected function setUp() { parent::setUp(); // SUT $this->_connectionMock = new ConnectionMock(array(), new \Doctrine\Tests\Mocks\DriverMock()); $this->_emMock = EntityManagerMock::create($this->_connectionMock); }
public function testPostUpdaetInsert() { $this->markTestSkipped(); return; $this->assertInstanceOf('Doctrine\Common\EventSubscriber', $this->listener, "instance of Doctrine\\Common\\EventSubscriber"); $em = \Doctrine\Tests\Mocks\EntityManagerMock::create(new \Doctrine\DBAL\Connection(array(), new \Doctrine\DBAL\Driver\PDOSqlite\Driver)); $args = new \Doctrine\ORM\Event\OnFlushEventArgs($em); $entity = new Versionable\EntityMock; $entity->setData("foo"); $em->persist($entity); $this->listener->postUpdate($args); $uow = $em->getUnitOfWork(); $ve = NULL; foreach ($uow->getScheduledEntityInsertions() as $ventity) { if ($ventity instanceof \Nella\Doctrine\Listeners\VersionEntity) { $ve = $ventity; } } $this->assertNotNull($ve, "is existing snapshot"); $this->assertEquals(get_class($entity), $ve->getEntityClass(), "validate snapshot class"); $this->assertEquals($entity->takeSnapshot(), $ve->getEntityData(), "validate snapshot data"); }
protected function setUp() { parent::setUp(); $this->_connectionMock = new ConnectionMock(array(), new \Doctrine\Tests\Mocks\DriverMock()); $this->_emMock = EntityManagerMock::create($this->_connectionMock); $this->_uowMock = new UnitOfWorkMock($this->_emMock); $this->_emMock->setUnitOfWork($this->_uowMock); // SUT $this->_proxyFactory = new ProxyFactory($this->_emMock, __DIR__ . '/generated', 'Proxies', true); }
protected function setUp() { parent::setUp(); $this->_connMock = new ConnectionMock(array(), new \Doctrine\Tests\Mocks\DriverMock()); $this->_emMock = EntityManagerMock::create($this->_connMock); $this->_uowMock = new UnitOfWorkMock($this->_emMock); $this->_emMock->setUnitOfWork($this->_uowMock); $this->_idGenMock = new SequenceMock($this->_emMock, 'seq', 20); //$this->_emMock->setIdGenerator('Doctrine\Tests\Models\Forum\ForumUser', $this->_idGenMock); }
public function setup() { $container = new \Nette\DI\Container; $container->params = array('productionMode' => FALSE, 'appDir' => __DIR__ . "/.."); $container->addService('entityManager', \Doctrine\Tests\Mocks\EntityManagerMock::create( new \Doctrine\DBAL\Connection(array(), new \Doctrine\DBAL\Driver\PDOSqlite\Driver) )); $container = new \Nella\Doctrine\Container($container); $this->service = new Service($container, 'NellaTests\Doctrine\Service\EntityMock'); }
public function setUp() { $em = EntityManagerMock::create(new ConnectionMock([], new DriverMock())); $this->qb = $em->createQueryBuilder()->select('p.name, p.price, c.name')->from('Product', 'p')->join('p.category', 'c'); $this->testObject = new \StdClass(); $this->testObject->name = 'foobar'; $this->testObject->price = 2.5; $this->testObject->category = new \StdClass(); $this->testObject->category->name = 'foo'; $this->dataSource = $this->createDataSourceMock([0 => 'p.name', 1 => 'p.price'], [$this->testObject]); }
/** * @group DDC-3490 * * @dataProvider invalidAssociationValuesDataProvider * * @param mixed $invalidValue */ public function testRejectsChangeSetComputationForObjectsWithInvalidAssociationValue($invalidValue) { $metadata = $this->_emMock->getClassMetadata('Doctrine\\Tests\\Models\\Forum\\ForumUser'); $this->_unitOfWork->setEntityPersister('Doctrine\\Tests\\Models\\Forum\\ForumUser', new EntityPersisterMock($this->_emMock, $metadata)); $user = new ForumUser(); $this->_unitOfWork->persist($user); $user->username = '******'; $user->avatar = $invalidValue; $this->setExpectedException('Doctrine\\ORM\\ORMInvalidArgumentException'); $this->_unitOfWork->computeChangeSet($metadata, $user); }
protected function _createEntityManager($metadataDriver) { $driverMock = new DriverMock(); $config = new \Doctrine\ORM\Configuration(); $config->setProxyDir(__DIR__ . '/../../Proxies'); $config->setProxyNamespace('Doctrine\\Tests\\Proxies'); $eventManager = new EventManager(); $conn = new ConnectionMock(array(), $driverMock, $config, $eventManager); $mockDriver = new MetadataDriverMock(); $config->setMetadataDriverImpl($metadataDriver); return EntityManagerMock::create($conn, $config, $eventManager); }
/** * Creates an EntityManager for testing purposes. * * NOTE: The created EntityManager will have its dependant DBAL parts completely * mocked out using a DriverMock, ConnectionMock, etc. These mocks can then * be configured in the tests to simulate the DBAL behavior that is desired * for a particular test, * * @return Doctrine\ORM\EntityManager */ protected function _getTestEntityManager($conn = null, $conf = null, $eventManager = null, $withSharedMetadata = true) { $metadataCache = $withSharedMetadata ? self::getSharedMetadataCacheImpl() : new \Doctrine\Common\Cache\ArrayCache(); $config = new \Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl($metadataCache); $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver()); $config->setQueryCacheImpl(self::getSharedQueryCacheImpl()); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Doctrine\\Tests\\Proxies'); if ($conn === null) { $conn = array('driverClass' => 'Doctrine\\Tests\\Mocks\\DriverMock', 'wrapperClass' => 'Doctrine\\Tests\\Mocks\\ConnectionMock', 'user' => 'john', 'password' => 'wayne'); } if (is_array($conn)) { $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager); } return \Doctrine\Tests\Mocks\EntityManagerMock::create($conn, $config, $eventManager); }
public function testGetClassName() { $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(DemoEntity::ENTITY_NAME)); $className = DemoEntity::ENTITY_NAME; $demoEntity = new $className(); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName($demoEntity)); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(array($demoEntity))); $classMetadata = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock(); $classMetadata->expects($this->once())->method('getName')->will($this->returnValue(DemoEntity::ENTITY_NAME)); $connectionMock = new ConnectionMock(array(), new \Doctrine\Tests\Mocks\DriverMock()); $emMock = EntityManagerMock::create($connectionMock); $persistentCollection = new PersistentCollection($emMock, $classMetadata, new ArrayCollection()); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName($persistentCollection)); $this->setExpectedException('Oro\\Bundle\\EntityConfigBundle\\Exception\\RuntimeException'); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(array())); }
), 'database' => array( 'driver' => "pdo_mysql", 'memory' => TRUE, ), ); $container->addService('cacheStorage', 'Nette\Caching\Storages\DevNullStorage'); $container->addService('templateCacheStorage', function(Nette\DI\Container $container) { return $container->cacheStorage; }); $container->addService('user', 'NellaTests\Mocks\User'); $container->addService('httpRequest', function() { $factory = new Nette\Http\RequestFactory; $factory->setEncoding('UTF-8'); return $factory->createHttpRequest(); }); $container->addService('httpResponse', 'Nette\Http\Response'); $container->addService('components', 'Nella\Application\UI\ComponentContainer'); $container->addService('macros', 'Nella\Latte\Macros'); $container->addService('model', function() { $context = new \Nella\Doctrine\Container; $context->addService('entityManager', \Doctrine\Tests\Mocks\EntityManagerMock::create( new \Doctrine\DBAL\Connection(array(), new \Doctrine\DBAL\Driver\PDOSqlite\Driver) )); return $context; }); $container->addService('latteEngine', 'Nella\Latte\Engine'); // Set DI Container Nette\Environment::setContext($container);
protected function setUp() { parent::setUp(); $this->_emMock = EntityManagerMock::create(new ConnectionMock([], new DriverMock())); }
/** * Creates an EntityManager for testing purposes. * * NOTE: The created EntityManager will have its dependant DBAL parts completely * mocked out using a DriverMock, ConnectionMock, etc. These mocks can then * be configured in the tests to simulate the DBAL behavior that is desired * for a particular test, * * @param \Doctrine\DBAL\Connection|array $conn * @param mixed $conf * @param \Doctrine\Common\EventManager|null $eventManager * @param bool $withSharedMetadata * * @return \Doctrine\ORM\EntityManager */ protected function _getTestEntityManager($conn = null, $conf = null, $eventManager = null, $withSharedMetadata = true) { $metadataCache = $withSharedMetadata ? self::getSharedMetadataCacheImpl() : new \Doctrine\Common\Cache\ArrayCache(); $config = new \Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl($metadataCache); $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(), true)); $config->setQueryCacheImpl(self::getSharedQueryCacheImpl()); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Doctrine\\Tests\\Proxies'); $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(realpath(__DIR__ . '/Models/Cache')), true)); if ($this->isSecondLevelCacheEnabled) { $cacheConfig = new \Doctrine\ORM\Cache\CacheConfiguration(); $cache = $this->getSharedSecondLevelCacheDriverImpl(); $factory = new DefaultCacheFactory($cacheConfig->getRegionsConfiguration(), $cache); $this->secondLevelCacheFactory = $factory; $cacheConfig->setCacheFactory($factory); $config->setSecondLevelCacheEnabled(true); $config->setSecondLevelCacheConfiguration($cacheConfig); } if ($conn === null) { $conn = array('driverClass' => 'Doctrine\\Tests\\Mocks\\DriverMock', 'wrapperClass' => 'Doctrine\\Tests\\Mocks\\ConnectionMock', 'user' => 'john', 'password' => 'wayne'); } if (is_array($conn)) { $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager); } return \Doctrine\Tests\Mocks\EntityManagerMock::create($conn, $config, $eventManager); }