/** * @magentoDataFixture Magento/Bundle/_files/product.php * @covers \Magento\Indexer\Model\Indexer::reindexAll * @covers \Magento\Bundle\Model\Product\Type::getSearchableData */ public function testPrepareProductIndexForBundleProduct() { $this->indexer->reindexAll(); $select = $this->connectionMock->select()->from($this->resource->getTableName('catalogsearch_fulltext_scope1'))->where('`data_index` LIKE ?', '%' . 'Bundle Product Items' . '%'); $result = $this->connectionMock->fetchAll($select); $this->assertCount(1, $result); }
/** * @magentoDataFixture Magento/Catalog/_files/indexer_catalog_category.php * @magentoDbIsolation enabled */ public function testReindexAll() { $categories = $this->getCategories(4); $products = $this->getProducts(2); /** @var Category $categoryFourth */ $categoryFourth = end($categories); foreach ($products as $product) { /** @var \Magento\Catalog\Model\Product $product */ $product->setCategoryIds([$categoryFourth->getId()]); $product->save(); } /** @var Category $categoryThird */ $categoryThird = $categories[2]; $categoryThird->setIsAnchor(true); $categoryThird->save(); $this->clearIndex(); $categories = [self::DEFAULT_ROOT_CATEGORY, $categoryThird->getId(), $categoryFourth->getId()]; $this->indexer->reindexAll(); foreach ($products as $product) { /** @var \Magento\Catalog\Model\Product $product */ foreach ($categories as $categoryId) { $this->assertTrue((bool)$this->productResource->canBeShowInCategory($product, $categoryId)); } $this->assertTrue( (bool)$this->productResource->canBeShowInCategory($product, $categoryThird->getParentId()) ); } }
/** * @magentoAppArea adminhtml */ public function testReindexRowAfterDelete() { $this->indexer->reindexAll(); $this->productBanana->delete(); $products = $this->search('Simple Product'); $this->assertCount(4, $products); }