示例#1
0
 /**
  * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
  */
 protected function setUp()
 {
     /** @var \Magento\Catalog\Model\Layer\Filter\ItemFactory $filterItemFactory */
     $this->filterItemFactory = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Layer\\Filter\\ItemFactory')->disableOriginalConstructor()->setMethods(['create'])->getMock();
     /** @var \Magento\Framework\Store\StoreManagerInterface $storeManager */
     $this->storeManager = $this->getMockBuilder('\\Magento\\Framework\\Store\\StoreManagerInterface')->disableOriginalConstructor()->setMethods([])->getMockForAbstractClass();
     /** @var \Magento\Catalog\Model\Layer $layer */
     $this->layer = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Layer')->disableOriginalConstructor()->setMethods(['getState'])->getMock();
     /** @var \Magento\Catalog\Model\Layer\Filter\Item\DataBuilder $itemDataBuilder */
     $this->itemDataBuilder = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Layer\\Filter\\Item\\DataBuilder')->disableOriginalConstructor()->setMethods(['addItemData', 'build'])->getMock();
     $this->filterAttribute = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Resource\\Layer\\Filter\\Attribute')->disableOriginalConstructor()->setMethods(['getCount', 'applyFilterToCollection'])->getMock();
     $this->filterAttribute->expects($this->any())->method('applyFilterToCollection')->will($this->returnSelf());
     $this->filterAttributeFactory = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Resource\\Layer\\Filter\\AttributeFactory')->disableOriginalConstructor()->setMethods(['create'])->getMock();
     $this->filterAttributeFactory->expects($this->once())->method('create')->will($this->returnValue($this->filterAttribute));
     $this->state = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Layer\\State')->disableOriginalConstructor()->setMethods(['addFilter'])->getMock();
     $this->layer->expects($this->any())->method('getState')->will($this->returnValue($this->state));
     $this->frontend = $this->getMockBuilder('\\Magento\\Eav\\Model\\Entity\\Attribute\\Frontend\\AbstractFrontend')->disableOriginalConstructor()->setMethods(['getOption', 'getSelectOptions'])->getMock();
     $this->attribute = $this->getMockBuilder('\\Magento\\Eav\\Model\\Entity\\Attribute')->disableOriginalConstructor()->setMethods(['getAttributeCode', 'getFrontend', 'getIsFilterable'])->getMock();
     $this->attribute->expects($this->atLeastOnce())->method('getFrontend')->will($this->returnValue($this->frontend));
     $this->request = $this->getMockBuilder('\\Magento\\Framework\\App\\RequestInterface')->disableOriginalConstructor()->setMethods([])->getMockForAbstractClass();
     $stripTagsFilter = $this->getMockBuilder('\\Magento\\Framework\\Filter\\StripTags')->disableOriginalConstructor()->setMethods(['filter'])->getMock();
     $stripTagsFilter->expects($this->any())->method('filter')->will($this->returnArgument(0));
     $string = $this->getMockBuilder('\\Magento\\Framework\\Stdlib\\String')->disableOriginalConstructor()->setMethods(['strlen'])->getMock();
     $string->expects($this->any())->method('strlen')->will($this->returnCallback(function ($value) {
         return strlen($value);
     }));
     $objectManagerHelper = new ObjectManagerHelper($this);
     $this->target = $objectManagerHelper->getObject('Magento\\Catalog\\Model\\Layer\\Filter\\Attribute', ['filterItemFactory' => $this->filterItemFactory, 'storeManager' => $this->storeManager, 'layer' => $this->layer, 'itemDataBuilder' => $this->itemDataBuilder, 'filterAttributeFactory' => $this->filterAttributeFactory, 'tagFilter' => $stripTagsFilter, 'string' => $string]);
 }
示例#2
0
 /**
  * @param ItemFactory $filterItemFactory
  * @param \Magento\Store\Model\StoreManagerInterface $storeManager
  * @param \Magento\Catalog\Model\Layer $layer
  * @param \Magento\Catalog\Model\Layer\Filter\Item\DataBuilder $itemDataBuilder
  * @param \Magento\Catalog\Model\Resource\Layer\Filter\AttributeFactory $filterAttributeFactory
  * @param \Magento\Framework\Stdlib\String $string
  * @param \Magento\Framework\Filter\StripTags $tagFilter
  * @param array $data
  */
 public function __construct(\Magento\Catalog\Model\Layer\Filter\ItemFactory $filterItemFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Model\Layer $layer, \Magento\Catalog\Model\Layer\Filter\Item\DataBuilder $itemDataBuilder, \Magento\Catalog\Model\Resource\Layer\Filter\AttributeFactory $filterAttributeFactory, \Magento\Framework\Stdlib\String $string, \Magento\Framework\Filter\StripTags $tagFilter, array $data = [])
 {
     $this->_resource = $filterAttributeFactory->create();
     $this->string = $string;
     $this->_requestVar = 'attribute';
     $this->tagFilter = $tagFilter;
     parent::__construct($filterItemFactory, $storeManager, $layer, $itemDataBuilder, $data);
 }