Example #1
0
 public function setUp()
 {
     $platform = new MySQL();
     $this->driver = $this->getMockBuilder(Driver::class)->disableOriginalConstructor()->setMethods(['getPlatform', 'query'])->getMockForAbstractClass();
     $this->driver->expects($this->any())->method('getPlatform')->will($this->returnValue($platform));
     $driver = new AnnotationMetadataDriver(new AnnotationReader());
     $this->entityManager = new EntityManager($this->driver, $driver);
     $this->entityManager->register('TestEntity', TestEntity::class);
     $this->entityManager->register('RelatedEntity', RelatedEntity::class);
     $this->entityManager->register('DeepRelationEntity', DeepRelationEntity::class);
     $this->entityManager->register('HasOneRelationEntity', HasOneRelationEntity::class);
     $this->entityManager->register('ManyManyRelationEntity', ManyManyRelationEntity::class);
     $this->entityManager->register('MultipleRelationEntity', MultipleRelationEntity::class);
     $this->entityManager->register('HasManyRelationEntity', HasManyRelationEntity::class);
     $this->entityManager->register('HasManyTargetEntity', HasManyTargetEntity::class);
 }
Example #2
0
 public function testThatDeleteIsNotCalledForNewRecords()
 {
     $entity = $this->entityManager->get('TestEntity');
     $object = $entity->create();
     $this->driver->expects($this->never())->method('query');
     $entity->delete($object);
 }
Example #3
0
 private function expectQueries(array $queries)
 {
     $statements = [];
     $queryMatchers = [];
     foreach ($queries as $query) {
         if (!is_array($query)) {
             $query = [$query, []];
         }
         if (!isset($query[1])) {
             $query[1] = [];
         }
         $queryMatchers[] = [$this->equalTo($query[0])];
         $statements[] = $this->createMockStatement($query[1]);
     }
     $driverExpect = $this->driver->expects($this->exactly(count($queries)))->method('query');
     call_user_func_array([$driverExpect, 'withConsecutive'], $queryMatchers)->will(call_user_func_array([$this, 'onConsecutiveCalls'], $statements));
 }
Example #4
0
 /**
  * Executes pending queries
  */
 public function commit()
 {
     $this->driver->inTransaction(function (Driver $driver, array $pendingQueries) {
         /** @var PendingQuery[] $pendingQueries */
         foreach ($pendingQueries as $item) {
             $item->execute();
         }
     }, $this->pendingQueries);
     $this->pendingQueries = [];
 }
Example #5
0
 /**
  * EntityFinder constructor.
  *
  * @param EntityManager $manager
  * @param Driver        $driver
  * @param Entity        $entity
  */
 public function __construct(EntityManager $manager, Driver $driver, Entity $entity)
 {
     $this->manager = $manager;
     $this->entity = $entity;
     $this->queryBuilder = $driver->getQueryBuilder();
 }