test fixes and changes for release

This commit is contained in:
Dennis Eichhorn 2022-12-25 00:06:17 +01:00
parent 5465fa027e
commit b5407e4994
8 changed files with 128 additions and 155 deletions

View File

@ -0,0 +1,13 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Karaka
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);

View File

@ -117,7 +117,7 @@ class Audit
* @var int
* @since 1.0.0
*/
private int $ip = 0;
public int $ip = 0;
/**
* Constructor.
@ -168,102 +168,4 @@ class Audit
{
return $this->id;
}
/**
* Get type.
*
* @return int
*
* @since 1.0.0
*/
public function getType() : int
{
return $this->type;
}
/**
* Get subtype.
*
* @return string
*
* @since 1.0.0
*/
public function getTrigger() : string
{
return $this->trigger;
}
/**
* Get Module.
*
* @return null|string
*
* @since 1.0.0
*/
public function getModule() : ?string
{
return $this->module;
}
/**
* Get reference.
*
* If existing this can be a reference to another model
*
* @return null|string
*
* @since 1.0.0
*/
public function getRef() : ?string
{
return $this->ref;
}
/**
* Get content.
*
* @return null|string
*
* @since 1.0.0
*/
public function getContent() : ?string
{
return $this->content;
}
/**
* Get old value.
*
* @return null|string
*
* @since 1.0.0
*/
public function getOld() : ?string
{
return $this->old;
}
/**
* Get new value.
*
* @return null|string
*
* @since 1.0.0
*/
public function getNew() : ?string
{
return $this->new;
}
/**
* Get ip.
*
* @return int
*
* @since 1.0.0
*/
public function getIp() : int
{
return $this->ip;
}
}

View File

@ -108,17 +108,17 @@ echo $this->getData('nav')->render(); ?>
<tr tabindex="0" data-href="<?= $url; ?>">
<td><?= $audit->getId(); ?>
<td><?= $this->printHtml($audit->getModule()); ?>
<td><?php if ($audit->getOld() === null) : echo $this->getHtml('CREATE'); ?>
<?php elseif ($audit->getOld() !== null && $audit->getNew() !== null) : echo $this->getHtml('UPDATE'); ?>
<?php elseif ($audit->getNew() === null) : echo $this->getHtml('DELETE'); ?>
<td><?php if ($audit->old === null) : echo $this->getHtml('CREATE'); ?>
<?php elseif ($audit->old !== null && $audit->new !== null) : echo $this->getHtml('UPDATE'); ?>
<?php elseif ($audit->new=== null) : echo $this->getHtml('DELETE'); ?>
<?php else : echo $this->getHtml('UNKNOWN'); ?>
<?php endif; ?>
<td><?= $audit->getType(); ?>
<td><?= $audit->getTrigger(); ?>
<td><?= $this->printHtml($audit->type); ?>
<td><?= $this->printHtml($audit->trigger); ?>
<td><a class="content" href="<?= UriFactory::build('{/lang}/{/app}/admin/account/settings?id=' . $audit->createdBy->getId()); ?>"><?= $this->printHtml(
$this->renderUserName('%3$s %2$s %1$s', [$audit->createdBy->name1, $audit->createdBy->name2, $audit->createdBy->name3, $audit->createdBy->login])
); ?></a>
<td><?= $this->printHtml($audit->getRef()); ?>
<td><?= $this->printHtml($audit->ref); ?>
<td><?= $audit->createdAt->format('Y-m-d H:i:s'); ?>
<?php endforeach; ?>
<?php if ($count === 0) : ?>

View File

@ -43,39 +43,39 @@ echo $this->getData('nav')->render();
<table class="list">
<tr>
<th><?= $this->getHtml('Action'); ?>
<td><?php if ($audit->getOld() === null) : echo $this->getHtml('CREATE'); ?>
<?php elseif ($audit->getOld() !== null && $audit->getNew() !== null) : echo $this->getHtml('UPDATE'); ?>
<?php elseif ($audit->getNew() === null) : echo $this->getHtml('DELETE'); ?>
<td><?php if ($audit->old === null) : echo $this->getHtml('CREATE'); ?>
<?php elseif ($audit->old !== null && $audit->new !== null) : echo $this->getHtml('UPDATE'); ?>
<?php elseif ($audit->new === null) : echo $this->getHtml('DELETE'); ?>
<?php else : echo $this->getHtml('UNKNOWN'); ?>
<?php endif; ?>
<tr>
<th><?= $this->getHtml('Type'); ?>
<td><?= $audit->getType(); ?>
<td><?= $audit->type; ?>
<tr>
<th><?= $this->getHtml('By'); ?>
<td><a href="<?= UriFactory::build('{/lang}/{/app}/admin/account/settings?{?}&id=' . $audit->createdBy->getId()); ?>"><?= $audit->createdBy->name1; ?> <?= $audit->createdBy->name2; ?></a>
<tr>
<th><?= $this->getHtml('Ref'); ?>
<td><?= $this->printHtml($audit->getRef()); ?>
<td><?= $this->printHtml($audit->ref); ?>
<tr>
<th><?= $this->getHtml('Date'); ?>
<td><?= $this->getDateTime($audit->createdAt, 'very_long'); ?>
<tr>
<th><?= $this->getHtml('Module'); ?>
<td><a href="<?= UriFactory::build('{/lang}/{/app}/admin/module/settings?{?}&id=' . $audit->getModule()); ?>"><?= $audit->getModule(); ?></a>
<td><a href="<?= UriFactory::build('{/lang}/{/app}/admin/module/settings?{?}&id=' . $audit->module); ?>"><?= $audit->module; ?></a>
<tr>
<th><?= $this->getHtml('IP'); ?>
<td><?= \long2ip($audit->getIp()); ?>
<td><?= \long2ip($audit->ip); ?>
</table>
<article>
<pre><?= \phpOMS\Utils\StringUtils::createDiffMarkup(
ViewAbstract::html(\stripos($audit->getOld() ?? '', '{') === 0
? \json_encode(\json_decode($audit->getOld()), \JSON_PRETTY_PRINT)
: $audit->getOld() ?? ''
ViewAbstract::html(\stripos($audit->old ?? '', '{') === 0
? \json_encode(\json_decode($audit->old), \JSON_PRETTY_PRINT)
: $audit->old ?? ''
),
ViewAbstract::html(\stripos($audit->getNew() ?? '', '{') === 0
? \json_encode(\json_decode($audit->getNew()), \JSON_PRETTY_PRINT)
: $audit->getNew() ?? ''
ViewAbstract::html(\stripos($audit->new ?? '', '{') === 0
? \json_encode(\json_decode($audit->new), \JSON_PRETTY_PRINT)
: $audit->new ?? ''
),
"\n"
); ?>

View File

@ -257,6 +257,25 @@ $CONFIG = [
'root' => '/',
'https' => false,
],
'app' => [
'path' => __DIR__,
'default' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
'domains' => [
'127.0.0.1' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
],
],
'socket' => [
'master' => [
'host' => '127.0.0.1',

View File

@ -97,13 +97,13 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
foreach($logs as $log) {
if ($log->getId() > 0
&& $log->getType() === 1
&& $log->getTrigger() === 'test-trigger'
&& $log->getModule() === 'Auditor'
&& $log->getRef() === 'abc'
&& $log->getContent() === 'def'
&& $log->getOld() === null
&& $log->getNew() === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->type === 1
&& $log->trigger === 'test-trigger'
&& $log->module === 'Auditor'
&& $log->ref === 'abc'
&& $log->content === 'def'
&& $log->old === null
&& $log->new === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
) {
self::assertTrue(true);
return;
@ -126,13 +126,13 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$found = false;
foreach($logs as $log) {
if ($log->getId() > 0
&& $log->getType() === 1
&& $log->getTrigger() === 'test-trigger'
&& $log->getModule() === 'Auditor'
&& $log->getRef() === 'abc'
&& $log->getContent() === 'def'
&& $log->getOld() === \json_encode(['id' => 2, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->getNew() === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->type === 1
&& $log->trigger === 'test-trigger'
&& $log->module === 'Auditor'
&& $log->ref === 'abc'
&& $log->content === 'def'
&& $log->old === \json_encode(['id' => 2, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->new === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
) {
$found = true;
break;
@ -168,13 +168,13 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
foreach($logs as $log) {
if ($log->getId() > 0
&& $log->getType() === 1
&& $log->getTrigger() === 'test-trigger'
&& $log->getModule() === 'Auditor'
&& $log->getRef() === 'abc'
&& $log->getContent() === 'def'
&& $log->getOld() === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->getNew() === null
&& $log->type === 1
&& $log->trigger === 'test-trigger'
&& $log->module === 'Auditor'
&& $log->ref === 'abc'
&& $log->content === 'def'
&& $log->old === \json_encode(['id' => 1, 'test' => true], \JSON_PRETTY_PRINT)
&& $log->new === null
) {
self::assertTrue(true);
return;

View File

@ -14,9 +14,48 @@ declare(strict_types=1);
namespace Modules\Auditor\tests\Models;
use Modules\Admin\Models\NullAccount;
use Modules\Auditor\Models\Audit;
use Modules\Auditor\Models\AuditMapper;
/**
* @internal
*/
final class AuditMapperTest extends \PHPUnit\Framework\TestCase
{
/**
* @covers Modules\Auditor\Models\AuditMapper
* @group module
*/
public function testCR() : void
{
$audit = new Audit(
new NullAccount(1),
'old',
'new',
1,
'test-trigger',
'Admin',
'test-ref',
'test-content',
10000
);
$id = AuditMapper::create()->execute($audit);
self::assertGreaterThan(0, $audit->getId());
self::assertEquals($id, $audit->getId());
$auditR = AuditMapper::get()
->where('id', $audit->getId())
->execute();
self::assertEquals($audit->type, $auditR->type);
self::assertEquals($audit->trigger, $auditR->trigger);
self::assertEquals($audit->module, $auditR->module);
self::assertEquals($audit->ref, $auditR->ref);
self::assertEquals($audit->content, $auditR->content);
self::assertEquals($audit->old, $auditR->old);
self::assertEquals($audit->new, $auditR->new);
self::assertEquals($audit->ip, $auditR->ip);
}
}

View File

@ -33,14 +33,14 @@ final class AuditTest extends \PHPUnit\Framework\TestCase
{
$audit = new Audit();
self::assertEquals(0, $audit->getId());
self::assertEquals(0, $audit->getType());
self::assertEquals('', $audit->getTrigger());
self::assertNull($audit->getModule());
self::assertNull($audit->getRef());
self::assertNull($audit->getContent());
self::assertNull($audit->getOld());
self::assertNull($audit->getNew());
self::assertEquals(0, $audit->getIp());
self::assertEquals(0, $audit->type);
self::assertEquals('', $audit->trigger);
self::assertNull($audit->module);
self::assertNull($audit->ref);
self::assertNull($audit->content);
self::assertNull($audit->old);
self::assertNull($audit->new);
self::assertEquals(0, $audit->ip);
self::assertEquals(0, $audit->createdBy->getId());
self::assertInstanceOf('\DateTimeImmutable', $audit->createdAt);
}
@ -62,14 +62,14 @@ final class AuditTest extends \PHPUnit\Framework\TestCase
\ip2long('127.0.0.1')
);
self::assertEquals(1, $audit->getType());
self::assertEquals('trigger', $audit->getTrigger());
self::assertEquals(3, $audit->getModule());
self::assertEquals('test', $audit->getRef());
self::assertEquals('content', $audit->getContent());
self::assertEquals('old', $audit->getOld());
self::assertEquals('new', $audit->getNew());
self::assertEquals(\ip2long('127.0.0.1'), $audit->getIp());
self::assertEquals(1, $audit->type);
self::assertEquals('trigger', $audit->trigger);
self::assertEquals(3, $audit->module);
self::assertEquals('test', $audit->ref);
self::assertEquals('content', $audit->content);
self::assertEquals('old', $audit->old);
self::assertEquals('new', $audit->new);
self::assertEquals(\ip2long('127.0.0.1'), $audit->ip);
self::assertEquals(0, $audit->createdBy->getId());
}
}