From e74d9a753ea5233a5ba77431c05d934bd60d737b Mon Sep 17 00:00:00 2001
From: Maddy Chellathurai <mchellathura@magento.com>
Date: Mon, 16 May 2016 14:42:59 -0500
Subject: [PATCH] MAGETWO-52000: [Github][PR]impossible to see what is wrong
 with cron - unhelpful error message #3189

- Using OM to create TImeZoneProvider.
---
 setup/src/Magento/Setup/Model/PackagesData.php       | 12 +++---------
 .../Setup/Test/Unit/Model/PackagesDataTest.php       |  7 ++++---
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/setup/src/Magento/Setup/Model/PackagesData.php b/setup/src/Magento/Setup/Model/PackagesData.php
index 4d113728a8b..f2a759aca54 100644
--- a/setup/src/Magento/Setup/Model/PackagesData.php
+++ b/setup/src/Magento/Setup/Model/PackagesData.php
@@ -40,11 +40,6 @@ class PackagesData
      */
     private $packagesAuth;
 
-    /**
-     * @var \Magento\Setup\Model\DateTime\TimeZoneProvider
-     */
-    private $timeZoneProvider;
-
     /**
      * @var  \Magento\Setup\Model\ObjectManagerProvider
      */
@@ -54,21 +49,18 @@ class PackagesData
      * PackagesData constructor.
      *
      * @param \Magento\Framework\Composer\ComposerInformation $composerInformation,
-     * @param \Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
      * @param \Magento\Setup\Model\PackagesAuth $packagesAuth,
      * @param \Magento\Framework\Filesystem $filesystem,
      * @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
      */
     public function __construct(
         \Magento\Framework\Composer\ComposerInformation $composerInformation,
-        \Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
         \Magento\Setup\Model\PackagesAuth $packagesAuth,
         \Magento\Framework\Filesystem $filesystem,
         \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
     ) {
         $this->objectManagerProvider = $objectManagerProvider;
         $this->composerInformation = $composerInformation;
-        $this->timeZoneProvider = $timeZoneProvider;
         $this->packagesAuth = $packagesAuth;
         $this->filesystem = $filesystem;
     }
@@ -133,7 +125,9 @@ class PackagesData
      */
     private function formatSyncDate($syncDate)
     {
-        $timezone = $this->timeZoneProvider->get();
+        $objectManager = $this->objectManagerProvider->get();
+        $timeZoneProvider = $objectManager->get('Magento\Setup\Model\DateTime\TimeZoneProvider');
+        $timezone = $timeZoneProvider->get();
         return [
             'date' => $timezone->formatDateTime(
                 new \DateTime('@'.$syncDate),
diff --git a/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php b/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
index 3c096fa1faf..60623b5eeb1 100644
--- a/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
@@ -51,8 +51,10 @@ class PackagesDataTest extends \PHPUnit_Framework_TestCase
         $applicationFactory->expects($this->any())->method('create')->willReturn($application);
         $objectManager->expects($this->any())
             ->method('get')
-            ->with('Magento\Framework\Composer\MagentoComposerApplicationFactory')
-            ->willReturn($applicationFactory);
+            ->will($this->returnValueMap([
+                ['Magento\Framework\Composer\MagentoComposerApplicationFactory', $applicationFactory],
+                ['Magento\Setup\Model\DateTime\TimeZoneProvider', $timeZoneProvider]
+            ]));
         $objectManagerProvider->expects($this->any())->method('get')->willReturn($objectManager);
 
         $directoryWrite = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\WriteInterface');
@@ -86,7 +88,6 @@ class PackagesDataTest extends \PHPUnit_Framework_TestCase
 
         $this->packagesData = new PackagesData(
             $composerInformation,
-            $timeZoneProvider,
             $packagesAuth,
             $filesystem,
             $objectManagerProvider
-- 
GitLab