DoctrineSQLPanelTest   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 27
c 2
b 0
f 1
dl 0
loc 64
rs 10
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 7 1
A testStartQuery() 0 8 1
A testGetTab() 0 9 1
A testStopQuery() 0 12 1
A testGetPanel() 0 8 1
1
<?php declare(strict_types = 1);
2
3
namespace Portiny\Doctrine\Tests\Adapter\Nette\Tracy;
4
5
use Doctrine\ORM\EntityManager;
6
use Portiny\Doctrine\Adapter\Nette\Tracy\DoctrineSQLPanel;
7
use Portiny\Doctrine\Tests\AbstractContainerTestCase;
8
9
class DoctrineSQLPanelTest extends AbstractContainerTestCase
10
{
11
	/**
12
	 * @var DoctrineSQLPanel
13
	 */
14
	private $doctrineSQLPanel;
15
16
17
	protected function setUp(): void
18
	{
19
		parent::setUp();
20
21
		/** @var EntityManager $entityManager */
22
		$entityManager = $this->container->getByType(EntityManager::class);
23
		$this->doctrineSQLPanel = new DoctrineSQLPanel($entityManager);
24
	}
25
26
27
	public function testStartQuery(): void
28
	{
29
		$this->doctrineSQLPanel->startQuery('SELECT 1 FROM dual', null, null);
30
		$this->doctrineSQLPanel->stopQuery();
31
32
		$queries = $this->doctrineSQLPanel->getQueries();
33
		self::assertCount(1, $queries);
34
		self::assertSame('SELECT 1 FROM dual', reset($queries)[0]);
35
	}
36
37
38
	public function testStopQuery(): void
39
	{
40
		$this->doctrineSQLPanel->startQuery('SELECT 1 FROM dual', null, null);
41
		sleep(1);
42
		$this->doctrineSQLPanel->stopQuery();
43
44
		$queries = $this->doctrineSQLPanel->getQueries();
45
		$firstQuery = reset($queries);
46
47
		self::assertCount(1, $queries);
48
		self::assertSame('SELECT 1 FROM dual', $firstQuery[0]);
49
		self::assertTrue($firstQuery[3] > 0);
50
	}
51
52
53
	public function testGetTab(): void
54
	{
55
		self::assertStringContainsString('<span title="Doctrine 2">', $this->doctrineSQLPanel->getTab());
56
		self::assertStringContainsString('0 queries', $this->doctrineSQLPanel->getTab());
57
58
		$this->doctrineSQLPanel->startQuery('SELECT 1 FROM dual', null, null);
59
		$this->doctrineSQLPanel->stopQuery();
60
61
		self::assertStringContainsString('1 queries', $this->doctrineSQLPanel->getTab());
62
	}
63
64
65
	public function testGetPanel(): void
66
	{
67
		self::assertStringContainsString('<h2>Queries</h2>', $this->doctrineSQLPanel->getPanel());
68
69
		$this->doctrineSQLPanel->startQuery('SELECT 1 FROM dual', null, null);
70
		$this->doctrineSQLPanel->stopQuery();
71
72
		self::assertStringContainsString('<h1>Queries: 1, time:', $this->doctrineSQLPanel->getPanel());
73
	}
74
75
}
76