diff --git a/app/code/Magento/Indexer/Model/Config/Data.php b/app/code/Magento/Indexer/Model/Config/Data.php index 7fdd3b326d5afa7d19505e6e08e0ba6979f35116..703c875d1ef4ef55f9572d24177ffa55f9b985ca 100644 --- a/app/code/Magento/Indexer/Model/Config/Data.php +++ b/app/code/Magento/Indexer/Model/Config/Data.php @@ -6,7 +6,6 @@ namespace Magento\Indexer\Model\Config; use Magento\Framework\Serialize\SerializerInterface; -use Magento\Framework\Serialize\Serializer\Serialize; class Data extends \Magento\Framework\Config\Data { @@ -22,18 +21,20 @@ class Data extends \Magento\Framework\Config\Data * @param \Magento\Framework\Config\CacheInterface $cache * @param \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $stateCollection * @param string $cacheId + * @param SerializerInterface|null $serializer */ public function __construct( \Magento\Framework\Indexer\Config\Reader $reader, \Magento\Framework\Config\CacheInterface $cache, \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $stateCollection, - $cacheId = 'indexer_config' + $cacheId = 'indexer_config', + SerializerInterface $serializer = null ) { $this->stateCollection = $stateCollection; $isCacheExists = $cache->test($cacheId); - parent::__construct($reader, $cache, $cacheId); + parent::__construct($reader, $cache, $cacheId, $serializer); if (!$isCacheExists) { $this->deleteNonexistentStates(); @@ -54,19 +55,4 @@ class Data extends \Magento\Framework\Config\Data } } } - - /** - * Get serializer - * - * @return SerializerInterface - * @deprecated - */ - protected function getSerializer() - { - if ($this->serializer === null) { - $this->serializer = \Magento\Framework\App\ObjectManager::getInstance() - ->get(Serialize::class); - } - return $this->serializer; - } } diff --git a/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php b/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php index fe66da6366e4df90a0d530a47fc68b94f8f129a1..e16c21b8f112592e759cca7489a685ae59aa5dbe 100644 --- a/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php +++ b/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php @@ -5,9 +5,6 @@ */ namespace Magento\Indexer\Test\Unit\Model\Config; -use Magento\Framework\Serialize\SerializerInterface; -use Magento\Framework\Serialize\Serializer\Serialize; - class DataTest extends \PHPUnit_Framework_TestCase { /** @@ -41,7 +38,7 @@ class DataTest extends \PHPUnit_Framework_TestCase protected $indexers = ['indexer1' => [], 'indexer3' => []]; /** - * @var SerializerInterface|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\Serialize\SerializerInterface|\PHPUnit_Framework_MockObject_MockObject */ private $serializerMock; @@ -64,14 +61,7 @@ class DataTest extends \PHPUnit_Framework_TestCase '', false ); - $this->serializerMock = $this->getMock(SerializerInterface::class); - } - - protected function tearDown() - { - $reflectionProperty = new \ReflectionProperty(\Magento\Framework\App\ObjectManager::class, '_instance'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null); + $this->serializerMock = $this->getMock(\Magento\Framework\Serialize\SerializerInterface::class); } public function testConstructorWithCache() @@ -90,13 +80,12 @@ class DataTest extends \PHPUnit_Framework_TestCase $this->stateCollection->expects($this->never())->method('getItems'); - $this->mockObjectManager([Serialize::class => $this->serializerMock]); - $this->model = new \Magento\Indexer\Model\Config\Data( $this->reader, $this->cache, $this->stateCollection, - $this->cacheId + $this->cacheId, + $this->serializerMock ); } @@ -131,32 +120,12 @@ class DataTest extends \PHPUnit_Framework_TestCase $this->stateCollection->expects($this->once())->method('getItems')->will($this->returnValue($states)); - $this->mockObjectManager([Serialize::class => $this->serializerMock]); - $this->model = new \Magento\Indexer\Model\Config\Data( $this->reader, $this->cache, $this->stateCollection, - $this->cacheId + $this->cacheId, + $this->serializerMock ); } - - /** - * Mock application object manager to return configured dependencies - * - * @param array $dependencies - * @return void - */ - private function mockObjectManager($dependencies) - { - $dependencyMap = []; - foreach ($dependencies as $type => $instance) { - $dependencyMap[] = [$type, $instance]; - } - $objectManagerMock = $this->getMock(\Magento\Framework\ObjectManagerInterface::class); - $objectManagerMock->expects($this->any()) - ->method('get') - ->will($this->returnValueMap($dependencyMap)); - \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock); - } }