12 use Magento\Catalog\Model\ProductFactory;
31 private $productFactory;
36 private $optionFactory;
41 private $resourceConnection;
50 ProductFactory $productFactory,
52 OptionFactory $optionFactory,
55 $this->fixture = $fixture;
57 $this->optionFactory = $optionFactory;
81 $productRandomizerNumber = crc32(random_int(1, PHP_INT_MAX));
82 $product = $this->productFactory->create([
86 'name' =>
'template name' . $productRandomizerNumber,
87 'url_key' =>
'template-url' . $productRandomizerNumber,
88 'sku' =>
'template_sku_configurable' . $productRandomizerNumber,
89 'meta_description' =>
'Configurable Product',
90 'meta_keyword' => $productRandomizerNumber,
91 'meta_title' => $productRandomizerNumber,
95 'website_ids' => (array)$this->fixture[
'website_ids'](1, 0),
96 'category_ids' => isset($this->fixture[
'category_ids']) ? [2] :
null,
98 'description' =>
'description',
99 'short_description' =>
'short description',
102 'use_config_manage_stock' => 1,
104 'is_qty_decimal' => 0,
108 'can_save_configurable_attributes' =>
true,
109 'configurable_attributes_data' => $this->fixture[
'_attributes'],
146 private function getAssociatedProductIds()
149 $connection = $this->resourceConnection->getConnection();
152 ->from($this->resourceConnection->getTableName(
'catalog_product_entity'))
153 ->where(
'sku = ?', $this->fixture[
'_variation_sku_pattern'])
156 for (
$i = 0;
$i < $this->fixture[
'_variation_count'];
$i++) {
__construct(ProductFactory $productFactory, array $fixture, OptionFactory $optionFactory, ResourceConnection $resourceConnection)
$extensionConfigurableAttributes