| Current Path : /home/rtorresani/www/setup/src/Magento/Setup/Test/Unit/Model/DateTime/ |
| Current File : //home/rtorresani/www/setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimeZoneProviderTest.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Setup\Test\Unit\Model\DateTime;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\ObjectManagerInterface;
use Magento\Framework\Stdlib\DateTime\Timezone;
use Magento\Setup\Model\DateTime\TimeZoneProvider;
use Magento\Setup\Model\ObjectManagerProvider;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class TimeZoneProviderTest extends TestCase
{
public function testGet()
{
$timeZone = $this->createMock(Timezone::class);
$objectManager = $this->getMockForAbstractClass(
ObjectManagerInterface::class,
[],
'',
false
);
$objectManager->expects($this->once())
->method('create')
->with(
Timezone::class,
['scopeType' => ScopeConfigInterface::SCOPE_TYPE_DEFAULT]
)
->willReturn($timeZone);
/** @var ObjectManagerProvider|MockObject $objectManagerProvider */
$objectManagerProvider = $this->createMock(ObjectManagerProvider::class);
$objectManagerProvider->expects($this->any())
->method('get')
->willReturn($objectManager);
$object = new TimeZoneProvider($objectManagerProvider);
$this->assertSame($timeZone, $object->get());
// Assert that the provider always returns the same object
$this->assertSame($timeZone, $object->get());
}
}