![]() 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/vendor/magento/framework/Pricing/Test/Unit/Adjustment/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Pricing\Test\Unit\Adjustment; use Magento\Framework\Pricing\Adjustment\Factory; use Magento\Framework\Pricing\Adjustment\Pool; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class PoolTest extends TestCase { /** * @var Pool */ public $model; protected function setUp(): void { $adjustmentsData = [ 'adj1' => ['className' => 'adj1_class', 'sortOrder' => 10], 'adj2' => ['className' => 'adj2_class', 'sortOrder' => 20], 'adj3' => ['className' => 'adj3_class', 'sortOrder' => 5], 'adj4' => ['className' => 'adj4_class', 'sortOrder' => null], 'adj5' => ['className' => 'adj5_class'], ]; /** @var Factory|MockObject $adjustmentFactory */ $adjustmentFactory = $this->getMockBuilder(Factory::class) ->disableOriginalConstructor() ->setMethods(['create']) ->getMock(); $adjustmentFactory->expects($this->any())->method('create')->willReturnCallback( function ($className, $data) { return $className . '|' . $data['sortOrder']; } ); $this->model = new Pool($adjustmentFactory, $adjustmentsData); } public function testGetAdjustments() { $expectedResult = [ 'adj1' => 'adj1_class|10', 'adj2' => 'adj2_class|20', 'adj3' => 'adj3_class|5', 'adj4' => 'adj4_class|' . Pool::DEFAULT_SORT_ORDER, 'adj5' => 'adj5_class|' . Pool::DEFAULT_SORT_ORDER, ]; $result = $this->model->getAdjustments(); $this->assertEquals($expectedResult, $result); } /** * @dataProvider getAdjustmentByCodeDataProvider */ public function testGetAdjustmentByCode($code, $expectedResult) { $result = $this->model->getAdjustmentByCode($code); $this->assertEquals($expectedResult, $result); } /** * @return array */ public function getAdjustmentByCodeDataProvider() { return [ ['adj1', 'adj1_class|10'], ['adj2', 'adj2_class|20'], ['adj3', 'adj3_class|5'], ['adj4', 'adj4_class|' . Pool::DEFAULT_SORT_ORDER], ['adj5', 'adj5_class|' . Pool::DEFAULT_SORT_ORDER], ]; } public function testGetAdjustmentByNotExistingCode() { $this->expectException('InvalidArgumentException'); $this->model->getAdjustmentByCode('not_existing_code'); } }