![]() 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/Tax/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Model; class ClassTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\TestFramework\ObjectManager */ protected $_objectManager; protected function setUp(): void { /** @var $objectManager \Magento\TestFramework\ObjectManager */ $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); } /** * @magentoDbIsolation enabled */ public function testCheckClassCanBeDeletedCustomerClassAssertException() { /** @var $model \Magento\Tax\Model\ClassModel */ $model = $this->_objectManager->create( \Magento\Tax\Model\ClassModel::class )->getCollection()->setClassTypeFilter( \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_CUSTOMER )->getFirstItem(); $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class); $model->delete(); } /** * @magentoDbIsolation enabled */ public function testCheckClassCanBeDeletedProductClassAssertException() { /** @var $model \Magento\Tax\Model\ClassModel */ $model = $this->_objectManager->create( \Magento\Tax\Model\ClassModel::class )->getCollection()->setClassTypeFilter( \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_PRODUCT )->getFirstItem(); $this->_objectManager->create( \Magento\Catalog\Model\Product::class )->setTypeId( 'simple' )->setAttributeSetId( 4 )->setName( 'Simple Product' )->setSku( uniqid() )->setPrice( 10 )->setMetaTitle( 'meta title' )->setMetaKeyword( 'meta keyword' )->setMetaDescription( 'meta description' )->setVisibility( \Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH )->setStatus( \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED )->setTaxClassId( $model->getId() )->save(); $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class); $model->delete(); } /** * @magentoDbIsolation enabled * @dataProvider classesDataProvider */ public function testCheckClassCanBeDeletedPositiveResult($classType) { /** @var $model \Magento\Tax\Model\ClassModel */ $model = $this->_objectManager->create(\Magento\Tax\Model\ClassModel::class); $model->setClassName('TaxClass' . uniqid())->setClassType($classType)->isObjectNew(true); $model->save(); $model->delete(); } public function classesDataProvider() { return [ [\Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_CUSTOMER], [\Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_PRODUCT] ]; } /** * @magentoAppIsolation enabled * @magentoDataFixture Magento/Tax/_files/tax_classes.php */ public function testCheckClassCanBeDeletedCustomerClassUsedInTaxRule() { /** @var $registry \Magento\Framework\Registry */ $registry = $this->_objectManager->get(\Magento\Framework\Registry::class); /** @var $taxRule \Magento\Tax\Model\Calculation\Rule */ $taxRule = $registry->registry('_fixture/Magento_Tax_Model_Calculation_Rule'); $customerClasses = $taxRule->getCustomerTaxClasses(); /** @var $model \Magento\Tax\Model\ClassModel */ $model = $this->_objectManager->create(\Magento\Tax\Model\ClassModel::class)->load($customerClasses[0]); $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class); $this->expectExceptionMessage('You cannot delete this tax class because it is used in' . ' Tax Rules. You have to delete the rules it is used in first.'); $model->delete(); } /** * @magentoAppIsolation enabled * @magentoDataFixture Magento/Tax/_files/tax_classes.php */ public function testCheckClassCanBeDeletedProductClassUsedInTaxRule() { /** @var $registry \Magento\Framework\Registry */ $registry = $this->_objectManager->get(\Magento\Framework\Registry::class); /** @var $taxRule \Magento\Tax\Model\Calculation\Rule */ $taxRule = $registry->registry('_fixture/Magento_Tax_Model_Calculation_Rule'); $productClasses = $taxRule->getProductTaxClasses(); /** @var $model \Magento\Tax\Model\ClassModel */ $model = $this->_objectManager->create(\Magento\Tax\Model\ClassModel::class)->load($productClasses[0]); $this->expectException(\Magento\Framework\Exception\CouldNotDeleteException::class); $this->expectExceptionMessage('You cannot delete this tax class because it is used in' . ' Tax Rules. You have to delete the rules it is used in first.'); $model->delete(); } }