diff --git a/Entity/ClientManager.php b/Entity/ClientManager.php index 346c9732..615b7a82 100644 --- a/Entity/ClientManager.php +++ b/Entity/ClientManager.php @@ -25,11 +25,6 @@ class ClientManager extends BaseClientManager */ protected $em; - /** - * @var EntityRepository - */ - protected $repository; - /** * @var string */ @@ -37,12 +32,7 @@ class ClientManager extends BaseClientManager public function __construct(EntityManagerInterface $em, $class) { - // NOTE: bug in Doctrine, hinting EntityRepository|ObjectRepository when only EntityRepository is expected - /** @var EntityRepository $repository */ - $repository = $em->getRepository($class); - $this->em = $em; - $this->repository = $repository; $this->class = $class; } @@ -59,7 +49,7 @@ public function getClass() */ public function findClientBy(array $criteria) { - return $this->repository->findOneBy($criteria); + return $this->getRepository()->findOneBy($criteria); } /** @@ -79,4 +69,11 @@ public function deleteClient(ClientInterface $client) $this->em->remove($client); $this->em->flush(); } + + private function getRepository(): EntityRepository + { + $repository = $this->em->getRepository($this->class); + + return $repository; + } } diff --git a/Entity/TokenManager.php b/Entity/TokenManager.php index 4a87c17f..e4d46ad0 100644 --- a/Entity/TokenManager.php +++ b/Entity/TokenManager.php @@ -25,11 +25,6 @@ class TokenManager extends BaseTokenManager */ protected $em; - /** - * @var EntityRepository - */ - protected $repository; - /** * @var string */ @@ -37,12 +32,7 @@ class TokenManager extends BaseTokenManager public function __construct(EntityManagerInterface $em, $class) { - // NOTE: bug in Doctrine, hinting EntityRepository|ObjectRepository when only EntityRepository is expected - /** @var EntityRepository $repository */ - $repository = $em->getRepository($class); - $this->em = $em; - $this->repository = $repository; $this->class = $class; } @@ -59,7 +49,7 @@ public function getClass() */ public function findTokenBy(array $criteria) { - return $this->repository->findOneBy($criteria); + return $this->getRepository()->findOneBy($criteria); } /** @@ -85,7 +75,7 @@ public function deleteToken(TokenInterface $token) */ public function deleteExpired() { - $qb = $this->repository->createQueryBuilder('t'); + $qb = $this->getRepository()->createQueryBuilder('t'); $qb ->delete() ->where('t.expiresAt < ?1') @@ -94,4 +84,11 @@ public function deleteExpired() return $qb->getQuery()->execute(); } + + private function getRepository(): EntityRepository + { + $repository = $this->em->getRepository($this->class); + + return $repository; + } } diff --git a/Tests/Entity/ClientManagerTest.php b/Tests/Entity/ClientManagerTest.php index d575d320..86f342ba 100644 --- a/Tests/Entity/ClientManagerTest.php +++ b/Tests/Entity/ClientManagerTest.php @@ -58,7 +58,6 @@ public function setUp() $this->className = 'RandomClassName'.\random_bytes(5); $this->entityManager - ->expects($this->once()) ->method('getRepository') ->with($this->className) ->willReturn($this->repository) @@ -72,7 +71,6 @@ public function setUp() public function testConstructWillSetParameters() { $this->assertAttributeSame($this->entityManager, 'em', $this->instance); - $this->assertAttributeSame($this->repository, 'repository', $this->instance); $this->assertAttributeSame($this->className, 'class', $this->instance); } diff --git a/Tests/Entity/TokenManagerTest.php b/Tests/Entity/TokenManagerTest.php index acdeca16..a5d94294 100644 --- a/Tests/Entity/TokenManagerTest.php +++ b/Tests/Entity/TokenManagerTest.php @@ -15,12 +15,12 @@ use Doctrine\ORM\AbstractQuery; use Doctrine\ORM\EntityManager; -use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; use FOS\OAuthServerBundle\Entity\AccessToken; use FOS\OAuthServerBundle\Entity\TokenManager; use FOS\OAuthServerBundle\Model\TokenInterface; +use PHPUnit\Framework\MockObject\MockObject; /** * @group time-sensitive @@ -32,12 +32,12 @@ class TokenManagerTest extends \PHPUnit\Framework\TestCase { /** - * @var \PHPUnit_Framework_MockObject_MockObject|EntityManagerInterface + * @var MockObject */ protected $entityManager; /** - * @var \PHPUnit_Framework_MockObject_MockObject|EntityRepository + * @var MockObject */ protected $repository; @@ -64,7 +64,6 @@ public function setUp() ; $this->entityManager - ->expects($this->once()) ->method('getRepository') ->with($this->className) ->willReturn($this->repository) @@ -76,7 +75,6 @@ public function setUp() public function testConstructWillSetParameters() { $this->assertAttributeSame($this->entityManager, 'em', $this->instance); - $this->assertAttributeSame($this->repository, 'repository', $this->instance); $this->assertAttributeSame($this->className, 'class', $this->instance); }