![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/Amasty/Base/Test/Unit/Model/Feed/FeedTypes/ |
<?php /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Magento 2 Base Package */ namespace Amasty\Base\Test\Unit\Model\Feed\FeedTypes; use Amasty\Base\Helper\Module; use Amasty\Base\Model\Feed\FeedTypes\News; use Amasty\Base\Model\ModuleInfoProvider; use Amasty\Base\Test\Unit\Traits; use Magento\Framework\DataObjectFactory; class NewsTest extends \PHPUnit\Framework\TestCase { use Traits\ObjectManagerTrait; use Traits\ReflectionTrait; /** * @var News */ private $model; /** * @var Module */ private $moduleInfoProvider; protected function setUp(): void { $moduleList = $this->createMock(\Magento\Framework\Module\ModuleListInterface::class); $this->moduleInfoProvider = $this->createMock(ModuleInfoProvider::class); $moduleList->expects($this->any())->method('getNames')->willReturn(['Magento_Catalog', 'Amasty_Seo']); $dataObjectFactory = $this->createPartialMock(DataObjectFactory::class, ['create']); $dataObjectFactory->expects($this->any())->method('create')->willReturn( new \Magento\Framework\DataObject() ); $this->model = $this->getObjectManager()->getObject( News::class, [ 'moduleList' => $moduleList, 'moduleInfoProvider' => $this->moduleInfoProvider, 'dataObjectFactory' => $dataObjectFactory ] ); } /** * @covers NewsProcessor::getInstalledAmastyExtensions */ public function testGetInstalledAmastyExtensions() { $this->assertEquals([1 => 'Amasty_Seo'], $this->invokeMethod($this->model, 'getInstalledAmastyExtensions')); } /** * @covers NewsProcessor::validateByExtension * @dataProvider validateByExtensionDataProvider */ public function testValidateByExtension($extensions, $result) { $this->assertEquals($result, $this->invokeMethod($this->model, 'validateByExtension', [$extensions, true])); } /** * Data provider for validateByExtension test * @return array */ public function validateByExtensionDataProvider() { return [ ['', true], ['Magento_Catalog,Amasty_Seo', true], ['test', false], ]; } /** * @covers NewsProcessor::validateByNotInstalled * @dataProvider validateByNotInstalledDataProvider */ public function testValidateByNotInstalled($extensions, $result) { $this->assertEquals($result, $this->invokeMethod($this->model, 'validateByNotInstalled', [$extensions, true])); } /** * Data provider for validateByNotInstalled test * @return array */ public function validateByNotInstalledDataProvider() { return [ ['', true], ['Magento_Catalog,Amasty_Seo', true], ['Amasty_Seo', false], ]; } /** * @covers NewsProcessor::getDependModules */ public function testGetDependModules() { $this->moduleInfoProvider->expects($this->any())->method('getModuleInfo') ->willReturn(['name' => 'amasty', 'require' => ['magento' => 'catalog', 'amasty' => 'shopby']]); $this->assertEquals(['Amasty_Seo'], $this->invokeMethod($this->model, 'getDependModules', [['Amasty_Seo']])); } }