128 lines
3.9 KiB
PHP
Executable File
128 lines
3.9 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Tax\Pricing;
|
|
|
|
class AdjustmentTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @param $isShippingPriceExcludeTax
|
|
* @param $expectedResult
|
|
*/
|
|
protected function isIncludedInBasePricePrice($isShippingPriceExcludeTax, $expectedResult)
|
|
{
|
|
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
|
|
/** @var \Magento\Tax\Model\Config $config */
|
|
$config = $objectManager->get(\Magento\Tax\Model\Config::class);
|
|
/** @var \Magento\Tax\Pricing\Adjustment $model */
|
|
$model = $objectManager->create(\Magento\Tax\Pricing\Adjustment::class);
|
|
$config->setNeedUseShippingExcludeTax($isShippingPriceExcludeTax);
|
|
// Run tested method
|
|
$result = $model->isIncludedInBasePrice();
|
|
// Check expectations
|
|
$this->assertIsBool($result);
|
|
$this->assertEquals($expectedResult, $result);
|
|
}
|
|
|
|
/**
|
|
* @param bool $isShippingPriceExcludeTax
|
|
* @param bool $expectedResult
|
|
* @magentoConfigFixture current_store tax/calculation/price_includes_tax 1
|
|
* @dataProvider isIncludedInBasePricePriceIncludeTaxEnabledDataProvider
|
|
*/
|
|
public function testIsIncludedInBasePricePriceIncludeTacEnabled($isShippingPriceExcludeTax, $expectedResult)
|
|
{
|
|
$this->isIncludedInBasePricePrice($isShippingPriceExcludeTax, $expectedResult);
|
|
}
|
|
|
|
/**
|
|
* @param bool $isShippingPriceExcludeTax
|
|
* @param bool $expectedResult
|
|
* @magentoConfigFixture current_store tax/calculation/price_includes_tax 0
|
|
* @dataProvider isIncludedInBasePricePriceIncludeTaxDisabledDataProvider
|
|
*/
|
|
public function testIsIncludedInBasePricePriceIncludeTacDisabled($isShippingPriceExcludeTax, $expectedResult)
|
|
{
|
|
$this->isIncludedInBasePricePrice($isShippingPriceExcludeTax, $expectedResult);
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function isIncludedInBasePricePriceIncludeTaxEnabledDataProvider()
|
|
{
|
|
return [
|
|
[0, true],
|
|
[1, true],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function isIncludedInBasePricePriceIncludeTaxDisabledDataProvider()
|
|
{
|
|
return [
|
|
[0, false],
|
|
[1, true],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* test template for isIncludedInDisplayPrice
|
|
*
|
|
* @param $expectedResult
|
|
*/
|
|
protected function isIncludedInDisplayPrice($expectedResult)
|
|
{
|
|
// Instantiate objects
|
|
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
|
|
/** @var \Magento\Tax\Pricing\Adjustment $model */
|
|
$model = $objectManager->create(\Magento\Tax\Pricing\Adjustment::class);
|
|
// Run tested method
|
|
$result = $model->isIncludedInDisplayPrice();
|
|
// Check expectations
|
|
$this->assertIsBool($result);
|
|
$this->assertEquals($expectedResult, $result);
|
|
}
|
|
|
|
/**
|
|
* @magentoAppIsolation enabled
|
|
* @magentoConfigFixture current_store tax/display/type 1
|
|
*/
|
|
public function testIsIncludedInDisplayPriceExcludingTax()
|
|
{
|
|
$this->isIncludedInDisplayPrice(false);
|
|
}
|
|
|
|
/**
|
|
* @magentoAppIsolation enabled
|
|
* @magentoConfigFixture current_store tax/display/type 2
|
|
*/
|
|
public function testIsIncludedInDisplayPriceIncludingTax()
|
|
{
|
|
$this->isIncludedInDisplayPrice(true);
|
|
}
|
|
|
|
/**
|
|
* @magentoAppIsolation enabled
|
|
* @magentoConfigFixture current_store tax/display/type 3
|
|
*/
|
|
public function testIsIncludedInDisplayPriceBoth()
|
|
{
|
|
$this->isIncludedInDisplayPrice(true);
|
|
}
|
|
|
|
/**
|
|
* @magentoAppIsolation enabled
|
|
* @magentoConfigFixture current_store tax/display/type 100500
|
|
*/
|
|
public function testIsIncludedInDisplayPriceWrongValue()
|
|
{
|
|
$this->isIncludedInDisplayPrice(false);
|
|
}
|
|
}
|