Issues (43)

Tests/Unit/Controller/AbstractControllerTest.php (1 issue)

Labels
Severity
1
<?php
2
3
4
namespace Aimeos\Shop\Tests\Unit\Controller;
5
6
7
class AbstractControllerTest extends \Neos\Flow\Tests\UnitTestCase
0 ignored issues
show
The type Neos\Flow\Tests\UnitTestCase was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
{
9
	private $object;
10
	private $view;
11
12
13
	public function setUp()
14
	{
15
		$this->object = $this->getMockBuilder( '\Aimeos\Shop\Controller\AbstractController' )
16
			->disableOriginalConstructor()
17
			->getMock();
18
19
		$this->view = $this->getMockBuilder( '\Neos\Flow\Mvc\View\JsonView' )
20
			->setMethods( array( 'assign' ) )
21
			->disableOriginalConstructor()
22
			->getMock();
23
24
		$this->inject( $this->object, 'view', $this->view );
25
26
		$request = $this->getMockBuilder( '\Neos\Flow\Mvc\ActionRequest' )
27
			->disableOriginalConstructor()
28
			->getMock();
29
30
		$this->inject( $this->object, 'request', $request );
31
	}
32
33
34
	/**
35
	 * @test
36
	 */
37
	public function getOutput()
38
	{
39
		$aimeos = new \Aimeos\Shop\Base\Aimeos();
40
		$this->inject( $this->object, 'aimeos', $aimeos );
41
42
43
		$context = $this->getMockBuilder( '\Aimeos\Shop\Base\Context' )
44
			->setMethods( array( 'get' ) )
45
			->disableOriginalConstructor()
46
			->getMock();
47
48
		$ctx = new \Aimeos\MShop\Context\Item\Standard();
49
		$ctx->setConfig( new \Aimeos\MW\Config\PHPArray() );
50
		$ctx->setLocale( new \Aimeos\MShop\Locale\Item\Standard( array( 'langid' => 'de' ) ) );
51
52
		$context->expects( $this->once() )->method( 'get' )
53
			->will( $this->returnValue( $ctx ) );
54
55
		$this->inject( $this->object, 'context', $context );
56
57
58
		$viewContainer = $this->getMockBuilder( '\Aimeos\Shop\Base\View' )
59
			->setMethods( array( 'create' ) )
60
			->disableOriginalConstructor()
61
			->getMock();
62
63
		$mwView = new \Aimeos\MW\View\Standard();
64
65
		$viewContainer->expects( $this->once() )->method( 'create' )
66
			->will( $this->returnValue( $mwView ) );
67
68
		$this->inject( $this->object, 'viewContainer', $viewContainer );
69
70
71
		$uriBuilder = $this->getMockBuilder( '\Neos\Flow\Mvc\Routing\UriBuilder' )
72
			->disableOriginalConstructor()
73
			->getMock();
74
75
		$this->inject( $this->object, 'uriBuilder', $uriBuilder );
76
77
78
		$client = $this->getMockBuilder( '\Aimeos\Client\Html\Catalog\Lists\Standard' )
79
			->setMethods( array( 'getBody', 'getHeader', 'process') )
80
			->disableOriginalConstructor()
81
			->getMock();
82
83
		$client->expects( $this->once() )->method( 'getBody' )
84
			->will( $this->returnValue( 'body' ) );
85
86
		$client->expects( $this->once() )->method( 'getHeader' )
87
			->will( $this->returnValue( 'header' ) );
88
89
		$client->expects( $this->once() )->method( 'process' );
90
91
		\Aimeos\Client\Html\Catalog\Lists\Factory::injectClient( '\Aimeos\Client\Html\Catalog\Lists\Standard', $client );
92
93
94
		$this->view->expects( $this->once() )->method( 'assign' )
95
			->with( $this->equalTo( 'aimeos_component_header' ), $this->equalTo( 'header' ) );
96
97
98
		$class = new \ReflectionClass( '\Aimeos\Shop\Controller\AbstractController' );
99
		$method = $class->getMethod( 'getOutput' );
100
		$method->setAccessible( true );
101
102
103
		$result = $method->invokeArgs( $this->object, array( 'catalog/lists' ) );
104
105
		$this->assertEquals( 'body', $result );
106
	}
107
108
109
	/**
110
	 * @test
111
	 */
112
	public function get()
113
	{
114
		$expected = array( 'aibody' => 'body', 'aiheader' => 'header' );
115
116
		$shop = $this->getMockBuilder( '\Aimeos\Shop\Base\Shop' )
117
			->setMethods( array( 'get' ) )
118
			->disableOriginalConstructor()
119
			->getMock();
120
121
		$this->inject( $this->object, 'shop', $shop );
122
123
		$shop->expects( $this->once() )->method( 'get' )
124
			->will( $this->returnValue( $expected ) );
125
126
127
		$class = new \ReflectionClass( '\Aimeos\Shop\Controller\AbstractController' );
128
		$method = $class->getMethod( 'get' );
129
		$method->setAccessible( true );
130
131
132
		$result = $method->invokeArgs( $this->object, array( 'test' ) );
133
134
		$this->assertEquals( $expected, $result );
135
	}
136
}