9 use Magento\Mtf\Fixture\DataSource;
10 use Magento\Mtf\Fixture\FixtureFactory;
11 use Magento\Mtf\Fixture\FixtureInterface;
31 public function __construct(FixtureFactory $fixtureFactory, array
$params,
$data =
'')
34 if (!isset(
$data[
'entity']) ||
$data[
'entity'] ===
'-') {
38 preg_match(
'`%(.*?)%`',
$data[
'entity'], $dataset);
39 $entityConfig = isset($dataset[1]) ? explode(
'::', $dataset[1]) : [];
40 if (count($entityConfig) > 1) {
42 $this->entity = $fixtureFactory->createByCode($entityConfig[0], [
'dataset' => $entityConfig[1]]);
43 $this->entity->persist();
44 $id = $this->entity->hasData(
'id') ? $this->entity->getId() : $this->entity->getPageId();
45 $this->data = preg_replace(
'`(%.*?%)`',
$id,
$data[
'entity']);
47 $this->data = (string)
$data[
'entity'];
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]