![]() 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/Weee/Model/ResourceModel/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Weee\Model\ResourceModel; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Eav\Model\Entity\Attribute as EavAttribute; use Magento\Framework\EntityManager\MetadataPool; /** * Test class for Magento\Catalog\Model\ResourceModel\Attribute class * with backend model Magento\Weee\Model\Attribute\Backend\Weee\Tax. * * @see Magento\Catalog\Model\ResourceModel\Attribute */ class AttributeTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Catalog\Model\ResourceModel\Attribute */ private $model; /** * @var \Magento\Catalog\Model\ResourceModel\Product */ protected $productResource; /** * @var ProductRepositoryInterface */ private $productRepository; /** * @var MetadataPool */ private $metadataPool; /** * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * @inheritdoc */ protected function setUp(): void { $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $this->model = $this->objectManager->get( \Magento\Catalog\Model\ResourceModel\Attribute::class ); $this->productResource = $this->objectManager->get( \Magento\Catalog\Model\ResourceModel\Product::class ); $this->productRepository = $this->objectManager->create(ProductRepositoryInterface::class); $this->metadataPool = $this->objectManager->get(MetadataPool::class); } /** * Retrieve eav attribute row. * * @param int $entityTypeId * @param int $attributeSetId * @param int $attributeId * @return array|false */ private function getEavEntityAttributeRow(int $entityTypeId, int $attributeSetId, int $attributeId) { $connection = $this->productResource->getConnection(); $select = $connection->select() ->from($this->productResource->getTable('eav_entity_attribute')) ->where('attribute_set_id=?', $attributeSetId) ->where('attribute_id=?', $attributeId) ->where('entity_type_id=?', $entityTypeId); return $connection->fetchRow($select); } /** * Test to delete entity attribute with type "Fixed Product Tax". * * @magentoDataFixture Magento/Weee/_files/fixed_product_attribute.php * @return void */ public function testDeleteEntityFixedTax() : void { /* @var EavAttribute $attribute */ $attribute = $this->objectManager->get(EavAttribute::class); $attribute->loadByCode(\Magento\Catalog\Model\Product::ENTITY, 'fixed_product_attribute'); $entityEavAttributeRow = $this->getEavEntityAttributeRow( (int)$attribute->getEntityTypeId(), 4, (int)$attribute->getId() ); $this->assertNotEmpty( $entityEavAttributeRow['entity_attribute_id'], 'The record is absent in table `eav_entity_attribute` for `fixed_product_attribute`' ); $attribute->setData('entity_attribute_id', $entityEavAttributeRow['entity_attribute_id']); $this->model->deleteEntity($attribute); $entityEavAttributeRow = $this->getEavEntityAttributeRow( (int)$attribute->getEntityTypeId(), 4, (int)$attribute->getId() ); $this->assertEmpty( $entityEavAttributeRow, 'The record was not removed from table `eav_entity_attribute` for `fixed_product_attribute`' ); } }