123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Cms\Test\Unit\Model\ResourceModel;
- use Magento\Cms\Api\Data\PageInterface;
- use Magento\Cms\Model\ResourceModel\Page as PageResourceModel;
- use Magento\Framework\Model\ResourceModel\Db\Context;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- use Magento\Store\Model\StoreManagerInterface;
- use Magento\Framework\Stdlib\DateTime;
- use Magento\Framework\EntityManager\EntityManager;
- use Magento\Framework\EntityManager\MetadataPool;
- use Magento\Cms\Model\Page;
- use Magento\Framework\App\ResourceConnection;
- /**
- * Class PageTest
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
- */
- class PageTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var PageResourceModel
- */
- protected $model;
- /**
- * @var Context|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $contextMock;
- /**
- * @var StoreManagerInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $storeManagerMock;
- /**
- * @var DateTime|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $dateTimeMock;
- /**
- * @var EntityManager|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $entityManagerMock;
- /**
- * @var MetadataPool|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $metadataPoolMock;
- /**
- * @var Page|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $pageMock;
- /**
- * @var ResourceConnection|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $resourcesMock;
- protected function setUp()
- {
- $this->contextMock = $this->getMockBuilder(Context::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class)
- ->getMockForAbstractClass();
- $this->dateTimeMock = $this->getMockBuilder(DateTime::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->entityManagerMock = $this->getMockBuilder(EntityManager::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->pageMock = $this->getMockBuilder(Page::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->resourcesMock = $this->getMockBuilder(ResourceConnection::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->contextMock->expects($this->once())
- ->method('getResources')
- ->willReturn($this->resourcesMock);
- $this->model = (new ObjectManager($this))->getObject(PageResourceModel::class, [
- 'context' => $this->contextMock,
- 'storeManager' => $this->storeManagerMock,
- 'dateTime' => $this->dateTimeMock,
- 'entityManager' => $this->entityManagerMock,
- 'metadataPool' => $this->metadataPoolMock,
- ]);
- }
- public function testSave()
- {
- $this->entityManagerMock->expects($this->once())
- ->method('save')
- ->with($this->pageMock, [])
- ->willReturn(true);
- $this->assertInstanceOf(PageResourceModel::class, $this->model->save($this->pageMock));
- }
- public function testBeforeSave()
- {
- $this->pageMock->expects($this->any())
- ->method('getData')
- ->willReturnMap([
- ['identifier', null, 'test'],
- ['custom_theme_from', null, null],
- ['custom_theme_to', null, '10/02/2016'],
- ]);
- $this->dateTimeMock->expects($this->once())
- ->method('formatDate')
- ->with('10/02/2016')
- ->willReturn('10 Feb 2016');
- $this->pageMock->expects($this->any())
- ->method('setData')
- ->withConsecutive(
- ['custom_theme_from', null],
- ['custom_theme_to', '10 Feb 2016']
- );
- $this->model->beforeSave($this->pageMock);
- }
- }
|