mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-20 22:53:49 +00:00
eventListener created and tested for firstname, lastname and altnames
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Chill\PersonBundle\EventListener\PersonEventListener;
|
||||
use Chill\PersonBundle\Entity\Person;
|
||||
use Chill\PersonBundle\Entity\PersonAltName;
|
||||
use Doctrine\Persistence\Event\LifecycleEventArgs;
|
||||
|
||||
class PersonCreateEventTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider generateNames
|
||||
*/
|
||||
public function testOnPrePersist($firstname, $firstnameExpected, $lastname, $lastnameExpected)
|
||||
{
|
||||
$listener = new PersonEventListener();
|
||||
|
||||
$person = new Person();
|
||||
|
||||
$person->setFirstName($firstname);
|
||||
$person->setLastName($lastname);
|
||||
|
||||
$args = $this->createMock(LifecycleEventArgs::class);
|
||||
$args->method('getObject')
|
||||
->willReturn($person);
|
||||
|
||||
$listener->onPrePersist($args);
|
||||
|
||||
$this->assertEquals($firstnameExpected, $person->getFirstName());
|
||||
$this->assertEquals($lastnameExpected, $person->getLastName());
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider generateAltNames
|
||||
*/
|
||||
public function testAltNamesOnPrePersist($altname, $altnameExpected)
|
||||
{
|
||||
$listener = new PersonEventListener();
|
||||
|
||||
$personAltname = new PersonAltName();
|
||||
|
||||
$personAltname->setLabel($altname);
|
||||
|
||||
$args = $this->createMock(LifecycleEventArgs::class);
|
||||
$args->method('getObject')
|
||||
->willReturn($personAltname);
|
||||
|
||||
$listener->onPrePersist($args);
|
||||
|
||||
$this->assertEquals($altnameExpected, $personAltname->getLabel());
|
||||
}
|
||||
|
||||
public function generateNames(): iterator
|
||||
{
|
||||
yield ['julie', 'Julie', 'lenaerts', 'LENAERTS'];
|
||||
yield ['jean-marie', 'Jean-Marie', 'lenaerts', 'LENAERTS'];
|
||||
yield ['vinCENT', 'Vincent', 'van gogh', 'VAN GOGH'];
|
||||
yield ['Vincent', 'Vincent', 'van Gogh', 'VAN GOGH'];
|
||||
yield ['André marie', 'André Marie', 'Bah', 'BAH'];
|
||||
}
|
||||
|
||||
public function generateAltNames(): iterator
|
||||
{
|
||||
yield ['vinCENT', 'Vincent'];
|
||||
yield ['jean-marie', 'Jean-Marie'];
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user