Skip to content
Snippets Groups Projects
Commit abd634bb authored by Igor Melnikov's avatar Igor Melnikov
Browse files

MAGETWO-62134: Create data converter that can process nested serialized data

Resolving code review feedback
parent b1bc6a39
No related merge requests found
...@@ -5,8 +5,11 @@ ...@@ -5,8 +5,11 @@
*/ */
namespace Magento\Bundle\Model\Sales\Order\Pdf\Items; namespace Magento\Bundle\Model\Sales\Order\Pdf\Items;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Serialize\Serializer\Json;
/** /**
* Sales Order Creditmemo Pdf default items renderer * Order creditmemo pdf default items renderer
*/ */
class Creditmemo extends AbstractItems class Creditmemo extends AbstractItems
{ {
...@@ -18,6 +21,8 @@ class Creditmemo extends AbstractItems ...@@ -18,6 +21,8 @@ class Creditmemo extends AbstractItems
protected $string; protected $string;
/** /**
* Constructor
*
* @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Model\Context $context
* @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Registry $registry
* @param \Magento\Tax\Helper\Data $taxData * @param \Magento\Tax\Helper\Data $taxData
...@@ -27,6 +32,7 @@ class Creditmemo extends AbstractItems ...@@ -27,6 +32,7 @@ class Creditmemo extends AbstractItems
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
* @param array $data * @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
*/ */
public function __construct( public function __construct(
\Magento\Framework\Model\Context $context, \Magento\Framework\Model\Context $context,
...@@ -37,9 +43,11 @@ class Creditmemo extends AbstractItems ...@@ -37,9 +43,11 @@ class Creditmemo extends AbstractItems
\Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\Stdlib\StringUtils $string,
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
array $data = [] array $data = [],
Json $serializer = null
) { ) {
$this->string = $string; $this->string = $string;
$serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
parent::__construct( parent::__construct(
$context, $context,
$registry, $registry,
...@@ -48,7 +56,8 @@ class Creditmemo extends AbstractItems ...@@ -48,7 +56,8 @@ class Creditmemo extends AbstractItems
$filterManager, $filterManager,
$resource, $resource,
$resourceCollection, $resourceCollection,
$data $data,
$serializer
); );
} }
......
...@@ -3,13 +3,15 @@ ...@@ -3,13 +3,15 @@
* Copyright © 2016 Magento. All rights reserved. * Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details. * See COPYING.txt for license details.
*/ */
// @codingStandardsIgnoreFile
namespace Magento\Bundle\Model\Sales\Order\Pdf\Items; namespace Magento\Bundle\Model\Sales\Order\Pdf\Items;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Serialize\Serializer\Json;
/** /**
* Sales Order Invoice Pdf default items renderer * Order invoice pdf default items renderer
*
* @codingStandardsIgnoreFile
*/ */
class Invoice extends AbstractItems class Invoice extends AbstractItems
{ {
...@@ -19,6 +21,8 @@ class Invoice extends AbstractItems ...@@ -19,6 +21,8 @@ class Invoice extends AbstractItems
protected $string; protected $string;
/** /**
* Constructor
*
* @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Model\Context $context
* @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Registry $registry
* @param \Magento\Tax\Helper\Data $taxData * @param \Magento\Tax\Helper\Data $taxData
...@@ -28,6 +32,7 @@ class Invoice extends AbstractItems ...@@ -28,6 +32,7 @@ class Invoice extends AbstractItems
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
* @param array $data * @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
*/ */
public function __construct( public function __construct(
\Magento\Framework\Model\Context $context, \Magento\Framework\Model\Context $context,
...@@ -38,8 +43,10 @@ class Invoice extends AbstractItems ...@@ -38,8 +43,10 @@ class Invoice extends AbstractItems
\Magento\Framework\Stdlib\StringUtils $coreString, \Magento\Framework\Stdlib\StringUtils $coreString,
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
array $data = [] array $data = [],
Json $serializer = null
) { ) {
$serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
$this->string = $coreString; $this->string = $coreString;
parent::__construct( parent::__construct(
$context, $context,
...@@ -49,7 +56,8 @@ class Invoice extends AbstractItems ...@@ -49,7 +56,8 @@ class Invoice extends AbstractItems
$filterManager, $filterManager,
$resource, $resource,
$resourceCollection, $resourceCollection,
$data $data,
$serializer
); );
} }
......
...@@ -5,8 +5,11 @@ ...@@ -5,8 +5,11 @@
*/ */
namespace Magento\Bundle\Model\Sales\Order\Pdf\Items; namespace Magento\Bundle\Model\Sales\Order\Pdf\Items;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Serialize\Serializer\Json;
/** /**
* Sales Order Shipment Pdf items renderer * Order shipment pdf items renderer
*/ */
class Shipment extends AbstractItems class Shipment extends AbstractItems
{ {
...@@ -16,6 +19,8 @@ class Shipment extends AbstractItems ...@@ -16,6 +19,8 @@ class Shipment extends AbstractItems
protected $string; protected $string;
/** /**
* Constructor
*
* @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Model\Context $context
* @param \Magento\Framework\Registry $registry * @param \Magento\Framework\Registry $registry
* @param \Magento\Tax\Helper\Data $taxData * @param \Magento\Tax\Helper\Data $taxData
...@@ -25,6 +30,7 @@ class Shipment extends AbstractItems ...@@ -25,6 +30,7 @@ class Shipment extends AbstractItems
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
* @param array $data * @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
*/ */
public function __construct( public function __construct(
\Magento\Framework\Model\Context $context, \Magento\Framework\Model\Context $context,
...@@ -35,9 +41,11 @@ class Shipment extends AbstractItems ...@@ -35,9 +41,11 @@ class Shipment extends AbstractItems
\Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\Stdlib\StringUtils $string,
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
array $data = [] array $data = [],
Json $serializer = null
) { ) {
$this->string = $string; $this->string = $string;
$serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
parent::__construct( parent::__construct(
$context, $context,
$registry, $registry,
...@@ -46,7 +54,8 @@ class Shipment extends AbstractItems ...@@ -46,7 +54,8 @@ class Shipment extends AbstractItems
$filterManager, $filterManager,
$resource, $resource,
$resourceCollection, $resourceCollection,
$data $data,
$serializer
); );
} }
......
...@@ -27,14 +27,13 @@ class AbstractItemsTest extends \PHPUnit_Framework_TestCase ...@@ -27,14 +27,13 @@ class AbstractItemsTest extends \PHPUnit_Framework_TestCase
); );
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->model = $objectManager->getObject(\Magento\Bundle\Model\Sales\Order\Pdf\Items\Shipment::class);
$this->serializer = $this->getMock(\Magento\Framework\Serialize\Serializer\Json::class); $this->serializer = $this->getMock(\Magento\Framework\Serialize\Serializer\Json::class);
$reflection = new \ReflectionClass(\Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems::class); $this->model = $objectManager->getObject(
$reflectionProperty = $reflection->getProperty('serializer'); \Magento\Bundle\Model\Sales\Order\Pdf\Items\Shipment::class,
$reflectionProperty->setAccessible(true); [
$reflectionProperty->setValue($this->model, $this->serializer); 'serializer' => $this->serializer
]
);
} }
/** /**
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment