client->request('GET', $this->path); self::assertResponseStatusCodeSame(200); self::assertPageTitleContains('FoodVendor index'); } public function testNew(): void { $this->client->request('GET', sprintf('%snew', $this->path)); self::assertResponseStatusCodeSame(200); $this->client->submitForm('Save', [ 'food_vendor[name]' => 'Testing', ]); self::assertSame(1, $this->repository->count([])); } public function testShow(): void { $fixture = new FoodVendor; $fixture->setName('My Title'); $this->manager->persist($fixture); $this->manager->flush(); $crawler = $this->client->request('GET', sprintf('%s%s', $this->path, $fixture->getId())); $this->assertResponseIsSuccessful(); $nameNode = $crawler->filter('td') ->last(); $this->assertSame('My Title', $nameNode->text()); } public function testShowMenuItems(): void { $fixture = new FoodVendor; $fixture->setName('My Title'); $this->manager->persist($fixture); $this->manager->flush(); $itemOne = new MenuItem; $itemOne->setName('Item One'); $fixture->addMenuItem($itemOne); $this->manager->persist($itemOne); $itemTwo = new MenuItem; $itemTwo->setName('Item Two'); $itemTwo->setFoodVendor($fixture); $fixture->addMenuItem($itemTwo); $this->manager->persist($itemTwo); $itemThree = new MenuItem; $itemThree->setName('Item Three'); $itemThree->setFoodVendor($fixture); $fixture->addMenuItem($itemThree); $this->manager->persist($itemThree); $itemFour = new MenuItem; $itemFour->setName('Item Four'); $itemFour->setFoodVendor($fixture); $fixture->addMenuItem($itemFour); $this->manager->persist($itemFour); $this->manager->flush(); $crawler = $this->client->request('GET', sprintf('%s%s', $this->path, $fixture->getId())); $this->assertResponseIsSuccessful(); $nameNode = $crawler->filter('td') ->last(); $this->assertSame('My Title', $nameNode->text()); $itemNodes = $crawler->filter('li'); $this->assertCount(4, $itemNodes); } public function testEdit(): void { $fixture = new FoodVendor; $fixture->setName('Value'); $this->manager->persist($fixture); $this->manager->flush(); $this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId())); $this->client->submitForm('Update', [ 'food_vendor[name]' => 'Something New', ]); self::assertResponseRedirects('/food/vendor/'); $fixture = $this->repository->findAll(); self::assertSame('Something New', $fixture[0]->getName()); } #[Override] public function getEntityClass(): string { return FoodVendor::class; } }