9 use Magento\Mtf\Fixture\DataSource;
10 use Magento\Mtf\Fixture\FixtureFactory;
11 use Magento\Mtf\Fixture\InjectableFixture;
43 $this->data = array_key_exists(
'search_query',
$data) ?
$data[
'search_query'] :
null;
45 $this->products = $this->createProducts($fixtureFactory, (array)
$data[
'value']);
53 private function createProducts(FixtureFactory $fixtureFactory,
$productsData)
62 if ($this->data ===
null) {
63 if (
$product->hasData($searchValue)) {
64 $getProperty =
'get' . str_replace(
' ',
'', ucwords(str_replace(
'_',
' ', $searchValue)));
65 $this->data =
$product->$getProperty();
67 $this->data = $searchValue;
72 }
elseif ($this->data ===
null) {
85 private function createProduct(FixtureFactory $fixtureFactory,
$productData)
87 $fixtureCode = $this->getProductFixtureCode(
$productData);
89 $product = $fixtureFactory->createByCode($fixtureCode, [
'dataset' => $dataset]);
124 return reset($this->products);
134 return $this->products;
__construct(FixtureFactory $fixtureFactory, array $params, array $data=[])
elseif(isset( $params[ 'redirect_parent']))
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]