mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-20 14:43:49 +00:00
56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Validator\Person;
|
|
|
|
use Chill\PersonBundle\Entity\Person;
|
|
use Chill\PersonBundle\Validator\Constraints\Person\Birthdate;
|
|
use Symfony\Component\Validator\Constraints\Length;
|
|
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
|
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
|
|
|
class PersonValidationTest extends KernelTestCase
|
|
{
|
|
private ValidatorInterface $validator;
|
|
|
|
protected function setUp()
|
|
{
|
|
self::bootKernel();
|
|
$this->validator = self::$container->get(ValidatorInterface::class);
|
|
}
|
|
|
|
public function testFirstnameValidation()
|
|
{
|
|
$person = (new Person())
|
|
->setFirstname(\str_repeat('a', 500));
|
|
$errors = $this->validator->validate($person, null, ["creation"]);
|
|
foreach ($errors->getIterator() as $error) {
|
|
if (Length::TOO_LONG_ERROR === $error->getCode()) {
|
|
$this->assertTrue(true,
|
|
"error code for firstname too long is present");
|
|
return;
|
|
}
|
|
}
|
|
$this->assertTrue(false,
|
|
"error code for fistname too long is present");
|
|
|
|
}
|
|
|
|
public function testBirthdateInFuture()
|
|
{
|
|
$person = (new Person())
|
|
->setBirthdate(new \Datetime('+2 months'));
|
|
$errors = $this->validator->validate($person, null, ["creation"]);
|
|
foreach ($errors->getIterator() as $error) {
|
|
if (Birthdate::BIRTHDATE_INVALID_CODE === $error->getCode()) {
|
|
$this->assertTrue(true,
|
|
"error code for birthdate invalid is present");
|
|
return;
|
|
}
|
|
}
|
|
$this->assertTrue(false,
|
|
"error code for birthdate invalid is present");
|
|
|
|
}
|
|
|
|
}
|