9 use Magento\Eav\Model\ResourceModel\Entity\Attribute\CollectionFactory;
23 private $fixtureModelMock;
33 private $attributeSetsFixtureMock;
38 private $attributePatternMock;
42 $this->fixtureModelMock = $this->getMockBuilder(\
Magento\Setup\Fixtures\FixtureModel::class)
43 ->disableOriginalConstructor()
44 ->setMethods([
'createAttributeSet',
'getValue',
'getObjectManager'])
47 $this->attributeSetsFixtureMock = $this->getMockBuilder(AttributeSetFixture::class)
48 ->disableOriginalConstructor()
51 $this->attributePatternMock = $this->getMockBuilder(Pattern::class)
52 ->disableOriginalConstructor()
55 $this->model = (
new ObjectManager($this))->getObject(ConfigurableProductsFixture::class, [
56 'fixtureModel' => $this->fixtureModelMock,
57 'attributeSetsFixture' => $this->attributeSetsFixtureMock,
58 'attributePattern' => $this->attributePatternMock,
68 ->disableOriginalConstructor()
71 $categoryMock = $this->getMockBuilder(\
Magento\Catalog\Model\Category::class)
72 ->disableOriginalConstructor()
75 $storeManagerMock = $this->getMockBuilder(\
Magento\
Store\Model\StoreManager::class)
76 ->disableOriginalConstructor()
79 $source = $this->getMockBuilder(\
Magento\Setup\Model\Complex\Generator::class)
80 ->disableOriginalConstructor()
83 $objectManagerMock = $this->getMockBuilder(\
Magento\Framework\
ObjectManager\ObjectManager::class)
84 ->disableOriginalConstructor()
87 $attributeSetRepositoryMock = $this->getMockForAbstractClass(
88 \
Magento\Catalog\Api\AttributeSetRepositoryInterface::class
91 $productAttributeOptionManagementInterface = $this->getMockForAbstractClass(
92 \
Magento\Catalog\Api\ProductAttributeOptionManagementInterface::class
95 $objectManagerMock->expects($this->any())
97 ->will($this->returnValueMap([
103 \
Magento\Catalog\Api\AttributeSetRepositoryInterface::class,
104 $attributeSetRepositoryMock
107 \
Magento\Catalog\Api\ProductAttributeOptionManagementInterface::class,
108 $productAttributeOptionManagementInterface
112 $attributeCollectionFactoryMock = $this->getMockBuilder(CollectionFactory::class)
113 ->setMethods([
'create'])
114 ->disableOriginalConstructor()
117 $objectManagerMock->expects($this->any())
120 $this->returnCallback(
122 $attributeCollectionFactoryMock,
127 if (
$className === CollectionFactory::class) {
128 return $attributeCollectionFactoryMock;
132 return $categoryMock;
149 [
'configurable_products', 0, 1],
150 [
'simple_products', 0, 1],
151 [
'search_terms',
null, [
'search_term' =>[[
'term' =>
'iphone 6',
'count' =>
'1']]]],
152 [
'configurable_products_variation', 3, 1],
157 'max_amount_of_words_description' =>
'200',
158 'max_amount_of_words_short_description' =>
'20',
159 'min_amount_of_words_description' =>
'20',
160 'min_amount_of_words_short_description' =>
'5' 168 'name' =>
'attribute set name',
173 'is_visible_on_front' => 1,
174 'is_visible_in_advanced_search' => 1,
175 'is_filterable' => 1,
176 'is_filterable_in_search' => 1,
177 'default_value' =>
'yellow1',
178 'attribute_code' =>
'mycolor',
179 'is_searchable' =>
'1',
180 'frontend_label' =>
'mycolor',
181 'frontend_input' =>
'select',
185 'label' =>
'yellow1',
199 $this->fixtureModelMock
200 ->expects($this->any())
202 ->will($this->returnValueMap($valuesMap));
204 $this->model->execute();
210 ->disableOriginalConstructor()
212 $importMock->expects($this->never())->method(
'validateSource');
213 $importMock->expects($this->never())->method(
'importSource');
215 $objectManagerMock = $this->getMockBuilder(\
Magento\Framework\
ObjectManager\ObjectManager::class)
216 ->disableOriginalConstructor()
218 $objectManagerMock->expects($this->never())
221 ->willReturn($importMock);
223 $this->fixtureModelMock
224 ->expects($this->never())
225 ->method(
'getObjectManager')
226 ->will($this->returnValue($objectManagerMock));
228 $this->model->execute();
233 $this->assertSame(
'Generating configurable products', $this->model->getActionTitle());
238 $this->assertSame([], $this->model->introduceParamLabels());
testNoFixtureConfigValue()
testIntroduceParamLabels()