Skip to content

Commit 09e053f

Browse files
committed
Merge branch 'main' into feat/api-client-crud
2 parents 92135bb + 743bb7a commit 09e053f

File tree

9 files changed

+23
-15
lines changed

9 files changed

+23
-15
lines changed

assets/controllers/stats_map_controller.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ let cachedOrganizationsData = null;
88

99
// Configuration des territoires d'outre-mer
1010
const OVERSEAS_TERRITORIES = [
11-
{ name: 'Guadeloupe', center: [-61.55, 16.25], zoom: 8.5 },
12-
{ name: 'Martinique', center: [-61.02, 14.64], zoom: 9 },
11+
{ name: 'Guadeloupe', center: [-61.55, 16.25], zoom: 7.5 },
12+
{ name: 'Martinique', center: [-61.02, 14.64], zoom: 8 },
1313
{ name: 'Guyane', center: [-53.13, 3.93], zoom: 5 },
14-
{ name: 'La Réunion', center: [55.536, -21.115], zoom: 8 },
15-
{ name: 'Mayotte', center: [45.166244, -12.8275], zoom: 10 },
14+
{ name: 'La Réunion', center: [55.536, -21.115], zoom: 7.5 },
15+
{ name: 'Mayotte', center: [45.166244, -12.8275], zoom: 8 },
1616
];
1717

1818
// Bounding box de la France métropolitaine

src/Infrastructure/Controller/MyArea/Organization/ApiClient/CreateApiClientController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use App\Application\User\Query\GetOrganizationUsersQuery;
1212
use App\Domain\Organization\Exception\UserAlreadyHasApiClientForOrganizationException;
1313
use App\Infrastructure\Controller\MyArea\Organization\AbstractOrganizationController;
14+
use App\Infrastructure\Form\Organization\CreateApiClientFormType;
1415
use App\Infrastructure\Security\Voter\OrganizationVoter;
1516
use Symfony\Bundle\SecurityBundle\Security;
1617
use Symfony\Component\Form\FormFactoryInterface;
@@ -52,7 +53,7 @@ public function __invoke(Request $request, string $uuid): Response
5253
}
5354

5455
$users = $this->queryBus->handle(new GetOrganizationUsersQuery($uuid));
55-
$form = $this->formFactory->create(\App\Infrastructure\Form\Organization\CreateApiClientFormType::class, null, [
56+
$form = $this->formFactory->create(CreateApiClientFormType::class, null, [
5657
'users' => $users,
5758
'organization_uuid' => $uuid,
5859
]);

src/Infrastructure/Persistence/Doctrine/Migrations/Version20250318120000.php renamed to src/Infrastructure/Persistence/Doctrine/Migrations/Version20250926120000.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Doctrine\DBAL\Schema\Schema;
88
use Doctrine\Migrations\AbstractMigration;
99

10-
final class Version20250318120000 extends AbstractMigration
10+
final class Version20250926120000 extends AbstractMigration
1111
{
1212
public function getDescription(): string
1313
{

templates/my_area/organization/api_client/create.html.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<h3 class="fr-h5 fr-x-text--default-grey">{{ 'api_client.create.title'|trans }}</h3>
2020
<p class="fr-x-text">{{ 'api_client.create.description'|trans }}</p>
2121
{{ form_start(form) }}
22+
{{ form_errors(form) }}
2223
{{ form_row(form.user, { group_class: 'fr-input-group', widget_class: 'fr-select' }) }}
2324
<a href="{{ path('app_config_api_clients_list', {uuid: organization.uuid}) }}" class="fr-btn fr-btn--tertiary fr-mr-3w">
2425
{{ "common.cancel"|trans }}

tests/Integration/Infrastructure/Controller/MyArea/Organization/ApiClient/CreateApiClientControllerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public function testCreateApiClientForm(): void
1717

1818
$this->assertResponseStatusCodeSame(200);
1919
$this->assertSecurityHeaders();
20-
$this->assertSame('Créer une clé d\'API', $crawler->filter('h3')->first()->text());
20+
$this->assertSame('Créer une clé d' . "\u{2019}" . 'API', $crawler->filter('h3')->first()->text());
2121

2222
$submitButton = $crawler->selectButton('Créer la clé');
2323
$form = $submitButton->form();

tests/Integration/Infrastructure/Controller/MyArea/Organization/ApiClient/DeleteApiClientControllerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88
use App\Infrastructure\Persistence\Doctrine\Fixtures\OrganizationFixture;
99
use App\Infrastructure\Persistence\Doctrine\Fixtures\UserFixture;
1010
use App\Tests\Integration\Infrastructure\Controller\AbstractWebTestCase;
11+
use App\Tests\SessionHelper;
1112

1213
final class DeleteApiClientControllerTest extends AbstractWebTestCase
1314
{
15+
use SessionHelper;
16+
1417
public function testDeleteRedirectsToList(): void
1518
{
1619
$client = $this->login(UserFixture::DEPARTMENT_93_ADMIN_EMAIL);
@@ -19,7 +22,7 @@ public function testDeleteRedirectsToList(): void
1922
'/mon-espace/organizations/' . OrganizationFixture::SEINE_SAINT_DENIS_ID . '/api-clients/' . ApiClientFixture::SEINE_SAINT_DENIS_API_CLIENT_UUID,
2023
[
2124
'_method' => 'DELETE',
22-
'_token' => $client->getContainer()->get('security.csrf.token_manager')->getToken('delete-api-client')->getValue(),
25+
'_token' => $this->generateCsrfToken($client, 'delete-api-client'),
2326
],
2427
);
2528
$client->followRedirect();
@@ -36,7 +39,7 @@ public function testDeleteWhenNotEditDenied(): void
3639
'/mon-espace/organizations/' . OrganizationFixture::REGION_IDF_ID . '/api-clients/' . ApiClientFixture::SAINT_OUEN_API_CLIENT_UUID,
3740
[
3841
'_method' => 'DELETE',
39-
'_token' => $client->getContainer()->get('security.csrf.token_manager')->getToken('delete-api-client')->getValue(),
42+
'_token' => $this->generateCsrfToken($client, 'delete-api-client'),
4043
],
4144
);
4245
$this->assertResponseStatusCodeSame(403);

tests/Integration/Infrastructure/Controller/MyArea/Organization/ApiClient/RegenerateApiClientControllerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,20 @@
88
use App\Infrastructure\Persistence\Doctrine\Fixtures\OrganizationFixture;
99
use App\Infrastructure\Persistence\Doctrine\Fixtures\UserFixture;
1010
use App\Tests\Integration\Infrastructure\Controller\AbstractWebTestCase;
11+
use App\Tests\SessionHelper;
1112

1213
final class RegenerateApiClientControllerTest extends AbstractWebTestCase
1314
{
15+
use SessionHelper;
16+
1417
public function testRegenerateRedirectsToList(): void
1518
{
1619
$client = $this->login(UserFixture::DEPARTMENT_93_ADMIN_EMAIL);
1720
$client->request(
1821
'POST',
1922
'/mon-espace/organizations/' . OrganizationFixture::SEINE_SAINT_DENIS_ID . '/api-clients/' . ApiClientFixture::SEINE_SAINT_DENIS_API_CLIENT_UUID . '/regenerate',
2023
[
21-
'_token' => $client->getContainer()->get('security.csrf.token_manager')->getToken('regenerate-api-client')->getValue(),
24+
'_token' => $this->generateCsrfToken($client, 'regenerate-api-client'),
2225
],
2326
);
2427
$client->followRedirect();
@@ -34,7 +37,7 @@ public function testRegenerateWhenNotEditDenied(): void
3437
'POST',
3538
'/mon-espace/organizations/' . OrganizationFixture::REGION_IDF_ID . '/api-clients/' . ApiClientFixture::SAINT_OUEN_API_CLIENT_UUID . '/regenerate',
3639
[
37-
'_token' => $client->getContainer()->get('security.csrf.token_manager')->getToken('regenerate-api-client')->getValue(),
40+
'_token' => $this->generateCsrfToken($client, 'regenerate-api-client'),
3841
],
3942
);
4043
$this->assertResponseStatusCodeSame(403);

tests/Unit/Application/Organization/ApiClient/Command/DeleteApiClientCommandHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function testRemovesApiClient(): void
2626
$apiClientUuid = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';
2727
$apiClient = new ApiClient($apiClientUuid);
2828

29-
$this->apiClientRepository->method('find')->with($apiClientUuid)->willReturn($apiClient);
29+
$this->apiClientRepository->method('findOneByUuid')->with($apiClientUuid)->willReturn($apiClient);
3030
$this->apiClientRepository->expects(self::once())->method('remove')->with($apiClient);
3131

3232
$handler = new DeleteApiClientCommandHandler(
@@ -38,7 +38,7 @@ public function testRemovesApiClient(): void
3838

3939
public function testThrowsWhenApiClientNotFound(): void
4040
{
41-
$this->apiClientRepository->method('find')->willReturn(null);
41+
$this->apiClientRepository->method('findOneByUuid')->willReturn(null);
4242
$this->apiClientRepository->expects(self::never())->method('remove');
4343

4444
$handler = new DeleteApiClientCommandHandler(

tests/Unit/Application/Organization/ApiClient/Command/RegenerateApiClientSecretCommandHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function testRegeneratesSecretAndReturnsView(): void
3131
$apiClient = new ApiClient($apiClientUuid);
3232
$apiClient->setClientId('client-123')->setClientSecret('old-hash')->setIsActive(true);
3333

34-
$this->apiClientRepository->method('find')->with($apiClientUuid)->willReturn($apiClient);
34+
$this->apiClientRepository->method('findOneByUuid')->with($apiClientUuid)->willReturn($apiClient);
3535
$hasher = $this->createMock(PasswordHasherInterface::class);
3636
$hasher->method('hash')->willReturn('new-hashed-secret');
3737
$this->passwordHasherFactory->method('getPasswordHasher')->willReturn($hasher);
@@ -50,7 +50,7 @@ public function testRegeneratesSecretAndReturnsView(): void
5050

5151
public function testThrowsWhenApiClientNotFound(): void
5252
{
53-
$this->apiClientRepository->method('find')->willReturn(null);
53+
$this->apiClientRepository->method('findOneByUuid')->willReturn(null);
5454

5555
$handler = new RegenerateApiClientSecretCommandHandler(
5656
$this->apiClientRepository,

0 commit comments

Comments
 (0)