/** * Build product based on user request * * @param RequestInterface $request * @return \Magento\Catalog\Model\Product */ public function build(RequestInterface $request) { $productId = (int) $request->getParam('id'); /** @var $product \Magento\Catalog\Model\Product */ $product = $this->productFactory->create(); $product->setStoreId($request->getParam('store', 0)); $typeId = $request->getParam('type'); if (!$productId && $typeId) { $product->setTypeId($typeId); } $product->setData('_edit_mode', true); if ($productId) { try { $product->load($productId); } catch (\Exception $e) { $product->setTypeId(\Magento\Catalog\Model\Product\Type::DEFAULT_TYPE); $this->logger->critical($e); } } $setId = (int) $request->getParam('set'); if ($setId) { $product->setAttributeSetId($setId); } $this->registry->register('product', $product); $this->registry->register('current_product', $product); $this->wysiwygConfig->setStoreId($request->getParam('store')); return $product; }
/** * @covers \Magento\Cms\Model\Wysiwyg\Config::isEnabled * @param string $wysiwygState * @param boolean $expectedResult * * @dataProvider isEnabledDataProvider */ public function testIsEnabled($wysiwygState, $expectedResult) { $storeId = 1; $this->wysiwygConfig->setStoreId($storeId); $this->scopeConfigMock->expects($this->atLeastOnce())->method('getValue')->with('cms/wysiwyg/enabled', 'store', $storeId)->willReturn($wysiwygState); $this->assertEquals($expectedResult, $this->wysiwygConfig->isEnabled()); }