mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-21 07:03:49 +00:00
move validation on person into annotations
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<?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");
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user