Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DefaultResolverTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13  as FieldTypeResolver;
15  as FieldTypeConverterInterface;
17 
21 class DefaultResolverTest extends \PHPUnit\Framework\TestCase
22 {
26  private $resolver;
27 
31  private $fieldTypeResolver;
32 
36  private $fieldTypeConverter;
37 
43  protected function setUp()
44  {
45  $objectManager = new ObjectManagerHelper($this);
46  $this->fieldTypeResolver = $this->getMockBuilder(FieldTypeResolver::class)
47  ->disableOriginalConstructor()
48  ->setMethods(['getFieldType'])
49  ->getMockForAbstractClass();
50  $this->fieldTypeConverter = $this->getMockBuilder(FieldTypeConverterInterface::class)
51  ->disableOriginalConstructor()
52  ->setMethods(['convert'])
53  ->getMockForAbstractClass();
54 
55  $this->resolver = $objectManager->getObject(
56  DefaultResolver::class,
57  [
58  'fieldTypeResolver' => $this->fieldTypeResolver,
59  'fieldTypeConverter' => $this->fieldTypeConverter
60  ]
61  );
62  }
63 
73  public function testGetFieldName(
74  $fieldType,
76  $frontendInput,
77  $context,
78  $expected
79  ) {
80  $this->fieldTypeConverter->expects($this->any())
81  ->method('convert')
82  ->willReturn('string');
83  $attributeMock = $this->getMockBuilder(AttributeAdapter::class)
84  ->disableOriginalConstructor()
85  ->setMethods(['getAttributeCode', 'getFrontendInput'])
86  ->getMock();
87  $attributeMock->expects($this->any())
88  ->method('getAttributeCode')
89  ->willReturn($attributeCode);
90  $attributeMock->expects($this->any())
91  ->method('getFrontendInput')
92  ->willReturn($frontendInput);
93  $this->fieldTypeResolver->expects($this->any())
94  ->method('getFieldType')
95  ->willReturn($fieldType);
96 
97  $this->assertEquals(
98  $expected,
99  $this->resolver->getFieldName($attributeMock, $context)
100  );
101  }
102 
106  public function getFieldNameProvider()
107  {
108  return [
109  ['', 'code', '', [], 'code'],
110  ['', 'code', '', ['type' => 'default'], 'code'],
111  ['string', '*', '', ['type' => 'default'], '_all'],
112  ['', 'code', '', ['type' => 'default'], 'code'],
113  ['', 'code', 'select', ['type' => 'default'], 'code'],
114  ['', 'code', 'boolean', ['type' => 'default'], 'code'],
115  ['', 'code', '', ['type' => 'type'], 'sort_code'],
116  ];
117  }
118 }
$objectManager
Definition: bootstrap.php:17
$attributeCode
Definition: extend.phtml:12