Refactored code and implemented parts of AccessManagement

This commit is contained in:
Kevin Frantz
2019-04-13 20:12:32 +02:00
parent 67d753d9ef
commit 74aad46978
25 changed files with 412 additions and 372 deletions

View File

@@ -1,73 +0,0 @@
<?php
namespace tests\Unit\Domain\TemplateManagement;
use PHPUnit\Framework\TestCase;
use Infinito\Domain\TemplateManagement\ActionTemplateDataStoreServiceInterface;
use Infinito\Domain\TemplateManagement\ActionTemplateDataStoreService;
use Infinito\Exception\NoValidChoiceException;
use Infinito\Exception\NotSetException;
use Infinito\DBAL\Types\ActionType;
use Infinito\Exception\AllreadySetException;
use Infinito\Exception\NotCorrectInstanceException;
/**
* @author kevinfrantz
*/
class ActionTemplateDataStoreServiceTest extends TestCase
{
/**
* @var ActionTemplateDataStoreServiceInterface
*/
private $actionTemplateDataStoreService;
/**
* {@inheritdoc}
*
* @see \PHPUnit\Framework\TestCase::setUp()
*/
public function setUp(): void
{
$this->actionTemplateDataStoreService = new ActionTemplateDataStoreService();
}
public function testNotValidChoiceSetException(): void
{
$this->expectException(NoValidChoiceException::class);
$this->actionTemplateDataStoreService->setData('1231232N', ' ');
}
public function testNotCorrectInstanceSetException(): void
{
$this->expectException(NotCorrectInstanceException::class);
$data = new class() {
};
$this->actionTemplateDataStoreService->setData(ActionType::READ, $data);
}
public function testNotValidChoiceGetException(): void
{
$this->expectException(NoValidChoiceException::class);
$this->actionTemplateDataStoreService->getData('1231232N');
}
public function testNotSetGetException(): void
{
$this->expectException(NotSetException::class);
$this->actionTemplateDataStoreService->getData(ActionType::READ);
}
public function testAccessors(): void
{
foreach (ActionType::getValues() as $actionType) {
$instance = ActionTemplateDataStoreService::ACTION_DATA_MAPPING[$actionType];
$data = $this->createMock($instance);
$this->assertFalse($this->actionTemplateDataStoreService->isDataStored($actionType));
$this->assertNull($this->actionTemplateDataStoreService->setData($actionType, $data));
$this->assertTrue($this->actionTemplateDataStoreService->isDataStored($actionType));
$this->assertEquals($data, $this->actionTemplateDataStoreService->getData($actionType));
}
$this->expectException(AllreadySetException::class);
$this->assertNull($this->actionTemplateDataStoreService->setData($actionType, $data));
}
}