add order item tests #11
2 changed files with 49 additions and 51 deletions
|
@ -92,7 +92,7 @@ final class OrderItemController extends AbstractController
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/{id}', name: 'app_order_item_delete')]
|
#[Route('/delete/{id}', name: 'app_order_item_delete')]
|
||||||
public function delete(OrderItem $orderItem, EntityManagerInterface $entityManager): Response
|
public function delete(OrderItem $orderItem, EntityManagerInterface $entityManager): Response
|
||||||
{
|
{
|
||||||
$foodOrder = $orderItem->getFoodOrder();
|
$foodOrder = $orderItem->getFoodOrder();
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace App\Tests\Controller;
|
namespace App\Tests\Controller;
|
||||||
|
|
||||||
|
use App\Entity\FoodOrder;
|
||||||
|
use App\Entity\FoodVendor;
|
||||||
use App\Entity\OrderItem;
|
use App\Entity\OrderItem;
|
||||||
use App\Tests\DbWebTest;
|
use App\Tests\DbWebTest;
|
||||||
use Override;
|
use Override;
|
||||||
|
@ -10,12 +12,28 @@ use function sprintf;
|
||||||
|
|
||||||
final class OrderItemControllerTest extends DbWebTest
|
final class OrderItemControllerTest extends DbWebTest
|
||||||
{
|
{
|
||||||
|
public FoodVendor $vendor;
|
||||||
|
public FoodOrder $order;
|
||||||
private string $path = '/order/item/';
|
private string $path = '/order/item/';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
|
public function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->vendor = new FoodVendor;
|
||||||
|
$this->vendor->setName('Food Vendor');
|
||||||
|
|
||||||
|
$this->manager->persist($this->vendor);
|
||||||
|
$this->order = new FoodOrder;
|
||||||
|
$this->order->setFoodVendor($this->vendor);
|
||||||
|
|
||||||
|
$this->manager->persist($this->order);
|
||||||
|
$this->manager->flush();
|
||||||
|
}
|
||||||
|
|
||||||
public function testNew(): void
|
public function testNew(): void
|
||||||
{
|
{
|
||||||
$this->markTestIncomplete();
|
$this->client->request('GET', sprintf('%snew/%s', $this->path, $this->order->getId()));
|
||||||
$this->client->request('GET', sprintf('%snew', $this->path));
|
|
||||||
|
|
||||||
self::assertResponseStatusCodeSame(200);
|
self::assertResponseStatusCodeSame(200);
|
||||||
|
|
||||||
|
@ -24,71 +42,51 @@ final class OrderItemControllerTest extends DbWebTest
|
||||||
'order_item[extras]' => 'Testing',
|
'order_item[extras]' => 'Testing',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
self::assertResponseRedirects($this->path);
|
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||||
|
|
||||||
self::assertSame(1, $this->repository->count([]));
|
self::assertSame(1, $this->repository->count([]));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testShow(): void
|
|
||||||
{
|
|
||||||
$this->markTestIncomplete();
|
|
||||||
$fixture = new OrderItem;
|
|
||||||
$fixture->setName('My Title');
|
|
||||||
$fixture->setExtras('My Title');
|
|
||||||
|
|
||||||
$this->manager->persist($fixture);
|
|
||||||
$this->manager->flush();
|
|
||||||
|
|
||||||
$this->client->request('GET', sprintf('%s%s', $this->path, $fixture->getId()));
|
|
||||||
|
|
||||||
self::assertResponseStatusCodeSame(200);
|
|
||||||
self::assertPageTitleContains('OrderItem');
|
|
||||||
|
|
||||||
// Use assertions to check that the properties are properly displayed.
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testEdit(): void
|
|
||||||
{
|
|
||||||
$this->markTestIncomplete();
|
|
||||||
$fixture = new OrderItem;
|
|
||||||
$fixture->setName('Value');
|
|
||||||
$fixture->setExtras('Value');
|
|
||||||
|
|
||||||
$this->manager->persist($fixture);
|
|
||||||
$this->manager->flush();
|
|
||||||
|
|
||||||
$this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId()));
|
|
||||||
|
|
||||||
$this->client->submitForm('Update', [
|
|
||||||
'order_item[name]' => 'Something New',
|
|
||||||
'order_item[extras]' => 'Something New',
|
|
||||||
]);
|
|
||||||
|
|
||||||
self::assertResponseRedirects('/order/item/');
|
|
||||||
|
|
||||||
$fixture = $this->repository->findAll();
|
|
||||||
|
|
||||||
self::assertSame('Something New', $fixture[0]->getName());
|
|
||||||
self::assertSame('Something New', $fixture[0]->getExtras());
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testRemove(): void
|
public function testRemove(): void
|
||||||
{
|
{
|
||||||
$this->markTestIncomplete();
|
|
||||||
$fixture = new OrderItem;
|
$fixture = new OrderItem;
|
||||||
$fixture->setName('Value');
|
$fixture->setName('Value');
|
||||||
$fixture->setExtras('Value');
|
$fixture->setExtras('Value');
|
||||||
|
$fixture->setFoodOrder($this->order);
|
||||||
|
|
||||||
$this->manager->persist($fixture);
|
$this->manager->persist($fixture);
|
||||||
$this->manager->flush();
|
$this->manager->flush();
|
||||||
|
|
||||||
$this->client->request('GET', sprintf('%s%s', $this->path, $fixture->getId()));
|
$this->client->request('GET', sprintf('%sdelete/%s', $this->path, $fixture->getId()));
|
||||||
$this->client->submitForm('Delete');
|
|
||||||
|
|
||||||
self::assertResponseRedirects('/order/item/');
|
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||||
self::assertSame(0, $this->repository->count([]));
|
self::assertSame(0, $this->repository->count([]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testCopy(): void
|
||||||
|
{
|
||||||
|
$orderItem = new OrderItem;
|
||||||
|
$orderItem->setName('My Title');
|
||||||
|
$orderItem->setExtras('My Title');
|
||||||
|
$orderItem->setFoodOrder($this->order);
|
||||||
|
|
||||||
|
$this->manager->persist($orderItem);
|
||||||
|
$this->manager->flush();
|
||||||
|
|
||||||
|
$this->client->request('GET', sprintf('%s%s/copy', $this->path, $orderItem->getId()));
|
||||||
|
self::assertResponseRedirects(sprintf('/food/order/%s', $this->order->getId()));
|
||||||
|
|
||||||
|
$result = $this->repository->findBy([
|
||||||
|
'foodOrder' => $this->order->getId(),
|
||||||
|
]);
|
||||||
|
$this->assertCount(2, $result);
|
||||||
|
foreach ($result as $item) {
|
||||||
|
$this->assertSame($orderItem->getName(), $item->getName());
|
||||||
|
$this->assertSame($orderItem->getExtras(), $item->getExtras());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#[Override]
|
#[Override]
|
||||||
public function getEntityClass(): string
|
public function getEntityClass(): string
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue