Attainly/backend/tests/Unit/Element/ElementTest.php
2026-08-08 22:17:03 +03:00

49 lines
1.3 KiB
PHP

<?php
namespace Tests\Unit\Element;
use App\Element\Element;
use App\Set\Set;
use App\Shared\ValueObject\EmailAddress;
use App\User\User;
use PHPUnit\Framework\TestCase;
class ElementTest extends TestCase
{
public function test_it_exposes_its_hierarchical_identity(): void
{
$creator = new User(
id: 7,
email: new EmailAddress('creator@example.com'),
passwordHash: 'hashed-password',
);
$set = new Set(
id: 11,
name: 'Bible',
creator: $creator,
);
$parentElement = new Element(
id: 21,
name: 'Genesis',
kind: 'book',
set: $set,
parentElement: null,
position: 1,
);
$element = new Element(
id: 22,
name: 'Genesis',
kind: 'portion',
set: $set,
parentElement: $parentElement,
position: 2,
);
$this->assertSame(22, $element->getId());
$this->assertSame('Genesis', $element->getName());
$this->assertSame('portion', $element->getKind());
$this->assertSame($set, $element->getSet());
$this->assertSame($parentElement, $element->getParentElement());
$this->assertSame(2, $element->getPosition());
}
}