Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TermDropdownStrategyTest.php
Go to the documentation of this file.
1 <?php
8 
13 use Magento\Eav\Model\Config as EavConfig;
17 
25 class TermDropdownStrategyTest extends \PHPUnit\Framework\TestCase
26 {
30  private $eavConfig;
31 
35  private $termDropdownStrategy;
36 
40  private $aliasResolver;
41 
45  private $selectBuilder;
46 
47  protected function setUp()
48  {
49  $objectManager = new ObjectManager($this);
50  $this->eavConfig = $this->createMock(EavConfig::class);
51  $this->aliasResolver = $this->createMock(AliasResolver::class);
52  $this->selectBuilder = $this->createMock(SelectBuilder::class);
53  $this->termDropdownStrategy = $objectManager->getObject(
54  TermDropdownStrategy::class,
55  [
56  'eavConfig' => $this->eavConfig,
57  'aliasResolver' => $this->aliasResolver,
58  'selectBuilder' => $this->selectBuilder
59  ]
60  );
61  }
62 
63  public function testApply()
64  {
65  $attributeId = 5;
66  $alias = 'some_alias';
67  $this->aliasResolver->expects($this->once())->method('getAlias')->willReturn($alias);
68  $searchFilter = $this->createPartialMock(
69  FilterInterface::class,
70  ['getField', 'getType', 'getName']
71  );
72 
73  $select = $this->createMock(Select::class);
74  $attribute = $this->createMock(Attribute::class);
75 
76  $this->eavConfig->expects($this->once())->method('getAttribute')->willReturn($attribute);
77  $attribute->expects($this->once())->method('getId')->willReturn($attributeId);
78  $searchFilter->expects($this->once())->method('getField');
79  $this->selectBuilder->expects($this->once())->method('execute')->with($attributeId, $alias, $select);
80 
81  $this->assertTrue($this->termDropdownStrategy->apply($searchFilter, $select));
82  }
83 }
$objectManager
Definition: bootstrap.php:17
if(!trim($html)) $alias
Definition: details.phtml:20