@@ -28,5 +28,5 @@ |
||
28 | 28 | * @param string|null $name Name of the client implementation ("Standard" if null) |
29 | 29 | * @return \Aimeos\Admin\JsonAdm\Iface Client Interface |
30 | 30 | */ |
31 | - public static function create( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\Bootstrap $aimeos, $path, $name = null ); |
|
31 | + public static function create(\Aimeos\MShop\Context\Item\Iface $context, \Aimeos\Bootstrap $aimeos, $path, $name = null); |
|
32 | 32 | } |
33 | 33 | \ No newline at end of file |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | * @param string $classname Full name of the class for which the object should be returned |
32 | 32 | * @param \Aimeos\Admin\JsonAdm\Iface|null $client JSON API client object |
33 | 33 | */ |
34 | - public static function injectClient( $classname, \Aimeos\Admin\JsonAdm\Iface $client = null ) |
|
34 | + public static function injectClient($classname, \Aimeos\Admin\JsonAdm\Iface $client = null) |
|
35 | 35 | { |
36 | 36 | self::$objects[$classname] = $client; |
37 | 37 | } |
@@ -45,8 +45,8 @@ discard block |
||
45 | 45 | * @param string $path Name of the client separated by slashes, e.g "product/property" |
46 | 46 | * @return \Aimeos\Admin\JsonAdm\Common\Iface Client object |
47 | 47 | */ |
48 | - protected static function addClientDecorators( \Aimeos\Admin\JsonAdm\Iface $client, |
|
49 | - \Aimeos\MShop\Context\Item\Iface $context, $path ) |
|
48 | + protected static function addClientDecorators(\Aimeos\Admin\JsonAdm\Iface $client, |
|
49 | + \Aimeos\MShop\Context\Item\Iface $context, $path) |
|
50 | 50 | { |
51 | 51 | $config = $context->getConfig(); |
52 | 52 | |
@@ -72,38 +72,38 @@ discard block |
||
72 | 72 | * @since 2015.12 |
73 | 73 | * @category Developer |
74 | 74 | */ |
75 | - $decorators = $config->get( 'admin/jsonadm/common/decorators/default', [] ); |
|
75 | + $decorators = $config->get('admin/jsonadm/common/decorators/default', []); |
|
76 | 76 | |
77 | - if( $path !== null && is_string( $path ) ) |
|
77 | + if ($path !== null && is_string($path)) |
|
78 | 78 | { |
79 | - $dpath = trim( $path, '/' ); |
|
80 | - $dpath = ( $dpath !== '' ? $dpath . '/' : $dpath ); |
|
79 | + $dpath = trim($path, '/'); |
|
80 | + $dpath = ($dpath !== '' ? $dpath . '/' : $dpath); |
|
81 | 81 | |
82 | - $excludes = $config->get( 'admin/jsonadm/' . $dpath . 'decorators/excludes', [] ); |
|
83 | - $localClass = str_replace( ' ', '\\', ucwords( str_replace( '/', ' ', $path ) ) ); |
|
82 | + $excludes = $config->get('admin/jsonadm/' . $dpath . 'decorators/excludes', []); |
|
83 | + $localClass = str_replace(' ', '\\', ucwords(str_replace('/', ' ', $path))); |
|
84 | 84 | |
85 | - foreach( $decorators as $key => $name ) |
|
85 | + foreach ($decorators as $key => $name) |
|
86 | 86 | { |
87 | - if( in_array( $name, $excludes ) ) { |
|
88 | - unset( $decorators[$key] ); |
|
87 | + if (in_array($name, $excludes)) { |
|
88 | + unset($decorators[$key]); |
|
89 | 89 | } |
90 | 90 | } |
91 | 91 | |
92 | 92 | $classprefix = '\\Aimeos\\Admin\\JsonAdm\\Common\\Decorator\\'; |
93 | - $decorators = $config->get( 'admin/jsonadm/' . $dpath . 'decorators/global', [] ); |
|
94 | - $client = self::addDecorators( $client, $decorators, $classprefix, $context, $path ); |
|
93 | + $decorators = $config->get('admin/jsonadm/' . $dpath . 'decorators/global', []); |
|
94 | + $client = self::addDecorators($client, $decorators, $classprefix, $context, $path); |
|
95 | 95 | |
96 | - if( !empty( $path ) ) |
|
96 | + if (!empty($path)) |
|
97 | 97 | { |
98 | - $classprefix = '\\Aimeos\\Admin\\JsonAdm\\' . ucfirst( $localClass ) . '\\Decorator\\'; |
|
99 | - $decorators = $config->get( 'admin/jsonadm/' . $dpath . 'decorators/local', [] ); |
|
100 | - $client = self::addDecorators( $client, $decorators, $classprefix, $context, $path ); |
|
98 | + $classprefix = '\\Aimeos\\Admin\\JsonAdm\\' . ucfirst($localClass) . '\\Decorator\\'; |
|
99 | + $decorators = $config->get('admin/jsonadm/' . $dpath . 'decorators/local', []); |
|
100 | + $client = self::addDecorators($client, $decorators, $classprefix, $context, $path); |
|
101 | 101 | } |
102 | 102 | } |
103 | 103 | else |
104 | 104 | { |
105 | 105 | $classprefix = '\\Aimeos\\Admin\\JsonAdm\\Common\\Decorator\\'; |
106 | - $client = self::addDecorators( $client, $decorators, $classprefix, $context, $path ); |
|
106 | + $client = self::addDecorators($client, $decorators, $classprefix, $context, $path); |
|
107 | 107 | } |
108 | 108 | |
109 | 109 | return $client; |
@@ -120,26 +120,26 @@ discard block |
||
120 | 120 | * @param string $path Name of the client separated by slashes, e.g "product/stock" |
121 | 121 | * @return \Aimeos\Admin\JsonAdm\Common\Iface Client object |
122 | 122 | */ |
123 | - protected static function addDecorators( \Aimeos\Admin\JsonAdm\Iface $client, array $decorators, $classprefix, |
|
124 | - \Aimeos\MShop\Context\Item\Iface $context, $path ) |
|
123 | + protected static function addDecorators(\Aimeos\Admin\JsonAdm\Iface $client, array $decorators, $classprefix, |
|
124 | + \Aimeos\MShop\Context\Item\Iface $context, $path) |
|
125 | 125 | { |
126 | - foreach( $decorators as $name ) |
|
126 | + foreach ($decorators as $name) |
|
127 | 127 | { |
128 | - if( ctype_alnum( $name ) === false ) |
|
128 | + if (ctype_alnum($name) === false) |
|
129 | 129 | { |
130 | - $classname = is_string( $name ) ? $classprefix . $name : '<not a string>'; |
|
131 | - throw new \Aimeos\Admin\JsonAdm\Exception( sprintf( 'Invalid class name "%1$s"', $classname ), 404 ); |
|
130 | + $classname = is_string($name) ? $classprefix . $name : '<not a string>'; |
|
131 | + throw new \Aimeos\Admin\JsonAdm\Exception(sprintf('Invalid class name "%1$s"', $classname), 404); |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | $classname = $classprefix . $name; |
135 | 135 | |
136 | - if( class_exists( $classname ) === false ) { |
|
137 | - throw new \Aimeos\Admin\JsonAdm\Exception( sprintf( 'Class "%1$s" not found', $classname ), 404 ); |
|
136 | + if (class_exists($classname) === false) { |
|
137 | + throw new \Aimeos\Admin\JsonAdm\Exception(sprintf('Class "%1$s" not found', $classname), 404); |
|
138 | 138 | } |
139 | 139 | |
140 | - $client = new $classname( $client, $context, $path ); |
|
140 | + $client = new $classname($client, $context, $path); |
|
141 | 141 | |
142 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Admin\\JsonAdm\\Common\\Decorator\\Iface', $client ); |
|
142 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Admin\\JsonAdm\\Common\\Decorator\\Iface', $client); |
|
143 | 143 | } |
144 | 144 | |
145 | 145 | return $client; |
@@ -155,19 +155,19 @@ discard block |
||
155 | 155 | * @param string $path Name of the client separated by slashes, e.g "product/property" |
156 | 156 | * @return \Aimeos\Admin\JsonAdm\Common\Iface Client object |
157 | 157 | */ |
158 | - protected static function createAdmin( $classname, $interface, \Aimeos\MShop\Context\Item\Iface $context, $path ) |
|
158 | + protected static function createAdmin($classname, $interface, \Aimeos\MShop\Context\Item\Iface $context, $path) |
|
159 | 159 | { |
160 | - if( isset( self::$objects[$classname] ) ) { |
|
160 | + if (isset(self::$objects[$classname])) { |
|
161 | 161 | return self::$objects[$classname]; |
162 | 162 | } |
163 | 163 | |
164 | - if( class_exists( $classname ) === false ) { |
|
165 | - throw new \Aimeos\Admin\JsonAdm\Exception( sprintf( 'Class "%1$s" not found', $classname ), 404 ); |
|
164 | + if (class_exists($classname) === false) { |
|
165 | + throw new \Aimeos\Admin\JsonAdm\Exception(sprintf('Class "%1$s" not found', $classname), 404); |
|
166 | 166 | } |
167 | 167 | |
168 | - $client = new $classname( $context, $path ); |
|
168 | + $client = new $classname($context, $path); |
|
169 | 169 | |
170 | - \Aimeos\MW\Common\Base::checkClass( $interface, $client ); |
|
170 | + \Aimeos\MW\Common\Base::checkClass($interface, $client); |
|
171 | 171 | |
172 | 172 | return $client; |
173 | 173 | } |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | * @param boolean $value True to enable caching, false to disable it. |
30 | 30 | * @return boolean Previous cache setting |
31 | 31 | */ |
32 | - static public function cache( $value ) |
|
32 | + static public function cache($value) |
|
33 | 33 | { |
34 | 34 | $old = self::$cache; |
35 | 35 | self::$cache = (boolean) $value; |
@@ -46,11 +46,11 @@ discard block |
||
46 | 46 | * @param integer $id Context ID the objects have been created with (string of \Aimeos\MShop\Context\Item\Iface) |
47 | 47 | * @param string $path Path describing the client to clear, e.g. "product/lists/type" |
48 | 48 | */ |
49 | - static public function clear( $id = null, $path = null ) |
|
49 | + static public function clear($id = null, $path = null) |
|
50 | 50 | { |
51 | - if( $id !== null ) |
|
51 | + if ($id !== null) |
|
52 | 52 | { |
53 | - if( $path !== null ) { |
|
53 | + if ($path !== null) { |
|
54 | 54 | self::$clients[$id][$path] = null; |
55 | 55 | } else { |
56 | 56 | self::$clients[$id] = []; |
@@ -78,18 +78,18 @@ discard block |
||
78 | 78 | * @return \Aimeos\Admin\JsonAdm\Iface JSON admin instance |
79 | 79 | * @throws \Aimeos\Admin\JsonAdm\Exception If the given path is invalid |
80 | 80 | */ |
81 | - static public function create( \Aimeos\MShop\Context\Item\Iface $context, |
|
82 | - \Aimeos\Bootstrap $aimeos, $path, $name = null ) |
|
81 | + static public function create(\Aimeos\MShop\Context\Item\Iface $context, |
|
82 | + \Aimeos\Bootstrap $aimeos, $path, $name = null) |
|
83 | 83 | { |
84 | - $path = strtolower( trim( $path, "/ \n\t\r\0\x0B" ) ); |
|
84 | + $path = strtolower(trim($path, "/ \n\t\r\0\x0B")); |
|
85 | 85 | $id = (string) $context; |
86 | 86 | |
87 | - if( self::$cache === false || !isset( self::$clients[$id][$path] ) ) |
|
87 | + if (self::$cache === false || !isset(self::$clients[$id][$path])) |
|
88 | 88 | { |
89 | - if( empty( $path ) ) { |
|
90 | - self::$clients[$id][$path] = self::createRoot( $context, $aimeos, $path, $name ); |
|
89 | + if (empty($path)) { |
|
90 | + self::$clients[$id][$path] = self::createRoot($context, $aimeos, $path, $name); |
|
91 | 91 | } else { |
92 | - self::$clients[$id][$path] = self::createNew( $context, $aimeos, $path, $name ); |
|
92 | + self::$clients[$id][$path] = self::createNew($context, $aimeos, $path, $name); |
|
93 | 93 | } |
94 | 94 | } |
95 | 95 | |
@@ -107,53 +107,53 @@ discard block |
||
107 | 107 | * @return \Aimeos\Admin\JsonAdm\Iface JSON admin instance |
108 | 108 | * @throws \Aimeos\Admin\JsonAdm\Exception If the given path is invalid |
109 | 109 | */ |
110 | - protected static function createNew( \Aimeos\MShop\Context\Item\Iface $context, |
|
111 | - \Aimeos\Bootstrap $aimeos, $path, $name ) |
|
110 | + protected static function createNew(\Aimeos\MShop\Context\Item\Iface $context, |
|
111 | + \Aimeos\Bootstrap $aimeos, $path, $name) |
|
112 | 112 | { |
113 | 113 | $pname = $name; |
114 | - $parts = explode( '/', $path ); |
|
114 | + $parts = explode('/', $path); |
|
115 | 115 | |
116 | - foreach( $parts as $key => $part ) |
|
116 | + foreach ($parts as $key => $part) |
|
117 | 117 | { |
118 | - if( ctype_alnum( $part ) === false ) |
|
118 | + if (ctype_alnum($part) === false) |
|
119 | 119 | { |
120 | - $msg = sprintf( 'Invalid client "%1$s" in "%2$s"', $part, $path ); |
|
121 | - throw new \Aimeos\Admin\JsonAdm\Exception( $msg, 400 ); |
|
120 | + $msg = sprintf('Invalid client "%1$s" in "%2$s"', $part, $path); |
|
121 | + throw new \Aimeos\Admin\JsonAdm\Exception($msg, 400); |
|
122 | 122 | } |
123 | 123 | |
124 | - $parts[$key] = ucwords( $part ); |
|
124 | + $parts[$key] = ucwords($part); |
|
125 | 125 | } |
126 | 126 | |
127 | - if( $pname === null ) { |
|
128 | - $pname = $context->getConfig()->get( 'admin/jsonadm/' . $path . '/name', 'Standard' ); |
|
127 | + if ($pname === null) { |
|
128 | + $pname = $context->getConfig()->get('admin/jsonadm/' . $path . '/name', 'Standard'); |
|
129 | 129 | } |
130 | 130 | |
131 | 131 | $view = $context->getView(); |
132 | 132 | $config = $context->getConfig(); |
133 | 133 | |
134 | - if( $view->access( $config->get( 'admin/jsonadm/resource/' . $path . '/groups', [] ) ) !== true ) { |
|
135 | - throw new \Aimeos\Admin\JQAdm\Exception( sprintf( 'Not allowed to access JsonAdm "%1$s" client', $path ) ); |
|
134 | + if ($view->access($config->get('admin/jsonadm/resource/' . $path . '/groups', [])) !== true) { |
|
135 | + throw new \Aimeos\Admin\JQAdm\Exception(sprintf('Not allowed to access JsonAdm "%1$s" client', $path)); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | |
139 | 139 | $view = $context->getView(); |
140 | 140 | $iface = '\\Aimeos\\Admin\\JsonAdm\\Iface'; |
141 | - $classname = '\\Aimeos\\Admin\\JsonAdm\\' . join( '\\', $parts ) . '\\' . $pname; |
|
141 | + $classname = '\\Aimeos\\Admin\\JsonAdm\\' . join('\\', $parts) . '\\' . $pname; |
|
142 | 142 | |
143 | - if( ctype_alnum( $pname ) === false ) |
|
143 | + if (ctype_alnum($pname) === false) |
|
144 | 144 | { |
145 | - $classname = is_string( $pname ) ? $classname : '<not a string>'; |
|
146 | - throw new \Aimeos\Admin\JsonAdm\Exception( sprintf( 'Invalid class name "%1$s"', $classname ) ); |
|
145 | + $classname = is_string($pname) ? $classname : '<not a string>'; |
|
146 | + throw new \Aimeos\Admin\JsonAdm\Exception(sprintf('Invalid class name "%1$s"', $classname)); |
|
147 | 147 | } |
148 | 148 | |
149 | - if( class_exists( $classname ) === false ) { |
|
150 | - return self::createRoot( $context, $aimeos, $path, $name ); |
|
149 | + if (class_exists($classname) === false) { |
|
150 | + return self::createRoot($context, $aimeos, $path, $name); |
|
151 | 151 | } |
152 | 152 | |
153 | - $client = self::createAdmin( $classname, $iface, $context, $path ); |
|
154 | - $client = self::addClientDecorators( $client, $context, $path ); |
|
153 | + $client = self::createAdmin($classname, $iface, $context, $path); |
|
154 | + $client = self::addClientDecorators($client, $context, $path); |
|
155 | 155 | |
156 | - return $client->setAimeos( $aimeos )->setView( $view ); |
|
156 | + return $client->setAimeos($aimeos)->setView($view); |
|
157 | 157 | } |
158 | 158 | |
159 | 159 | |
@@ -167,8 +167,8 @@ discard block |
||
167 | 167 | * @return \Aimeos\Admin\JsonAdm\Iface JSON admin instance |
168 | 168 | * @throws \Aimeos\Admin\JsonAdm\Exception If the client couldn't be created |
169 | 169 | */ |
170 | - protected static function createRoot( \Aimeos\MShop\Context\Item\Iface $context, |
|
171 | - \Aimeos\Bootstrap $aimeos, $path, $name = null ) |
|
170 | + protected static function createRoot(\Aimeos\MShop\Context\Item\Iface $context, |
|
171 | + \Aimeos\Bootstrap $aimeos, $path, $name = null) |
|
172 | 172 | { |
173 | 173 | /** admin/jsonadm/name |
174 | 174 | * Class name of the used JSON API client implementation |
@@ -203,21 +203,21 @@ discard block |
||
203 | 203 | * @since 2015.12 |
204 | 204 | * @category Developer |
205 | 205 | */ |
206 | - if( $name === null ) { |
|
207 | - $name = $context->getConfig()->get( 'admin/jsonadm/name', 'Standard' ); |
|
206 | + if ($name === null) { |
|
207 | + $name = $context->getConfig()->get('admin/jsonadm/name', 'Standard'); |
|
208 | 208 | } |
209 | 209 | |
210 | - if( ctype_alnum( $name ) === false ) |
|
210 | + if (ctype_alnum($name) === false) |
|
211 | 211 | { |
212 | - $classname = is_string( $name ) ? '\\Aimeos\\Admin\\JsonAdm\\' . $name : '<not a string>'; |
|
213 | - throw new \Aimeos\Admin\JsonAdm\Exception( sprintf( 'Invalid class name "%1$s"', $classname ) ); |
|
212 | + $classname = is_string($name) ? '\\Aimeos\\Admin\\JsonAdm\\' . $name : '<not a string>'; |
|
213 | + throw new \Aimeos\Admin\JsonAdm\Exception(sprintf('Invalid class name "%1$s"', $classname)); |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | $view = $context->getView(); |
217 | 217 | $iface = '\\Aimeos\\Admin\\JsonAdm\\Iface'; |
218 | 218 | $classname = '\\Aimeos\\Admin\\JsonAdm\\' . $name; |
219 | 219 | |
220 | - $client = self::createAdmin( $classname, $iface, $context, $path ); |
|
220 | + $client = self::createAdmin($classname, $iface, $context, $path); |
|
221 | 221 | |
222 | 222 | /** admin/jsonadm/decorators/excludes |
223 | 223 | * Excludes decorators added by the "common" option from the JSON API clients |
@@ -297,8 +297,8 @@ discard block |
||
297 | 297 | * @see admin/jsonadm/decorators/global |
298 | 298 | */ |
299 | 299 | |
300 | - $client = self::addClientDecorators( $client, $context, $path ); |
|
300 | + $client = self::addClientDecorators($client, $context, $path); |
|
301 | 301 | |
302 | - return $client->setAimeos( $aimeos )->setView( $view ); |
|
302 | + return $client->setAimeos($aimeos)->setView($view); |
|
303 | 303 | } |
304 | 304 | } |
@@ -21,9 +21,9 @@ discard block |
||
21 | 21 | $this->context = \TestHelperJadm::getContext(); |
22 | 22 | $this->view = $this->context->getView(); |
23 | 23 | |
24 | - $this->object = new \Aimeos\Admin\JsonAdm\Product\Standard( $this->context, 'product' ); |
|
25 | - $this->object->setAimeos( \TestHelperJadm::getAimeos() ); |
|
26 | - $this->object->setView( $this->view ); |
|
24 | + $this->object = new \Aimeos\Admin\JsonAdm\Product\Standard($this->context, 'product'); |
|
25 | + $this->object->setAimeos(\TestHelperJadm::getAimeos()); |
|
26 | + $this->object->setView($this->view); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | |
@@ -31,33 +31,33 @@ discard block |
||
31 | 31 | { |
32 | 32 | $params = array( |
33 | 33 | 'filter' => array( |
34 | - '==' => array( 'product.code' => 'CNE' ) |
|
34 | + '==' => array('product.code' => 'CNE') |
|
35 | 35 | ), |
36 | 36 | 'include' => 'text,product,product/property' |
37 | 37 | ); |
38 | - $helper = new \Aimeos\MW\View\Helper\Param\Standard( $this->view, $params ); |
|
39 | - $this->view->addHelper( 'param', $helper ); |
|
40 | - |
|
41 | - $response = $this->object->get( $this->view->request(), $this->view->response() ); |
|
42 | - $result = json_decode( (string) $response->getBody(), true ); |
|
43 | - |
|
44 | - $this->assertEquals( 200, $response->getStatusCode() ); |
|
45 | - $this->assertEquals( 1, count( $response->getHeader( 'Content-Type' ) ) ); |
|
46 | - |
|
47 | - $this->assertEquals( 1, $result['meta']['total'] ); |
|
48 | - $this->assertEquals( 1, count( $result['data'] ) ); |
|
49 | - $this->assertEquals( 'product', $result['data'][0]['type'] ); |
|
50 | - $this->assertEquals( 7, count( $result['data'][0]['relationships']['text'] ) ); |
|
51 | - $this->assertArrayHaskey( 'self', $result['data'][0]['relationships']['text'][0]['data']['links'] ); |
|
52 | - $this->assertEquals( 5, count( $result['data'][0]['relationships']['product'] ) ); |
|
53 | - $this->assertArrayHaskey( 'self', $result['data'][0]['relationships']['product'][0]['data']['links'] ); |
|
54 | - $this->assertEquals( 4, count( $result['data'][0]['relationships']['product/property'] ) ); |
|
55 | - $this->assertEquals( 15, count( $result['included'] ) ); |
|
56 | - $this->assertEquals( 'product/property', $result['included'][0]['type'] ); |
|
57 | - $this->assertArrayHaskey( 'self', $result['included'][0]['links'] ); |
|
58 | - $this->assertArrayHaskey( 'related', $result['included'][0]['links'] ); |
|
59 | - |
|
60 | - $this->assertArrayNotHasKey( 'errors', $result ); |
|
38 | + $helper = new \Aimeos\MW\View\Helper\Param\Standard($this->view, $params); |
|
39 | + $this->view->addHelper('param', $helper); |
|
40 | + |
|
41 | + $response = $this->object->get($this->view->request(), $this->view->response()); |
|
42 | + $result = json_decode((string) $response->getBody(), true); |
|
43 | + |
|
44 | + $this->assertEquals(200, $response->getStatusCode()); |
|
45 | + $this->assertEquals(1, count($response->getHeader('Content-Type'))); |
|
46 | + |
|
47 | + $this->assertEquals(1, $result['meta']['total']); |
|
48 | + $this->assertEquals(1, count($result['data'])); |
|
49 | + $this->assertEquals('product', $result['data'][0]['type']); |
|
50 | + $this->assertEquals(7, count($result['data'][0]['relationships']['text'])); |
|
51 | + $this->assertArrayHaskey('self', $result['data'][0]['relationships']['text'][0]['data']['links']); |
|
52 | + $this->assertEquals(5, count($result['data'][0]['relationships']['product'])); |
|
53 | + $this->assertArrayHaskey('self', $result['data'][0]['relationships']['product'][0]['data']['links']); |
|
54 | + $this->assertEquals(4, count($result['data'][0]['relationships']['product/property'])); |
|
55 | + $this->assertEquals(15, count($result['included'])); |
|
56 | + $this->assertEquals('product/property', $result['included'][0]['type']); |
|
57 | + $this->assertArrayHaskey('self', $result['included'][0]['links']); |
|
58 | + $this->assertArrayHaskey('related', $result['included'][0]['links']); |
|
59 | + |
|
60 | + $this->assertArrayNotHasKey('errors', $result); |
|
61 | 61 | } |
62 | 62 | |
63 | 63 | |
@@ -70,22 +70,22 @@ discard block |
||
70 | 70 | 'sort' => 'product.label', |
71 | 71 | 'include' => 'product,product/property' |
72 | 72 | ); |
73 | - $helper = new \Aimeos\MW\View\Helper\Param\Standard( $this->view, $params ); |
|
74 | - $this->view->addHelper( 'param', $helper ); |
|
73 | + $helper = new \Aimeos\MW\View\Helper\Param\Standard($this->view, $params); |
|
74 | + $this->view->addHelper('param', $helper); |
|
75 | 75 | |
76 | - $response = $this->object->get( $this->view->request(), $this->view->response() ); |
|
77 | - $result = json_decode( (string) $response->getBody(), true ); |
|
76 | + $response = $this->object->get($this->view->request(), $this->view->response()); |
|
77 | + $result = json_decode((string) $response->getBody(), true); |
|
78 | 78 | |
79 | - $this->assertEquals( 200, $response->getStatusCode() ); |
|
80 | - $this->assertEquals( 1, count( $response->getHeader( 'Content-Type' ) ) ); |
|
79 | + $this->assertEquals(200, $response->getStatusCode()); |
|
80 | + $this->assertEquals(1, count($response->getHeader('Content-Type'))); |
|
81 | 81 | |
82 | - $this->assertEquals( 28, $result['meta']['total'] ); |
|
83 | - $this->assertEquals( 25, count( $result['data'] ) ); |
|
84 | - $this->assertEquals( 'product', $result['data'][5]['type'] ); |
|
85 | - $this->assertEquals( 3, count( $result['data'][5]['attributes'] ) ); |
|
86 | - $this->assertEquals( 4, count( $result['data'][5]['relationships']['product/property'] ) ); |
|
87 | - $this->assertGreaterThanOrEqual( 20, count( $result['included'] ) ); |
|
82 | + $this->assertEquals(28, $result['meta']['total']); |
|
83 | + $this->assertEquals(25, count($result['data'])); |
|
84 | + $this->assertEquals('product', $result['data'][5]['type']); |
|
85 | + $this->assertEquals(3, count($result['data'][5]['attributes'])); |
|
86 | + $this->assertEquals(4, count($result['data'][5]['relationships']['product/property'])); |
|
87 | + $this->assertGreaterThanOrEqual(20, count($result['included'])); |
|
88 | 88 | |
89 | - $this->assertArrayNotHasKey( 'errors', $result ); |
|
89 | + $this->assertArrayNotHasKey('errors', $result); |
|
90 | 90 | } |
91 | 91 | } |
92 | 92 | \ No newline at end of file |