DispatchApplicationResponseEventTest::setUp()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 4
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 6
rs 9.4285
1
<?php
2
3
namespace Symnedi\EventDispatcher\Tests\NetteEvent;
4
5
use Nette\Application\Application;
6
use Nette\Application\IResponse;
7
use Nette\Application\Request;
8
use Nette\Application\UI\Component;
9
use PHPUnit_Framework_TestCase;
10
use Symnedi\EventDispatcher\Event\ApplicationResponseEvent;
11
use Symnedi\EventDispatcher\NetteApplicationEvents;
12
use Symnedi\EventDispatcher\Tests\ContainerFactory;
13
14
15
final class DispatchApplicationResponseEventTest extends PHPUnit_Framework_TestCase
16
{
17
18
	/**
19
	 * @var Application
20
	 */
21
	private $application;
22
23
	/**
24
	 * @var EventStateStorage
25
	 */
26
	private $eventStateStorage;
27
28
29
	protected function setUp()
30
	{
31
		$containerFactory = (new ContainerFactory)->create();
32
		$this->application = $containerFactory->getByType(Application::class);
33
		$this->eventStateStorage = $containerFactory->getByType(EventStateStorage::class);
34
	}
35
36
37
	public function testDispatch()
38
	{
39
		$this->assertFalse($this->eventStateStorage->getEventState(NetteApplicationEvents::ON_RESPONSE));
40
41
		$requestMock = $this->prophesize(Request::class);
42
		$requestMock->getPresenterName()->willReturn('Response');
43
		$requestMock->getParameters()->willReturn([]);
44
		$prefix = class_exists(Component::class) ? '_' : '';
45
		$requestMock->getPost($prefix . 'do')->willReturn(NULL);
46
		$requestMock->isMethod()->willReturn(TRUE);
47
		$this->application->processRequest($requestMock->reveal());
48
49
		/** @var ApplicationResponseEvent $applicationResponseEvent */
50
		$applicationResponseEvent = $this->eventStateStorage->getEventState(NetteApplicationEvents::ON_RESPONSE);
51
		$this->assertInstanceOf(Application::class, $applicationResponseEvent->getApplication());
52
		$this->assertInstanceOf(IResponse::class, $applicationResponseEvent->getResponse());
53
	}
54
55
}
56