123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\UrlRewrite\Test\Unit\Model\ResourceModel;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- class UrlRewriteCollectionTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Store\Model\StoreManagerInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $storeManager;
- /**
- * @var \Magento\Framework\Model\ResourceModel\Db\AbstractDb|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $resource;
- /**
- * @var \Magento\Framework\DB\Select|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $select;
- /**
- * @var \Magento\Framework\DB\Adapter\AdapterInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $connectionMock;
- /**
- * @var \Magento\Framework\DB\Adapter\AdapterInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $connection;
- /**
- * @var \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection
- */
- protected $collection;
- protected function setUp()
- {
- $this->storeManager = $this->createMock(\Magento\Store\Model\StoreManagerInterface::class);
- $this->select = $this->createPartialMock(\Magento\Framework\DB\Select::class, ['from', 'where']);
- $this->connectionMock = $this->createPartialMock(
- \Magento\Framework\DB\Adapter\Pdo\Mysql::class,
- ['select', 'prepareSqlCondition', 'quoteIdentifier']
- );
- $this->resource = $this->getMockForAbstractClass(
- \Magento\Framework\Model\ResourceModel\Db\AbstractDb::class,
- [],
- '',
- false,
- true,
- true,
- ['getConnection', '__wakeup', 'getMainTable', 'getTable']
- );
- $this->select->expects($this->any())
- ->method('where')
- ->will($this->returnSelf());
- $this->connectionMock->expects($this->any())
- ->method('select')
- ->will($this->returnValue($this->select));
- $this->connectionMock->expects($this->any())
- ->method('quoteIdentifier')
- ->will($this->returnArgument(0));
- $this->resource->expects($this->any())
- ->method('getConnection')
- ->will($this->returnValue($this->connectionMock));
- $this->resource->expects($this->any())
- ->method('getMainTable')
- ->will($this->returnValue('test_main_table'));
- $this->resource->expects($this->any())
- ->method('getTable')
- ->with('test_main_table')
- ->will($this->returnValue('test_main_table'));
- $this->collection = (new ObjectManager($this))->getObject(
- \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection::class,
- [
- 'storeManager' => $this->storeManager,
- 'resource' => $this->resource,
- ]
- );
- }
- /**
- * @param array $storeId
- * @param bool $withAdmin
- * @param array $condition
- * @dataProvider dataProviderForTestAddStoreIfStoreIsArray
- * @covers \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection
- */
- public function testAddStoreFilterIfStoreIsArray($storeId, $withAdmin, $condition)
- {
- $this->connectionMock->expects($this->once())
- ->method('prepareSqlCondition')
- ->with('store_id', ['in' => $condition]);
- $this->collection->addStoreFilter($storeId, $withAdmin);
- }
- /**
- * @return array
- */
- public function dataProviderForTestAddStoreIfStoreIsArray()
- {
- return [
- [[112, 113], false, [112, 113]],
- [[112, 113], true, [112, 113, 0]],
- ];
- }
- /**
- * @param int $storeId
- * @param bool $withAdmin
- * @param array $condition
- * @dataProvider dataProviderForTestAddStoreFilterIfStoreIsInt
- * @covers \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection
- */
- public function testAddStoreFilterIfStoreIsInt($storeId, $withAdmin, $condition)
- {
- $store = $this->createMock(\Magento\Store\Model\Store::class);
- $store->expects($this->once())->method('getId')->will($this->returnValue($storeId));
- $this->storeManager->expects($this->once())->method('getStore')->will($this->returnValue($store));
- $this->connectionMock->expects($this->once())
- ->method('prepareSqlCondition')
- ->with('store_id', ['in' => $condition]);
- $this->collection->addStoreFilter($storeId, $withAdmin);
- }
- /**
- * @return array
- */
- public function dataProviderForTestAddStoreFilterIfStoreIsInt()
- {
- return [
- [112, false, [112]],
- [112, true, [112, 0]],
- ];
- }
- }
|