diff --git a/src/Resources/config/services_test.yaml b/src/Resources/config/services_test.yaml index 7ca9a824a0c6f8f9e7b8b84ae2fd72ab22d4f624..50ed0eabdfbc3ab94f721184c955b011cb84d02c 100644 --- a/src/Resources/config/services_test.yaml +++ b/src/Resources/config/services_test.yaml @@ -1,7 +1,4 @@ services: - Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider: + Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonFromUserItemSubscriber: autowire: true autoconfigure: true - - Dbp\Relay\BasePersonBundle\API\PersonProviderInterface: - '@Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider' diff --git a/src/TestUtils/PersonFromUserItemSubscriber.php b/src/TestUtils/PersonFromUserItemSubscriber.php new file mode 100644 index 0000000000000000000000000000000000000000..201dba470875770c1b09c889db754d25e586a4f9 --- /dev/null +++ b/src/TestUtils/PersonFromUserItemSubscriber.php @@ -0,0 +1,25 @@ +<?php + +declare(strict_types=1); + +namespace Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils; + +use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonFromUserItemPostEvent; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; + +class PersonFromUserItemSubscriber implements EventSubscriberInterface +{ + public static function getSubscribedEvents() + { + return [ + PersonFromUserItemPostEvent::NAME => 'onPost', + ]; + } + + public function onPost(PersonFromUserItemPostEvent $event) + { + $person = $event->getPerson(); + $person->setExtraData('test', 'my-test-string'); + $event->setPerson($person); + } +} diff --git a/tests/PersonTest.php b/tests/PersonTest.php index 4e00527ba96ba56a4cf1917e19526b1ffddac2f5..f7c888818f692073ba0688ffbd212de682f3f452 100644 --- a/tests/PersonTest.php +++ b/tests/PersonTest.php @@ -11,8 +11,9 @@ use Adldap\Query\Grammar; use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase; use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPApi; use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPPersonProvider; -use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider; +use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonFromUserItemSubscriber; use Mockery; +use Symfony\Component\EventDispatcher\EventDispatcher; class PersonTest extends ApiTestCase { @@ -29,8 +30,11 @@ class PersonTest extends ApiTestCase protected function setUp(): void { parent::setUp(); - $ldapApiProvider = new DummyLDAPApiProvider(); - $this->api = new LDAPApi(self::createClient()->getContainer(), $ldapApiProvider); + $personFromUserItemSubscriber = new PersonFromUserItemSubscriber(); + $eventDispatcher = new EventDispatcher(); + $eventDispatcher->addSubscriber($personFromUserItemSubscriber); + + $this->api = new LDAPApi(self::createClient()->getContainer(), $eventDispatcher); $this->api->setConfig([ 'ldap' => [ 'attributes' => [ @@ -84,7 +88,7 @@ class PersonTest extends ApiTestCase } } - public function testLDAPApiProvider() + public function testPersonFromUserItemPostEvent() { $user = new AdldapUser([ 'cn' => ['foobar'],