assertUrlIsSecured('/reporting/'); } public function testOverviewPage(): void { $client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN); $this->request($client, '/reporting/'); $nodes = $client->getCrawler()->filter('section.content div.row-cards a.card-link'); self::assertGreaterThanOrEqual(11, $nodes->count()); } public function testAllReports(): void { $client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN); $this->request($client, '/reporting/'); $nodes = $client->getCrawler()->filter('section.content div.row-cards a.card-link'); self::assertGreaterThanOrEqual(11, $nodes->count()); foreach ($nodes as $node) { self::assertNotNull($node->attributes); $link = $node->attributes->getNamedItem('href'); self::assertNotNull($link); $url = $link->nodeValue; self::assertNotNull($url); self::assertNotEmpty($url); if (str_starts_with($url, '/en/reporting/')) { $this->request($client, $url); } } } public function testOverviewPageAsUser(): void { $client = $this->getClientForAuthenticatedUser(User::ROLE_USER); $this->request($client, '/reporting/'); $nodes = $client->getCrawler()->filter('section.content div.row-cards a.card-link'); self::assertGreaterThanOrEqual(3, $nodes->count()); } }