/**
  * @test
  */
 public function testUser()
 {
     $user = new User(self::TEST_ID, User::TYPE_DIAMANTE);
     $this->assertEquals(self::TEST_ID, $user->getId());
     $this->assertEquals(User::TYPE_DIAMANTE, $user->getType());
     $this->assertEquals(User::TYPE_DIAMANTE . User::DELIMITER . self::TEST_ID, (string) $user);
 }
 /**
  * @param array $conditions
  * @param PagingProperties $pagingProperties
  * @param ApiUser|null $user
  * @return \Doctrine\Common\Collections\Collection|static
  * @throws \Exception
  */
 public function filter(array &$conditions, PagingProperties $pagingProperties, $user = null)
 {
     if ('key' == $pagingProperties->getSort()) {
         $qb = $this->orderByTicketKey($conditions, $pagingProperties);
     } else {
         $qb = $this->createFilterQuery($conditions, $pagingProperties);
     }
     if ($user instanceof DiamanteUser) {
         $user = new User($user->getId(), User::TYPE_DIAMANTE);
         $qb->andWhere(self::SELECT_ALIAS . '.reporter = :reporter');
         $watchedTickets = $this->getWatchedTicketsIds($user);
         if (!empty($watchedTickets)) {
             $qb->orWhere($qb->expr()->in('e.id', array_reverse($watchedTickets)));
         }
         $qb->setParameter('reporter', $user);
         $conditions[] = ['w', 'userType', 'eq', $user];
     }
     $query = $qb->getQuery();
     try {
         $result = $query->getResult(Query::HYDRATE_OBJECT);
     } catch (\Exception $e) {
         $result = null;
     }
     return $result;
 }
 /**
  * @param array $conditions
  * @param PagingProperties $pagingProperties
  * @param ApiUser $user
  * @return \Doctrine\Common\Collections\Collection|static
  * @throws \Exception
  */
 public function filter(array &$conditions, PagingProperties $pagingProperties, $user = null)
 {
     if ('key' == $pagingProperties->getSort()) {
         $qb = $this->orderByTicketKey($conditions, $pagingProperties);
     } else {
         $qb = $this->createFilterQuery($conditions, $pagingProperties);
     }
     if ($user instanceof DiamanteUser) {
         $user = new User($user->getId(), User::TYPE_DIAMANTE);
         $qb->addSelect('w')->join(self::SELECT_ALIAS . '.watcherList', 'w')->andWhere('w.userType = :watcher')->setParameter('watcher', $user);
         $conditions[] = ['w', 'userType', 'eq', $user];
     }
     $query = $qb->getQuery();
     try {
         $result = $query->getResult(Query::HYDRATE_OBJECT);
     } catch (\Exception $e) {
         $result = null;
     }
     return $result;
 }
 /**
  * @test
  * @expectedException \RuntimeException
  * @expectedExceptionMessage User loading failed. User not found
  */
 public function testThrowsExceptionIfUserNotFound()
 {
     $userValueObject = new User(1, User::TYPE_DIAMANTE);
     $this->diamanteUserRepository->expects($this->once())->method('get')->with($this->equalTo($userValueObject->getId()))->will($this->returnValue(null));
     $this->diamanteUserService->getByUser($userValueObject);
 }
Ejemplo n.º 5
0
 /**
  * @return string
  */
 public function getReporterId()
 {
     return $this->reporter->getId();
 }
 /**
  * @return int
  */
 public function getAuthorId()
 {
     return $this->author->getId();
 }