test fixes

This commit is contained in:
Dennis Eichhorn 2023-10-16 22:23:57 +00:00
parent f6f275de25
commit dcf63ad927
6 changed files with 190 additions and 3 deletions

View File

@ -16,6 +16,7 @@ namespace Modules\Admin\tests\Models;
use Modules\Admin\Models\Account;
use Modules\Admin\Models\AccountMapper;
use Modules\Admin\Models\NullAccount;
use phpOMS\Account\AccountStatus;
use phpOMS\Account\AccountType;
use phpOMS\Auth\LoginReturnType;
@ -162,4 +163,15 @@ final class AccountMapperTest extends \PHPUnit\Framework\TestCase
self::assertEquals('admin', $accountR->login);
self::assertGreaterThan(0, $accountR->getPermissions());
}
/**
* @covers Modules\Admin\Models\AccountMapper
* @group module
*/
public function testGetWithPermissionInvalidId() : void
{
$accountR = AccountMapper::getWithPermissions(0);
self::assertInstanceOf(NullAccount::class, $accountR);
}
}

View File

@ -132,4 +132,16 @@ final class AddressTest extends \PHPUnit\Framework\TestCase
$this->address->unserialize(\json_encode($expected));
self::assertEquals(\json_encode($expected), $this->address->serialize());
}
public function testUnserializeInvalidType() : void
{
$this->address->unserialize(true);
self::assertTrue(true);
}
public function testUnserializeInvalidJson() : void
{
$this->address->unserialize('{{}');
self::assertTrue(true);
}
}

View File

@ -15,6 +15,8 @@ declare(strict_types=1);
namespace Modules\Admin\tests\Models;
use Modules\Admin\Models\App;
use phpOMS\Application\ApplicationStatus;
use phpOMS\Application\ApplicationType;
/**
* @testdox Modules\Admin\tests\Models\AppTest: App model
@ -24,13 +26,40 @@ use Modules\Admin\Models\App;
final class AppTest extends \PHPUnit\Framework\TestCase
{
/**
* @testdox The account has the expected default values after initialization
* @covers Modules\Admin\Models\App
* @group module
*/
public function testDefault() : void
{
$account = new App();
self::assertEquals(0, $account->id);
$app = new App();
self::assertEquals(0, $app->id);
}
public function testToArray() : void
{
$app = new App();
self::assertEquals(
[
'id' => 0,
'name' => '',
'type' => ApplicationType::WEB,
'status' => ApplicationStatus::NORMAL,
],
$app->toArray()
);
}
public function testJsonSerialize() : void
{
$app = new App();
self::assertEquals(
[
'id' => 0,
'name' => '',
'type' => ApplicationType::WEB,
'status' => ApplicationStatus::NORMAL,
],
$app->jsonSerialize()
);
}
}

View File

@ -0,0 +1,72 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Admin\tests\Models;
use Modules\Admin\Models\DataChange;
use phpOMS\Application\ApplicationStatus;
use phpOMS\Application\ApplicationType;
/**
* @testdox Modules\Admin\tests\Models\DataChangeTest: DataChange model
*
* @internal
*/
final class DataChangeTest extends \PHPUnit\Framework\TestCase
{
/**
* @covers Modules\Admin\Models\DataChange
* @group module
*/
public function testDefault() : void
{
$change = new DataChange();
self::assertEquals(0, $change->id);
self::assertEquals(32, \strlen($change->getHash()));
self::assertInstanceOf('\DateTimeImmutable', $change->createdAt);
}
public function testReHash() : void
{
$change = new DataChange();
$hash = $change->getHash();
$change->reHash();
self::assertNotEquals($hash, $change->getHash());
}
public function testToArray() : void
{
$change = new DataChange();
self::assertEquals(
[
'id' => 0,
'data' => '',
],
$change->toArray()
);
}
public function testJsonSerialize() : void
{
$change = new DataChange();
self::assertEquals(
[
'id' => 0,
'data' => '',
],
$change->jsonSerialize()
);
}
}

View File

@ -0,0 +1,52 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Admin\tests\Models;
use Modules\Admin\Models\NullApp;
/**
* @internal
*/
final class NullAppTest extends \PHPUnit\Framework\TestCase
{
/**
* @covers Modules\Admin\Models\NullApp
* @group module
*/
public function testNull() : void
{
self::assertInstanceOf('\Modules\Admin\Models\App', new NullApp());
}
/**
* @covers Modules\Admin\Models\NullApp
* @group module
*/
public function testId() : void
{
$null = new NullApp(2);
self::assertEquals(2, $null->id);
}
/**
* @covers Modules\Admin\Models\NullModule
* @group module
*/
public function testJsonSerialize() : void
{
$null = new NullApp(2);
self::assertEquals(['id' => 2], $null);
}
}

View File

@ -39,4 +39,14 @@ final class NullGroupPermissionTest extends \PHPUnit\Framework\TestCase
$null = new NullGroupPermission(2);
self::assertEquals(2, $null->id);
}
/**
* @covers Modules\Admin\Models\NullModule
* @group module
*/
public function testJsonSerialize() : void
{
$null = new NullGroupPermission(2);
self::assertEquals(['id' => 2], $null);
}
}