From f1450129390e5030c5118c438c604bf00ce5cb80 Mon Sep 17 00:00:00 2001 From: Tavo Nieves J Date: Wed, 9 Dec 2020 20:39:18 -0500 Subject: [PATCH 1/2] Added grabNumRecords function --- src/Codeception/Module/Symfony.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/Codeception/Module/Symfony.php b/src/Codeception/Module/Symfony.php index c228fe78..7b73a8df 100644 --- a/src/Codeception/Module/Symfony.php +++ b/src/Codeception/Module/Symfony.php @@ -857,6 +857,33 @@ public function seeNumRecords(int $expectedNum, string $className, array $criter ); } + /** + * Retrieves number of records from database + * 'id' is the default search parameter. + * + * ```php + * grabNumRecords('User::class', ['name' => 'davert']); + * ``` + * + * @param string $entityClass The entity class + * @param array $criteria Optional query criteria + * @return integer + */ + public function grabNumRecords(string $entityClass, array $criteria = []) + { + $em = $this->_getEntityManager(); + $repository = $em->getRepository($entityClass); + + if (empty($criteria)) { + return (int)$repository->createQueryBuilder('a') + ->select('count(a.id)') + ->getQuery() + ->getSingleScalarResult(); + } + return $repository->count($criteria); + } + /** * Invalidate the current session. * ```php From 90f9a29eb6f85f1c5c60d119c73a08be3060cb4f Mon Sep 17 00:00:00 2001 From: Tavo Nieves J Date: Wed, 9 Dec 2020 20:39:57 -0500 Subject: [PATCH 2/2] Use grabNumRecords in seeNumRecords --- src/Codeception/Module/Symfony.php | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/Codeception/Module/Symfony.php b/src/Codeception/Module/Symfony.php index 7b73a8df..f30b8123 100644 --- a/src/Codeception/Module/Symfony.php +++ b/src/Codeception/Module/Symfony.php @@ -835,17 +835,7 @@ private function getPossibleKernelClasses() */ public function seeNumRecords(int $expectedNum, string $className, array $criteria = []) { - $em = $this->_getEntityManager(); - $repository = $em->getRepository($className); - - if (empty($criteria)) { - $currentNum = (int)$repository->createQueryBuilder('a') - ->select('count(a.id)') - ->getQuery() - ->getSingleScalarResult(); - } else { - $currentNum = $repository->count($criteria); - } + $currentNum = $this->grabNumRecords($className, $criteria); $this->assertEquals( $expectedNum,