示例#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]);
 }