123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Bundle\Model\ResourceModel\Indexer;
- class StockTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\CatalogInventory\Model\Indexer\Stock\Processor
- */
- protected $processor;
- protected function setUp()
- {
- $this->processor = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
- \Magento\CatalogInventory\Model\Indexer\Stock\Processor::class
- );
- }
- /**
- * @magentoDbIsolation disabled
- * @magentoAppIsolation enabled
- * @magentoDataFixture Magento/Bundle/_files/product_in_category.php
- */
- public function testReindexAll()
- {
- $this->processor->reindexAll();
- $categoryFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
- \Magento\Catalog\Model\CategoryFactory::class
- );
- /** @var \Magento\Catalog\Block\Product\ListProduct $listProduct */
- $listProduct = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
- \Magento\Catalog\Block\Product\ListProduct::class
- );
- $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->assertCount(3, $productCollection);
- $expectedResult = [
- 'Simple Product' => 22,
- 'Custom Design Simple Product' => 24,
- 'Bundle Product' => 0
- ];
- /** @var $product \Magento\Catalog\Model\Product */
- foreach ($productCollection as $product) {
- $this->assertEquals($expectedResult[$product->getName()], $product->getQty());
- }
- }
- }
|