Typo3Test::testTransformBackend()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 8
c 2
b 0
f 0
dl 0
loc 13
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * @license LGPLv3, http://opensource.org/licenses/LGPL-3.0
5
 * @copyright Metaways Infosystems GmbH, 2011
6
 * @copyright Aimeos (aimeos.org), 2014-2025
7
 */
8
9
10
namespace Aimeos\Base\View\Helper\Url;
11
12
13
class Typo3Test extends \PHPUnit\Framework\TestCase
14
{
15
	private $view;
16
17
18
	protected function setUp() : void
19
	{
20
		if( !class_exists( '\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder' ) ) {
21
			$this->markTestSkipped( 'TYPO3 UriBuilder not available' );
22
		}
23
24
		$this->view = new \Aimeos\Base\View\Standard();
25
	}
26
27
28
	protected function tearDown() : void
29
	{
30
		unset( $this->view );
31
	}
32
33
34
	public function testTransform()
35
	{
36
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
37
			->onlyMethods( ['buildFrontendUri'] )
38
			->disableOriginalConstructor()
39
			->getMock();
40
41
		$mock->expects( $this->once() )->method( 'buildFrontendUri' );
42
43
		$fixed = ['site' => 'unittest'];
44
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, $fixed );
45
46
		$this->assertEquals( '', $object->transform() );
47
	}
48
49
50
	public function testTransformAbsolute()
51
	{
52
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
53
			->onlyMethods( ['setCreateAbsoluteUri', 'buildFrontendUri'] )
54
			->disableOriginalConstructor()
55
			->getMock();
56
57
		$mock->expects( $this->once() )->method( 'setCreateAbsoluteUri' )
58
			->with( $this->equalTo( true ) )->willReturn( $mock );
59
60
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
61
62
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
63
64
		$config = ['absoluteUri' => 1];
65
		$this->assertEquals( '', $object->transform( null, null, null, [], [], $config ) );
66
	}
67
68
69
	public function testTransformNocache()
70
	{
71
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
72
			->onlyMethods( ['setNoCache', 'buildFrontendUri'] )
73
			->disableOriginalConstructor()
74
			->getMock();
75
76
		$mock->expects( $this->once() )->method( 'setNoCache' )
77
			->with( $this->equalTo( true ) )->willReturn( $mock );
78
79
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
80
81
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
82
83
		$config = ['nocache' => 1];
84
		$this->assertEquals( '', $object->transform( null, null, null, [], [], $config ) );
85
	}
86
87
88
	public function testTransformType()
89
	{
90
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
91
			->onlyMethods( ['setTargetPageType', 'buildFrontendUri'] )
92
			->disableOriginalConstructor()
93
			->getMock();
94
95
		$mock->expects( $this->once() )->method( 'setTargetPageType' )
96
			->with( $this->equalTo( 123 ) )->willReturn( $mock );
97
98
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
99
100
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
101
102
		$config = ['type' => 123];
103
		$this->assertEquals( '', $object->transform( null, null, null, [], [], $config ) );
104
	}
105
106
107
	public function testTransformFormat()
108
	{
109
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
110
			->onlyMethods( ['setFormat', 'buildFrontendUri'] )
111
			->disableOriginalConstructor()
112
			->getMock();
113
114
		$mock->expects( $this->once() )->method( 'setFormat' )
115
			->with( $this->equalTo( 'xml' ) )->willReturn( $mock );
116
117
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
118
119
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
120
121
		$config = ['format' => 'xml'];
122
		$this->assertEquals( '', $object->transform( null, null, null, [], [], $config ) );
123
	}
124
125
126
	public function testTransformEID()
127
	{
128
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
129
			->onlyMethods( ['setArguments', 'buildFrontendUri'] )
130
			->disableOriginalConstructor()
131
			->getMock();
132
133
		$param = ['eID' => 123, 'controller' => '', 'action' => null];
134
135
		$mock->expects( $this->once() )->method( 'setArguments' )
136
			->with( $this->equalTo( $param ) )->willReturn( $mock );
137
138
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
139
140
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
141
142
		$config = ['eID' => 123];
143
		$this->assertEquals( '', $object->transform( null, null, null, [], [], $config ) );
144
	}
145
146
147
	public function testTransformLocale()
148
	{
149
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
150
			->onlyMethods( ['setArguments', 'buildFrontendUri'] )
151
			->disableOriginalConstructor()
152
			->getMock();
153
154
		$param = ['L' => 'de', 'controller' => '', 'action' => null, 'locale' => 'de'];
155
156
		$mock->expects( $this->once() )->method( 'setArguments' )
157
			->with( $this->equalTo( $param ) )->willReturn( $mock );
158
159
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
160
161
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
162
163
		$params = ['locale' => 'de'];
164
		$this->assertEquals( '', $object->transform( null, null, null, $params ) );
165
	}
166
167
168
	public function testTransformBackend()
169
	{
170
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
171
		->onlyMethods( ['buildBackendUri'] )
172
		->disableOriginalConstructor()
173
		->getMock();
174
175
		$mock->expects( $this->once() )->method( 'buildBackendUri' );
176
177
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, ['site' => 'unittest'] );
178
179
		$params = ['test' => 'my/value'];
180
		$this->assertEquals( '', $object->transform( null, null, null, $params, [], ['BE' => 1] ) );
181
	}
182
183
184
	public function testTransformParams()
185
	{
186
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
187
			->onlyMethods( ['buildFrontendUri'] )
188
			->disableOriginalConstructor()
189
			->getMock();
190
191
		$mock->expects( $this->once() )->method( 'buildFrontendUri' );
192
193
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, ['site' => 'unittest'] );
194
195
		$params = ['test' => 'my/value'];
196
		$this->assertEquals( '', $object->transform( null, null, null, $params ) );
197
	}
198
199
200
	public function testTransformNoNamespace()
201
	{
202
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
203
			->onlyMethods( ['buildFrontendUri', 'getArgumentPrefix'] )
204
			->disableOriginalConstructor()
205
			->getMock();
206
207
		$mock->expects( $this->once() )->method( 'buildFrontendUri' );
208
		$mock->expects( $this->once() )->method( 'getArgumentPrefix' )->willReturn( 'ai' );
209
210
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, ['site' => 'unittest'] );
211
212
		$params = ['test' => 'my/value'];
213
		$config = ['namespace' => false];
214
		$this->assertEquals( '', $object->transform( null, null, null, $params, [], $config ) );
215
	}
216
217
218
	public function testTransformUnchangedOriginalUriBuilder()
219
	{
220
		$mock = $this->getMockBuilder( 'TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder' )
221
			->onlyMethods( ['reset', 'buildFrontendUri'] )
222
			->disableOriginalConstructor()
223
			->getMock();
224
225
		$mock->expects( $this->once() )->method( 'reset' )->willReturn( $mock );
226
		$mock->expects( $this->once() )->method( 'buildFrontendUri' )->willReturn( '' );
227
228
		$object = new \Aimeos\Base\View\Helper\Url\Typo3( $this->view, $mock, [] );
229
230
		$mock->expects( $this->never() )->method( 'reset' );
231
		$this->assertEquals( '', $object->transform( null, null, null, [], [], [] ) );
232
	}
233
}
234