Переглянути джерело

add a supports method to AbstractExtension and to each extension

Olivier Massot 2 роки тому
батько
коміт
a8bdb8d1ee
21 змінених файлів з 137 додано та 130 видалено
  1. 37 7
      src/Doctrine/AbstractExtension.php
  2. 0 11
      src/Doctrine/Access/AccessExtensionInterface.php
  3. 15 0
      src/Doctrine/Access/AdditionalExtensions/AdditionalAccessExtensionInterface.php
  4. 6 3
      src/Doctrine/Access/AdditionalExtensions/DateTimeConstraintExtensionAdditional.php
  5. 7 4
      src/Doctrine/Access/AdditionalExtensions/StudentsExtensionAdditional.php
  6. 6 32
      src/Doctrine/Access/CurrentAccessExtension.php
  7. 5 6
      src/Doctrine/Access/CurrentUserPersonalizedListExtension.php
  8. 5 6
      src/Doctrine/Billing/CurrentResidenceAreaExtension.php
  9. 5 6
      src/Doctrine/Booking/CurrentCoursesExtension.php
  10. 4 5
      src/Doctrine/Core/AllowedAddressPostalExtension.php
  11. 5 5
      src/Doctrine/Core/CurrentUserNotificationExtension.php
  12. 4 5
      src/Doctrine/Core/CurrentUserNotificationUserExtension.php
  13. 4 6
      src/Doctrine/Education/CurrentCycleExtension.php
  14. 5 5
      src/Doctrine/Education/CurrentEducationNotationConfigExtension.php
  15. 5 5
      src/Doctrine/Education/CurrentEducationTimingExtension.php
  16. 5 5
      src/Doctrine/Network/CurrentNetworkOrganizationExtension.php
  17. 5 5
      src/Doctrine/Organization/CurrentOrganizationAddressPostalExtension.php
  18. 5 5
      src/Doctrine/Organization/CurrentOrganizationArticleExtension.php
  19. 4 4
      src/Doctrine/Organization/CurrentOrganizationExtension.php
  20. 3 3
      src/Service/ServiceIterator/CurrentAccessExtensionIterator.php
  21. 2 2
      tests/Unit/Service/ServiceIterator/CurrentAccessExtensionIteratorTest.php

+ 37 - 7
src/Doctrine/AbstractExtension.php

@@ -11,11 +11,13 @@ use Doctrine\ORM\QueryBuilder;
 use Exception;
 
 /**
- * Classe ... qui ...
+ * Base class for custom doctrine extensions
  */
 abstract class AbstractExtension implements QueryCollectionExtensionInterface, QueryItemExtensionInterface
 {
     /**
+     * Called by doctrine when getting a collection
+     *
      * @param QueryBuilder $queryBuilder
      * @param QueryNameGeneratorInterface $queryNameGenerator
      * @param string $resourceClass
@@ -26,10 +28,12 @@ abstract class AbstractExtension implements QueryCollectionExtensionInterface, Q
      */
     public function applyToCollection(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, Operation $operation = null, array $context = []): void
     {
-        $this->addWhere($queryBuilder, $resourceClass);
+        $this->apply($queryBuilder, $resourceClass);
     }
 
     /**
+     * Called by doctrine when getting an item
+     *
      * @param QueryBuilder $queryBuilder
      * @param QueryNameGeneratorInterface $queryNameGenerator
      * @param string $resourceClass
@@ -41,11 +45,37 @@ abstract class AbstractExtension implements QueryCollectionExtensionInterface, Q
      */
     public function applyToItem(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, array $identifiers, Operation $operation = null, array $context = []): void
     {
-        $this->addWhere($queryBuilder, $resourceClass);
+        $this->apply($queryBuilder, $resourceClass);
     }
 
-    protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
-    {
-        throw new Exception('need override addWhere function', 500);
+    /**
+     * Generic application of the extension
+     *
+     * @param $queryBuilder
+     * @param $resourceClass
+     * @return void
+     */
+    protected function apply(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void {
+        if (!$this->supports($resourceClass, $operation)) {
+            return;
+        }
+        $this->addWhere($queryBuilder, $resourceClass, $operation);
     }
-}
+
+    /**
+     * Returns true if the extension supports the given resource
+     *
+     * @param string $resourceClass
+     * @return bool
+     */
+    abstract protected function supports(string $resourceClass, ?Operation $operation): bool;
+
+    /**
+     * Add one or more filters to the query
+     *
+     * @param QueryBuilder $queryBuilder
+     * @param string $resourceClass
+     * @return void
+     */
+    abstract protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void;
+}

+ 0 - 11
src/Doctrine/Access/AccessExtensionInterface.php

@@ -1,11 +0,0 @@
-<?php
-declare(strict_types=1);
-
-namespace App\Doctrine\Access;
-
-use Doctrine\ORM\QueryBuilder;
-
-interface AccessExtensionInterface{
-    public function support(string $name): bool;
-    public function addWhere(QueryBuilder $queryBuilder): void;
-}

+ 15 - 0
src/Doctrine/Access/AdditionalExtensions/AdditionalAccessExtensionInterface.php

@@ -0,0 +1,15 @@
+<?php
+declare(strict_types=1);
+
+namespace App\Doctrine\Access\AdditionalExtensions;
+
+use Doctrine\ORM\QueryBuilder;
+
+/**
+ * Complément d'extension pour CurrentAccessExtension.
+ * Les classes implémentant cette interface seront appellées par le service CurrentAccessExtensionIterator
+ */
+interface AdditionalAccessExtensionInterface{
+    public function support(string $name): bool;
+    public function addWhere(QueryBuilder $queryBuilder): void;
+}

+ 6 - 3
src/Doctrine/Access/Extensions/DateTimeConstraintExtension.php → src/Doctrine/Access/AdditionalExtensions/DateTimeConstraintExtensionAdditional.php

@@ -1,13 +1,16 @@
 <?php
 declare(strict_types=1);
 
-namespace App\Doctrine\Access\Extensions;
+namespace App\Doctrine\Access\AdditionalExtensions;
 
-use App\Doctrine\Access\AccessExtensionInterface;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Component\HttpFoundation\RequestStack;
 
-class DateTimeConstraintExtension implements AccessExtensionInterface {
+/**
+ * Contrainte supplémentaire pour CurrentAccessExtension.
+ * Ajoute un critère de dates
+ */
+class DateTimeConstraintExtensionAdditional implements AdditionalAccessExtensionInterface {
     public function __construct(
         private RequestStack $requestStack
     ){

+ 7 - 4
src/Doctrine/Access/Extensions/StudentsExtension.php → src/Doctrine/Access/AdditionalExtensions/StudentsExtensionAdditional.php

@@ -1,12 +1,15 @@
 <?php
 declare(strict_types=1);
 
-namespace App\Doctrine\Access\Extensions;
+namespace App\Doctrine\Access\AdditionalExtensions;
 
-use App\Doctrine\Access\AccessExtensionInterface;
 use Doctrine\ORM\QueryBuilder;
 
-class StudentsExtension implements AccessExtensionInterface {
+/**
+ * Contrainte supplémentaire pour CurrentAccessExtension.
+ *
+ */
+class StudentsExtensionAdditional implements AdditionalAccessExtensionInterface {
 
     public function support(string $name): bool
     {
@@ -16,4 +19,4 @@ class StudentsExtension implements AccessExtensionInterface {
     public function addWhere(QueryBuilder $queryBuilder): void
     {
     }
-}
+}

+ 6 - 32
src/Doctrine/Access/CurrentAccessExtension.php

@@ -7,6 +7,7 @@ use ApiPlatform\Doctrine\Orm\Extension\QueryCollectionExtensionInterface;
 use ApiPlatform\Doctrine\Orm\Extension\QueryItemExtensionInterface;
 use ApiPlatform\Doctrine\Orm\Util\QueryNameGeneratorInterface;
 use ApiPlatform\Metadata\Operation;
+use App\Doctrine\AbstractExtension;
 use App\Entity\Access\Access;
 use App\Service\ServiceIterator\CurrentAccessExtensionIterator;
 use Doctrine\ORM\QueryBuilder;
@@ -16,7 +17,7 @@ use Symfony\Bundle\SecurityBundle\Security;
  * Class CurrentAccessExtension : Filtre de sécurité par défaut pour une resource Access
  * @package App\Doctrine\Access
  */
-final class CurrentAccessExtension  implements QueryCollectionExtensionInterface, QueryItemExtensionInterface
+final class CurrentAccessExtension extends AbstractExtension
 {
     public function __construct(
         private Security $security,
@@ -24,39 +25,12 @@ final class CurrentAccessExtension  implements QueryCollectionExtensionInterface
     )
     { }
 
-    /**
-     * @param QueryBuilder $queryBuilder
-     * @param QueryNameGeneratorInterface $queryNameGenerator
-     * @param string $resourceClass
-     * @param Operation|null $operation
-     * @param mixed[] $context
-     * @return void
-     */
-    public function applyToCollection(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, Operation $operation = null, array $context = []): void
-    {
-        $this->addWhere($queryBuilder, $resourceClass, $operation?->getName());
+    public function supports(string $resourceClass, ?Operation $operation): bool {
+        return $resourceClass === Access::class;
     }
 
-    /**
-     * @param QueryBuilder $queryBuilder
-     * @param QueryNameGeneratorInterface $queryNameGenerator
-     * @param string $resourceClass
-     * @param list<int> $identifiers
-     * @param Operation|null $operation
-     * @param mixed[] $context
-     * @return void
-     */
-    public function applyToItem(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, array $identifiers, Operation $operation = null, array $context = []): void
+    public function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void
     {
-        $this->addWhere($queryBuilder, $resourceClass, $operation?->getName());
-    }
-
-    public function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?string $operationName): void
-    {
-        if (Access::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -65,6 +39,6 @@ final class CurrentAccessExtension  implements QueryCollectionExtensionInterface
             ->setParameter('current_organization', $currentUser->getOrganization())
         ;
 
-        $this->currentAccessExtensionIterator->addWhere($queryBuilder, $operationName);
+        $this->currentAccessExtensionIterator->addWhere($queryBuilder, $operation?->getName());
     }
 }

+ 5 - 6
src/Doctrine/Access/CurrentUserPersonalizedListExtension.php

@@ -17,16 +17,15 @@ final class CurrentUserPersonalizedListExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === PersonalizedList::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (PersonalizedList::class !== $resourceClass) {
-            return;
-        }
-
-        /** @var PersonalizedList $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
         $queryBuilder->andWhere(sprintf('%s.access = :current_access', $rootAlias));
         $queryBuilder->setParameter('current_access', $currentUser);
     }
-}
+}

+ 5 - 6
src/Doctrine/Billing/CurrentResidenceAreaExtension.php

@@ -4,7 +4,6 @@ declare(strict_types=1);
 namespace App\Doctrine\Billing;
 
 use App\Doctrine\AbstractExtension;
-use App\Entity\Access\Access;
 use App\Entity\Billing\ResidenceArea;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
@@ -18,12 +17,12 @@ final class CurrentResidenceAreaExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === ResidenceArea::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (ResidenceArea::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +31,4 @@ final class CurrentResidenceAreaExtension extends AbstractExtension
             ->setParameter('billingSetting', $currentUser->getOrganization()->getBillingSetting())
         ;
     }
-}
+}

+ 5 - 6
src/Doctrine/Booking/CurrentCoursesExtension.php

@@ -4,7 +4,6 @@ declare(strict_types=1);
 namespace App\Doctrine\Booking;
 
 use App\Doctrine\AbstractExtension;
-use App\Entity\Access\Access;
 use App\Entity\Booking\Course;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
@@ -18,15 +17,15 @@ final class CurrentCoursesExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === Course::class;
+    }
+
     /**
      * @todo : A la suite de la migration, il faut supprimer le where avec le discr.
      */
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (Course::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -37,4 +36,4 @@ final class CurrentCoursesExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 4 - 5
src/Doctrine/Core/AllowedAddressPostalExtension.php

@@ -4,7 +4,6 @@ declare(strict_types=1);
 namespace App\Doctrine\Core;
 
 use App\Doctrine\AbstractExtension;
-use App\Entity\Access\Access;
 use App\Entity\Core\AddressPostal;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
@@ -18,12 +17,12 @@ final class AllowedAddressPostalExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === AddressPostal::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (AddressPostal::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];

+ 5 - 5
src/Doctrine/Core/CurrentUserNotificationExtension.php

@@ -10,7 +10,7 @@ use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
 
 /**
- * Class NotificationExtension : Filtre de sécurité par défaut pour une resource Notification
+ * Filtre de sécurité par défaut pour une resource Notification
  * @package App\Doctrine\Core
  */
 final class CurrentUserNotificationExtension extends AbstractExtension
@@ -18,15 +18,15 @@ final class CurrentUserNotificationExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === Notification::class;
+    }
+
     /**
      * @todo : A la suite de la migration, il faut supprimer le where avec le discr.
      */
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (Notification::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];

+ 4 - 5
src/Doctrine/Core/CurrentUserNotificationUserExtension.php

@@ -4,7 +4,6 @@ declare(strict_types=1);
 namespace App\Doctrine\Core;
 
 use App\Doctrine\AbstractExtension;
-use App\Entity\Access\Access;
 use App\Entity\Core\NotificationUser;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
@@ -19,15 +18,15 @@ final class CurrentUserNotificationUserExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === NotificationUser::class;
+    }
+
     /**
      * @todo : A la suite de la migration, il faut supprimer le where avec le discr.
      */
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (NotificationUser::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];

+ 4 - 6
src/Doctrine/Education/CurrentCycleExtension.php

@@ -18,13 +18,11 @@ final class CurrentCycleExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
-
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === Cycle::class;
+    }
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (Cycle::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -33,4 +31,4 @@ final class CurrentCycleExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 5 - 5
src/Doctrine/Education/CurrentEducationNotationConfigExtension.php

@@ -18,12 +18,12 @@ final class CurrentEducationNotationConfigExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === EducationNotationConfig::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (EducationNotationConfig::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +32,4 @@ final class CurrentEducationNotationConfigExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 5 - 5
src/Doctrine/Education/CurrentEducationTimingExtension.php

@@ -18,12 +18,12 @@ final class CurrentEducationTimingExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === EducationTiming::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (EducationTiming::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +32,4 @@ final class CurrentEducationTimingExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 5 - 5
src/Doctrine/Network/CurrentNetworkOrganizationExtension.php

@@ -18,12 +18,12 @@ final class CurrentNetworkOrganizationExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === NetworkOrganization::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (NetworkOrganization::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +32,4 @@ final class CurrentNetworkOrganizationExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 5 - 5
src/Doctrine/Organization/CurrentOrganizationAddressPostalExtension.php

@@ -18,12 +18,12 @@ final class CurrentOrganizationAddressPostalExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === OrganizationAddressPostal::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (OrganizationAddressPostal::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +32,4 @@ final class CurrentOrganizationAddressPostalExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 5 - 5
src/Doctrine/Organization/CurrentOrganizationArticleExtension.php

@@ -18,12 +18,12 @@ final class CurrentOrganizationArticleExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === OrganizationArticle::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (OrganizationArticle::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];
@@ -32,4 +32,4 @@ final class CurrentOrganizationArticleExtension extends AbstractExtension
             ->setParameter('organization', $currentUser->getOrganization())
         ;
     }
-}
+}

+ 4 - 4
src/Doctrine/Organization/CurrentOrganizationExtension.php

@@ -18,12 +18,12 @@ final class CurrentOrganizationExtension extends AbstractExtension
     public function __construct(private Security $security)
     { }
 
+    public function supports(string $resourceClass, ?string $operation): bool {
+        return $resourceClass === Organization::class;
+    }
+
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass): void
     {
-        if (Organization::class !== $resourceClass) {
-            return;
-        }
-
         /** @var Access $currentUser */
         $currentUser = $this->security->getUser();
         $rootAlias = $queryBuilder->getRootAliases()[0];

+ 3 - 3
src/Service/ServiceIterator/CurrentAccessExtensionIterator.php

@@ -3,18 +3,18 @@ declare(strict_types=1);
 
 namespace App\Service\ServiceIterator;
 
-use App\Doctrine\Access\AccessExtensionInterface;
+use App\Doctrine\Access\AdditionalExtensions\AdditionalAccessExtensionInterface;
 use Doctrine\ORM\QueryBuilder;
 
 class CurrentAccessExtensionIterator {
     /**
-     * @param iterable<AccessExtensionInterface> $extensions
+     * @param iterable<AdditionalAccessExtensionInterface> $extensions
      */
     public function __construct(readonly private iterable $extensions)
     { }
 
     public function addWhere(QueryBuilder $queryBuilder, string $operationName): void {
-        /** @var AccessExtensionInterface $extension */
+        /** @var AdditionalAccessExtensionInterface $extension */
         foreach ($this->extensions as $extension){
             if($extension->support($operationName)) {
                 $extension->addWhere($queryBuilder);

+ 2 - 2
tests/Unit/Service/ServiceIterator/CurrentAccessExtensionIteratorTest.php

@@ -2,7 +2,7 @@
 
 namespace App\Tests\Unit\Service\ServiceIterator;
 
-use App\Doctrine\Access\AccessExtensionInterface;
+use App\Doctrine\Access\AdditionalExtensions\AdditionalAccessExtensionInterface;
 use App\Service\ServiceIterator\CurrentAccessExtensionIterator;
 use Doctrine\ORM\QueryBuilder;
 use PHPUnit\Framework\TestCase;
@@ -18,7 +18,7 @@ class CurrentAccessExtensionIteratorTest extends TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $mocker = $this->getMockBuilder(AccessExtensionInterface::class);
+        $mocker = $this->getMockBuilder(AdditionalAccessExtensionInterface::class);
 
         $ext1 = $mocker->getMock();
         $ext1->method('support')->willReturn(false);