infinito/application/symfony/tests/Unit/Domain/Right/RightLayerCombinationServiceTest.php

57 lines
1.9 KiB
PHP
Raw Normal View History

2019-01-12 15:40:54 +01:00
<?php
namespace tests\Unit\Domain\Right;
2019-01-12 15:40:54 +01:00
use Infinito\DBAL\Types\Meta\Right\CRUDType;
use Infinito\DBAL\Types\Meta\Right\LayerType;
2020-04-02 21:13:35 +02:00
use Infinito\Domain\Right\RightLayerCombinationService;
use Infinito\Domain\Right\RightLayerCombinationServiceInterface;
use PHPUnit\Framework\TestCase;
2019-01-12 15:40:54 +01:00
/**
* @author kevinfrantz
*/
class RightLayerCombinationServiceTest extends TestCase
{
/**
* @var RightLayerCombinationServiceInterface
*/
public $rightLayerCombinationService;
/**
* {@inheritdoc}
*
* @see \PHPUnit\Framework\TestCase::setUp()
*/
public function setUp()
{
$this->rightLayerCombinationService = new RightLayerCombinationService();
}
public function testBySource(): void
{
foreach (CRUDType::getValues() as $crudType) {
2019-01-12 15:40:54 +01:00
$layers = $this->rightLayerCombinationService->getPossibleLayers($crudType);
$this->assertContains(LayerType::SOURCE, $layers);
$sourceCruds = $this->rightLayerCombinationService->getPossibleCruds(LayerType::SOURCE);
$this->assertContains($crudType, $sourceCruds);
}
}
public function testByLaw(): void
{
foreach ([CRUDType::DELETE, CRUDType::CREATE] as $crudType) {
$layers = $this->rightLayerCombinationService->getPossibleLayers($crudType);
$this->assertNotContains(LayerType::LAW, $layers);
$sourceCruds = $this->rightLayerCombinationService->getPossibleCruds(LayerType::LAW);
$this->assertNotContains($crudType, $sourceCruds);
}
foreach ([CRUDType::READ, CRUDType::UPDATE] as $crudType) {
$layers = $this->rightLayerCombinationService->getPossibleLayers($crudType);
$this->assertContains(LayerType::LAW, $layers);
$sourceCruds = $this->rightLayerCombinationService->getPossibleCruds(LayerType::LAW);
$this->assertContains($crudType, $sourceCruds);
}
}
}