| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\SalesSequence\Test\Unit\Model\ResourceModel;
- use Magento\SalesSequence\Model\ResourceModel\Profile;
- /**
- * Class ProfileTest
- */
- class ProfileTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\DB\Adapter\AdapterInterface | \PHPUnit_Framework_MockObject_MockObject
- */
- private $connectionMock;
- /**
- * @var \Magento\Framework\Model\ResourceModel\Db\Context | \PHPUnit_Framework_MockObject_MockObject
- */
- private $dbContext;
- /**
- * @var \Magento\SalesSequence\Model\ProfileFactory | \PHPUnit_Framework_MockObject_MockObject
- */
- private $profileFactory;
- /**
- * @var \Magento\SalesSequence\Model\Meta | \PHPUnit_Framework_MockObject_MockObject
- */
- private $meta;
- /**
- * @var \Magento\SalesSequence\Model\Profile | \PHPUnit_Framework_MockObject_MockObject
- */
- private $profile;
- /**
- * @var Profile
- */
- private $resource;
- /**
- * @var Resource | \PHPUnit_Framework_MockObject_MockObject
- */
- protected $resourceMock;
- /**
- * @var \Magento\Framework\DB\Select | \PHPUnit_Framework_MockObject_MockObject
- */
- private $select;
- /**
- * Initialization
- */
- protected function setUp()
- {
- $this->connectionMock = $this->getMockForAbstractClass(
- \Magento\Framework\DB\Adapter\AdapterInterface::class,
- [],
- '',
- false,
- false,
- true,
- ['query']
- );
- $this->dbContext = $this->createMock(\Magento\Framework\Model\ResourceModel\Db\Context::class);
- $this->profileFactory = $this->createPartialMock(
- \Magento\SalesSequence\Model\ProfileFactory::class,
- ['create']
- );
- $this->resourceMock = $this->createPartialMock(
- \Magento\Framework\App\ResourceConnection::class,
- ['getConnection', 'getTableName']
- );
- $this->dbContext->expects($this->once())->method('getResources')->willReturn($this->resourceMock);
- $this->select = $this->createMock(\Magento\Framework\DB\Select::class);
- $this->meta = $this->createMock(\Magento\SalesSequence\Model\Meta::class);
- $this->profile = $this->createMock(\Magento\SalesSequence\Model\Profile::class);
- $this->resource = new Profile(
- $this->dbContext,
- $this->profileFactory
- );
- }
- public function testLoadActiveProfile()
- {
- $profileTableName = 'sequence_profile';
- $profileIdFieldName = 'profile_id';
- $metaId = 1;
- $profileId = 20;
- $profileData = [
- 'profile_id' => 20,
- 'meta_id' => 1
- ];
- $this->profileFactory->expects($this->once())->method('create')->willReturn($this->profile);
- $this->resourceMock->expects($this->any())
- ->method('getConnection')
- ->willReturn($this->connectionMock);
- $this->resourceMock->expects($this->once())
- ->method('getTableName')
- ->willReturn($profileTableName);
- $this->connectionMock->expects($this->any())->method('select')->willReturn($this->select);
- $this->select->expects($this->at(0))
- ->method('from')
- ->with($profileTableName, [$profileIdFieldName])
- ->willReturn($this->select);
- $this->select->expects($this->at(1))
- ->method('where')
- ->with('meta_id = :meta_id')
- ->willReturn($this->select);
- $this->select->expects($this->at(2))
- ->method('where')
- ->with('is_active = 1')
- ->willReturn($this->select);
- $this->connectionMock->expects($this->once())
- ->method('fetchOne')
- ->with($this->select, ['meta_id' => $metaId])
- ->willReturn($profileId);
- $this->select->expects($this->at(3))
- ->method('from')
- ->with($profileTableName, '*', null)
- ->willReturn($this->select);
- $this->connectionMock->expects($this->any())
- ->method('quoteIdentifier');
- $this->connectionMock->expects($this->once())->method('fetchRow')->willReturn($profileData);
- $this->profile->expects($this->at(1))->method('setData')->with($profileData);
- $this->assertEquals($this->profile, $this->resource->loadActiveProfile($metaId));
- }
- }
|