Spamworldpro Mini Shell
Spamworldpro


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/vendor/magento/module-eav/Test/Unit/Model/Entity/Attribute/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/vendor/magento/module-eav/Test/Unit/Model/Entity/Attribute/ConfigTest.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Eav\Test\Unit\Model\Entity\Attribute;

use Magento\Eav\Model\Entity\Attribute;
use Magento\Eav\Model\Entity\Attribute\Config;
use Magento\Eav\Model\Entity\Attribute\Config\Reader;
use Magento\Eav\Model\Entity\Type;
use Magento\Framework\Serialize\SerializerInterface;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

/**
 * Test class for \Magento\Eav\Model\Entity\Attribute\Config
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
 */
class ConfigTest extends TestCase
{
    /**
     * @var Config
     */
    protected $_model;

    /**
     * @var MockObject
     */
    protected $_readerMock;

    /**
     * @var MockObject
     */
    protected $_cacheMock;

    /**
     * @var MockObject
     */
    protected $_cacheId;

    /**
     * @var Attribute|MockObject
     */
    protected $_attribute;

    /**
     * @var MockObject
     */
    protected $_entityType;

    protected function setUp(): void
    {
        $this->_attribute = $this->createMock(Attribute::class);
        $this->_entityType = $this->createMock(Type::class);
        $this->_readerMock = $this->createMock(Reader::class);
        $this->_cacheMock = $this->createMock(\Magento\Framework\App\Cache\Type\Config::class);
        $this->_cacheId = 'eav_attributes';
        $this->_cacheMock->expects($this->once())
            ->method('load')
            ->with($this->_cacheId)
            ->willReturn('');

        $serializerMock = $this->getMockForAbstractClass(SerializerInterface::class);
        $serializerMock->method('unserialize')
            ->willReturn([]);

        $this->_model = new Config(
            $this->_readerMock,
            $this->_cacheMock,
            $this->_cacheId,
            $serializerMock
        );
    }

    public function testGetLockedFieldsEmpty()
    {
        $this->_entityType->expects($this->once())->method('getEntityTypeCode')->willReturn('test_code');
        $this->_attribute->expects(
            $this->once()
        )->method(
            'getEntityType'
        )->willReturn(
            $this->_entityType
        );

        $this->_attribute->expects(
            $this->once()
        )->method(
            'getAttributeCode'
        )->willReturn(
            'attribute_code'
        );
        $result = $this->_model->getLockedFields($this->_attribute);
        $this->assertEquals([], $result);
    }

    public function testGetLockedFields()
    {
        $this->_entityType->expects(
            $this->once()
        )->method(
            'getEntityTypeCode'
        )->willReturn(
            'test_code1/test_code2'
        );
        $this->_attribute->expects(
            $this->once()
        )->method(
            'getEntityType'
        )->willReturn(
            $this->_entityType
        );

        $this->_attribute->expects($this->once())->method('getAttributeCode')->willReturn('test_code');
        $data = [
            'test_code1' => [
                'test_code2' => ['attributes' => ['test_code' => ['test_code1' => 'test_code1']]],
            ],
        ];
        $this->_model->merge($data);
        $result = $this->_model->getLockedFields($this->_attribute);
        $this->assertEquals(['test_code1' => 'test_code1'], $result);
    }

    public function testGetEntityAttributesLockedFields()
    {
        $data = [
            'entity_code' => [
                'attributes' => [
                    'attribute_code' => [
                        'attribute_data' => ['locked' => 'locked_field', 'code' => 'code_test'],
                    ],
                ],
            ],
        ];
        $this->_model->merge($data);
        $result = $this->_model->getEntityAttributesLockedFields('entity_code');
        $this->assertEquals(['attribute_code' => ['code_test']], $result);
    }
}

Spamworldpro Mini