add mutation testing
All checks were successful
/ ls (pull_request) Successful in 2m13s
/ ls (push) Successful in 2m11s

This commit is contained in:
lubiana 2024-09-15 22:11:42 +02:00
parent 12ff38ecd6
commit 7674b6a6bd
No known key found for this signature in database
22 changed files with 1239 additions and 247 deletions

View file

@ -16,8 +16,9 @@ final class FoodOrderTest extends TestCase
$order->addOrderItem($orderItem);
$order->addOrderItem($orderItem);
$this->assertCount(1, $order->getOrderItems());
$this->assertSame($order, $orderItem->getFoodOrder());
$order->removeOrderItem($orderItem);
$this->assertCount(0, $order->getOrderItems());
$this->assertNull($orderItem->getFoodOrder());
}
}

View file

@ -22,9 +22,16 @@ final class FoodVendorTest extends TestCase
$vendor->addFoodOrder($order1);
$vendor->addFoodOrder($order1);
$this->assertCount(1, $vendor->getFoodOrders());
$this->assertSame($vendor, $order1->getFoodVendor());
$vendor->removeFoodOrder($order1);
$this->assertCount(0, $vendor->getFoodOrders());
$this->assertNull($order1->getFoodVendor());
}
public function testMenuItem(): void
{
$vendor = new FoodVendor;
$menuItem1 = new MenuItem;
$menuItem2 = new MenuItem;
$this->assertCount(0, $vendor->getMenuItems());
@ -33,11 +40,24 @@ final class FoodVendorTest extends TestCase
$this->assertCount(1, $vendor->getMenuItems());
$vendor->removeMenuItem($menuItem1);
$this->assertCount(0, $vendor->getMenuItems());
$this->assertNull($menuItem1->getFoodVendor());
$vendor->addMenuItem($menuItem1);
$menuItem2->delete();
$vendor->addMenuItem($menuItem2);
$this->assertCount(1, $vendor->getMenuItems());
$this->assertCount(2, $vendor->getMenuItems(true));
}
public function testRemoveForeignMenuItem(): void
{
$vendor1 = new FoodVendor;
$vendor2 = new FoodVendor;
$item1 = new MenuItem;
$vendor1->addMenuItem($item1);
$this->assertCount(1, $vendor1->getMenuItems());
$vendor2->removeMenuItem($item1);
$this->assertCount(1, $vendor1->getMenuItems());
$this->assertSame($vendor1, $item1->getFoodVendor());
}
}

View file

@ -4,6 +4,7 @@ namespace App\Tests\Entity;
use App\Entity\FoodVendor;
use App\Entity\MenuItem;
use DateTimeImmutable;
use PHPUnit\Framework\TestCase;
final class MenuItemTest extends TestCase
@ -21,7 +22,9 @@ final class MenuItemTest extends TestCase
$this->assertEquals($vendor, $item->getFoodVendor());
$this->assertFalse($item->isDeleted());
$this->assertNull($item->getDeletedAt());
$item->delete();
$this->assertTrue($item->isDeleted());
$this->assertInstanceOf(DateTimeImmutable::class, $item->getDeletedAt());
}
}