コード例 #1
0
ファイル: RowTest.php プロジェクト: Doability/magento2dev
 /**
  * @magentoDbIsolation disabled
  * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  */
 public function testProductUpdate()
 {
     $categoryFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\CategoryFactory');
     /** @var \Magento\Catalog\Block\Product\ListProduct $listProduct */
     $listProduct = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Block\\Product\\ListProduct');
     /** @var \Magento\Framework\Api\DataObjectHelper $dataObjectHelper */
     $dataObjectHelper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('\\Magento\\Framework\\Api\\DataObjectHelper');
     /** @var \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry */
     $stockRegistry = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\CatalogInventory\\Api\\StockRegistryInterface');
     /** @var \Magento\CatalogInventory\Api\StockItemRepositoryInterface $stockItemRepository */
     $stockItemRepository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\CatalogInventory\\Api\\StockItemRepositoryInterface');
     /** @var \Magento\Catalog\Model\ProductRepository $productRepository */
     $productRepository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\ProductRepository');
     $product = $productRepository->get('simple');
     $this->_processor->getIndexer()->setScheduled(false);
     $this->assertFalse($this->_processor->getIndexer()->isScheduled());
     $stockItem = $stockRegistry->getStockItem($product->getId(), 1);
     $this->assertNotNull($stockItem->getItemId());
     $stockItemData = ['qty' => $stockItem->getQty() + 11];
     $dataObjectHelper->populateWithArray($stockItem, $stockItemData, '\\Magento\\CatalogInventory\\Api\\Data\\StockItemInterface');
     $stockItemRepository->save($stockItem);
     $category = $categoryFactory->create()->load(2);
     $layer = $listProduct->getLayer();
     $layer->setCurrentCategory($category);
     $productCollection = $layer->getProductCollection();
     $productCollection->joinField('qty', 'cataloginventory_stock_status', 'qty', 'product_id=entity_id', '{{table}}.stock_id=1', 'left');
     $this->assertEquals(1, $productCollection->count());
     /** @var $product \Magento\Catalog\Model\Product */
     foreach ($productCollection as $product) {
         $this->assertEquals('Simple Product', $product->getName());
         $this->assertEquals('Short description', $product->getShortDescription());
         $this->assertEquals(111, $product->getQty());
     }
 }
コード例 #2
0
ファイル: RowTest.php プロジェクト: aiesh/magento2
 /**
  * @magentoDbIsolation enabled
  * @magentoAppIsolation enabled
  * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  */
 public function testProductUpdate()
 {
     $categoryFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('\\Magento\\Catalog\\Model\\CategoryFactory');
     /** @var \Magento\Catalog\Block\Product\ListProduct $listProduct */
     $listProduct = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('\\Magento\\Catalog\\Block\\Product\\ListProduct');
     /** @var \Magento\CatalogInventory\Model\Stock\Item $stockItem */
     $stockItem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('\\Magento\\CatalogInventory\\Model\\Stock\\Item');
     $this->_processor->getIndexer()->setScheduled(false);
     $this->assertFalse($this->_processor->getIndexer()->isScheduled());
     $stockItem->loadByProduct(1);
     $stockItem->addQty(11);
     $stockItem->save();
     $category = $categoryFactory->create()->load(2);
     $layer = $listProduct->getLayer();
     $layer->setCurrentCategory($category);
     $productCollection = $layer->getProductCollection();
     $productCollection->joinField('qty', 'cataloginventory_stock_status', 'qty', 'product_id=entity_id', '{{table}}.stock_id=1', 'left');
     $this->assertEquals(1, $productCollection->count());
     /** @var $product \Magento\Catalog\Model\Product */
     foreach ($productCollection as $product) {
         $this->assertEquals('Simple Product', $product->getName());
         $this->assertEquals('Short description', $product->getShortDescription());
         $this->assertEquals(111, $product->getQty());
     }
 }