123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * Test class for \Magento\Eav\Model\Entity\Attribute\Config
- */
- namespace Magento\Eav\Test\Unit\Model\Entity\Attribute;
- class ConfigTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Eav\Model\Entity\Attribute\Config
- */
- protected $_model;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_readerMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_cacheMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_cacheId;
- /**
- * @var \Magento\Eav\Model\Entity\Attribute|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $_attribute;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_entityType;
- protected function setUp()
- {
- $this->_attribute = $this->createMock(\Magento\Eav\Model\Entity\Attribute::class);
- $this->_entityType = $this->createMock(\Magento\Eav\Model\Entity\Type::class);
- $this->_readerMock = $this->createMock(\Magento\Eav\Model\Entity\Attribute\Config\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->createMock(\Magento\Framework\Serialize\SerializerInterface::class);
- $serializerMock->method('unserialize')
- ->willReturn([]);
- $this->_model = new \Magento\Eav\Model\Entity\Attribute\Config(
- $this->_readerMock,
- $this->_cacheMock,
- $this->_cacheId,
- $serializerMock
- );
- }
- public function testGetLockedFieldsEmpty()
- {
- $this->_entityType->expects($this->once())->method('getEntityTypeCode')->will($this->returnValue('test_code'));
- $this->_attribute->expects(
- $this->once()
- )->method(
- 'getEntityType'
- )->will(
- $this->returnValue($this->_entityType)
- );
- $this->_attribute->expects(
- $this->once()
- )->method(
- 'getAttributeCode'
- )->will(
- $this->returnValue('attribute_code')
- );
- $result = $this->_model->getLockedFields($this->_attribute);
- $this->assertEquals([], $result);
- }
- public function testGetLockedFields()
- {
- $this->_entityType->expects(
- $this->once()
- )->method(
- 'getEntityTypeCode'
- )->will(
- $this->returnValue('test_code1/test_code2')
- );
- $this->_attribute->expects(
- $this->once()
- )->method(
- 'getEntityType'
- )->will(
- $this->returnValue($this->_entityType)
- );
- $this->_attribute->expects($this->once())->method('getAttributeCode')->will($this->returnValue('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);
- }
- }
|