magento2-docker/dev/tests/integration/testsuite/Magento/Elasticsearch/_files/indexer.php

154 lines
5.3 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Catalog\Model\Product;
use Magento\Catalog\Model\Product\Attribute\Source\Status;
use Magento\Catalog\Model\Product\Visibility;
use Magento\Framework\App\MutableScopeConfig;
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Store\Model\ScopeInterface;
use Magento\Store\Model\Store;
use Magento\Store\Model\StoreManagerInterface;
use Magento\TestFramework\Helper\Bootstrap;
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_boolean_attribute.php');
/** @var $objectManager \Magento\Framework\ObjectManagerInterface */
$objectManager = Bootstrap::getObjectManager();
/** @var StoreManagerInterface $storeManager */
$storeManager = $objectManager->get(StoreManagerInterface::class);
/** @var Store $store */
$store = $objectManager->create(Store::class);
$storeCode = 'secondary';
if (!$store->load($storeCode)->getId()) {
$store->setCode($storeCode)
->setWebsiteId($storeManager->getWebsite()->getId())
->setGroupId($storeManager->getWebsite()->getDefaultGroupId())
->setName('Secondary Store View')
->setSortOrder(10)
->setIsActive(1);
$store->save();
/** @var MutableScopeConfig $scopeConfig */
$scopeConfig = $objectManager->get(MutableScopeConfig::class);
$scopeConfig->setValue(
'general/locale/code',
'de_DE',
ScopeInterface::SCOPE_STORES,
$store->getId()
);
}
$productRepository = $objectManager->get(ProductRepositoryInterface::class);
try {
$productRepository->get('fulltext-1');
} catch (NoSuchEntityException $e) {
/** @var $productFirst Product */
$productFirst = $objectManager->create(Product::class);
$productFirst->setTypeId('simple')
->setAttributeSetId(4)
->setWebsiteIds([1])
->setName('Simple Product Apple')
->setSku('fulltext-1')
->setPrice(10)
->setMetaTitle('first meta title')
->setMetaKeyword('first meta keyword')
->setMetaDescription('first meta description')
->setVisibility(Visibility::VISIBILITY_BOTH)
->setStatus(Status::STATUS_ENABLED)
->setStockData(['use_config_manage_stock' => 0])
->setBooleanAttribute(1)
->save();
}
try {
$productRepository->get('fulltext-2');
} catch (NoSuchEntityException $e) {
/** @var $productSecond Product */
$productSecond = $objectManager->create(Product::class);
$productSecond->setTypeId('simple')
->setAttributeSetId(4)
->setWebsiteIds([1])
->setName('Simple Product Banana')
->setSku('fulltext-2')
->setPrice(20)
->setMetaTitle('second meta title')
->setMetaKeyword('second meta keyword')
->setMetaDescription('second meta description')
->setVisibility(Visibility::VISIBILITY_BOTH)
->setStatus(Status::STATUS_ENABLED)
->setStockData(['use_config_manage_stock' => 0])
->setBooleanAttribute(1)
->save();
}
try {
$productRepository->get('fulltext-3');
} catch (NoSuchEntityException $e) {
/** @var $productThird Product */
$productThird = $objectManager->create(Product::class);
$productThird->setTypeId('simple')
->setAttributeSetId(4)
->setWebsiteIds([1])
->setName('Simple Product Orange')
->setSku('fulltext-3')
->setPrice(20)
->setMetaTitle('third meta title')
->setMetaKeyword('third meta keyword')
->setMetaDescription('third meta description')
->setVisibility(Visibility::VISIBILITY_BOTH)
->setStatus(Status::STATUS_ENABLED)
->setStockData(['use_config_manage_stock' => 0])
->setBooleanAttribute(1)
->save();
}
try {
$productRepository->get('fulltext-4');
} catch (NoSuchEntityException $e) {
/** @var $productFourth Product */
$productFourth = $objectManager->create(Product::class);
$productFourth->setTypeId('simple')
->setAttributeSetId(4)
->setWebsiteIds([1])
->setName('Simple Product Papaya')
->setSku('fulltext-4')
->setPrice(20)
->setMetaTitle('fourth meta title')
->setMetaKeyword('fourth meta keyword')
->setMetaDescription('fourth meta description')
->setVisibility(Visibility::VISIBILITY_BOTH)
->setStatus(Status::STATUS_ENABLED)
->setStockData(['use_config_manage_stock' => 0])
->setBooleanAttribute(0)
->save();
}
try {
$productRepository->get('fulltext-5');
} catch (NoSuchEntityException $e) {
/** @var $productFifth Product */
$productFifth = $objectManager->create(Product::class);
$productFifth->setTypeId('simple')
->setAttributeSetId(4)
->setWebsiteIds([1])
->setName('Simple Product Cherry')
->setSku('fulltext-5')
->setPrice(20)
->setMetaTitle('fifth meta title')
->setMetaKeyword('fifth meta keyword')
->setMetaDescription('fifth meta description')
->setVisibility(Visibility::VISIBILITY_BOTH)
->setStatus(Status::STATUS_ENABLED)
->setStockData(['use_config_manage_stock' => 0])
->setBooleanAttribute(0)
->save();
}