58 lines
1.6 KiB
PHP
Executable File
58 lines
1.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Setup\Model;
|
|
|
|
use Magento\Framework\ObjectManagerInterface;
|
|
use Magento\Setup\Mvc\Bootstrap\InitParamListener;
|
|
use PHPUnit\Framework\TestCase;
|
|
use PHPUnit\Framework\MockObject\MockObject;
|
|
use Symfony\Component\Console\Application;
|
|
use Laminas\ServiceManager\ServiceLocatorInterface;
|
|
|
|
/**
|
|
* Tests ObjectManagerProvider
|
|
*/
|
|
class ObjectManagerProviderTest extends TestCase
|
|
{
|
|
/**
|
|
* @var ObjectManagerProvider
|
|
*/
|
|
private $object;
|
|
|
|
/**
|
|
* @var ServiceLocatorInterface|PHPUnit\Framework\MockObject\MockObject
|
|
*/
|
|
private $locator;
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
$this->locator = $this->getMockForAbstractClass(ServiceLocatorInterface::class);
|
|
$this->object = new ObjectManagerProvider($this->locator, new Bootstrap());
|
|
$this->locator->expects($this->any())
|
|
->method('get')
|
|
->willReturnMap(
|
|
[
|
|
[InitParamListener::BOOTSTRAP_PARAM, []],
|
|
[Application::class, $this->getMockForAbstractClass(Application::class)],
|
|
]
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Tests the same instance of ObjectManagerInterface should be provided by the ObjectManagerProvider
|
|
*/
|
|
public function testGet()
|
|
{
|
|
$objectManager = $this->object->get();
|
|
$this->assertInstanceOf(ObjectManagerInterface::class, $objectManager);
|
|
$this->assertSame($objectManager, $this->object->get());
|
|
}
|
|
}
|