/** * @magentoDataFixture Magento/Catalog/Model/Resource/_files/product_simple.php */ public function testAddTierPriceData() { $this->_collection->setFlag('tier_price_added', false); $this->_collection->addIdFilter(2); $this->assertInstanceOf('\\Magento\\Catalog\\Model\\Resource\\Product\\Collection', $this->_collection->addTierPriceData()); $tierPrice = $this->_collection->getFirstItem()->getDataByKey('tier_price'); $this->assertEquals($this->_groupManagement->getNotLoggedInGroup()->getId(), current($tierPrice)['cust_group']); $this->assertEquals($this->_groupManagement->getAllCustomersGroup()->getId(), next($tierPrice)['cust_group']); $this->assertTrue($this->_collection->getFlag('tier_price_added')); }
/** * @magentoDataFixture Magento/Catalog/Model/Resource/_files/product_simple.php */ public function testAddTierPriceData() { $this->_collection->setFlag('tier_price_added', false); $this->_collection->addIdFilter(2); $this->assertInstanceOf('\\Magento\\Catalog\\Model\\Resource\\Product\\Collection', $this->_collection->addTierPriceData()); $tierPrice = $this->_collection->getFirstItem()->getDataByKey('tier_price'); $this->assertEquals(CustomerGroupServiceInterface::NOT_LOGGED_IN_ID, current($tierPrice)['cust_group']); $this->assertEquals(CustomerGroupServiceInterface::CUST_GROUP_ALL, next($tierPrice)['cust_group']); $this->assertTrue($this->_collection->getFlag('tier_price_added')); }
/** * Get products by IDs * @param array $productIds * @param null|int $chunkSize * @param bool $filterVisibility * @return \Magento\Catalog\Model\Resource\Product\Collection */ public function getProducts(array $productIds = [], $chunkSize = null, $filterVisibility = true) { $this->_productCollection->addAttributeToSelect('sku')->addAttributeToSelect($this->_config->getProductAttributes())->addAttributeToSelect('status')->addAttributeToSelect('visibility'); if ($filterVisibility) { $this->_productCollection->addAttributeToFilter('visibility', ['in' => [Visibility::VISIBILITY_IN_CATALOG, Visibility::VISIBILITY_BOTH]])->addAttributeToFilter('status', Status::STATUS_ENABLED); } if (!empty($productIds)) { $this->_productCollection->addIdFilter($productIds); } if ($chunkSize !== null) { $this->_productCollection->setPageSize($chunkSize); } return $this->_productCollection; }