Completed
Push — master ( d21ec6...2fc608 )
by Aimeos
01:56
created
controller/frontend/src/Controller/Frontend/Basket/Decorator/Base.php 2 patches
Doc Comments   +2 added lines, -7 removed lines patch added patch discarded remove patch
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 
62 62
 	/**
63 63
 	 * Empties the basket and removing all products, addresses, services, etc.
64
-	 * @return void
64
+	 * @return Base
65 65
 	 */
66 66
 	public function clear()
67 67
 	{
@@ -134,11 +134,6 @@  discard block
 block discarded – undo
134 134
 	 *
135 135
 	 * @param string $prodid ID of the base product to add
136 136
 	 * @param integer $quantity Amount of products that should by added
137
-	 * @param array $options Possible options are: 'stock'=>true|false and 'variant'=>true|false
138
-	 * 	The 'stock'=>false option allows adding products without being in stock.
139
-	 * 	The 'variant'=>false option allows adding the selection product to the basket
140
-	 * 	instead of the specific sub-product if the variant-building attribute IDs
141
-	 * 	doesn't match a specific sub-product or if the attribute IDs are missing.
142 137
 	 * @param array $variantAttributeIds List of variant-building attribute IDs that identify a specific product
143 138
 	 * 	in a selection products
144 139
 	 * @param array $configAttributeIds  List of attribute IDs that doesn't identify a specific product in a
@@ -257,7 +252,7 @@  discard block
 block discarded – undo
257 252
 	/**
258 253
 	 * Returns the frontend controller
259 254
 	 *
260
-	 * @return \Aimeos\Controller\Frontend\Basket\Iface Frontend controller object
255
+	 * @return \Aimeos\Controller\Frontend\Iface Frontend controller object
261 256
 	 */
262 257
 	protected function getController()
263 258
 	{
Please login to merge, or discard this patch.
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -30,18 +30,18 @@  discard block
 block discarded – undo
30 30
 	 * @param \Aimeos\Controller\Frontend\Iface $controller Controller object
31 31
 	 * @param \Aimeos\MShop\Context\Item\Iface $context Context object with required objects
32 32
 	 */
33
-	public function __construct( \Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context )
33
+	public function __construct(\Aimeos\Controller\Frontend\Iface $controller, \Aimeos\MShop\Context\Item\Iface $context)
34 34
 	{
35 35
 		$iface = '\Aimeos\Controller\Frontend\Basket\Iface';
36
-		if( !( $controller instanceof $iface ) )
36
+		if (!($controller instanceof $iface))
37 37
 		{
38
-			$msg = sprintf( 'Class "%1$s" does not implement interface "%2$s"', get_class( $controller ), $iface );
39
-			throw new \Aimeos\Controller\Frontend\Exception( $msg );
38
+			$msg = sprintf('Class "%1$s" does not implement interface "%2$s"', get_class($controller), $iface);
39
+			throw new \Aimeos\Controller\Frontend\Exception($msg);
40 40
 		}
41 41
 
42 42
 		$this->controller = $controller;
43 43
 
44
-		parent::__construct( $context );
44
+		parent::__construct($context);
45 45
 	}
46 46
 
47 47
 
@@ -53,9 +53,9 @@  discard block
 block discarded – undo
53 53
 	 * @return mixed Returns the value of the called method
54 54
 	 * @throws \Aimeos\Controller\Frontend\Exception If method call failed
55 55
 	 */
56
-	public function __call( $name, array $param )
56
+	public function __call($name, array $param)
57 57
 	{
58
-		return @call_user_func_array( array( $this->controller, $name ), $param );
58
+		return @call_user_func_array(array($this->controller, $name), $param);
59 59
 	}
60 60
 
61 61
 
@@ -97,9 +97,9 @@  discard block
 block discarded – undo
97 97
 	 * @param string $type Basket type
98 98
 	 * @return \Aimeos\Controller\Frontend\Basket\Iface Basket frontend object
99 99
 	 */
100
-	public function setType( $type )
100
+	public function setType($type)
101 101
 	{
102
-		$this->controller->setType( $type );
102
+		$this->controller->setType($type);
103 103
 		return $this;
104 104
 	}
105 105
 
@@ -123,9 +123,9 @@  discard block
 block discarded – undo
123 123
 	 * @param boolean $default True to add default criteria (user logged in), false if not
124 124
 	 * @return \Aimeos\MShop\Order\Item\Base\Iface Order base object including the given parts
125 125
 	 */
126
-	public function load( $id, $parts = \Aimeos\MShop\Order\Manager\Base\Base::PARTS_ALL, $default = true )
126
+	public function load($id, $parts = \Aimeos\MShop\Order\Manager\Base\Base::PARTS_ALL, $default = true)
127 127
 	{
128
-		return $this->controller->load( $id, $parts, $default );
128
+		return $this->controller->load($id, $parts, $default);
129 129
 	}
130 130
 
131 131
 
@@ -150,8 +150,8 @@  discard block
 block discarded – undo
150 150
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
151 151
 	 * @return void
152 152
 	 */
153
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
154
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
153
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
154
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
155 155
 	{
156 156
 		$this->controller->addProduct(
157 157
 			$prodid, $quantity, $stocktype, $variantAttributeIds,
@@ -166,9 +166,9 @@  discard block
 block discarded – undo
166 166
 	 * @param integer $position Position number (key) of the order product item
167 167
 	 * @return void
168 168
 	 */
169
-	public function deleteProduct( $position )
169
+	public function deleteProduct($position)
170 170
 	{
171
-		$this->controller->deleteProduct( $position );
171
+		$this->controller->deleteProduct($position);
172 172
 	}
173 173
 
174 174
 
@@ -180,9 +180,9 @@  discard block
 block discarded – undo
180 180
 	 * @param array $configAttributeCodes Codes of the product config attributes that should be REMOVED
181 181
 	 * @return void
182 182
 	 */
183
-	public function editProduct( $position, $quantity, array $configAttributeCodes = [] )
183
+	public function editProduct($position, $quantity, array $configAttributeCodes = [])
184 184
 	{
185
-		$this->controller->editProduct( $position, $quantity, $configAttributeCodes );
185
+		$this->controller->editProduct($position, $quantity, $configAttributeCodes);
186 186
 	}
187 187
 
188 188
 
@@ -193,9 +193,9 @@  discard block
 block discarded – undo
193 193
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid or not allowed
194 194
 	 * @return void
195 195
 	 */
196
-	public function addCoupon( $code )
196
+	public function addCoupon($code)
197 197
 	{
198
-		$this->controller->addCoupon( $code );
198
+		$this->controller->addCoupon($code);
199 199
 	}
200 200
 
201 201
 
@@ -206,9 +206,9 @@  discard block
 block discarded – undo
206 206
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception if the coupon code is invalid
207 207
 	 * @return void
208 208
 	 */
209
-	public function deleteCoupon( $code )
209
+	public function deleteCoupon($code)
210 210
 	{
211
-		$this->controller->deleteCoupon( $code );
211
+		$this->controller->deleteCoupon($code);
212 212
 	}
213 213
 
214 214
 
@@ -221,9 +221,9 @@  discard block
 block discarded – undo
221 221
 	 * 	if one of the keys is invalid when using an array with key/value pairs
222 222
 	 * @return void
223 223
 	 */
224
-	public function setAddress( $type, $value )
224
+	public function setAddress($type, $value)
225 225
 	{
226
-		$this->controller->setAddress( $type, $value );
226
+		$this->controller->setAddress($type, $value);
227 227
 	}
228 228
 
229 229
 
@@ -237,9 +237,9 @@  discard block
 block discarded – undo
237 237
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If there is no price to the service item attached
238 238
 	 * @return void
239 239
 	 */
240
-	public function addService( $type, $id, array $attributes = [] )
240
+	public function addService($type, $id, array $attributes = [])
241 241
 	{
242
-		$this->controller->addService( $type, $id, $attributes );
242
+		$this->controller->addService($type, $id, $attributes);
243 243
 	}
244 244
 
245 245
 
@@ -248,9 +248,9 @@  discard block
 block discarded – undo
248 248
 	 *
249 249
 	 * @param string $type Service type code like 'payment' or 'delivery'
250 250
 	 */
251
-	public function deleteService( $type )
251
+	public function deleteService($type)
252 252
 	{
253
-		$this->controller->deleteService( $type );
253
+		$this->controller->deleteService($type);
254 254
 	}
255 255
 
256 256
 
Please login to merge, or discard this patch.
controller/frontend/tests/Controller/Frontend/Basket/StandardTest.php 1 patch
Spacing   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -19,112 +19,112 @@  discard block
 block discarded – undo
19 19
 	public static function setUpBeforeClass()
20 20
 	{
21 21
 		$context = \TestHelperFrontend::getContext();
22
-		self::$testItem = \Aimeos\MShop\Factory::createManager( $context, 'product' )->findItem( 'U:TESTP' );
22
+		self::$testItem = \Aimeos\MShop\Factory::createManager($context, 'product')->findItem('U:TESTP');
23 23
 	}
24 24
 
25 25
 
26 26
 	protected function setUp()
27 27
 	{
28
-		\Aimeos\MShop\Factory::setCache( true );
28
+		\Aimeos\MShop\Factory::setCache(true);
29 29
 
30 30
 		$this->context = \TestHelperFrontend::getContext();
31
-		$this->object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
31
+		$this->object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
32 32
 	}
33 33
 
34 34
 
35 35
 	protected function tearDown()
36 36
 	{
37
-		\Aimeos\MShop\Factory::setCache( false );
37
+		\Aimeos\MShop\Factory::setCache(false);
38 38
 		\Aimeos\MShop\Factory::clear();
39 39
 
40 40
 		$this->object->clear();
41
-		$this->context->getSession()->set( 'aimeos', [] );
41
+		$this->context->getSession()->set('aimeos', []);
42 42
 
43
-		unset( $this->context, $this->object );
43
+		unset($this->context, $this->object);
44 44
 	}
45 45
 
46 46
 
47 47
 	public function testClear()
48 48
 	{
49
-		$this->object->addProduct( self::$testItem->getId(), 2 );
49
+		$this->object->addProduct(self::$testItem->getId(), 2);
50 50
 		$this->object->clear();
51 51
 
52
-		$this->assertEquals( 0, count( $this->object->get()->getProducts() ) );
52
+		$this->assertEquals(0, count($this->object->get()->getProducts()));
53 53
 	}
54 54
 
55 55
 
56 56
 	public function testGet()
57 57
 	{
58
-		$this->assertInstanceOf( '\Aimeos\MShop\Order\Item\Base\Iface', $this->object->get() );
58
+		$this->assertInstanceOf('\Aimeos\MShop\Order\Item\Base\Iface', $this->object->get());
59 59
 	}
60 60
 
61 61
 
62 62
 	public function testSave()
63 63
 	{
64
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
65
-			->setConstructorArgs( [$this->context] )
66
-			->setMethods( ['setSession'] )
64
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
65
+			->setConstructorArgs([$this->context])
66
+			->setMethods(['setSession'])
67 67
 			->getMock();
68 68
 
69
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
69
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
70 70
 
71
-		$stub->expects( $this->exactly( 2 ) )->method( 'setSession' );
71
+		$stub->expects($this->exactly(2))->method('setSession');
72 72
 
73
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
74
-		$object->addProduct( self::$testItem->getId(), 2 );
73
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
74
+		$object->addProduct(self::$testItem->getId(), 2);
75 75
 		$object->save();
76 76
 	}
77 77
 
78 78
 
79 79
 	public function testSetType()
80 80
 	{
81
-		$this->assertInstanceOf( '\Aimeos\Controller\Frontend\Basket\Iface', $this->object->setType( 'test' ) );
81
+		$this->assertInstanceOf('\Aimeos\Controller\Frontend\Basket\Iface', $this->object->setType('test'));
82 82
 	}
83 83
 
84 84
 
85 85
 	public function testStore()
86 86
 	{
87
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
88
-			->setConstructorArgs( [$this->context] )
89
-			->setMethods( ['store'] )
87
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
88
+			->setConstructorArgs([$this->context])
89
+			->setMethods(['store'])
90 90
 			->getMock();
91 91
 
92
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
92
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
93 93
 
94
-		$stub->expects( $this->once() )->method( 'store' );
94
+		$stub->expects($this->once())->method('store');
95 95
 
96
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
96
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
97 97
 		$object->store();
98 98
 	}
99 99
 
100 100
 
101 101
 	public function testStoreLimit()
102 102
 	{
103
-		$this->context->setEditor( 'core:unittest' );
103
+		$this->context->setEditor('core:unittest');
104 104
 		$config = $this->context->getConfig();
105
-		$config->set( 'controller/frontend/basket/limit-count', 0 );
106
-		$config->set( 'controller/frontend/basket/limit-seconds', 86400 * 365 );
105
+		$config->set('controller/frontend/basket/limit-count', 0);
106
+		$config->set('controller/frontend/basket/limit-seconds', 86400 * 365);
107 107
 
108
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
108
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
109 109
 
110
-		$this->setExpectedException( '\Aimeos\Controller\Frontend\Basket\Exception' );
110
+		$this->setExpectedException('\Aimeos\Controller\Frontend\Basket\Exception');
111 111
 		$object->store();
112 112
 	}
113 113
 
114 114
 
115 115
 	public function testLoad()
116 116
 	{
117
-		$stub = $this->getMockBuilder( '\Aimeos\MShop\Order\Manager\Base\Standard' )
118
-			->setConstructorArgs( [$this->context] )
119
-			->setMethods( ['load'] )
117
+		$stub = $this->getMockBuilder('\Aimeos\MShop\Order\Manager\Base\Standard')
118
+			->setConstructorArgs([$this->context])
119
+			->setMethods(['load'])
120 120
 			->getMock();
121 121
 
122
-		\Aimeos\MShop\Factory::injectManager( $this->context, 'order/base', $stub );
122
+		\Aimeos\MShop\Factory::injectManager($this->context, 'order/base', $stub);
123 123
 
124
-		$stub->expects( $this->once() )->method( 'load' )
125
-			->will( $this->returnValue( $stub->createItem() ) );
124
+		$stub->expects($this->once())->method('load')
125
+			->will($this->returnValue($stub->createItem()));
126 126
 
127
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
127
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
128 128
 		$object->load( -1 );
129 129
 	}
130 130
 
@@ -132,338 +132,338 @@  discard block
 block discarded – undo
132 132
 	public function testAddDeleteProduct()
133 133
 	{
134 134
 		$basket = $this->object->get();
135
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
135
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
136 136
 
137
-		$this->object->addProduct( $item->getId(), 2, 'default', [], [], [], [] );
138
-		$item2 = $this->object->get()->getProduct( 0 );
139
-		$this->object->deleteProduct( 0 );
137
+		$this->object->addProduct($item->getId(), 2, 'default', [], [], [], []);
138
+		$item2 = $this->object->get()->getProduct(0);
139
+		$this->object->deleteProduct(0);
140 140
 
141
-		$this->assertEquals( 0, count( $basket->getProducts() ) );
142
-		$this->assertEquals( 'CNC', $item2->getProductCode() );
141
+		$this->assertEquals(0, count($basket->getProducts()));
142
+		$this->assertEquals('CNC', $item2->getProductCode());
143 143
 	}
144 144
 
145 145
 
146 146
 	public function testAddProductCustomAttribute()
147 147
 	{
148
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
148
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
149 149
 
150 150
 		$search = $attributeManager->createSearch();
151 151
 		$expr = array(
152
-			$search->compare( '==', 'attribute.code', 'custom' ),
153
-			$search->compare( '==', 'attribute.type.code', 'date' ),
152
+			$search->compare('==', 'attribute.code', 'custom'),
153
+			$search->compare('==', 'attribute.type.code', 'date'),
154 154
 		);
155
-		$search->setConditions( $search->combine( '&&', $expr ) );
155
+		$search->setConditions($search->combine('&&', $expr));
156 156
 
157
-		$attributes = $attributeManager->searchItems( $search );
157
+		$attributes = $attributeManager->searchItems($search);
158 158
 
159
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
160
-			throw new \RuntimeException( 'Attribute not found' );
159
+		if (($attrItem = reset($attributes)) === false) {
160
+			throw new \RuntimeException('Attribute not found');
161 161
 		}
162 162
 
163
-		$attrValues = array( $attrItem->getId() => '2000-01-01' );
163
+		$attrValues = array($attrItem->getId() => '2000-01-01');
164 164
 
165
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
165
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
166 166
 		$basket = $this->object->get();
167 167
 
168
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
169
-		$this->assertEquals( '2000-01-01', $basket->getProduct( 0 )->getAttribute( 'date', 'custom' ) );
168
+		$this->assertEquals(1, count($basket->getProducts()));
169
+		$this->assertEquals('2000-01-01', $basket->getProduct(0)->getAttribute('date', 'custom'));
170 170
 	}
171 171
 
172 172
 
173 173
 	public function testAddProductCustomPrice()
174 174
 	{
175
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
175
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
176 176
 
177 177
 		$search = $attributeManager->createSearch();
178 178
 		$expr = array(
179
-			$search->compare( '==', 'attribute.code', 'custom' ),
180
-			$search->compare( '==', 'attribute.type.code', 'price' ),
179
+			$search->compare('==', 'attribute.code', 'custom'),
180
+			$search->compare('==', 'attribute.type.code', 'price'),
181 181
 		);
182
-		$search->setConditions( $search->combine( '&&', $expr ) );
182
+		$search->setConditions($search->combine('&&', $expr));
183 183
 
184
-		$attributes = $attributeManager->searchItems( $search );
184
+		$attributes = $attributeManager->searchItems($search);
185 185
 
186
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
187
-			throw new \RuntimeException( 'Attribute not found' );
186
+		if (($attrItem = reset($attributes)) === false) {
187
+			throw new \RuntimeException('Attribute not found');
188 188
 		}
189 189
 
190
-		$attrValues = array( $attrItem->getId() => '0.01' );
190
+		$attrValues = array($attrItem->getId() => '0.01');
191 191
 
192
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
192
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
193 193
 		$basket = $this->object->get();
194 194
 
195
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
196
-		$this->assertEquals( '0.01', $basket->getProduct( 0 )->getPrice()->getValue() );
195
+		$this->assertEquals(1, count($basket->getProducts()));
196
+		$this->assertEquals('0.01', $basket->getProduct(0)->getPrice()->getValue());
197 197
 	}
198 198
 
199 199
 
200 200
 	public function testAddProductCustomPriceException()
201 201
 	{
202
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
202
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
203 203
 
204 204
 		$search = $attributeManager->createSearch();
205 205
 		$expr = array(
206
-			$search->compare( '==', 'attribute.code', 'custom' ),
207
-			$search->compare( '==', 'attribute.type.code', 'price' ),
206
+			$search->compare('==', 'attribute.code', 'custom'),
207
+			$search->compare('==', 'attribute.type.code', 'price'),
208 208
 		);
209
-		$search->setConditions( $search->combine( '&&', $expr ) );
209
+		$search->setConditions($search->combine('&&', $expr));
210 210
 
211
-		$attributes = $attributeManager->searchItems( $search );
211
+		$attributes = $attributeManager->searchItems($search);
212 212
 
213
-		if( ( $attrItem = reset( $attributes ) ) === false ) {
214
-			throw new \RuntimeException( 'Attribute not found' );
213
+		if (($attrItem = reset($attributes)) === false) {
214
+			throw new \RuntimeException('Attribute not found');
215 215
 		}
216 216
 
217
-		$attrValues = array( $attrItem->getId() => ',' );
217
+		$attrValues = array($attrItem->getId() => ',');
218 218
 
219
-		$this->setExpectedException( '\Aimeos\Controller\Frontend\Basket\Exception' );
220
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [], [], $attrValues );
219
+		$this->setExpectedException('\Aimeos\Controller\Frontend\Basket\Exception');
220
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [], [], $attrValues);
221 221
 	}
222 222
 
223 223
 
224 224
 	public function testAddProductAttributePrice()
225 225
 	{
226
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
226
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
227 227
 
228 228
 		$search = $attributeManager->createSearch();
229 229
 		$expr = array(
230
-			$search->compare( '==', 'attribute.code', 'xs' ),
231
-			$search->compare( '==', 'attribute.type.code', 'size' ),
230
+			$search->compare('==', 'attribute.code', 'xs'),
231
+			$search->compare('==', 'attribute.type.code', 'size'),
232 232
 		);
233
-		$search->setConditions( $search->combine( '&&', $expr ) );
233
+		$search->setConditions($search->combine('&&', $expr));
234 234
 
235
-		$attributes = $attributeManager->searchItems( $search );
235
+		$attributes = $attributeManager->searchItems($search);
236 236
 
237
-		if( ( $attribute = reset( $attributes ) ) === false ) {
238
-			throw new \RuntimeException( 'Attribute not found' );
237
+		if (($attribute = reset($attributes)) === false) {
238
+			throw new \RuntimeException('Attribute not found');
239 239
 		}
240 240
 
241
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], [$attribute->getId() => 2] );
241
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], [$attribute->getId() => 2]);
242 242
 
243
-		$this->assertEquals( '43.90', $this->object->get()->getPrice()->getValue() );
243
+		$this->assertEquals('43.90', $this->object->get()->getPrice()->getValue());
244 244
 	}
245 245
 
246 246
 
247 247
 	public function testAddProductAttributeNotAssigned()
248 248
 	{
249
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
249
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
250 250
 
251 251
 		$search = $attributeManager->createSearch();
252 252
 		$expr = array(
253
-			$search->compare( '==', 'attribute.code', '30' ),
254
-			$search->compare( '==', 'attribute.type.code', 'width' ),
253
+			$search->compare('==', 'attribute.code', '30'),
254
+			$search->compare('==', 'attribute.type.code', 'width'),
255 255
 		);
256
-		$search->setConditions( $search->combine( '&&', $expr ) );
256
+		$search->setConditions($search->combine('&&', $expr));
257 257
 
258
-		$attribute = $attributeManager->searchItems( $search );
258
+		$attribute = $attributeManager->searchItems($search);
259 259
 
260
-		if( empty( $attribute ) ) {
261
-			throw new \RuntimeException( 'Attribute not found' );
260
+		if (empty($attribute)) {
261
+			throw new \RuntimeException('Attribute not found');
262 262
 		}
263 263
 
264
-		$hiddenAttrIds = array_keys( $attribute );
265
-		$configAttrIds = array_keys( $attribute );
264
+		$hiddenAttrIds = array_keys($attribute);
265
+		$configAttrIds = array_keys($attribute);
266 266
 
267
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
268
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], $configAttrIds, $hiddenAttrIds );
267
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
268
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], $configAttrIds, $hiddenAttrIds);
269 269
 	}
270 270
 
271 271
 
272 272
 	public function testAddProductNegativeQuantityException()
273 273
 	{
274
-		$this->setExpectedException( '\\Aimeos\\MShop\\Order\\Exception' );
275
-		$this->object->addProduct( self::$testItem->getId(), -1 );
274
+		$this->setExpectedException('\\Aimeos\\MShop\\Order\\Exception');
275
+		$this->object->addProduct(self::$testItem->getId(), -1);
276 276
 	}
277 277
 
278 278
 
279 279
 	public function testAddProductNoPriceException()
280 280
 	{
281
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'MNOP' );
281
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('MNOP');
282 282
 
283
-		$this->setExpectedException( '\\Aimeos\\MShop\\Price\\Exception' );
284
-		$this->object->addProduct( $item->getId(), 1 );
283
+		$this->setExpectedException('\\Aimeos\\MShop\\Price\\Exception');
284
+		$this->object->addProduct($item->getId(), 1);
285 285
 	}
286 286
 
287 287
 
288 288
 	public function testAddProductConfigAttributeException()
289 289
 	{
290
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
291
-		$this->object->addProduct( self::$testItem->getId(), 1, 'default', [], array( -1 ) );
290
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
291
+		$this->object->addProduct(self::$testItem->getId(), 1, 'default', [], array( -1 ));
292 292
 	}
293 293
 
294 294
 
295 295
 	public function testAddProductLowQuantityPriceException()
296 296
 	{
297
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'IJKL' );
297
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('IJKL');
298 298
 
299
-		$this->setExpectedException( '\\Aimeos\\MShop\\Price\\Exception' );
300
-		$this->object->addProduct( $item->getId(), 1 );
299
+		$this->setExpectedException('\\Aimeos\\MShop\\Price\\Exception');
300
+		$this->object->addProduct($item->getId(), 1);
301 301
 	}
302 302
 
303 303
 
304 304
 	public function testAddProductHigherQuantities()
305 305
 	{
306
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'IJKL' );
306
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('IJKL');
307 307
 
308
-		$this->object->addProduct( $item->getId(), 2, 'default', [], [], [], [], 'unit_type3' );
308
+		$this->object->addProduct($item->getId(), 2, 'default', [], [], [], [], 'unit_type3');
309 309
 
310
-		$this->assertEquals( 2, $this->object->get()->getProduct( 0 )->getQuantity() );
311
-		$this->assertEquals( 'IJKL', $this->object->get()->getProduct( 0 )->getProductCode() );
310
+		$this->assertEquals(2, $this->object->get()->getProduct(0)->getQuantity());
311
+		$this->assertEquals('IJKL', $this->object->get()->getProduct(0)->getProductCode());
312 312
 	}
313 313
 
314 314
 
315 315
 	public function testDeleteProductFlagError()
316 316
 	{
317
-		$this->object->addProduct( self::$testItem->getId(), 2 );
317
+		$this->object->addProduct(self::$testItem->getId(), 2);
318 318
 
319
-		$item = $this->object->get()->getProduct( 0 );
320
-		$item->setFlags( \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE );
319
+		$item = $this->object->get()->getProduct(0);
320
+		$item->setFlags(\Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE);
321 321
 
322
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
323
-		$this->object->deleteProduct( 0 );
322
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
323
+		$this->object->deleteProduct(0);
324 324
 	}
325 325
 
326 326
 
327 327
 	public function testEditProduct()
328 328
 	{
329
-		$this->object->addProduct( self::$testItem->getId(), 1 );
329
+		$this->object->addProduct(self::$testItem->getId(), 1);
330 330
 
331
-		$item = $this->object->get()->getProduct( 0 );
332
-		$this->assertEquals( 1, $item->getQuantity() );
331
+		$item = $this->object->get()->getProduct(0);
332
+		$this->assertEquals(1, $item->getQuantity());
333 333
 
334
-		$this->object->editProduct( 0, 4 );
334
+		$this->object->editProduct(0, 4);
335 335
 
336
-		$item = $this->object->get()->getProduct( 0 );
337
-		$this->assertEquals( 4, $item->getQuantity() );
338
-		$this->assertEquals( 'U:TESTP', $item->getProductCode() );
336
+		$item = $this->object->get()->getProduct(0);
337
+		$this->assertEquals(4, $item->getQuantity());
338
+		$this->assertEquals('U:TESTP', $item->getProductCode());
339 339
 	}
340 340
 
341 341
 
342 342
 	public function testEditProductAttributes()
343 343
 	{
344 344
 		$configAttrIds = [];
345
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
345
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
346 346
 
347 347
 		$search = $attributeManager->createSearch();
348 348
 		$conditions = array(
349
-			$search->compare( '==', 'attribute.domain', 'product' ),
350
-			$search->combine( '||', array(
351
-				$search->combine( '&&', array(
352
-					$search->compare( '==', 'attribute.code', 'xs' ),
353
-					$search->compare( '==', 'attribute.type.code', 'size' ),
354
-				) ),
355
-				$search->combine( '&&', array(
356
-					$search->compare( '==', 'attribute.code', 'white' ),
357
-					$search->compare( '==', 'attribute.type.code', 'color' ),
358
-				) ),
359
-			) )
349
+			$search->compare('==', 'attribute.domain', 'product'),
350
+			$search->combine('||', array(
351
+				$search->combine('&&', array(
352
+					$search->compare('==', 'attribute.code', 'xs'),
353
+					$search->compare('==', 'attribute.type.code', 'size'),
354
+				)),
355
+				$search->combine('&&', array(
356
+					$search->compare('==', 'attribute.code', 'white'),
357
+					$search->compare('==', 'attribute.type.code', 'color'),
358
+				)),
359
+			))
360 360
 		);
361
-		$search->setConditions( $search->combine( '&&', $conditions ) );
362
-		$attributes = $attributeManager->searchItems( $search );
361
+		$search->setConditions($search->combine('&&', $conditions));
362
+		$attributes = $attributeManager->searchItems($search);
363 363
 
364
-		if( empty( $attributes ) ) {
365
-			throw new \RuntimeException( 'No attributes available' );
364
+		if (empty($attributes)) {
365
+			throw new \RuntimeException('No attributes available');
366 366
 		}
367 367
 
368
-		foreach( $attributes as $id => $attribute ) {
368
+		foreach ($attributes as $id => $attribute) {
369 369
 			$configAttrIds[$id] = 1;
370 370
 		}
371 371
 
372
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TESTP' );
372
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TESTP');
373 373
 
374
-		$this->object->addProduct( $item->getId(), 1, 'default', [], $configAttrIds );
375
-		$this->object->editProduct( 0, 4 );
374
+		$this->object->addProduct($item->getId(), 1, 'default', [], $configAttrIds);
375
+		$this->object->editProduct(0, 4);
376 376
 
377
-		$item = $this->object->get()->getProduct( 0 );
378
-		$this->assertEquals( 2, count( $item->getAttributes() ) );
379
-		$this->assertEquals( 4, $item->getQuantity() );
377
+		$item = $this->object->get()->getProduct(0);
378
+		$this->assertEquals(2, count($item->getAttributes()));
379
+		$this->assertEquals(4, $item->getQuantity());
380 380
 
381 381
 
382
-		$this->object->editProduct( 0, 3, array( reset( $attributes )->getType() ) );
382
+		$this->object->editProduct(0, 3, array(reset($attributes)->getType()));
383 383
 
384
-		$item = $this->object->get()->getProduct( 0 );
385
-		$this->assertEquals( 3, $item->getQuantity() );
386
-		$this->assertEquals( 1, count( $item->getAttributes() ) );
387
-		$this->assertEquals( 'U:TESTP', $item->getProductCode() );
384
+		$item = $this->object->get()->getProduct(0);
385
+		$this->assertEquals(3, $item->getQuantity());
386
+		$this->assertEquals(1, count($item->getAttributes()));
387
+		$this->assertEquals('U:TESTP', $item->getProductCode());
388 388
 	}
389 389
 
390 390
 
391 391
 	public function testEditProductFlagError()
392 392
 	{
393
-		$this->object->addProduct( self::$testItem->getId(), 2 );
393
+		$this->object->addProduct(self::$testItem->getId(), 2);
394 394
 
395
-		$item = $this->object->get()->getProduct( 0 );
396
-		$item->setFlags( \Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE );
395
+		$item = $this->object->get()->getProduct(0);
396
+		$item->setFlags(\Aimeos\MShop\Order\Item\Base\Product\Base::FLAG_IMMUTABLE);
397 397
 
398
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
399
-		$this->object->editProduct( 0, 4 );
398
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
399
+		$this->object->editProduct(0, 4);
400 400
 	}
401 401
 
402 402
 
403 403
 	public function testAddCoupon()
404 404
 	{
405
-		$this->object->addProduct( self::$testItem->getId(), 2 );
406
-		$this->object->addCoupon( 'GHIJ' );
405
+		$this->object->addProduct(self::$testItem->getId(), 2);
406
+		$this->object->addCoupon('GHIJ');
407 407
 
408 408
 		$basket = $this->object->get();
409 409
 
410
-		$this->assertEquals( 1, count( $basket->getCoupons() ) );
410
+		$this->assertEquals(1, count($basket->getCoupons()));
411 411
 	}
412 412
 
413 413
 
414 414
 	public function testAddCouponExceedCount()
415 415
 	{
416
-		$this->object->addProduct( self::$testItem->getId(), 2 );
417
-		$this->object->addCoupon( 'GHIJ' );
416
+		$this->object->addProduct(self::$testItem->getId(), 2);
417
+		$this->object->addCoupon('GHIJ');
418 418
 
419
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
420
-		$this->object->addCoupon( 'GHIJ' );
419
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
420
+		$this->object->addCoupon('GHIJ');
421 421
 	}
422 422
 
423 423
 
424 424
 	public function testAddCouponInvalidCode()
425 425
 	{
426
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
427
-		$this->object->addCoupon( 'invalid' );
426
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
427
+		$this->object->addCoupon('invalid');
428 428
 	}
429 429
 
430 430
 
431 431
 	public function testAddCouponMissingRequirements()
432 432
 	{
433
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
434
-		$this->object->addCoupon( 'OPQR' );
433
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
434
+		$this->object->addCoupon('OPQR');
435 435
 	}
436 436
 
437 437
 
438 438
 	public function testDeleteCoupon()
439 439
 	{
440
-		$this->object->addProduct( self::$testItem->getId(), 2 );
441
-		$this->object->addCoupon( '90AB' );
442
-		$this->object->deleteCoupon( '90AB' );
440
+		$this->object->addProduct(self::$testItem->getId(), 2);
441
+		$this->object->addCoupon('90AB');
442
+		$this->object->deleteCoupon('90AB');
443 443
 
444 444
 		$basket = $this->object->get();
445 445
 
446
-		$this->assertEquals( 0, count( $basket->getCoupons() ) );
446
+		$this->assertEquals(0, count($basket->getCoupons()));
447 447
 	}
448 448
 
449 449
 
450 450
 	public function testSetAddressDelete()
451 451
 	{
452
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, null );
452
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, null);
453 453
 
454
-		$this->setExpectedException( '\Aimeos\MShop\Order\Exception' );
455
-		$this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
454
+		$this->setExpectedException('\Aimeos\MShop\Order\Exception');
455
+		$this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
456 456
 	}
457 457
 
458 458
 
459 459
 	public function testSetBillingAddressByItem()
460 460
 	{
461
-		$item = $this->getAddress( 'Example company' );
461
+		$item = $this->getAddress('Example company');
462 462
 
463
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $item );
463
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $item);
464 464
 
465
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
466
-		$this->assertEquals( 'Example company', $address->getCompany() );
465
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
466
+		$this->assertEquals('Example company', $address->getCompany());
467 467
 	}
468 468
 
469 469
 
@@ -491,37 +491,37 @@  discard block
 block discarded – undo
491 491
 			'order.base.address.flag' => 0,
492 492
 		);
493 493
 
494
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $fixture );
494
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $fixture);
495 495
 
496
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT );
497
-		$this->assertEquals( 'Example company', $address->getCompany() );
498
-		$this->assertEquals( 'Dr.', $address->getTitle() );
499
-		$this->assertEquals( 'firstunit', $address->getFirstname() );
496
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT);
497
+		$this->assertEquals('Example company', $address->getCompany());
498
+		$this->assertEquals('Dr.', $address->getTitle());
499
+		$this->assertEquals('firstunit', $address->getFirstname());
500 500
 	}
501 501
 
502 502
 
503 503
 	public function testSetBillingAddressByArrayError()
504 504
 	{
505
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
506
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, array( 'error' => false ) );
505
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
506
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, array('error' => false));
507 507
 	}
508 508
 
509 509
 
510 510
 	public function testSetBillingAddressParameterError()
511 511
 	{
512
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
513
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, 'error' );
512
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
513
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, 'error');
514 514
 	}
515 515
 
516 516
 
517 517
 	public function testSetDeliveryAddressByItem()
518 518
 	{
519
-		$item = $this->getAddress( 'Example company' );
519
+		$item = $this->getAddress('Example company');
520 520
 
521
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $item );
521
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $item);
522 522
 
523
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY );
524
-		$this->assertEquals( 'Example company', $address->getCompany() );
523
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY);
524
+		$this->assertEquals('Example company', $address->getCompany());
525 525
 	}
526 526
 
527 527
 
@@ -548,121 +548,121 @@  discard block
 block discarded – undo
548 548
 			'order.base.address.website' => 'www.example.com',
549 549
 			'order.base.address.flag' => 0,
550 550
 		);
551
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $fixture );
551
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, $fixture);
552 552
 
553
-		$address = $this->object->get()->getAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY );
554
-		$this->assertEquals( 'Example company', $address->getCompany() );
555
-		$this->assertEquals( 'Dr.', $address->getTitle() );
556
-		$this->assertEquals( 'firstunit', $address->getFirstname() );
553
+		$address = $this->object->get()->getAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY);
554
+		$this->assertEquals('Example company', $address->getCompany());
555
+		$this->assertEquals('Dr.', $address->getTitle());
556
+		$this->assertEquals('firstunit', $address->getFirstname());
557 557
 	}
558 558
 
559 559
 
560 560
 	public function testSetDeliveryAddressByArrayError()
561 561
 	{
562
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
563
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, array( 'error' => false ) );
562
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
563
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, array('error' => false));
564 564
 	}
565 565
 
566 566
 
567 567
 	public function testSetDeliveryAddressTypeError()
568 568
 	{
569
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
570
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, 'error' );
569
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
570
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_DELIVERY, 'error');
571 571
 	}
572 572
 
573 573
 
574 574
 	public function testSetServicePayment()
575 575
 	{
576
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
577
-		$service = $manager->findItem( 'unitpaymentcode', [], 'service', 'payment' );
576
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
577
+		$service = $manager->findItem('unitpaymentcode', [], 'service', 'payment');
578 578
 
579
-		$this->object->addService( 'payment', $service->getId(), [] );
580
-		$item = $this->object->get()->getService( 'payment', 'unitpaymentcode' )->getCode();
581
-		$this->assertEquals( 'unitpaymentcode', $item );
579
+		$this->object->addService('payment', $service->getId(), []);
580
+		$item = $this->object->get()->getService('payment', 'unitpaymentcode')->getCode();
581
+		$this->assertEquals('unitpaymentcode', $item);
582 582
 
583
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
584
-		$this->object->addService( 'payment', $service->getId(), array( 'prepay' => true ) );
583
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
584
+		$this->object->addService('payment', $service->getId(), array('prepay' => true));
585 585
 	}
586 586
 
587 587
 
588 588
 	public function testSetDeliveryOption()
589 589
 	{
590
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
591
-		$service = $manager->findItem( 'unitcode', [], 'service', 'delivery' );
590
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
591
+		$service = $manager->findItem('unitcode', [], 'service', 'delivery');
592 592
 
593
-		$this->object->addService( 'delivery', $service->getId(), [] );
594
-		$item = $this->object->get()->getService( 'delivery', 'unitcode' );
595
-		$this->assertEquals( 'unitcode', $item->getCode() );
593
+		$this->object->addService('delivery', $service->getId(), []);
594
+		$item = $this->object->get()->getService('delivery', 'unitcode');
595
+		$this->assertEquals('unitcode', $item->getCode());
596 596
 
597
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
598
-		$this->object->addService( 'delivery', $service->getId(), array( 'fast shipping' => true, 'air shipping' => false ) );
597
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
598
+		$this->object->addService('delivery', $service->getId(), array('fast shipping' => true, 'air shipping' => false));
599 599
 	}
600 600
 
601 601
 
602 602
 	public function testCheckLocale()
603 603
 	{
604
-		$manager = \Aimeos\MShop\Factory::createManager( $this->context, 'service' );
605
-		$payment = $manager->findItem( 'unitpaymentcode', [], 'service', 'payment' );
606
-		$delivery = $manager->findItem( 'unitcode', [], 'service', 'delivery' );
604
+		$manager = \Aimeos\MShop\Factory::createManager($this->context, 'service');
605
+		$payment = $manager->findItem('unitpaymentcode', [], 'service', 'payment');
606
+		$delivery = $manager->findItem('unitcode', [], 'service', 'delivery');
607 607
 
608
-		$this->object->addProduct( self::$testItem->getId(), 2 );
609
-		$this->object->addCoupon( 'OPQR' );
608
+		$this->object->addProduct(self::$testItem->getId(), 2);
609
+		$this->object->addCoupon('OPQR');
610 610
 
611
-		$this->object->addService( 'payment', $payment->getId() );
612
-		$this->object->addService( 'delivery', $delivery->getId() );
611
+		$this->object->addService('payment', $payment->getId());
612
+		$this->object->addService('delivery', $delivery->getId());
613 613
 
614 614
 		$basket = $this->object->get();
615 615
 		$price = $basket->getPrice();
616 616
 
617
-		foreach( $basket->getProducts() as $product )
617
+		foreach ($basket->getProducts() as $product)
618 618
 		{
619
-			$this->assertEquals( 2, $product->getQuantity() );
620
-			$product->getPrice()->setCurrencyId( 'CHF' );
619
+			$this->assertEquals(2, $product->getQuantity());
620
+			$product->getPrice()->setCurrencyId('CHF');
621 621
 		}
622 622
 
623
-		$basket->getService( 'delivery', 'unitcode' )->getPrice()->setCurrencyId( 'CHF' );
624
-		$basket->getService( 'payment', 'unitpaymentcode' )->getPrice()->setCurrencyId( 'CHF' );
625
-		$basket->getLocale()->setCurrencyId( 'CHF' );
626
-		$price->setCurrencyId( 'CHF' );
623
+		$basket->getService('delivery', 'unitcode')->getPrice()->setCurrencyId('CHF');
624
+		$basket->getService('payment', 'unitpaymentcode')->getPrice()->setCurrencyId('CHF');
625
+		$basket->getLocale()->setCurrencyId('CHF');
626
+		$price->setCurrencyId('CHF');
627 627
 
628
-		$this->context->getLocale()->setCurrencyId( 'CHF' );
629
-		$this->object->setAddress( \Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $this->getAddress( 'Example company' ) );
628
+		$this->context->getLocale()->setCurrencyId('CHF');
629
+		$this->object->setAddress(\Aimeos\MShop\Order\Item\Base\Address\Base::TYPE_PAYMENT, $this->getAddress('Example company'));
630 630
 
631
-		$this->context->getSession()->set( 'aimeos/basket/currency', 'CHF' );
632
-		$this->context->getLocale()->setCurrencyId( 'EUR' );
631
+		$this->context->getSession()->set('aimeos/basket/currency', 'CHF');
632
+		$this->context->getLocale()->setCurrencyId('EUR');
633 633
 
634
-		$this->context->getSession()->set( 'aimeos/basket/content-unittest-en-EUR-', null );
634
+		$this->context->getSession()->set('aimeos/basket/content-unittest-en-EUR-', null);
635 635
 
636
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
636
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
637 637
 		$basket = $object->get();
638 638
 
639
-		foreach( $basket->getProducts() as $product )
639
+		foreach ($basket->getProducts() as $product)
640 640
 		{
641
-			$this->assertEquals( 'EUR', $product->getPrice()->getCurrencyId() );
642
-			$this->assertEquals( 2, $product->getQuantity() );
641
+			$this->assertEquals('EUR', $product->getPrice()->getCurrencyId());
642
+			$this->assertEquals(2, $product->getQuantity());
643 643
 		}
644 644
 
645
-		$this->assertEquals( 'EUR', $basket->getService( 'payment', 'unitpaymentcode' )->getPrice()->getCurrencyId() );
646
-		$this->assertEquals( 'EUR', $basket->getService( 'delivery', 'unitcode' )->getPrice()->getCurrencyId() );
647
-		$this->assertEquals( 'EUR', $basket->getLocale()->getCurrencyId() );
648
-		$this->assertEquals( 'EUR', $basket->getPrice()->getCurrencyId() );
645
+		$this->assertEquals('EUR', $basket->getService('payment', 'unitpaymentcode')->getPrice()->getCurrencyId());
646
+		$this->assertEquals('EUR', $basket->getService('delivery', 'unitcode')->getPrice()->getCurrencyId());
647
+		$this->assertEquals('EUR', $basket->getLocale()->getCurrencyId());
648
+		$this->assertEquals('EUR', $basket->getPrice()->getCurrencyId());
649 649
 	}
650 650
 
651 651
 
652 652
 	/**
653 653
 	 * @param string $company
654 654
 	 */
655
-	protected function getAddress( $company )
655
+	protected function getAddress($company)
656 656
 	{
657
-		$customer = \Aimeos\MShop\Customer\Manager\Factory::createManager( \TestHelperFrontend::getContext(), 'Standard' );
658
-		$addressManager = $customer->getSubManager( 'address', 'Standard' );
657
+		$customer = \Aimeos\MShop\Customer\Manager\Factory::createManager(\TestHelperFrontend::getContext(), 'Standard');
658
+		$addressManager = $customer->getSubManager('address', 'Standard');
659 659
 
660 660
 		$search = $addressManager->createSearch();
661
-		$search->setConditions( $search->compare( '==', 'customer.address.company', $company ) );
662
-		$items = $addressManager->searchItems( $search );
661
+		$search->setConditions($search->compare('==', 'customer.address.company', $company));
662
+		$items = $addressManager->searchItems($search);
663 663
 
664
-		if( ( $item = reset( $items ) ) === false ) {
665
-			throw new \RuntimeException( sprintf( 'No address item with company "%1$s" found', $company ) );
664
+		if (($item = reset($items)) === false) {
665
+			throw new \RuntimeException(sprintf('No address item with company "%1$s" found', $company));
666 666
 		}
667 667
 
668 668
 		return $item;
Please login to merge, or discard this patch.
frontend/tests/Controller/Frontend/Basket/Decorator/SelectTest.php 1 patch
Spacing   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -19,219 +19,219 @@
 block discarded – undo
19 19
 	protected function setUp()
20 20
 	{
21 21
 		$this->context = \TestHelperFrontend::getContext();
22
-		$this->testItem = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TESTP' );
22
+		$this->testItem = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TESTP');
23 23
 
24
-		$object = new \Aimeos\Controller\Frontend\Basket\Standard( $this->context );
25
-		$this->object = new \Aimeos\Controller\Frontend\Basket\Decorator\Select( $object, $this->context );
24
+		$object = new \Aimeos\Controller\Frontend\Basket\Standard($this->context);
25
+		$this->object = new \Aimeos\Controller\Frontend\Basket\Decorator\Select($object, $this->context);
26 26
 	}
27 27
 
28 28
 
29 29
 	protected function tearDown()
30 30
 	{
31 31
 		$this->object->clear();
32
-		$this->context->getSession()->set( 'aimeos', [] );
32
+		$this->context->getSession()->set('aimeos', []);
33 33
 
34
-		unset( $this->object );
34
+		unset($this->object);
35 35
 	}
36 36
 
37 37
 
38 38
 	public function testAddDeleteProduct()
39 39
 	{
40 40
 		$basket = $this->object->get();
41
-		$this->object->addProduct( $this->testItem->getId(), 2 );
41
+		$this->object->addProduct($this->testItem->getId(), 2);
42 42
 
43
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
44
-		$this->assertEquals( 2, $basket->getProduct( 0 )->getQuantity() );
45
-		$this->assertEquals( 'U:TESTPSUB01', $basket->getProduct( 0 )->getProductCode() );
43
+		$this->assertEquals(1, count($basket->getProducts()));
44
+		$this->assertEquals(2, $basket->getProduct(0)->getQuantity());
45
+		$this->assertEquals('U:TESTPSUB01', $basket->getProduct(0)->getProductCode());
46 46
 	}
47 47
 
48 48
 
49 49
 	public function testAddProductNoSelection()
50 50
 	{
51
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
51
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
52 52
 
53
-		$this->object->addProduct( $item->getId(), 1 );
53
+		$this->object->addProduct($item->getId(), 1);
54 54
 
55
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
56
-		$this->assertEquals( 'CNC', $this->object->get()->getProduct( 0 )->getProductCode() );
57
-		$this->assertEquals( 0, count( $this->object->get()->getProduct( 0 )->getProducts() ) );
55
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
56
+		$this->assertEquals('CNC', $this->object->get()->getProduct(0)->getProductCode());
57
+		$this->assertEquals(0, count($this->object->get()->getProduct(0)->getProducts()));
58 58
 	}
59 59
 
60 60
 
61 61
 	public function testAddProductVariant()
62 62
 	{
63
-		$attributeManager = \Aimeos\MShop\Attribute\Manager\Factory::createManager( \TestHelperFrontend::getContext() );
63
+		$attributeManager = \Aimeos\MShop\Attribute\Manager\Factory::createManager(\TestHelperFrontend::getContext());
64 64
 
65 65
 		$search = $attributeManager->createSearch();
66
-		$search->setConditions( $search->compare( '==', 'attribute.code', array( 'xs', 'white' ) ) );
66
+		$search->setConditions($search->compare('==', 'attribute.code', array('xs', 'white')));
67 67
 
68
-		$attributes = $attributeManager->searchItems( $search );
68
+		$attributes = $attributeManager->searchItems($search);
69 69
 
70
-		if( count( $attributes ) === 0 ) {
71
-			throw new \RuntimeException( 'Attributes not found' );
70
+		if (count($attributes) === 0) {
71
+			throw new \RuntimeException('Attributes not found');
72 72
 		}
73 73
 
74 74
 
75
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'CNC' );
75
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('CNC');
76 76
 
77
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ), [], [], [] );
77
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes), [], [], []);
78 78
 
79
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
80
-		$this->assertEquals( 'CNC', $this->object->get()->getProduct( 0 )->getProductCode() );
79
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
80
+		$this->assertEquals('CNC', $this->object->get()->getProduct(0)->getProductCode());
81 81
 	}
82 82
 
83 83
 
84 84
 	public function testAddProductVariantIncomplete()
85 85
 	{
86
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
86
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
87 87
 
88 88
 		$search = $attributeManager->createSearch();
89 89
 		$expr = array(
90
-			$search->compare( '==', 'attribute.domain', 'product' ),
91
-			$search->compare( '==', 'attribute.code', '30' ),
92
-			$search->compare( '==', 'attribute.type.code', 'length' ),
90
+			$search->compare('==', 'attribute.domain', 'product'),
91
+			$search->compare('==', 'attribute.code', '30'),
92
+			$search->compare('==', 'attribute.type.code', 'length'),
93 93
 		);
94
-		$search->setConditions( $search->combine( '&&', $expr ) );
94
+		$search->setConditions($search->combine('&&', $expr));
95 95
 
96
-		$attributes = $attributeManager->searchItems( $search );
96
+		$attributes = $attributeManager->searchItems($search);
97 97
 
98
-		if( count( $attributes ) === 0 ) {
99
-			throw new \RuntimeException( 'Attributes not found' );
98
+		if (count($attributes) === 0) {
99
+			throw new \RuntimeException('Attributes not found');
100 100
 		}
101 101
 
102 102
 
103
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TEST' );
103
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TEST');
104 104
 
105
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ) );
105
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes));
106 106
 
107
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
108
-		$this->assertEquals( 'U:TESTSUB02', $this->object->get()->getProduct( 0 )->getProductCode() );
109
-		$this->assertEquals( 2, count( $this->object->get()->getProduct( 0 )->getAttributes() ) );
107
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
108
+		$this->assertEquals('U:TESTSUB02', $this->object->get()->getProduct(0)->getProductCode());
109
+		$this->assertEquals(2, count($this->object->get()->getProduct(0)->getAttributes()));
110 110
 	}
111 111
 
112 112
 
113 113
 	public function testAddProductVariantNonUnique()
114 114
 	{
115
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
115
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
116 116
 
117 117
 		$search = $attributeManager->createSearch();
118 118
 		$expr = array(
119
-			$search->compare( '==', 'attribute.domain', 'product' ),
120
-			$search->compare( '==', 'attribute.code', '30' ),
121
-			$search->compare( '==', 'attribute.type.code', 'width' ),
119
+			$search->compare('==', 'attribute.domain', 'product'),
120
+			$search->compare('==', 'attribute.code', '30'),
121
+			$search->compare('==', 'attribute.type.code', 'width'),
122 122
 		);
123
-		$search->setConditions( $search->combine( '&&', $expr ) );
123
+		$search->setConditions($search->combine('&&', $expr));
124 124
 
125
-		$attributes = $attributeManager->searchItems( $search );
125
+		$attributes = $attributeManager->searchItems($search);
126 126
 
127
-		if( count( $attributes ) === 0 ) {
128
-			throw new \RuntimeException( 'Attributes not found' );
127
+		if (count($attributes) === 0) {
128
+			throw new \RuntimeException('Attributes not found');
129 129
 		}
130 130
 
131 131
 
132
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:TEST' );
132
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:TEST');
133 133
 
134
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
135
-		$this->object->addProduct( $item->getId(), 1, 'default', array_keys( $attributes ) );
134
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
135
+		$this->object->addProduct($item->getId(), 1, 'default', array_keys($attributes));
136 136
 	}
137 137
 
138 138
 
139 139
 	public function testAddProductVariantNotRequired()
140 140
 	{
141
-		$this->context->getConfig()->set( 'controller/frontend/basket/require-variant', false );
141
+		$this->context->getConfig()->set('controller/frontend/basket/require-variant', false);
142 142
 
143
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
143
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
144 144
 
145 145
 		$search = $attributeManager->createSearch();
146
-		$search->setConditions( $search->compare( '==', 'attribute.code', 'xs' ) );
146
+		$search->setConditions($search->compare('==', 'attribute.code', 'xs'));
147 147
 
148
-		$attributes = $attributeManager->searchItems( $search );
148
+		$attributes = $attributeManager->searchItems($search);
149 149
 
150
-		if( count( $attributes ) === 0 ) {
151
-			throw new \RuntimeException( 'Attribute not found' );
150
+		if (count($attributes) === 0) {
151
+			throw new \RuntimeException('Attribute not found');
152 152
 		}
153 153
 
154
-		$options = array( 'variant' => false );
154
+		$options = array('variant' => false);
155 155
 
156
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', array_keys( $attributes ) );
156
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', array_keys($attributes));
157 157
 
158
-		$this->assertEquals( 1, count( $this->object->get()->getProducts() ) );
159
-		$this->assertEquals( 'U:TESTP', $this->object->get()->getProduct( 0 )->getProductCode() );
158
+		$this->assertEquals(1, count($this->object->get()->getProducts()));
159
+		$this->assertEquals('U:TESTP', $this->object->get()->getProduct(0)->getProductCode());
160 160
 	}
161 161
 
162 162
 
163 163
 	public function testAddProductEmptySelectionException()
164 164
 	{
165
-		$item = \Aimeos\MShop\Factory::createManager( $this->context, 'product' )->findItem( 'U:noSel' );
165
+		$item = \Aimeos\MShop\Factory::createManager($this->context, 'product')->findItem('U:noSel');
166 166
 
167
-		$this->setExpectedException( '\\Aimeos\\Controller\\Frontend\\Basket\\Exception' );
168
-		$this->object->addProduct( $item->getId(), 1 );
167
+		$this->setExpectedException('\\Aimeos\\Controller\\Frontend\\Basket\\Exception');
168
+		$this->object->addProduct($item->getId(), 1);
169 169
 	}
170 170
 
171 171
 
172 172
 	public function testAddProductSelectionWithPricelessItem()
173 173
 	{
174
-		$this->object->addProduct( $this->testItem->getId(), 1 );
174
+		$this->object->addProduct($this->testItem->getId(), 1);
175 175
 
176
-		$this->assertEquals( 'U:TESTPSUB01', $this->object->get()->getProduct( 0 )->getProductCode() );
176
+		$this->assertEquals('U:TESTPSUB01', $this->object->get()->getProduct(0)->getProductCode());
177 177
 	}
178 178
 
179 179
 
180 180
 	public function testAddProductConfigAttribute()
181 181
 	{
182
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
182
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
183 183
 
184 184
 		$search = $attributeManager->createSearch();
185
-		$search->setConditions( $search->compare( '==', 'attribute.code', 'xs' ) );
185
+		$search->setConditions($search->compare('==', 'attribute.code', 'xs'));
186 186
 
187
-		$attributes = $attributeManager->searchItems( $search );
187
+		$attributes = $attributeManager->searchItems($search);
188 188
 
189
-		if( ( $attribute = reset( $attributes ) ) === false ) {
190
-			throw new \RuntimeException( 'Attribute not found' );
189
+		if (($attribute = reset($attributes)) === false) {
190
+			throw new \RuntimeException('Attribute not found');
191 191
 		}
192 192
 
193
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', [], [$attribute->getId() => 1] );
193
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', [], [$attribute->getId() => 1]);
194 194
 		$basket = $this->object->get();
195 195
 
196
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
197
-		$this->assertEquals( 'U:TESTPSUB01', $basket->getProduct( 0 )->getProductCode() );
198
-		$this->assertEquals( 'xs', $basket->getProduct( 0 )->getAttribute( 'size', 'config' ) );
196
+		$this->assertEquals(1, count($basket->getProducts()));
197
+		$this->assertEquals('U:TESTPSUB01', $basket->getProduct(0)->getProductCode());
198
+		$this->assertEquals('xs', $basket->getProduct(0)->getAttribute('size', 'config'));
199 199
 	}
200 200
 
201 201
 
202 202
 	public function testAddProductHiddenAttribute()
203 203
 	{
204
-		$attributeManager = \Aimeos\MShop\Factory::createManager( $this->context, 'attribute' );
204
+		$attributeManager = \Aimeos\MShop\Factory::createManager($this->context, 'attribute');
205 205
 
206 206
 		$search = $attributeManager->createSearch();
207 207
 		$expr = array(
208
-			$search->compare( '==', 'attribute.code', '29' ),
209
-			$search->compare( '==', 'attribute.type.code', 'width' ),
208
+			$search->compare('==', 'attribute.code', '29'),
209
+			$search->compare('==', 'attribute.type.code', 'width'),
210 210
 		);
211
-		$search->setConditions( $search->combine( '&&', $expr ) );
211
+		$search->setConditions($search->combine('&&', $expr));
212 212
 
213
-		$attributes = $attributeManager->searchItems( $search );
213
+		$attributes = $attributeManager->searchItems($search);
214 214
 
215
-		if( empty( $attributes ) ) {
216
-			throw new \RuntimeException( 'Attribute not found' );
215
+		if (empty($attributes)) {
216
+			throw new \RuntimeException('Attribute not found');
217 217
 		}
218 218
 
219
-		$this->object->addProduct( $this->testItem->getId(), 1, 'default', [], [], array_keys( $attributes ) );
219
+		$this->object->addProduct($this->testItem->getId(), 1, 'default', [], [], array_keys($attributes));
220 220
 
221 221
 		$basket = $this->object->get();
222
-		$this->assertEquals( 1, count( $basket->getProducts() ) );
222
+		$this->assertEquals(1, count($basket->getProducts()));
223 223
 
224
-		$product = $basket->getProduct( 0 );
225
-		$this->assertEquals( 'U:TESTPSUB01', $product->getProductCode() );
224
+		$product = $basket->getProduct(0);
225
+		$this->assertEquals('U:TESTPSUB01', $product->getProductCode());
226 226
 
227 227
 		$attributes = $product->getAttributes();
228
-		$this->assertEquals( 1, count( $attributes ) );
228
+		$this->assertEquals(1, count($attributes));
229 229
 
230
-		if( ( $attribute = reset( $attributes ) ) === false ) {
231
-			throw new \RuntimeException( 'No attribute' );
230
+		if (($attribute = reset($attributes)) === false) {
231
+			throw new \RuntimeException('No attribute');
232 232
 		}
233 233
 
234
-		$this->assertEquals( 'hidden', $attribute->getType() );
235
-		$this->assertEquals( '29', $product->getAttribute( 'width', 'hidden' ) );
234
+		$this->assertEquals('hidden', $attribute->getType());
235
+		$this->assertEquals('29', $product->getAttribute('width', 'hidden'));
236 236
 	}
237 237
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Bundle.php 1 patch
Spacing   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -36,13 +36,13 @@  discard block
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42 42
 		$context = $this->getContext();
43
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
43
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
44 44
 
45
-		if( $productManager->getItem( $prodid, [], true )->getType() !== 'bundle' )
45
+		if ($productManager->getItem($prodid, [], true)->getType() !== 'bundle')
46 46
 		{
47 47
 			return $this->getController()->addProduct(
48 48
 				$prodid, $quantity, $stocktype, $variantAttributeIds,
@@ -51,29 +51,29 @@  discard block
 block discarded – undo
51 51
 		}
52 52
 
53 53
 		$attributeMap = [
54
-			'custom' => array_keys( $customAttributeValues ),
55
-			'config' => array_keys( $configAttributeIds ),
54
+			'custom' => array_keys($customAttributeValues),
55
+			'config' => array_keys($configAttributeIds),
56 56
 			'hidden' => $hiddenAttributeIds,
57 57
 		];
58
-		$this->checkListRef( $prodid, 'attribute', $attributeMap );
58
+		$this->checkListRef($prodid, 'attribute', $attributeMap);
59 59
 
60 60
 
61
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
62
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
61
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
62
+		$prices = $productItem->getRefItems('price', 'default', 'default');
63 63
 
64
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
65
-		$orderBaseProductItem->copyFrom( $productItem )->setQuantity( $quantity )->setStockType( $stocktype );
64
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
65
+		$orderBaseProductItem->copyFrom($productItem)->setQuantity($quantity)->setStockType($stocktype);
66 66
 
67
-		$this->addBundleProducts( $orderBaseProductItem, $productItem, $variantAttributeIds, $stocktype );
67
+		$this->addBundleProducts($orderBaseProductItem, $productItem, $variantAttributeIds, $stocktype);
68 68
 
69
-		$attr = $this->getOrderProductAttributes( 'custom', array_keys( $customAttributeValues ), $customAttributeValues );
70
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'config', array_keys( $configAttributeIds ), [], $configAttributeIds ) );
71
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'hidden', $hiddenAttributeIds ) );
69
+		$attr = $this->getOrderProductAttributes('custom', array_keys($customAttributeValues), $customAttributeValues);
70
+		$attr = array_merge($attr, $this->getOrderProductAttributes('config', array_keys($configAttributeIds), [], $configAttributeIds));
71
+		$attr = array_merge($attr, $this->getOrderProductAttributes('hidden', $hiddenAttributeIds));
72 72
 
73
-		$orderBaseProductItem->setAttributes( $attr );
74
-		$orderBaseProductItem->setPrice( $this->calcPrice( $orderBaseProductItem, $prices, $quantity ) );
73
+		$orderBaseProductItem->setAttributes($attr);
74
+		$orderBaseProductItem->setPrice($this->calcPrice($orderBaseProductItem, $prices, $quantity));
75 75
 
76
-		$this->getController()->get()->addProduct( $orderBaseProductItem );
76
+		$this->getController()->get()->addProduct($orderBaseProductItem);
77 77
 		$this->getController()->save();
78 78
 	}
79 79
 
@@ -86,43 +86,43 @@  discard block
 block discarded – undo
86 86
 	 * @param array $variantAttributeIds List of product variant attribute IDs
87 87
 	 * @param string $stocktype
88 88
 	 */
89
-	protected function addBundleProducts( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
90
-		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $stocktype )
89
+	protected function addBundleProducts(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
90
+		\Aimeos\MShop\Product\Item\Iface $productItem, array $variantAttributeIds, $stocktype)
91 91
 	{
92 92
 		$quantity = $orderBaseProductItem->getQuantity();
93 93
 		$products = $subProductIds = $orderProducts = [];
94
-		$orderProductManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product' );
94
+		$orderProductManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product');
95 95
 
96
-		foreach( $productItem->getRefItems( 'product', null, 'default' ) as $item ) {
96
+		foreach ($productItem->getRefItems('product', null, 'default') as $item) {
97 97
 			$subProductIds[] = $item->getId();
98 98
 		}
99 99
 
100
-		if( count( $subProductIds ) > 0 )
100
+		if (count($subProductIds) > 0)
101 101
 		{
102
-			$productManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' );
102
+			$productManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product');
103 103
 
104
-			$search = $productManager->createSearch( true );
104
+			$search = $productManager->createSearch(true);
105 105
 			$expr = array(
106
-				$search->compare( '==', 'product.id', $subProductIds ),
106
+				$search->compare('==', 'product.id', $subProductIds),
107 107
 				$search->getConditions(),
108 108
 			);
109
-			$search->setConditions( $search->combine( '&&', $expr ) );
109
+			$search->setConditions($search->combine('&&', $expr));
110 110
 
111
-			$products = $productManager->searchItems( $search, array( 'attribute', 'media', 'price', 'text' ) );
111
+			$products = $productManager->searchItems($search, array('attribute', 'media', 'price', 'text'));
112 112
 		}
113 113
 
114
-		foreach( $products as $product )
114
+		foreach ($products as $product)
115 115
 		{
116
-			$prices = $product->getRefItems( 'price', 'default', 'default' );
116
+			$prices = $product->getRefItems('price', 'default', 'default');
117 117
 
118 118
 			$orderProduct = $orderProductManager->createItem();
119
-			$orderProduct->copyFrom( $product );
120
-			$orderProduct->setStockType( $stocktype );
121
-			$orderProduct->setPrice( $this->calcPrice( $orderProduct, $prices, $quantity ) );
119
+			$orderProduct->copyFrom($product);
120
+			$orderProduct->setStockType($stocktype);
121
+			$orderProduct->setPrice($this->calcPrice($orderProduct, $prices, $quantity));
122 122
 
123 123
 			$orderProducts[] = $orderProduct;
124 124
 		}
125 125
 
126
-		$orderBaseProductItem->setProducts( $orderProducts );
126
+		$orderBaseProductItem->setProducts($orderProducts);
127 127
 	}
128 128
 }
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Category.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -36,26 +36,26 @@
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42
-		$catalogListManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'catalog/lists' );
42
+		$catalogListManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'catalog/lists');
43 43
 
44
-		$search = $catalogListManager->createSearch( true );
44
+		$search = $catalogListManager->createSearch(true);
45 45
 		$expr = array(
46
-			$search->compare( '==', 'catalog.lists.domain', 'product' ),
47
-			$search->compare( '==', 'catalog.lists.refid', $prodid ),
46
+			$search->compare('==', 'catalog.lists.domain', 'product'),
47
+			$search->compare('==', 'catalog.lists.refid', $prodid),
48 48
 			$search->getConditions()
49 49
 		);
50
-		$search->setConditions( $search->combine( '&&', $expr ) );
51
-		$search->setSlice( 0, 1 );
50
+		$search->setConditions($search->combine('&&', $expr));
51
+		$search->setSlice(0, 1);
52 52
 
53
-		$result = $catalogListManager->searchItems( $search );
53
+		$result = $catalogListManager->searchItems($search);
54 54
 
55
-		if( reset( $result ) === false )
55
+		if (reset($result) === false)
56 56
 		{
57
-			$msg = sprintf( 'Adding product with ID "%1$s" is not allowed', $prodid );
58
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
57
+			$msg = sprintf('Adding product with ID "%1$s" is not allowed', $prodid);
58
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
59 59
 		}
60 60
 
61 61
 		$this->getController()->addProduct(
Please login to merge, or discard this patch.
controller/frontend/src/Controller/Frontend/Basket/Decorator/Select.php 2 patches
Spacing   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -36,14 +36,14 @@  discard block
 block discarded – undo
36 36
 	 * @param string $stocktype Unique code of the stock type to deliver the products from
37 37
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If the product isn't available
38 38
 	 */
39
-	public function addProduct( $prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
-		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [] )
39
+	public function addProduct($prodid, $quantity = 1, $stocktype = 'default', array $variantAttributeIds = [],
40
+		array $configAttributeIds = [], array $hiddenAttributeIds = [], array $customAttributeValues = [])
41 41
 	{
42 42
 		$context = $this->getContext();
43
-		$productManager = \Aimeos\MShop\Factory::createManager( $context, 'product' );
44
-		$productItem = $productManager->getItem( $prodid, [], true );
43
+		$productManager = \Aimeos\MShop\Factory::createManager($context, 'product');
44
+		$productItem = $productManager->getItem($prodid, [], true);
45 45
 
46
-		if( $productManager->getItem( $prodid, [], true )->getType() !== 'select' )
46
+		if ($productManager->getItem($prodid, [], true)->getType() !== 'select')
47 47
 		{
48 48
 			return $this->getController()->addProduct(
49 49
 				$prodid, $quantity, $stocktype, $variantAttributeIds,
@@ -51,29 +51,29 @@  discard block
 block discarded – undo
51 51
 			);
52 52
 		}
53 53
 
54
-		$productItem = $productManager->getItem( $prodid, array( 'media', 'supplier', 'price', 'product', 'text' ), true );
55
-		$prices = $productItem->getRefItems( 'price', 'default', 'default' );
54
+		$productItem = $productManager->getItem($prodid, array('media', 'supplier', 'price', 'product', 'text'), true);
55
+		$prices = $productItem->getRefItems('price', 'default', 'default');
56 56
 
57
-		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager( $context, 'order/base/product' )->createItem();
58
-		$orderBaseProductItem->copyFrom( $productItem )->setQuantity( $quantity )->setStockType( $stocktype );
57
+		$orderBaseProductItem = \Aimeos\MShop\Factory::createManager($context, 'order/base/product')->createItem();
58
+		$orderBaseProductItem->copyFrom($productItem)->setQuantity($quantity)->setStockType($stocktype);
59 59
 
60
-		$attr = $this->getVariantDetails( $orderBaseProductItem, $productItem, $prices, $variantAttributeIds );
60
+		$attr = $this->getVariantDetails($orderBaseProductItem, $productItem, $prices, $variantAttributeIds);
61 61
 
62 62
 		$attributeMap = [
63
-			'custom' => array_keys( $customAttributeValues ),
64
-			'config' => array_keys( $configAttributeIds ),
63
+			'custom' => array_keys($customAttributeValues),
64
+			'config' => array_keys($configAttributeIds),
65 65
 			'hidden' => $hiddenAttributeIds,
66 66
 		];
67
-		$this->checkListRef( array( $prodid, $productItem->getId() ), 'attribute', $attributeMap );
67
+		$this->checkListRef(array($prodid, $productItem->getId()), 'attribute', $attributeMap);
68 68
 
69
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'custom', array_keys( $customAttributeValues ), $customAttributeValues ) );
70
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'config', array_keys( $configAttributeIds ), [], $configAttributeIds ) );
71
-		$attr = array_merge( $attr, $this->getOrderProductAttributes( 'hidden', $hiddenAttributeIds ) );
69
+		$attr = array_merge($attr, $this->getOrderProductAttributes('custom', array_keys($customAttributeValues), $customAttributeValues));
70
+		$attr = array_merge($attr, $this->getOrderProductAttributes('config', array_keys($configAttributeIds), [], $configAttributeIds));
71
+		$attr = array_merge($attr, $this->getOrderProductAttributes('hidden', $hiddenAttributeIds));
72 72
 
73
-		$orderBaseProductItem->setAttributes( $attr );
74
-		$orderBaseProductItem->setPrice( $this->calcPrice( $orderBaseProductItem, $prices, $quantity ) );
73
+		$orderBaseProductItem->setAttributes($attr);
74
+		$orderBaseProductItem->setPrice($this->calcPrice($orderBaseProductItem, $prices, $quantity));
75 75
 
76
-		$this->getController()->get()->addProduct( $orderBaseProductItem );
76
+		$this->getController()->get()->addProduct($orderBaseProductItem);
77 77
 		$this->getController()->save();
78 78
 	}
79 79
 
@@ -88,12 +88,12 @@  discard block
 block discarded – undo
88 88
 	 * @return \Aimeos\MShop\Order\Item\Base\Product\Attribute\Iface[] List of order product attributes
89 89
 	 * @throws \Aimeos\Controller\Frontend\Basket\Exception If no product variant is found
90 90
 	 */
91
-	protected function getVariantDetails( \Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
92
-		\Aimeos\MShop\Product\Item\Iface &$productItem, array &$prices, array $variantAttributeIds )
91
+	protected function getVariantDetails(\Aimeos\MShop\Order\Item\Base\Product\Iface $orderBaseProductItem,
92
+		\Aimeos\MShop\Product\Item\Iface & $productItem, array &$prices, array $variantAttributeIds)
93 93
 	{
94 94
 		$attr = [];
95 95
 		$context = $this->getContext();
96
-		$productItems = $this->getProductVariants( $productItem, $variantAttributeIds );
96
+		$productItems = $this->getProductVariants($productItem, $variantAttributeIds);
97 97
 
98 98
 		/** controller/frontend/basket/require-variant
99 99
 		 * A variant of a selection product must be chosen
@@ -114,47 +114,47 @@  discard block
 block discarded – undo
114 114
 		 * @category Developer
115 115
 		 * @category User
116 116
 		 */
117
-		$requireVariant = $context->getConfig()->get( 'controller/frontend/basket/require-variant', true );
117
+		$requireVariant = $context->getConfig()->get('controller/frontend/basket/require-variant', true);
118 118
 
119 119
 
120
-		if( count( $productItems ) > 1 )
120
+		if (count($productItems) > 1)
121 121
 		{
122
-			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
123
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
122
+			$msg = sprintf('No unique article found for selected attributes and product ID "%1$s"', $productItem->getId());
123
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
124 124
 		}
125
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
125
+		else if (($result = reset($productItems)) !== false) // count == 1
126 126
 		{
127 127
 			$productItem = $result;
128
-			$orderBaseProductItem->setProductCode( $productItem->getCode() );
128
+			$orderBaseProductItem->setProductCode($productItem->getCode());
129 129
 
130
-			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
130
+			$subprices = $productItem->getRefItems('price', 'default', 'default');
131 131
 
132
-			if( !empty( $subprices ) ) {
132
+			if (!empty($subprices)) {
133 133
 				$prices = $subprices;
134 134
 			}
135 135
 
136
-			$submedia = $productItem->getRefItems( 'media', 'default', 'default' );
136
+			$submedia = $productItem->getRefItems('media', 'default', 'default');
137 137
 
138
-			if( ( $mediaItem = reset( $submedia ) ) !== false ) {
139
-				$orderBaseProductItem->setMediaUrl( $mediaItem->getPreview() );
138
+			if (($mediaItem = reset($submedia)) !== false) {
139
+				$orderBaseProductItem->setMediaUrl($mediaItem->getPreview());
140 140
 			}
141 141
 
142
-			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'order/base/product/attribute' );
143
-			$variantAttributes = $productItem->getRefItems( 'attribute', null, 'variant' );
142
+			$orderProductAttrManager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'order/base/product/attribute');
143
+			$variantAttributes = $productItem->getRefItems('attribute', null, 'variant');
144 144
 
145
-			foreach( $this->getAttributes( array_keys( $variantAttributes ), array( 'text' ) ) as $attrItem )
145
+			foreach ($this->getAttributes(array_keys($variantAttributes), array('text')) as $attrItem)
146 146
 			{
147 147
 				$orderAttributeItem = $orderProductAttrManager->createItem();
148
-				$orderAttributeItem->copyFrom( $attrItem );
149
-				$orderAttributeItem->setType( 'variant' );
148
+				$orderAttributeItem->copyFrom($attrItem);
149
+				$orderAttributeItem->setType('variant');
150 150
 
151 151
 				$attr[] = $orderAttributeItem;
152 152
 			}
153 153
 		}
154
-		else if( $requireVariant != false ) // count == 0
154
+		else if ($requireVariant != false) // count == 0
155 155
 		{
156
-			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
157
-			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
156
+			$msg = sprintf('No article found for selected attributes and product ID "%1$s"', $productItem->getId());
157
+			throw new \Aimeos\Controller\Frontend\Basket\Exception($msg);
158 158
 		}
159 159
 
160 160
 		return $attr;
Please login to merge, or discard this patch.
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -121,10 +121,11 @@  discard block
 block discarded – undo
121 121
 		{
122 122
 			$msg = sprintf( 'No unique article found for selected attributes and product ID "%1$s"', $productItem->getId() );
123 123
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
124
-		}
125
-		else if( ( $result = reset( $productItems ) ) !== false ) // count == 1
124
+		} else if( ( $result = reset( $productItems ) ) !== false ) {
125
+			// count == 1
126 126
 		{
127 127
 			$productItem = $result;
128
+		}
128 129
 			$orderBaseProductItem->setProductCode( $productItem->getCode() );
129 130
 
130 131
 			$subprices = $productItem->getRefItems( 'price', 'default', 'default' );
@@ -150,10 +151,11 @@  discard block
 block discarded – undo
150 151
 
151 152
 				$attr[] = $orderAttributeItem;
152 153
 			}
153
-		}
154
-		else if( $requireVariant != false ) // count == 0
154
+		} else if( $requireVariant != false ) {
155
+			// count == 0
155 156
 		{
156 157
 			$msg = sprintf( 'No article found for selected attributes and product ID "%1$s"', $productItem->getId() );
158
+		}
157 159
 			throw new \Aimeos\Controller\Frontend\Basket\Exception( $msg );
158 160
 		}
159 161
 
Please login to merge, or discard this patch.