<?php declare(strict_types=1); namespace WerkraumMedia\Events\Tests\Unit\Domain\Model; use PHPUnit\Framework\Attributes\Test; use PHPUnit\Framework\TestCase; use TYPO3\CMS\Extbase\Persistence\ObjectStorage; use WerkraumMedia\Events\Domain\Model\Category; use WerkraumMedia\Events\Domain\Model\Event; class EventTest extends TestCase { #[Test] public function canBeCreated(): void { $subject = new Event(); self::assertInstanceOf( Event::class, $subject ); } #[Test] public function returnsSortedFeatures(): void { $feature1 = self::createStub(Category::class); $feature1->method('getSorting')->willReturn(10); $feature2 = self::createStub(Category::class); $feature2->method('getSorting')->willReturn(5); $storage = new ObjectStorage(); $storage->attach($feature1); $storage->attach($feature2); $subject = new Event(); $subject->_setProperty('features', $storage); self::assertSame([ $feature2, $feature1, ], $subject->getFeatures()); } #[Test] public function returnsEmptyFeaturesStorage(): void { $subject = new Event(); $subject->_setProperty('features', new ObjectStorage()); self::assertSame([], $subject->getFeatures()); } }