Version 1.0.0
This commit is contained in:
57
tests/BuilderTest.php
Normal file
57
tests/BuilderTest.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Diffhead\PHP\DataEnrichmentKit\Tests;
|
||||
|
||||
use Diffhead\PHP\DataEnrichmentKit\Builder;
|
||||
use Diffhead\PHP\DataEnrichmentKit\Exception\TargetIsNull;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\CoversMethod;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(Builder::class)]
|
||||
#[CoversMethod(Builder::class, 'withTarget')]
|
||||
#[CoversMethod(Builder::class, 'item')]
|
||||
#[CoversMethod(Builder::class, 'target')]
|
||||
#[CoversMethod(Builder::class, 'build')]
|
||||
class BuilderTest extends TestCase
|
||||
{
|
||||
public function testBuildingWithTarget(): void
|
||||
{
|
||||
$builder = Builder::withTarget('entity', 'field');
|
||||
|
||||
$this->assertInstanceOf(Builder::class, $builder);
|
||||
}
|
||||
|
||||
public function testItemsInsideTheRequest(): void
|
||||
{
|
||||
$builder = new Builder();
|
||||
$builder->item('key', 'alias');
|
||||
|
||||
$request = $builder->target('entity', 'field')->build();
|
||||
|
||||
$this->assertCount(1, $request->items()->getIterator());
|
||||
$this->assertEquals('key', $request->items()->getIterator()[0]->key());
|
||||
$this->assertEquals('alias', $request->items()->getIterator()[0]->alias());
|
||||
}
|
||||
|
||||
public function testTargetInsideTheRequest(): void
|
||||
{
|
||||
$builder = new Builder();
|
||||
$builder->target('entity', 'field');
|
||||
|
||||
$request = $builder->build();
|
||||
|
||||
$this->assertEquals('entity', $request->target()->entity());
|
||||
$this->assertEquals('field', $request->target()->field());
|
||||
}
|
||||
|
||||
public function testBuildThrowsExceptionWhenTargetIsNull(): void
|
||||
{
|
||||
$this->expectException(TargetIsNull::class);
|
||||
|
||||
$builder = new Builder();
|
||||
$builder->build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user