Renamed GroupSourcesAttribut to MembershipsAttribut and Implemented\Optimized tests

This commit is contained in:
Kevin Frantz
2018-11-01 20:42:18 +01:00
parent 5f18245b73
commit 61186470da
10 changed files with 139 additions and 88 deletions

View File

@@ -0,0 +1,34 @@
<?php
namespace Tests\Unit\Entity\Attribut;
use PHPUnit\Framework\TestCase;
use App\Entity\Attribut\IdAttribut;
use App\Entity\Attribut\IdAttributInterface;
class IdAttributTest extends TestCase
{
/**
*
* @var IdAttributInterface
*/
protected $id;
public function setUp():void{
$this->id = new class implements IdAttributInterface{
use IdAttribut;
};
}
public function testConstruct():void{
$this->expectException(\TypeError::class);
$this->id->getId();
}
public function testAccessors():void{
$id = 1234;
$this->assertNull($this->id->setId($id));
$this->assertEquals($id, $this->id->getId());
}
}

View File

@@ -7,6 +7,7 @@ use App\Entity\Attribut\MembersAttributInterface;
use Doctrine\Common\Collections\ArrayCollection;
use App\Entity\Source\AbstractSource;
use App\Tests\AbstractTestCase;
use App\Entity\Source\SourceInterface;
class MembersAttributTest extends AbstractTestCase
{
@@ -49,8 +50,7 @@ class MembersAttributTest extends AbstractTestCase
public function testMembersAccessors()
{
$source1 = new class() extends AbstractSource {
};
$source1 = $this->createMock(SourceInterface::class);
$source2 = clone $source1;
$source3 = clone $source1;
$members = new ArrayCollection([
@@ -115,8 +115,7 @@ class MembersAttributTest extends AbstractTestCase
public function testMemberWithoutMembers(): void
{
$source1 = new class() extends AbstractSource {
};
$source1 = $this->createMock(SourceInterface::class);
$this->membersAttribut->setMembers(new ArrayCollection([$source1]));
$this->assertEquals(1, $this->membersAttribut->getMembersIncludingChildren()->count());
}

View File

@@ -0,0 +1,35 @@
<?php
namespace Tests\Unit\Entity\Attribut;
use PHPUnit\Framework\TestCase;
use App\Entity\Attribut\MembershipsAttributInterface;
use App\Entity\Attribut\MembershipsAttribut;
use App\Entity\Source\Collection\MemberCollectionSourceInterface;
use Doctrine\Common\Collections\ArrayCollection;
class MembershipsAttributTest extends TestCase
{
/**
*
* @var MembershipsAttributInterface
*/
protected $memberships;
public function setUp():void{
$this->memberships = new class implements MembershipsAttributInterface{
use MembershipsAttribut;
};
}
public function testConstructor():void {
$this->expectException(\TypeError::class);
$this->memberships->getMemberships();
}
public function testAccessors():void {
$membership = $this->createMock(MemberCollectionSourceInterface::class);
$this->assertNull($this->memberships->setMemberships(new ArrayCollection([$membership])));
$this->assertEquals($this->memberships->getMemberships()->get(0), $membership);
}
}

View File

@@ -7,15 +7,14 @@ use App\Entity\Source\SourceInterface;
use App\Entity\Meta\LawInterface;
use App\Entity\Meta\RelationInterface;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\ArrayCollection;
use App\Entity\Source\AbstractSource;
use App\Entity\EntityInterface;
/**
* @author kevinfrantz
*/
class AbstractSourceTest extends TestCase
{
const ID = 123;
/**
* @var SourceInterface
*/
@@ -23,33 +22,15 @@ class AbstractSourceTest extends TestCase
public function setUp()
{
$this->source = new class() extends \App\Entity\Source\AbstractSource {
$this->source = new class() extends AbstractSource {
};
$this->source->setId(self::ID);
}
public function testConstructor(): void
{
$this->assertInstanceOf(EntityInterface::class, $this->source);
$this->assertInstanceOf(RelationInterface::class, $this->source->getRelation());
}
public function testId()
{
$this->assertEquals($this->source->getId(), self::ID);
}
public function testLaw()
{
$this->assertInstanceOf(Collection::class, $this->source->getMemberships());
$this->assertInstanceOf(LawInterface::class, $this->source->getLaw());
}
public function testGroups()
{
$this->assertInstanceOf(Collection::class, $this->source->getGroupSources());
$group = new class() extends AbstractSource {
};
$groups = new ArrayCollection([$group]);
$this->source->setGroupSources($groups);
$this->assertEquals($group, $this->source->getGroupSources()->get(0));
}
}
}