/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php
110 строк
4 KB
Raj Mohan R
AC-16236::Upgrade Core Test Framework to PHPUnit 12 and Migrate from PHPUnit 10
11 фев 2026, 13:51
11 фев 2026, 13:51
152ed41
Код
Авторство
О чём код?
<?php /** * Copyright 2013 Adobe * All Rights Reserved. */ namespace Magento\Tax\Controller\Adminhtml; use Magento\Framework\Exception\NoSuchEntityException; use PHPUnit\Framework\Attributes\DataProvider; /** * @magentoAppArea adminhtml */ class TaxTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDbIsolation enabled * * @param array $postData * @param array $expectedData */ #[DataProvider('ajaxActionDataProvider')] public function testAjaxSaveAction($postData, $expectedData) { $this->getRequest()->setPostValue($postData); $this->dispatch('backend/tax/tax/ajaxSave'); $jsonBody = $this->getResponse()->getBody(); $result = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\Json\Helper\Data::class )->jsonDecode( $jsonBody ); $this->assertArrayHasKey('class_id', $result); $classId = $result['class_id']; /** @var $class \Magento\Tax\Model\ClassModel */ $class = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Tax\Model\ClassModel::class )->load($classId, 'class_id'); $this->assertEquals($expectedData['class_name'], $class->getClassName()); } /** * @magentoDbIsolation enabled * * @param array $taxClassData * @param array $expectedData * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ #[DataProvider('ajaxActionDataProvider')] public function testAjaxDeleteAction($taxClassData, $expectedData) { /** @var \Magento\Tax\Api\TaxClassRepositoryInterface $taxClassService */ $taxClassService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Tax\Api\TaxClassRepositoryInterface::class ); $taxClassFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Tax\Api\Data\TaxClassInterfaceFactory::class ); $taxClass = $taxClassFactory->create(); $taxClass->setClassName($taxClassData['class_name']) ->setClassType($taxClassData['class_type']); $taxClassId = $taxClassService->save($taxClass); /** @var $class \Magento\Tax\Model\ClassModel */ $class = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Tax\Model\ClassModel::class )->load($taxClassId, 'class_id'); $this->assertEquals($taxClassData['class_name'], $class->getClassName()); $this->assertEquals($taxClassData['class_type'], $class->getClassType()); $postData = [ 'class_id' => $taxClassId ]; $this->getRequest()->setPostValue($postData); $this->dispatch('backend/tax/tax/ajaxDelete'); $isFound = true; try { $taxClassId = $taxClassService->get($taxClassId); } catch (NoSuchEntityException $e) { $isFound = false; } $this->assertFalse($isFound, "Tax Class was found when it should have been deleted."); } /** * @return array */ public static function ajaxActionDataProvider() { return [ [ ['class_type' => 'CUSTOMER', 'class_name' => 'Class Name'], ['class_name' => 'Class Name'], ], [ ['class_type' => 'PRODUCT', 'class_name' => '11111<22222'], ['class_name' => '11111<22222'] ], [ ['class_type' => 'CUSTOMER', 'class_name' => ' 12<>sa&df '], ['class_name' => '12<>sa&df'] ] ]; } }