mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-09-13 13:57:10 +02:00
Optimized tests for fixture sources
This commit is contained in:
@@ -6,6 +6,8 @@ use Infinito\Entity\Meta\Right;
|
||||
use Infinito\DBAL\Types\Meta\Right\LayerType;
|
||||
use Infinito\DBAL\Types\ActionType;
|
||||
use Infinito\Entity\Source\SourceInterface;
|
||||
use Infinito\Entity\Meta\RightInterface;
|
||||
use Infinito\Entity\Meta\LawInterface;
|
||||
|
||||
/**
|
||||
* @author kevinfrantz
|
||||
@@ -13,18 +15,30 @@ use Infinito\Entity\Source\SourceInterface;
|
||||
final class EntityTemplateFactory extends Right
|
||||
{
|
||||
/**
|
||||
* @param SourceInterface $source
|
||||
* @param LawInterface $law
|
||||
* @param RightInterface $right
|
||||
*/
|
||||
public static function createStandartPublicRight(SourceInterface $source): Right
|
||||
private static function addRightToLaw(LawInterface $law, RightInterface $right)
|
||||
{
|
||||
$right = new Right();
|
||||
$law = $source->getLaw();
|
||||
$right->setLaw($law);
|
||||
$law->getRights()->add($right);
|
||||
$right->setSource($source);
|
||||
$right->setLayer(LayerType::SOURCE);
|
||||
$right->setActionType(ActionType::READ);
|
||||
}
|
||||
|
||||
return $right;
|
||||
/**
|
||||
* @param SourceInterface $source
|
||||
*/
|
||||
public static function createStandartPublicRights(SourceInterface $source): void
|
||||
{
|
||||
$law = $source->getLaw();
|
||||
$readRight = new Right();
|
||||
self::addRightToLaw($law, $readRight);
|
||||
$readRight->setSource($source);
|
||||
$readRight->setLayer(LayerType::SOURCE);
|
||||
$readRight->setActionType(ActionType::READ);
|
||||
$executeRight = new Right();
|
||||
self::addRightToLaw($law, $executeRight);
|
||||
$executeRight->setSource($source);
|
||||
$executeRight->setLayer(LayerType::SOURCE);
|
||||
$executeRight->setActionType(ActionType::EXECUTE);
|
||||
}
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@ final class GuestUserFixtureSource extends AbstractFixtureSource
|
||||
{
|
||||
$userSource = new UserSource();
|
||||
$userSource->setSlug(self::getSlug());
|
||||
EntityTemplateFactory::createStandartPublicRight($userSource);
|
||||
EntityTemplateFactory::createStandartPublicRights($userSource);
|
||||
|
||||
return $userSource;
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ final class HelpFixtureSource extends AbstractFixtureSource
|
||||
$helpSource = new TextSource();
|
||||
$helpSource->setText('See https://github.com/KevinFrantz/infinito/issues.');
|
||||
$helpSource->setSlug(self::getSlug());
|
||||
EntityTemplateFactory::createStandartPublicRight($helpSource);
|
||||
EntityTemplateFactory::createStandartPublicRights($helpSource);
|
||||
|
||||
return $helpSource;
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ final class HomepageFixtureSource extends AbstractFixtureSource
|
||||
$homepage = new TextSource();
|
||||
$homepage->setText('Welcome to infinito!');
|
||||
$homepage->setSlug(self::getSlug());
|
||||
EntityTemplateFactory::createStandartPublicRight($homepage);
|
||||
EntityTemplateFactory::createStandartPublicRights($homepage);
|
||||
|
||||
return $homepage;
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ final class ImpressumFixtureSource extends AbstractFixtureSource
|
||||
$impressumSource = new TextSource();
|
||||
$impressumSource->setText('Example Impressum');
|
||||
$impressumSource->setSlug(self::getSlug());
|
||||
EntityTemplateFactory::createStandartPublicRight($impressumSource);
|
||||
EntityTemplateFactory::createStandartPublicRights($impressumSource);
|
||||
|
||||
return $impressumSource;
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ final class InformationFixtureSource extends AbstractFixtureSource
|
||||
$informationSource = new TextSource();
|
||||
$informationSource->setText('See https://github.com/KevinFrantz/infinito/issues.');
|
||||
$informationSource->setSlug(self::getSlug());
|
||||
EntityTemplateFactory::createStandartPublicRight($informationSource);
|
||||
EntityTemplateFactory::createStandartPublicRights($informationSource);
|
||||
|
||||
return $informationSource;
|
||||
}
|
||||
|
Reference in New Issue
Block a user