/** * Prepare Category fixture with the updated data. * * @param Category $category * @param Category $initialCategory * @return Category */ protected function prepareCategory(Category $category, Category $initialCategory) { $parentCategory = $category->hasData('parent_id') ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() : $initialCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); $data = ['data' => array_merge($initialCategory->getData(), $category->getData(), ['parent_id' => ['source' => $parentCategory]])]; return $this->fixtureFactory->createByCode('category', $data); }
/** * @param FixtureFactory $fixtureFactory * @param Category $category * @param Category $initialCategory * @return array */ protected function prepareData(FixtureFactory $fixtureFactory, Category $category, Category $initialCategory) { $product = $fixtureFactory->createByCode('catalogProductSimple', ['dataset' => 'default', 'data' => ['category_ids' => ['category' => $initialCategory]]]); $product->persist(); return array_merge($initialCategory->getData(), $category->getData()); }