123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\DB\Test\Unit;
- /**
- * Class QueryTest
- */
- class QueryTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\DB\Select|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $selectMock;
- /**
- * @var \Magento\Framework\Api\CriteriaInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $criteriaMock;
- /**
- * @var \Magento\Framework\Model\ResourceModel\Db\AbstractDb|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $resourceMock;
- /**
- * @var \Zend_Db_Statement_Pdo|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $fetchStmtMock;
- /**
- * @var \Psr\Log\LoggerInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $loggerMock;
- /**
- * @var \Magento\Framework\Data\Collection\Db\FetchStrategyInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $fetchStrategyMock;
- /**
- * @var \Magento\Framework\DB\Query
- */
- protected $query;
- /**
- * Set up
- *
- * @return void
- */
- protected function setUp()
- {
- $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- $this->selectMock =
- $this->createPartialMock(\Magento\Framework\DB\Select::class, ['reset', 'columns', 'getConnection']);
- $this->criteriaMock = $this->getMockForAbstractClass(
- \Magento\Framework\Api\CriteriaInterface::class,
- [],
- '',
- false,
- true,
- true,
- []
- );
- $this->resourceMock = $this->getMockForAbstractClass(
- \Magento\Framework\Model\ResourceModel\Db\AbstractDb::class,
- [],
- '',
- false,
- true,
- true,
- ['getIdFieldName']
- );
- $this->fetchStmtMock = $this->createPartialMock(\Zend_Db_Statement_Pdo::class, ['fetch']);
- $this->loggerMock = $this->createMock(\Psr\Log\LoggerInterface::class);
- $this->fetchStrategyMock = $this->getMockForAbstractClass(
- \Magento\Framework\Data\Collection\Db\FetchStrategyInterface::class,
- [],
- '',
- false,
- true,
- true,
- []
- );
- $this->query = $objectManager->getObject(
- \Magento\Framework\DB\Query::class,
- [
- 'select' => $this->selectMock,
- 'criteria' => $this->criteriaMock,
- 'resource' => $this->resourceMock,
- 'fetchStrategy' => $this->fetchStrategyMock
- ]
- );
- }
- /**
- * Run test getAllIds method
- *
- * @return void
- */
- public function testGetAllIds()
- {
- $adapterMock = $this->createPartialMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class, ['fetchCol']);
- $this->resourceMock->expects($this->once())
- ->method('getIdFieldName')
- ->will($this->returnValue('return-value'));
- $this->selectMock->expects($this->once())
- ->method('getConnection')
- ->will($this->returnValue($adapterMock));
- $adapterMock->expects($this->once())
- ->method('fetchCol')
- ->will($this->returnValue('fetch-result'));
- $this->assertEquals('fetch-result', $this->query->getAllIds());
- }
- /**
- * Run test getSize method
- *
- * @return void
- */
- public function testGetSize()
- {
- $adapterMock = $this->createPartialMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class, ['fetchOne']);
- $this->selectMock->expects($this->once())
- ->method('columns')
- ->with('COUNT(*)');
- $this->selectMock->expects($this->once())
- ->method('getConnection')
- ->will($this->returnValue($adapterMock));
- $adapterMock->expects($this->once())
- ->method('fetchOne')
- ->will($this->returnValue(10.689));
- $this->assertEquals(10, $this->query->getSize());
- }
- /**
- * Run test fetchAll method
- *
- * @return void
- */
- public function testFetchAll()
- {
- $this->fetchStrategyMock->expects($this->once())
- ->method('fetchAll')
- ->will($this->returnValue('return-value'));
- $this->assertEquals('return-value', $this->query->fetchAll());
- }
- /**
- * Run test fetchItem method
- *
- * @return void
- */
- public function testFetchItem()
- {
- $adapterMock = $this->createPartialMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class, ['query']);
- $this->selectMock->expects($this->once())
- ->method('getConnection')
- ->will($this->returnValue($adapterMock));
- $adapterMock->expects($this->once())
- ->method('query')
- ->will($this->returnValue($this->fetchStmtMock));
- $this->fetchStmtMock->expects($this->once())
- ->method('fetch')
- ->will($this->returnValue(null));
- $this->assertEquals([], $this->query->fetchItem());
- }
- }
|