Skip to content

Commit 4e73cd5

Browse files
committed
Merge branch 'hotfix/1.9.2'
2 parents a1d5560 + 21af0c3 commit 4e73cd5

File tree

4 files changed

+88
-4
lines changed

4 files changed

+88
-4
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.9.2] - 2026-04-07
11+
12+
- [#67](https://github.com/itk-dev/devops_itksites/pull/67)
13+
6654: Fix `#[AdminRoute] attribute error, add smoke tests for admin routes
14+
-
15+
1016
## [1.9.1] - 2026-04-07
1117

1218
- [#66](https://github.com/itk-dev/devops_itksites/pull/66)
@@ -145,7 +151,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
145151

146152
## [1.0.0] - 2022-09-15
147153

148-
[Unreleased]: https://github.com/itk-dev/devops_itksites/compare/1.9.1...HEAD
154+
[Unreleased]: https://github.com/itk-dev/devops_itksites/compare/1.9.2...HEAD
155+
[1.9.2]: https://github.com/itk-dev/devops_itksites/compare/1.9.1...1.9.2
149156
[1.9.1]: https://github.com/itk-dev/devops_itksites/compare/1.9.0...1.9.1
150157
[1.9.0]: https://github.com/itk-dev/devops_itksites/compare/1.8.9...1.9.0
151158
[1.8.10]: https://github.com/itk-dev/devops_itksites/compare/1.8.9...1.8.10

config/packages/webpack_encore.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ framework:
4040
# # Available in version 1.2
4141
# cache: true
4242

43-
#when@test:
44-
# webpack_encore:
45-
# strict_mode: false
43+
when@test:
44+
webpack_encore:
45+
strict_mode: false

src/Trait/ExportCrudControllerTrait.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Trait;
66

77
use App\Service\Exporter;
8+
use EasyCorp\Bundle\EasyAdminBundle\Attribute\AdminRoute;
89
use EasyCorp\Bundle\EasyAdminBundle\Collection\FieldCollection;
910
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
1011
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
@@ -39,6 +40,7 @@ protected function createExportAction(string|TranslatableMessage|null $label = n
3940
->linkToCrudAction('export');
4041
}
4142

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

0 commit comments

Comments
 (0)