em = self::$container->get(EntityManagerInterface::class); } public static function tearDownAfterClass(): void { self::bootKernel(); $em = self::$container->get(EntityManagerInterface::class); foreach (self::$entitiesToDelete as [$class, $id]) { $entity = $em->find($class, $id); if (null !== $entity) { $em->remove($entity); } } $em->flush(); } public function generateNewsItemIds(): iterable { /* $qb = $em->createQueryBuilder(); $newsItems = $qb->select('n')->from(NewsItem::class, 'n') ->setMaxResults(2) ->getQuery() ->getResult();*/ $this->setUp(); $newsItem = new NewsItem(); $newsItem->setTitle('Lorem Ipsum'); $newsItem->setContent('some text'); $newsItem->setStartDate(new \DateTimeImmutable('now')); $this->em->persist($newsItem); self::$entitiesToDelete[] = [NewsItem::class, $newsItem]; yield [$newsItem]; $this->em->flush(); $this->em->clear(); } public function testList() { $client = $this->getClientAuthenticated('admin', 'password'); $client->request('GET', '/fr/admin/news_item'); self::assertResponseIsSuccessful('News item admin page shows'); } /** * @dataProvider generateNewsItemIds * * test gets skipped... why? */ public function testShowSingleItem(NewsItem $newsItem) { $client = $this->getClientAuthenticated('admin', 'password'); $client->request('GET', "/fr/admin/news_item/{$newsItem->getId()}/view"); self::assertResponseIsSuccessful('Single news item admin page loads successfully'); self::$entitiesToDelete[] = [NewsItem::class, $newsItem]; } }