| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- <?php
 
- namespace App\Tests\Controller;
 
- use App\Entity\Article;
 
- use Doctrine\ORM\EntityManagerInterface;
 
- use Doctrine\ORM\EntityRepository;
 
- use Symfony\Bundle\FrameworkBundle\KernelBrowser;
 
- use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
 
- final class ArticleControllerTest extends WebTestCase
 
- {
 
-     private KernelBrowser $client;
 
-     private EntityManagerInterface $manager;
 
-     private EntityRepository $repository;
 
-     private string $path = '/article/';
 
-     protected function setUp(): void
 
-     {
 
-         $this->client = static::createClient();
 
-         $this->manager = static::getContainer()->get('doctrine')->getManager();
 
-         $this->repository = $this->manager->getRepository(Article::class);
 
-         foreach ($this->repository->findAll() as $object) {
 
-             $this->manager->remove($object);
 
-         }
 
-         $this->manager->flush();
 
-     }
 
-     public function testIndex(): void
 
-     {
 
-         $this->client->followRedirects();
 
-         $crawler = $this->client->request('GET', $this->path);
 
-         self::assertResponseStatusCodeSame(200);
 
-         self::assertPageTitleContains('Article index');
 
-         // Use the $crawler to perform additional assertions e.g.
 
-         // self::assertSame('Some text on the page', $crawler->filter('.p')->first());
 
-     }
 
-     public function testNew(): void
 
-     {
 
-         $this->markTestIncomplete();
 
-         $this->client->request('GET', sprintf('%snew', $this->path));
 
-         self::assertResponseStatusCodeSame(200);
 
-         $this->client->submitForm('Save', [
 
-             'article[title]' => 'Testing',
 
-             'article[publicationDate]' => 'Testing',
 
-             'article[content]' => 'Testing',
 
-             'article[author]' => 'Testing',
 
-         ]);
 
-         self::assertResponseRedirects($this->path);
 
-         self::assertSame(1, $this->repository->count([]));
 
-     }
 
-     public function testShow(): void
 
-     {
 
-         $this->markTestIncomplete();
 
-         $fixture = new Article();
 
-         $fixture->setTitle('My Title');
 
-         $fixture->setPublicationDate('My Title');
 
-         $fixture->setContent('My Title');
 
-         $fixture->setAuthor('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('Article');
 
-         // Use assertions to check that the properties are properly displayed.
 
-     }
 
-     public function testEdit(): void
 
-     {
 
-         $this->markTestIncomplete();
 
-         $fixture = new Article();
 
-         $fixture->setTitle('Value');
 
-         $fixture->setPublicationDate('Value');
 
-         $fixture->setContent('Value');
 
-         $fixture->setAuthor('Value');
 
-         $this->manager->persist($fixture);
 
-         $this->manager->flush();
 
-         $this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId()));
 
-         $this->client->submitForm('Update', [
 
-             'article[title]' => 'Something New',
 
-             'article[publicationDate]' => 'Something New',
 
-             'article[content]' => 'Something New',
 
-             'article[author]' => 'Something New',
 
-         ]);
 
-         self::assertResponseRedirects('/article/');
 
-         $fixture = $this->repository->findAll();
 
-         self::assertSame('Something New', $fixture[0]->getTitle());
 
-         self::assertSame('Something New', $fixture[0]->getPublicationDate());
 
-         self::assertSame('Something New', $fixture[0]->getContent());
 
-         self::assertSame('Something New', $fixture[0]->getAuthor());
 
-     }
 
-     public function testRemove(): void
 
-     {
 
-         $this->markTestIncomplete();
 
-         $fixture = new Article();
 
-         $fixture->setTitle('Value');
 
-         $fixture->setPublicationDate('Value');
 
-         $fixture->setContent('Value');
 
-         $fixture->setAuthor('Value');
 
-         $this->manager->persist($fixture);
 
-         $this->manager->flush();
 
-         $this->client->request('GET', sprintf('%s%s', $this->path, $fixture->getId()));
 
-         $this->client->submitForm('Delete');
 
-         self::assertResponseRedirects('/article/');
 
-         self::assertSame(0, $this->repository->count([]));
 
-     }
 
- }
 
 
  |