diff --git a/api/rector.php b/api/rector.php index 3f72e3e576..4089220aef 100644 --- a/api/rector.php +++ b/api/rector.php @@ -19,6 +19,7 @@ use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector; use Rector\PHPUnit\CodeQuality\Rector\ClassMethod\AddInstanceofAssertForNullableInstanceRector; use Rector\PHPUnit\CodeQuality\Rector\MethodCall\AssertEmptyNullableObjectToAssertInstanceofRector; +use Rector\PHPUnit\CodeQuality\Rector\StmtsAwareInterface\DeclareStrictTypesTestsRector; use Rector\Privatization\Rector\Class_\FinalizeTestCaseClassRector; use Rector\Renaming\Rector\FuncCall\RenameFunctionRector; use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector; @@ -50,6 +51,7 @@ CombineIfRector::class, ConstraintOptionsToNamedArgumentsRector::class, DeclareStrictTypesRector::class, + DeclareStrictTypesTestsRector::class, DisallowedEmptyRuleFixerRector::class, ExplicitBoolCompareRector::class, FinalizeTestCaseClassRector::class, diff --git a/api/src/Controller/CevidbController.php b/api/src/Controller/CevidbController.php index 69c0a3ce0e..f2653a4c6d 100644 --- a/api/src/Controller/CevidbController.php +++ b/api/src/Controller/CevidbController.php @@ -8,12 +8,14 @@ use Symfony\Component\Routing\Annotation\Route; class CevidbController extends AbstractController { + public function __construct(private readonly ClientRegistry $clientRegistry) {} + /** * Link to this controller to start the "connect" process. */ #[Route('/auth/cevidb', name: 'connect_cevidb_start')] - public function connect(Request $request, ClientRegistry $clientRegistry) { - return $clientRegistry + public function connect(Request $request) { + return $this->clientRegistry ->getClient('cevidb') // key used in config/packages/knpu_oauth2_client.yaml ->redirect([], ['additionalData' => ['callback' => $request->get('callback')]]) ; @@ -25,7 +27,7 @@ public function connect(Request $request, ClientRegistry $clientRegistry) { * in config/packages/knpu_oauth2_client.yaml. */ #[Route('/auth/cevidb/callback', name: 'connect_cevidb_check')] - public function connectCheck(ClientRegistry $clientRegistry) { + public function connectCheck() { // ** if you want to *authenticate* the user, then // leave this method blank and create a custom authenticator } diff --git a/api/src/Controller/GoogleController.php b/api/src/Controller/GoogleController.php index 17a96b8199..93229d3442 100644 --- a/api/src/Controller/GoogleController.php +++ b/api/src/Controller/GoogleController.php @@ -8,12 +8,14 @@ use Symfony\Component\Routing\Annotation\Route; class GoogleController extends AbstractController { + public function __construct(private readonly ClientRegistry $clientRegistry) {} + /** * Link to this controller to start the "connect" process. */ #[Route('/auth/google', name: 'connect_google_start')] - public function connect(Request $request, ClientRegistry $clientRegistry) { - return $clientRegistry + public function connect(Request $request) { + return $this->clientRegistry ->getClient('google') // key used in config/packages/knpu_oauth2_client.yaml ->redirect([], ['additionalData' => ['callback' => $request->get('callback')]]) ; @@ -25,7 +27,7 @@ public function connect(Request $request, ClientRegistry $clientRegistry) { * in config/packages/knpu_oauth2_client.yaml. */ #[Route('/auth/google/callback', name: 'connect_google_check')] - public function connectCheck(ClientRegistry $clientRegistry) { + public function connectCheck() { // ** if you want to *authenticate* the user, then // leave this method blank and create a custom authenticator } diff --git a/api/src/Controller/JubladbController.php b/api/src/Controller/JubladbController.php index 2a5800340d..ee21b626b8 100644 --- a/api/src/Controller/JubladbController.php +++ b/api/src/Controller/JubladbController.php @@ -8,12 +8,14 @@ use Symfony\Component\Routing\Annotation\Route; class JubladbController extends AbstractController { + public function __construct(private readonly ClientRegistry $clientRegistry) {} + /** * Link to this controller to start the "connect" process. */ #[Route('/auth/jubladb', name: 'connect_jubladb_start')] - public function connect(Request $request, ClientRegistry $clientRegistry) { - return $clientRegistry + public function connect(Request $request) { + return $this->clientRegistry ->getClient('jubladb') // key used in config/packages/knpu_oauth2_client.yaml ->redirect([], ['additionalData' => ['callback' => $request->get('callback')]]) ; @@ -25,7 +27,7 @@ public function connect(Request $request, ClientRegistry $clientRegistry) { * in config/packages/knpu_oauth2_client.yaml. */ #[Route('/auth/jubladb/callback', name: 'connect_jubladb_check')] - public function connectCheck(ClientRegistry $clientRegistry) { + public function connectCheck() { // ** if you want to *authenticate* the user, then // leave this method blank and create a custom authenticator } diff --git a/api/src/Controller/PbsmidataController.php b/api/src/Controller/PbsmidataController.php index 6a5d35ede3..bdc3926f68 100644 --- a/api/src/Controller/PbsmidataController.php +++ b/api/src/Controller/PbsmidataController.php @@ -8,12 +8,14 @@ use Symfony\Component\Routing\Annotation\Route; class PbsmidataController extends AbstractController { + public function __construct(private readonly ClientRegistry $clientRegistry) {} + /** * Link to this controller to start the "connect" process. */ #[Route('/auth/pbsmidata', name: 'connect_pbsmidata_start')] - public function connect(Request $request, ClientRegistry $clientRegistry) { - return $clientRegistry + public function connect(Request $request) { + return $this->clientRegistry ->getClient('pbsmidata') // key used in config/packages/knpu_oauth2_client.yaml ->redirect([], ['additionalData' => ['callback' => $request->get('callback')]]) ; @@ -25,7 +27,7 @@ public function connect(Request $request, ClientRegistry $clientRegistry) { * in config/packages/knpu_oauth2_client.yaml. */ #[Route('/auth/pbsmidata/callback', name: 'connect_pbsmidata_check')] - public function connectCheck(ClientRegistry $clientRegistry) { + public function connectCheck() { // ** if you want to *authenticate* the user, then // leave this method blank and create a custom authenticator } diff --git a/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php b/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php index 1dabdd9100..6ba12c5b20 100644 --- a/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php +++ b/api/tests/Doctrine/Filter/ExpressionDateTimeFilterTest.php @@ -56,7 +56,7 @@ public function setUp(): void { public function testGetDescriptionDoesNothingWhenNoPropertiesDefined() { // given - $filter = new ExpressionDateTimeFilter($this->managerRegistryMock, null, null); + $filter = new ExpressionDateTimeFilter($this->managerRegistryMock); // when $description = $filter->getDescription('Dummy'); diff --git a/api/tests/OAuth/JWTStateOAuth2ClientTest.php b/api/tests/OAuth/JWTStateOAuth2ClientTest.php index 94c4c9f47e..5f9134a539 100644 --- a/api/tests/OAuth/JWTStateOAuth2ClientTest.php +++ b/api/tests/OAuth/JWTStateOAuth2ClientTest.php @@ -106,9 +106,7 @@ public function testRedirectPersistsStateToTheDatabase() { // then $entityManagerMock->expects($this->once()) ->method('persist') - ->with($this->callback(function ($value) { - return $value instanceof OAuthState; - })) + ->with($this->isInstanceOf(OAuthState::class)) ; // Should also clean up the database table $repositoryMock->expects($this->once())->method('deleteAllExpiredBefore'); diff --git a/api/tests/Service/MailServiceTest.php b/api/tests/Service/MailServiceTest.php index b1f48b26f2..3c5a373ec9 100644 --- a/api/tests/Service/MailServiceTest.php +++ b/api/tests/Service/MailServiceTest.php @@ -24,7 +24,6 @@ class MailServiceTest extends KernelTestCase { private Camp $camp; private User $user; - private Security $security; private MailService $mailer; @@ -35,15 +34,15 @@ protected function setUp(): void { $translator = self::getContainer()->get(TranslatorInterface::class); $twigEnvironment = self::getContainer()->get(Environment::class); - $this->security = $this->createMock(Security::class); + $security = $this->createMock(Security::class); $profile = new Profile(); $profile->nickname = 'Linux'; $profile->email = 'sender@ecamp3.ch'; $user = new User(); $user->profile = $profile; - $this->security->method('getUser')->willReturn($user); + $security->method('getUser')->willReturn($user); - $this->mailer = new MailService($mailer, $translator, $twigEnvironment, 'frontend.example.com', 'sender@example.com', 'SenderName', $this->security); + $this->mailer = new MailService($mailer, $translator, $twigEnvironment, 'frontend.example.com', 'sender@example.com', 'SenderName', $security); $this->user = new User(); $profile = new Profile();