ConsoleTest::setUp()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Zenify\DoctrineFilters\Tests\Console;
6
7
use Doctrine\ORM\EntityManagerInterface;
8
use PHPUnit\Framework\TestCase;
9
use Symfony\Component\Console\Application;
10
use Symfony\Component\Console\Input\ArgvInput;
11
use Symfony\Component\Console\Input\StringInput;
12
use Symfony\Component\Console\Output\NullOutput;
13
use Zenify\DoctrineFilters\Tests\ContainerFactory;
14
15
16
final class ConsoleTest extends TestCase
17
{
18
19
	/**
20
	 * @var Application
21
	 */
22
	private $consoleApplication;
23
24
	/**
25
	 * @var EntityManagerInterface
26
	 */
27
	private $entityManager;
28
29
30
	protected function setUp()
31
	{
32
		$container = (new ContainerFactory)->create();
33
		$this->consoleApplication = $container->getByType(Application::class);
34
		$this->consoleApplication->setAutoExit(FALSE);
35
		$this->entityManager = $container->getByType(EntityManagerInterface::class);
36
	}
37
38
39
	public function test()
40
	{
41
		$this->assertCount(0, $this->entityManager->getFilters()->getEnabledFilters());
42
43
		$stringInput = new StringInput('help');
44
		$this->consoleApplication->run($stringInput, new NullOutput);
45
46
		$this->assertCount(2, $this->entityManager->getFilters()->getEnabledFilters());
47
	}
48
49
50
	public function testEnablingOnlyOnce()
51
	{
52
		$stringInput = new StringInput('help');
53
54
		$this->assertCount(0, $this->entityManager->getFilters()->getEnabledFilters());
55
56
		$this->consoleApplication->run($stringInput, new NullOutput);
57
58
		$this->assertCount(2, $this->entityManager->getFilters()->getEnabledFilters());
59
60
		$this->consoleApplication->run($stringInput, new NullOutput);
61
62
		$this->assertCount(2, $this->entityManager->getFilters()->getEnabledFilters());
63
	}
64
65
}
66