start_sf5_project_reboot/app/tests/Utils/ValidatorTest.php

103 lines
2.8 KiB
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Utils;
use App\Utils\Validator;
use PHPUnit\Framework\TestCase;
class ValidatorTest extends TestCase
{
private $validator;
protected function setUp(): void
{
$this->validator = new Validator();
}
public function testValidateUsername(): void
{
$test = 'username';
$this->assertSame($test, $this->validator->validateUsername($test));
}
public function testValidateUsernameEmpty(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The username can not be empty.');
$this->validator->validateUsername(null);
}
public function testValidateUsernameInvalid(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The username must contain only lowercase latin characters and underscores.');
$this->validator->validateUsername('INVALID');
}
public function testValidatePassword(): void
{
$test = 'password';
$this->assertSame($test, $this->validator->validatePassword($test));
}
public function testValidatePasswordEmpty(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The password can not be empty.');
$this->validator->validatePassword(null);
}
public function testValidatePasswordInvalid(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The password must be at least 6 characters long.');
$this->validator->validatePassword('12345');
}
public function testValidateEmail(): void
{
$test = '@';
$this->assertSame($test, $this->validator->validateEmail($test));
}
public function testValidateEmailEmpty(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The email can not be empty.');
$this->validator->validateEmail(null);
}
public function testValidateEmailInvalid(): void
{
$this->expectException('Exception');
$this->expectExceptionMessage('The email should look like a real email.');
$this->validator->validateEmail('invalid');
}
public function testValidateFullName(): void
{
$test = 'Full Name';
$this->assertSame($test, $this->validator->validateFullName($test));
}
public function testValidateFullNameEmpty()
{
$this->expectException('Exception');
$this->expectExceptionMessage('The full name can not be empty.');
$this->validator->validateFullName(null);
}
}