From d72f6e149be3bcdc697f7edc64496c6cab7d2c06 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio@bekerle.com> Date: Wed, 19 Jan 2022 08:22:50 +0100 Subject: [PATCH] Fix tests and add PersonFromUserItemPostEvent test --- src/Resources/config/services_test.yaml | 5 +--- .../PersonFromUserItemSubscriber.php | 25 +++++++++++++++++++ tests/PersonTest.php | 12 ++++++--- 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 src/TestUtils/PersonFromUserItemSubscriber.php diff --git a/src/Resources/config/services_test.yaml b/src/Resources/config/services_test.yaml index 7ca9a82..50ed0ea 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 0000000..201dba4 --- /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 4e00527..f7c8888 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'], -- GitLab