diff --git a/tests/Controller/FoodOrderControllerTest.php b/tests/Controller/FoodOrderControllerTest.php index b6ffd07..663f3a6 100644 --- a/tests/Controller/FoodOrderControllerTest.php +++ b/tests/Controller/FoodOrderControllerTest.php @@ -3,14 +3,28 @@ namespace App\Tests\Controller; use App\Entity\FoodOrder; +use App\Entity\FoodVendor; use App\Tests\DbWebTest; use Override; +use Symfony\Component\DomCrawler\Crawler; use function sprintf; final class FoodOrderControllerTest extends DbWebTest { private string $path = '/food/order/'; + private FoodVendor $vendor; + + #[Override] + public function setUp(): void + { + parent::setUp(); + $this->vendor = new FoodVendor; + $this->vendor->setName('Food Vendor'); + + $this->manager->persist($this->vendor); + $this->manager->flush(); + } #[Override] public function getEntityClass(): string @@ -20,30 +34,34 @@ final class FoodOrderControllerTest extends DbWebTest public function testIndex(): void { - $this->client->request('GET', $this->path); + $order = new FoodOrder; + $order->setFoodVendor($this->vendor); + $this->manager->persist($order); + $this->manager->persist($this->vendor); + $this->manager->flush(); + + $crawler = $this->client->request('GET', $this->path); self::assertResponseStatusCodeSame(200); self::assertPageTitleContains('FoodOrder index'); - - // Use the $crawler to perform additional assertions e.g. - // self::assertSame('Some text on the page', $crawler->filter('.p')->first()); + $this->assertCount( + 1, + $crawler->filter('td') + ->reduce(fn(Crawler $node, $i): bool => $node->text() === $this->vendor->getName()), + ); } public function testNew(): void { - $this->markTestIncomplete(); $this->client->request('GET', sprintf('%snew', $this->path)); self::assertResponseStatusCodeSame(200); $this->client->submitForm('Save', [ - 'food_order[createdAt]' => 'Testing', - 'food_order[closedAt]' => 'Testing', - 'food_order[foodVendor]' => 'Testing', + 'food_order[foodVendor]' => $this->vendor->getId(), ]); self::assertResponseRedirects($this->path); - self::assertSame(1, $this->repository->count([])); }