2024-08-16 13:44:16 +02:00
|
|
|
<?php declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace App\Tests\Entity;
|
|
|
|
|
|
|
|
use App\Entity\FoodVendor;
|
|
|
|
use App\Entity\MenuItem;
|
2024-09-15 22:11:42 +02:00
|
|
|
use DateTimeImmutable;
|
2025-02-01 00:09:50 +01:00
|
|
|
use PHPUnit\Framework\Attributes\CoversClass;
|
2024-08-16 13:44:16 +02:00
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
|
2025-02-01 00:09:50 +01:00
|
|
|
#[CoversClass(MenuItem::class)]
|
|
|
|
#[CoversClass(FoodVendor::class)]
|
2024-08-16 13:44:16 +02:00
|
|
|
final class MenuItemTest extends TestCase
|
|
|
|
{
|
|
|
|
public function testMenuItem(): void
|
|
|
|
{
|
|
|
|
$item = new MenuItem;
|
|
|
|
$item->setName('Test');
|
|
|
|
$this->assertEquals('Test', $item->getName());
|
|
|
|
|
|
|
|
$vendor = new FoodVendor;
|
|
|
|
$vendor->setName('Test');
|
|
|
|
|
|
|
|
$item->setFoodVendor($vendor);
|
|
|
|
$this->assertEquals($vendor, $item->getFoodVendor());
|
|
|
|
|
|
|
|
$this->assertFalse($item->isDeleted());
|
2024-09-15 22:11:42 +02:00
|
|
|
$this->assertNull($item->getDeletedAt());
|
2024-08-16 13:44:16 +02:00
|
|
|
$item->delete();
|
|
|
|
$this->assertTrue($item->isDeleted());
|
2024-09-15 22:11:42 +02:00
|
|
|
$this->assertInstanceOf(DateTimeImmutable::class, $item->getDeletedAt());
|
2024-08-16 13:44:16 +02:00
|
|
|
}
|
2025-01-26 11:48:16 +01:00
|
|
|
|
|
|
|
public function testMenuItemAlias(): void
|
|
|
|
{
|
|
|
|
$item = new MenuItem;
|
|
|
|
$item->setName('Test');
|
|
|
|
$this->assertEquals('Test', $item->getName());
|
|
|
|
|
|
|
|
$vendor = new FoodVendor;
|
|
|
|
$vendor->setName('Test');
|
2025-01-26 10:50:50 +00:00
|
|
|
|
2025-01-26 11:48:16 +01:00
|
|
|
$item->setFoodVendor($vendor);
|
|
|
|
|
|
|
|
$item2 = new MenuItem;
|
|
|
|
$item2->setName('Test2');
|
|
|
|
$item2->setFoodVendor($vendor);
|
|
|
|
|
|
|
|
$item->addAlias($item2);
|
|
|
|
|
|
|
|
$this->assertCount(1, $item->getAliases());
|
|
|
|
$this->assertSame($item, $item2->getAliasOf());
|
|
|
|
|
|
|
|
$item->removeAlias($item2);
|
|
|
|
$this->assertCount(0, $item->getAliases());
|
|
|
|
$this->assertNull($item2->getAliasOf());
|
|
|
|
|
|
|
|
}
|
2024-08-16 13:44:16 +02:00
|
|
|
}
|