|  | @@ -0,0 +1,136 @@
 | 
											
												
													
														|  | 
 |  | +<?php
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +namespace App\Test\Controller;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +use App\Entity\Counter;
 | 
											
												
													
														|  | 
 |  | +use Doctrine\ORM\EntityManagerInterface;
 | 
											
												
													
														|  | 
 |  | +use Doctrine\ORM\EntityRepository;
 | 
											
												
													
														|  | 
 |  | +use Symfony\Bundle\FrameworkBundle\KernelBrowser;
 | 
											
												
													
														|  | 
 |  | +use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +class CounterControllerTest extends WebTestCase
 | 
											
												
													
														|  | 
 |  | +{
 | 
											
												
													
														|  | 
 |  | +    private KernelBrowser $client;
 | 
											
												
													
														|  | 
 |  | +    private EntityManagerInterface $manager;
 | 
											
												
													
														|  | 
 |  | +    private EntityRepository $repository;
 | 
											
												
													
														|  | 
 |  | +    private string $path = '/admin/';
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    protected function setUp(): void
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +        $this->client = static::createClient();
 | 
											
												
													
														|  | 
 |  | +        $this->manager = static::getContainer()->get('doctrine')->getManager();
 | 
											
												
													
														|  | 
 |  | +        $this->repository = $this->manager->getRepository(Counter::class);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        foreach ($this->repository->findAll() as $object) {
 | 
											
												
													
														|  | 
 |  | +            $this->manager->remove($object);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        $this->manager->flush();
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    public function testIndex(): void
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +        $crawler = $this->client->request('GET', $this->path);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        self::assertResponseStatusCodeSame(200);
 | 
											
												
													
														|  | 
 |  | +        self::assertPageTitleContains('Counter 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', [
 | 
											
												
													
														|  | 
 |  | +            'counter[startTime]' => 'Testing',
 | 
											
												
													
														|  | 
 |  | +            'counter[endTime]' => 'Testing',
 | 
											
												
													
														|  | 
 |  | +            'counter[name]' => 'Testing',
 | 
											
												
													
														|  | 
 |  | +            'counter[state]' => 'Testing',
 | 
											
												
													
														|  | 
 |  | +            'counter[timeToLive]' => 'Testing',
 | 
											
												
													
														|  | 
 |  | +        ]);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        self::assertResponseRedirects($this->path);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        self::assertSame(1, $this->repository->count([]));
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    public function testShow(): void
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +        $this->markTestIncomplete();
 | 
											
												
													
														|  | 
 |  | +        $fixture = new Counter();
 | 
											
												
													
														|  | 
 |  | +        $fixture->setStartTime('My Title');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setEndTime('My Title');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setName('My Title');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setState('My Title');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setTimeToLive('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('Counter');
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        // Use assertions to check that the properties are properly displayed.
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    public function testEdit(): void
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +        $this->markTestIncomplete();
 | 
											
												
													
														|  | 
 |  | +        $fixture = new Counter();
 | 
											
												
													
														|  | 
 |  | +        $fixture->setStartTime('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setEndTime('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setName('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setState('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setTimeToLive('Value');
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        $this->manager->persist($fixture);
 | 
											
												
													
														|  | 
 |  | +        $this->manager->flush();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        $this->client->request('GET', sprintf('%s%s/edit', $this->path, $fixture->getId()));
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        $this->client->submitForm('Update', [
 | 
											
												
													
														|  | 
 |  | +            'counter[startTime]' => 'Something New',
 | 
											
												
													
														|  | 
 |  | +            'counter[endTime]' => 'Something New',
 | 
											
												
													
														|  | 
 |  | +            'counter[name]' => 'Something New',
 | 
											
												
													
														|  | 
 |  | +            'counter[state]' => 'Something New',
 | 
											
												
													
														|  | 
 |  | +            'counter[timeToLive]' => 'Something New',
 | 
											
												
													
														|  | 
 |  | +        ]);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        self::assertResponseRedirects('/admin/');
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        $fixture = $this->repository->findAll();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        self::assertSame('Something New', $fixture[0]->getStartTime());
 | 
											
												
													
														|  | 
 |  | +        self::assertSame('Something New', $fixture[0]->getEndTime());
 | 
											
												
													
														|  | 
 |  | +        self::assertSame('Something New', $fixture[0]->getName());
 | 
											
												
													
														|  | 
 |  | +        self::assertSame('Something New', $fixture[0]->getState());
 | 
											
												
													
														|  | 
 |  | +        self::assertSame('Something New', $fixture[0]->getTimeToLive());
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    public function testRemove(): void
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +        $this->markTestIncomplete();
 | 
											
												
													
														|  | 
 |  | +        $fixture = new Counter();
 | 
											
												
													
														|  | 
 |  | +        $fixture->setStartTime('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setEndTime('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setName('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setState('Value');
 | 
											
												
													
														|  | 
 |  | +        $fixture->setTimeToLive('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('/admin/');
 | 
											
												
													
														|  | 
 |  | +        self::assertSame(0, $this->repository->count([]));
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 |