%PDF- %PDF-
| Direktori : /www/varak.net/dmarc.varak.net/tests/classes/Users/ |
| Current File : //www/varak.net/dmarc.varak.net/tests/classes/Users/UserTest.php |
<?php
namespace Liuch\DmarcSrg;
use Liuch\DmarcSrg\Users\User;
use Liuch\DmarcSrg\Exception\SoftException;
use PHPUnit\Framework\Attributes\DataProvider;
class UserTest extends \PHPUnit\Framework\TestCase
{
public function testConstantsExistence(): void
{
$this->assertIsInt(User::LEVEL_ADMIN);
$this->assertIsInt(User::LEVEL_MANAGER);
$this->assertIsInt(User::LEVEL_USER);
}
public function testLevelValue(): void
{
$this->assertGreaterThan(User::LEVEL_MANAGER, User::LEVEL_ADMIN);
$this->assertGreaterThan(User::LEVEL_USER, User::LEVEL_MANAGER);
}
/**
* @dataProvider dataProvider1
*/
#[DataProvider('dataProvider1')]
public function testLevelToStringCorrectValue(int $ilevel, string $slevel): void
{
$this->assertSame(User::levelToString($ilevel), $slevel);
}
/**
* @dataProvider dataProvider1
*/
#[DataProvider('dataProvider1')]
public function testLevelToStringIncorrectValue(int $ilevel, string $slevel): void
{
if ($ilevel === User::LEVEL_USER) {
$this->assertSame(User::levelToString($ilevel - 1), $slevel);
} else {
$this->assertNotSame(User::levelToString($ilevel - 1), $slevel);
}
}
/**
* @dataProvider dataProvider1
*/
#[DataProvider('dataProvider1')]
public function testStringToLevelCorrectValue(int $ilevel, string $slevel): void
{
$this->assertSame(User::stringToLevel($slevel), $ilevel);
}
public function testStringToLevelIncorrectValue(): void
{
$this->expectException(SoftException::class);
User::stringToLevel('wrong_level');
}
public static function dataProvider1(): array
{
return [
[ User::LEVEL_ADMIN, 'admin' ],
[ User::LEVEL_MANAGER, 'manager' ],
[ User::LEVEL_USER, 'user' ]
];
}
}