infinito/application/symfony/tests/Unit/Entity/Meta/LawTest.php

49 lines
1.4 KiB
PHP
Raw Normal View History

2018-10-31 14:28:32 +01:00
<?php
namespace tests\unit\Entity\Meta;
2018-10-31 14:28:32 +01:00
use Doctrine\Common\Collections\ArrayCollection;
2020-04-02 21:13:35 +02:00
use Doctrine\Common\Collections\Collection;
use Infinito\Entity\Meta\Law;
2020-04-02 21:13:35 +02:00
use Infinito\Entity\Meta\LawInterface;
use Infinito\Entity\Meta\Right;
2020-04-02 21:13:35 +02:00
use PHPUnit\Framework\TestCase;
2018-10-31 14:28:32 +01:00
class LawTest extends TestCase
{
/**
* @var LawInterface
*/
protected $law;
public function setUp(): void
{
$this->law = new Law();
}
public function testConstruct(): void
{
2019-01-01 21:33:13 +01:00
$this->assertFalse($this->law->getGrant());
2018-10-31 14:28:32 +01:00
$this->assertInstanceOf(Collection::class, $this->law->getRights());
}
public function testRights(): void
{
$right = new Right();
$rights = new ArrayCollection([$right, new Right(), new Right()]);
$this->assertNull($this->law->setRights($rights));
$this->assertEquals($right, $this->law->getRights()->get(0));
}
2019-03-29 18:44:22 +01:00
/**
* Implemented to debug where ReflectionException "Property Infinito\\Entity\\Meta\\Law::$relation does not exist" is coming from.
*/
public function testRelationNotSet(): void
{
$reflectionClass = new \ReflectionClass($this->law);
$this->assertFalse($reflectionClass->hasMethod('getRelation'));
$this->assertFalse($reflectionClass->hasMethod('setRelation'));
$this->assertFalse($reflectionClass->hasProperty('relation'));
}
2018-10-31 14:28:32 +01:00
}