Completed
Push — master ( 110887...ff6c7f )
by Aimeos
10:07
created

tests/Controller/Jobs/Common/Factory/BaseTest.php (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/**
4
 * @copyright Metaways Infosystems GmbH, 2013
5
 * @license LGPLv3, http://opensource.org/licenses/LGPL-3.0
6
 * @copyright Aimeos (aimeos.org), 2015-2017
7
 */
8
9
10
namespace Aimeos\Controller\Jobs\Common\Factory;
11
12
13
/**
14
 * Test class for \Aimeos\Controller\Jobs\Common\Factory\BaseTest.
15
 */
16
class BaseTest extends \PHPUnit\Framework\TestCase
17
{
18
	private $context;
19
	private $aimeos;
20
21
22
	/**
23
	 * Sets up the fixture, for example, opens a network connection.
24
	 * This method is called before a test is executed.
25
	 *
26
	 * @access protected
27
	 */
28
	protected function setUp()
29
	{
30
		$this->aimeos = \TestHelperJobs::getAimeos();
31
		$this->context = \TestHelperJobs::getContext();
32
		$config = $this->context->getConfig();
33
34
		$config->set( 'controller/jobs/common/decorators/default', [] );
35
		$config->set( 'controller/jobs/admin/decorators/global', [] );
36
		$config->set( 'controller/jobs/admin/decorators/local', [] );
37
38
	}
39
40
41
	public function testInjectController()
42
	{
43
		$cntl = $this->getMockBuilder( '\Aimeos\Controller\Jobs\Iface' )->getMock();
44
		TestAbstract::injectController( 'Test', $cntl );
45
	}
46
47
48
	public function testAddDecoratorsInvalidName()
49
	{
50
		$decorators = array( '$' );
51
		$cntl = $this->getMockBuilder( '\Aimeos\Controller\Jobs\Iface' )->getMock();
52
53
		$this->setExpectedException( '\\Aimeos\\Controller\\Jobs\\Exception' );
54
		\Aimeos\Controller\Jobs\Common\Factory\TestAbstract::addDecoratorsPublic( $this->context, $this->aimeos, $cntl, $decorators, 'Test_' );
55
	}
56
57
58
	public function testAddDecoratorsInvalidClass()
59
	{
60
		$decorators = array( 'Test' );
61
		$cntl = $this->getMockBuilder( '\Aimeos\Controller\Jobs\Iface' )->getMock();
62
63
		$this->setExpectedException( '\\Aimeos\\Controller\\Jobs\\Exception' );
64
		\Aimeos\Controller\Jobs\Common\Factory\TestAbstract::addDecoratorsPublic( $this->context, $this->aimeos, $cntl, $decorators, 'TestDecorator' );
65
	}
66
67
68
	public function testAddDecoratorsInvalidInterface()
69
	{
70
		$decorators = array( 'Test' );
71
		$cntl = $this->getMockBuilder( '\Aimeos\Controller\Jobs\Iface' )->getMock();
72
73
		$this->setExpectedException( '\\Aimeos\\Controller\\Jobs\\Exception' );
74
		\Aimeos\Controller\Jobs\Common\Factory\TestAbstract::addDecoratorsPublic( $this->context, $this->aimeos, $cntl,
75
			$decorators, '\\Aimeos\\Controller\\Jobs\\Common\\Decorator\\' );
76
	}
77
78
79
	public function testAddControllerDecoratorsInvalidDomain()
80
	{
81
		$cntl = $this->getMockBuilder( '\Aimeos\Controller\Jobs\Iface' )->getMock();
82
83
		$this->setExpectedException( '\\Aimeos\\Controller\\Jobs\\Exception' );
84
		\Aimeos\Controller\Jobs\Common\Factory\TestAbstract::addControllerDecoratorsPublic( $this->context, $this->aimeos, $cntl, '' );
85
	}
86
}
87
88
89
class TestAbstract
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class should be in its own file to aid autoloaders.

Having each class in a dedicated file usually plays nice with PSR autoloaders and is therefore a well established practice. If you use other autoloaders, you might not want to follow this rule.

Loading history...
90
	extends \Aimeos\Controller\Jobs\Common\Factory\Base
91
{
92
	public static function addDecoratorsPublic( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\Bootstrap $aimeos,
93
		\Aimeos\Controller\Jobs\Iface $controller, array $decorators, $classprefix )
94
	{
95
		self::addDecorators( $context, $aimeos, $controller, $decorators, $classprefix );
96
	}
97
98
	public static function addControllerDecoratorsPublic( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\Bootstrap $aimeos,
99
		\Aimeos\Controller\Jobs\Iface $controller, $domain )
100
	{
101
		self::addControllerDecorators( $context, $aimeos, $controller, $domain );
102
	}
103
}
104
105
106
class TestDecorator
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class should be in its own file to aid autoloaders.

Having each class in a dedicated file usually plays nice with PSR autoloaders and is therefore a well established practice. If you use other autoloaders, you might not want to follow this rule.

Loading history...
107
{
108
}
109