![]() 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/old/dev/tests/integration/testsuite/Magento/CatalogRule/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\CatalogRule\Model; class RuleTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\CatalogRule\Model\Rule */ protected $_object; /** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. */ protected function setUp(): void { $resourceMock = $this->createPartialMock( \Magento\CatalogRule\Model\ResourceModel\Rule::class, ['getIdFieldName', 'getRulesFromProduct'] ); $resourceMock->expects($this->any())->method('getIdFieldName')->willReturn('id'); $resourceMock->expects( $this->any() )->method( 'getRulesFromProduct' )->willReturn( $this->_getCatalogRulesFixtures() ); $this->_object = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\CatalogRule\Model\Rule::class, ['ruleResourceModel' => $resourceMock] ); } /** * @magentoAppIsolation enabled * @covers \Magento\CatalogRule\Model\Rule::calcProductPriceRule */ public function testCalcProductPriceRule() { $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Catalog\Model\Product::class ); $this->assertEquals($this->_object->calcProductPriceRule($product, 100), 45); $product->setParentId(true); $this->assertEquals($this->_object->calcProductPriceRule($product, 50), 50); } /** * Get array with catalog rule data * * @return array */ protected function _getCatalogRulesFixtures() { return [ [ 'action_operator' => 'by_percent', 'action_amount' => '50.0000', 'action_stop' => '0' ], [ 'action_operator' => 'by_percent', 'action_amount' => '10.0000', 'action_stop' => '0' ] ]; } }