-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathAdminSmokeTest.php
More file actions
75 lines (65 loc) · 2.94 KB
/
Copy pathAdminSmokeTest.php
File metadata and controls
75 lines (65 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
declare(strict_types=1);
namespace App\Tests\Controller\Admin;
use App\Controller\Admin\AdvisoryCrudController;
use App\Controller\Admin\DetectionResultCrudController;
use App\Controller\Admin\DockerImageCrudController;
use App\Controller\Admin\DockerImageTagCrudController;
use App\Controller\Admin\DomainCrudController;
use App\Controller\Admin\GitRepoCrudController;
use App\Controller\Admin\GitTagCrudController;
use App\Controller\Admin\InstallationCrudController;
use App\Controller\Admin\ModuleCrudController;
use App\Controller\Admin\ModuleVersionCrudController;
use App\Controller\Admin\OIDCCrudController;
use App\Controller\Admin\PackageCrudController;
use App\Controller\Admin\PackageVersionCrudController;
use App\Controller\Admin\ServerCrudController;
use App\Controller\Admin\ServiceCertificateCrudController;
use App\Controller\Admin\SiteCrudController;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Hautelook\AliceBundle\PhpUnit\RefreshDatabaseTrait;
use PHPUnit\Framework\Attributes\DataProvider;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class AdminSmokeTest extends WebTestCase
{
use RefreshDatabaseTrait;
#[DataProvider('crudControllerProvider')]
public function testCrudIndexPageLoads(string $controllerClass): void
{
$client = static::createClient();
$user = static::getContainer()->get('doctrine')->getManager()
->getRepository(User::class)->findOneBy([]);
$client->loginUser($user);
$url = static::getContainer()->get(AdminUrlGenerator::class)
->setController($controllerClass)
->setAction(Crud::PAGE_INDEX)
->generateUrl();
$client->request('GET', $url);
$this->assertResponseIsSuccessful();
}
/**
* @return iterable<string, array{string}>
*/
public static function crudControllerProvider(): iterable
{
yield 'Advisory' => [AdvisoryCrudController::class];
yield 'DetectionResult' => [DetectionResultCrudController::class];
yield 'DockerImage' => [DockerImageCrudController::class];
yield 'DockerImageTag' => [DockerImageTagCrudController::class];
yield 'Domain' => [DomainCrudController::class];
yield 'GitRepo' => [GitRepoCrudController::class];
yield 'GitTag' => [GitTagCrudController::class];
yield 'Installation' => [InstallationCrudController::class];
yield 'Module' => [ModuleCrudController::class];
yield 'ModuleVersion' => [ModuleVersionCrudController::class];
yield 'OIDC' => [OIDCCrudController::class];
yield 'Package' => [PackageCrudController::class];
yield 'PackageVersion' => [PackageVersionCrudController::class];
yield 'Server' => [ServerCrudController::class];
yield 'ServiceCertificate' => [ServiceCertificateCrudController::class];
yield 'Site' => [SiteCrudController::class];
}
}