/** * Retrieve post instance * * @return \Magefan\Blog\Model\Post */ public function getPost() { if (!$this->hasData('post')) { $this->setData('post', $this->_coreRegistry->registry('current_blog_post')); } return $this->getData('post'); }
public function testAddFiltersVerifyAddConditionsToRegistry() { $registry = new \Magento\Framework\Registry(); $values = ['sku' => 'simple']; $this->resourceProvider->expects($this->once())->method('getResource')->willReturn($this->resource); $this->resourceProvider->expects($this->once())->method('getResourceCollection')->willReturn($this->collection); $this->resourceProvider->expects($this->once())->method('getAdvancedResultCollection')->willReturn($this->collection); $this->skuAttribute->expects($this->once())->method('getTable')->will($this->returnValue('catalog_product_entity')); $this->collection->expects($this->any())->method('addAttributeToSelect')->will($this->returnSelf()); $this->collection->expects($this->any())->method('setStore')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addMinimalPrice')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addTaxPercents')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addStoreFilter')->will($this->returnSelf()); $this->collection->expects($this->any())->method('setVisibility')->will($this->returnSelf()); $this->resource->expects($this->any())->method('prepareCondition')->will($this->returnValue(['like' => '%simple%'])); $this->resource->expects($this->any())->method('getIdFieldName')->will($this->returnValue('entity_id')); $this->attribute->expects($this->any())->method('getAttributeCode')->will($this->returnValue('sku')); $this->attribute->expects($this->any())->method('getStoreLabel')->will($this->returnValue('SKU')); $this->attribute->expects($this->any())->method('getFrontendInput')->will($this->returnValue('text')); $this->attribute->expects($this->any())->method('getBackend')->will($this->returnValue($this->skuAttribute)); $this->attribute->expects($this->any())->method('getBackendType')->will($this->returnValue('static')); $this->dataCollection->expects($this->any())->method('getIterator')->will($this->returnValue(new \ArrayIterator([$this->attribute]))); $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this); /** @var \Magento\CatalogSearch\Model\Advanced $instance */ $instance = $objectManager->getObject('Magento\\CatalogSearch\\Model\\Advanced', ['registry' => $registry, 'resourceProvider' => $this->resourceProvider, 'data' => ['attributes' => $this->dataCollection]]); $instance->addFilters($values); $this->assertNotNull($registry->registry('advanced_search_conditions')); }
/** * Retrieve category instance * * @return \Magefan\Blog\Model\Category */ public function getCategory() { return $this->_coreRegistry->registry('current_blog_category'); }
/** * @param array $attributes * @param array $values * @param string $currentCurrencyCode * @param string $baseCurrencyCode * @dataProvider addFiltersDataProvider */ public function testAddFiltersVerifyAddConditionsToRegistry(array $attributes, array $values, $currentCurrencyCode = 'GBP', $baseCurrencyCode = 'USD') { $registry = new \Magento\Framework\Registry(); $this->collection->expects($this->any())->method('addAttributeToSelect')->will($this->returnSelf()); $this->collection->expects($this->any())->method('setStore')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addMinimalPrice')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addTaxPercents')->will($this->returnSelf()); $this->collection->expects($this->any())->method('addStoreFilter')->will($this->returnSelf()); $this->collection->expects($this->any())->method('setVisibility')->will($this->returnSelf()); $this->resource->expects($this->any())->method('prepareCondition')->will($this->returnValue(['like' => '%simple%'])); $this->resource->expects($this->any())->method('getIdFieldName')->will($this->returnValue('entity_id')); $this->dataCollection->expects($this->any())->method('getIterator')->will($this->returnValue(new \ArrayIterator($attributes))); $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $advancedFactory = $this->getMockBuilder('Magento\\CatalogSearch\\Model\\ResourceModel\\AdvancedFactory')->setMethods(['create'])->disableOriginalConstructor()->getMock(); $advancedFactory->expects($this->once())->method('create')->willReturn($this->resource); $productCollectionFactory = $this->getMockBuilder('Magento\\Catalog\\Model\\ResourceModel\\Product\\CollectionFactory')->setMethods(['create'])->disableOriginalConstructor()->getMock(); $productCollectionFactory->expects($this->any())->method('create')->willReturn($this->collection); $this->store->expects($this->any())->method('getCurrentCurrencyCode')->willReturn($currentCurrencyCode); $this->store->expects($this->any())->method('getBaseCurrencyCode')->willReturn($baseCurrencyCode); $this->currency->expects($this->any())->method('getRate')->with($currentCurrencyCode)->willReturn(1.5); $currency = $this->getMockBuilder('Magento\\Directory\\Model\\Currency')->setMethods(['load', 'format'])->disableOriginalConstructor()->getMock(); $currency->expects($this->any())->method('load')->willReturnSelf(); $currency->expects($this->any())->method('format')->willReturnArgument(0); $currencyFactory = $this->getMockBuilder('Magento\\Directory\\Model\\CurrencyFactory')->setMethods(['create'])->disableOriginalConstructor()->getMock(); $currencyFactory->expects($this->any())->method('create')->willReturn($currency); /** @var \Magento\CatalogSearch\Model\Advanced $instance */ $instance = $objectManager->getObject('Magento\\CatalogSearch\\Model\\Advanced', ['registry' => $registry, 'resourceProvider' => $this->resourceProvider, 'data' => ['attributes' => $this->dataCollection], 'advancedFactory' => $advancedFactory, 'productCollectionFactory' => $productCollectionFactory, 'storeManager' => $this->storeManager, 'currencyFactory' => $currencyFactory]); $instance->addFilters($values); $this->assertNotNull($registry->registry('advanced_search_conditions')); }
/** * Retrieve post instance * * @return \Magefan\Blog\Model\Post */ public function getPost() { return $this->_coreRegistry->registry('current_blog_post'); }