add mutation testing
This commit is contained in:
parent
12ff38ecd6
commit
7674b6a6bd
22 changed files with 1239 additions and 247 deletions
|
@ -118,7 +118,13 @@ final class FoodVendorControllerTest extends DbWebTest
|
|||
$this->manager->persist($fixture);
|
||||
$this->manager->flush();
|
||||
|
||||
$this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId()));
|
||||
$crawler = $this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId()));
|
||||
$this->assertSame(
|
||||
$crawler->filter('#food_vendor_name')
|
||||
->last()
|
||||
->attr('value', ''),
|
||||
'Value'
|
||||
);
|
||||
|
||||
$this->client->submitForm('Update', [
|
||||
'food_vendor[name]' => 'Something New',
|
||||
|
|
|
@ -34,6 +34,21 @@ final class HomeControllerTest extends DbWebTest
|
|||
self::assertResponseStatusCodeSame(302);
|
||||
self::assertResponseHeaderSame('Location', '/food/order/list');
|
||||
self::assertResponseCookieValueSame('username', 'Testing-1');
|
||||
|
||||
$crawler = $this->client->request(
|
||||
'GET',
|
||||
'/username',
|
||||
);
|
||||
|
||||
self::assertResponseStatusCodeSame(200);
|
||||
|
||||
$this->assertSame(
|
||||
$crawler->filter('#user_name_form_username')
|
||||
->last()
|
||||
->attr('value', ''),
|
||||
'Testing-1'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function testRemoveUsername(): void
|
||||
|
|
|
@ -38,6 +38,16 @@ final class OrderItemControllerTest extends DbWebTest
|
|||
$this->menuItem->setName('Testing');
|
||||
$this->menuItem->setFoodVendor($this->vendor);
|
||||
|
||||
$vendor2 = new FoodVendor;
|
||||
$vendor2->setName('Vendor 2');
|
||||
|
||||
$menuItem2 = new MenuItem;
|
||||
$menuItem2->setName('Testing2');
|
||||
$menuItem2->setFoodVendor($vendor2);
|
||||
|
||||
$this->manager->persist($vendor2);
|
||||
$this->manager->persist($menuItem2);
|
||||
|
||||
$this->manager->persist($this->menuItem);
|
||||
$this->manager->flush();
|
||||
|
||||
|
@ -46,11 +56,16 @@ final class OrderItemControllerTest extends DbWebTest
|
|||
|
||||
public function testNew(): void
|
||||
{
|
||||
$this->client->request(
|
||||
$crawler = $this->client->request(
|
||||
'GET',
|
||||
sprintf('%snew/%s', $this->path, $this->order->getId())
|
||||
);
|
||||
|
||||
$children = $crawler->filter('body > main:nth-child(2) > div:nth-child(5)')
|
||||
->children();
|
||||
|
||||
$this->assertCount(1, $children);
|
||||
|
||||
self::assertResponseStatusCodeSame(200);
|
||||
|
||||
$this->client->submitForm('Save', [
|
||||
|
@ -61,7 +76,9 @@ final class OrderItemControllerTest extends DbWebTest
|
|||
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||
|
||||
self::assertSame(1, $this->repository->count([]));
|
||||
self::assertSame(1, $this->menuItemRepository->count([]));
|
||||
self::assertSame(1, $this->menuItemRepository->count([
|
||||
'foodVendor' => $this->vendor->getId(),
|
||||
]));
|
||||
}
|
||||
|
||||
public function testNewOrderClosed(): void
|
||||
|
@ -98,7 +115,7 @@ final class OrderItemControllerTest extends DbWebTest
|
|||
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||
|
||||
self::assertSame(1, $this->repository->count([]));
|
||||
self::assertSame(2, $this->menuItemRepository->count([]));
|
||||
self::assertSame(3, $this->menuItemRepository->count([]));
|
||||
}
|
||||
|
||||
public function testRemove(): void
|
||||
|
@ -171,7 +188,7 @@ final class OrderItemControllerTest extends DbWebTest
|
|||
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||
|
||||
self::assertSame(1, $this->repository->count([]));
|
||||
self::assertSame(2, $this->menuItemRepository->count([]));
|
||||
self::assertSame(3, $this->menuItemRepository->count([]));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue