From d6540b67f19028518bfd9f227e1e99d14b2b01b9 Mon Sep 17 00:00:00 2001
From: Michail Slabko <mslabko@magento.com>
Date: Wed, 14 Sep 2016 17:17:15 +0300
Subject: [PATCH] MAGETWO-52660: Improve performance of static assets
 deployment

---
 .../Test/Unit/Model/DeployManagerTest.php       | 10 +++++-----
 .../Test/Unit/Model/ProcessQueueManagerTest.php | 17 +++++++++++++++++
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/app/code/Magento/Deploy/Test/Unit/Model/DeployManagerTest.php b/app/code/Magento/Deploy/Test/Unit/Model/DeployManagerTest.php
index 83b2c0776b9..b9a9f6049f0 100644
--- a/app/code/Magento/Deploy/Test/Unit/Model/DeployManagerTest.php
+++ b/app/code/Magento/Deploy/Test/Unit/Model/DeployManagerTest.php
@@ -33,9 +33,9 @@ class DeployManagerTest extends \PHPUnit_Framework_TestCase
     private $minifierTemplateMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Deploy\Model\ProcessQueueManager
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Deploy\Model\ProcessQueueManagerFactory
      */
-    private $processQueueManager;
+    private $processQueueManagerFactoryMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\State
@@ -65,8 +65,8 @@ class DeployManagerTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->processQueueManager = $this->getMock(
-            \Magento\Deploy\Model\ProcessQueueManager::class,
+        $this->processQueueManagerFactoryMock = $this->getMock(
+            \Magento\Deploy\Model\ProcessQueueManagerFactory::class,
             [],
             [],
             '',
@@ -159,7 +159,7 @@ class DeployManagerTest extends \PHPUnit_Framework_TestCase
             $this->outputMock,
             $this->versionStorageMock,
             $this->deployStrategyProviderFactoryMock,
-            $this->processQueueManager,
+            $this->processQueueManagerFactoryMock,
             $this->minifierTemplateMock,
             $this->stateMock,
             $options
diff --git a/app/code/Magento/Deploy/Test/Unit/Model/ProcessQueueManagerTest.php b/app/code/Magento/Deploy/Test/Unit/Model/ProcessQueueManagerTest.php
index 60c23ec7404..4dec2c1d1cb 100644
--- a/app/code/Magento/Deploy/Test/Unit/Model/ProcessQueueManagerTest.php
+++ b/app/code/Magento/Deploy/Test/Unit/Model/ProcessQueueManagerTest.php
@@ -8,6 +8,8 @@ namespace Magento\Deploy\Test\Unit\Model;
 use Magento\Deploy\Model\ProcessManager;
 use Magento\Framework\App\ResourceConnection;
 use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
+use Magento\Deploy\Model\ProcessTaskFactory;
+use Magento\Deploy\Model\ProcessTask;
 
 class ProcessQueueManagerTest extends \PHPUnit_Framework_TestCase
 {
@@ -26,15 +28,29 @@ class ProcessQueueManagerTest extends \PHPUnit_Framework_TestCase
      */
     private $resourceConnectionMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject|ProcessTaskFactory
+     */
+    private $processTaskFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject|ProcessTask
+     */
+    private $processTaskMock;
+
     protected function setUp()
     {
         $this->processManagerMock = $this->getMock(ProcessManager::class, [], [], '', false);
         $this->resourceConnectionMock = $this->getMock(ResourceConnection::class, [], [], '', false);
+        $this->processTaskFactoryMock = $this->getMock(ProcessTaskFactory::class, [], [], '', false);
+        $this->processTaskMock = $this->getMock(ProcessTask::class, [], [], '', false);
+        $this->processTaskFactoryMock->expects($this->any())->method('create')->willReturn($this->processTaskMock);
         $this->model = (new ObjectManager($this))->getObject(
             \Magento\Deploy\Model\ProcessQueueManager::class,
             [
                 'processManager' => $this->processManagerMock,
                 'resourceConnection' => $this->resourceConnectionMock,
+                'processTaskFactory' => $this->processTaskFactoryMock
             ]
         );
     }
@@ -44,6 +60,7 @@ class ProcessQueueManagerTest extends \PHPUnit_Framework_TestCase
         $callableMock = function () {
             return true;
         };
+        $this->processTaskMock->expects($this->any())->method('getHandler')->willReturn($callableMock);
 
         $processMock = $this->getMock(\Magento\Deploy\Model\Process::class, [], [], '', false);
 
-- 
GitLab