Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
FrontTabPluginTest.php
Go to the documentation of this file.
1 <?php
7 
11 use Magento\Catalog\Block\Adminhtml\Product\Attribute\Edit\Tab\Front as ProductAttributeFrontTabBlock;
16 
20 class FrontTabPluginTest extends \PHPUnit\Framework\TestCase
21 {
25  private $plugin;
26 
30  private $objectManagerHelper;
31 
35  private $weightSourceMock;
36 
40  private $subjectMock;
41 
45  private $formMock;
46 
50  private $fieldsetMock;
51 
55  private $childElementMock;
56 
60  private $childBlockMock;
61 
62  protected function setUp()
63  {
64  $this->weightSourceMock = $this->getMockBuilder(WeightSource::class)
65  ->disableOriginalConstructor()
66  ->getMock();
67  $this->subjectMock = $this->getMockBuilder(ProductAttributeFrontTabBlock::class)
68  ->disableOriginalConstructor()
69  ->getMock();
70  $this->formMock = $this->getMockBuilder(Form::class)
71  ->disableOriginalConstructor()
72  ->getMock();
73  $this->fieldsetMock = $this->getMockBuilder(Fieldset::class)
74  ->disableOriginalConstructor()
75  ->getMock();
76  $this->childElementMock = $this->getMockBuilder(AbstractElement::class)
77  ->disableOriginalConstructor()
78  ->getMockForAbstractClass();
79  $this->childBlockMock = $this->getMockBuilder(AbstractBlock::class)
80  ->disableOriginalConstructor()
81  ->setMethods(['addFieldMap', 'addFieldDependence'])
82  ->getMockForAbstractClass();
83 
84  $this->objectManagerHelper = new ObjectManagerHelper($this);
85  $this->plugin = $this->objectManagerHelper->getObject(
86  FrontTabPlugin::class,
87  ['weightSource' => $this->weightSourceMock]
88  );
89  }
90 
91  public function testBeforeSetForm()
92  {
93  $weightOptions = [1 => '1', 2 => '2'];
94 
95  $this->formMock->expects(static::any())
96  ->method('getElement')
97  ->with('front_fieldset')
98  ->willReturn($this->fieldsetMock);
99  $this->weightSourceMock->expects(static::any())
100  ->method('getOptions')
101  ->willReturn($weightOptions);
102  $this->fieldsetMock->expects(static::once())
103  ->method('addField')
104  ->with(
105  'search_weight',
106  'select',
107  [
108  'name' => 'search_weight',
109  'label' => __('Search Weight'),
110  'values' => $weightOptions
111  ],
112  'is_searchable',
113  false
114  )
115  ->willReturn($this->childElementMock);
116  $this->subjectMock->expects(static::any())
117  ->method('getChildBlock')
118  ->with('form_after')
119  ->willReturn($this->childBlockMock);
120  $this->childBlockMock->expects(static::once())
121  ->method('addFieldMap')
122  ->with('search_weight', 'search_weight')
123  ->willReturnSelf();
124  $this->childBlockMock->expects(static::once())
125  ->method('addFieldDependence')
126  ->with('search_weight', 'searchable', '1')
127  ->willReturnSelf();
128 
129  $this->plugin->beforeSetForm($this->subjectMock, $this->formMock);
130  }
131 }
__()
Definition: __.php:13