123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Store\Test\Unit\Model;
- use Magento\Framework\App\DeploymentConfig;
- class StoreManagerTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Store\Model\StoreManager
- */
- protected $model;
- /**
- * @var \Magento\Store\Api\StoreRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $storeRepositoryMock;
- /**
- * @var \Magento\Store\Api\StoreResolverInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $storeResolverMock;
- protected function setUp()
- {
- $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- $this->storeRepositoryMock = $this->getMockBuilder(\Magento\Store\Api\StoreRepositoryInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->storeResolverMock = $this->getMockBuilder(\Magento\Store\Api\StoreResolverInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->model = $objectManager->getObject(
- \Magento\Store\Model\StoreManager::class,
- [
- 'storeRepository' => $this->storeRepositoryMock,
- 'storeResolver' => $this->storeResolverMock
- ]
- );
- }
- public function testGetStoreEmptyParameter()
- {
- $storeId = 1;
- $storeMock = $this->getMockBuilder(\Magento\Store\Api\Data\StoreInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->storeResolverMock->expects($this->any())->method('getCurrentStoreId')->willReturn($storeId);
- $this->storeRepositoryMock->expects($this->atLeastOnce())
- ->method('getById')
- ->with($storeId)
- ->willReturn($storeMock);
- $this->assertInstanceOf(\Magento\Store\Api\Data\StoreInterface::class, $this->model->getStore());
- $this->assertEquals($storeMock, $this->model->getStore());
- }
- public function testGetStoreStringParameter()
- {
- $storeId = 'store_code';
- $storeMock = $this->getMockBuilder(\Magento\Store\Api\Data\StoreInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->storeRepositoryMock->expects($this->atLeastOnce())
- ->method('get')
- ->with($storeId)
- ->willReturn($storeMock);
- $actualStore = $this->model->getStore($storeId);
- $this->assertInstanceOf(\Magento\Store\Api\Data\StoreInterface::class, $actualStore);
- $this->assertEquals($storeMock, $actualStore);
- }
- public function testGetStoreObjectStoreParameter()
- {
- $storeMock = $this->getMockBuilder(\Magento\Store\Api\Data\StoreInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $actualStore = $this->model->getStore($storeMock);
- $this->assertInstanceOf(\Magento\Store\Api\Data\StoreInterface::class, $actualStore);
- $this->assertEquals($storeMock, $actualStore);
- }
- /**
- * @dataProvider getStoresDataProvider
- */
- public function testGetStores($storesList, $withDefault, $codeKey, $expectedStores)
- {
- $this->storeRepositoryMock->expects($this->any())->method('getList')->willReturn($storesList);
- $this->assertEquals($expectedStores, $this->model->getStores($withDefault, $codeKey));
- }
- /**
- * @return array
- */
- public function getStoresDataProvider()
- {
- $defaultStoreMock = $this->getMockBuilder(\Magento\Store\Api\Data\StoreInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $storeMock = $this->getMockBuilder(\Magento\Store\Api\Data\StoreInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $defaultStoreMock->expects($this->any())->method('getId')->willReturn(0);
- $defaultStoreMock->expects($this->any())->method('getCode')->willReturn('default');
- $storeMock->expects($this->any())->method('getId')->willReturn(1);
- $storeMock->expects($this->any())->method('getCode')->willReturn('first_store');
- return [
- 'withoutDefaultAndId' => [
- 'storesList' => [$defaultStoreMock, $storeMock],
- 'withDefault' => false,
- 'codeKey' => false,
- 'expectedStores' => [1 => $storeMock]
- ],
- 'withoutDefaultAndCodeKey' => [
- 'storesList' => [$defaultStoreMock,$storeMock],
- 'withDefault' => false,
- 'codeKey' => true,
- 'expectedStores' => ['first_store' => $storeMock]
- ],
- 'withDefaultAndId' => [
- 'storesList' => [$defaultStoreMock,$storeMock],
- 'withDefault' => true,
- 'codeKey' => false,
- 'expectedStores' => [0 => $defaultStoreMock, 1 => $storeMock]
- ],
- 'withDefaultAndCodeKey' => [
- 'storesList' => [$defaultStoreMock,$storeMock],
- 'withDefault' => true,
- 'codeKey' => true,
- 'expectedStores' => ['default' => $defaultStoreMock, 'first_store' => $storeMock]
- ],
- ];
- }
- }
|