10 use Magento\Mtf\Client\Element\SimpleElement;
22 private $firstVideoId = 0;
52 $this->waitForElementVisible($this->newVideoDialog);
53 return $this->blockFactory->create(
54 \
Magento\ProductVideo\Test\Block\Adminhtml\Product\Edit\
Tab\Images\VideoDialog::class,
55 [
'element' => $this->browser->find($this->newVideoDialog)]
66 $this->_rootElement->find($this->addVideoButton)->click();
79 if (!array_key_exists(
'images',
$fields[
'media_gallery'][
'value'])) {
82 if (
$fields[
'media_gallery'][
'value'][
'images'] ==
'') {
83 $fields[
'media_gallery'][
'value'][
'images'] = [];
86 $newImages = array_keys(
$fields[
'media_gallery'][
'value'][
'images']);
87 $updateIds = array_intersect($currentImages, $newImages);
88 $addIds = array_diff($newImages, $currentImages);
89 $deleteIds = array_diff($currentImages, $newImages);
91 foreach ($updateIds as
$id) {
95 foreach ($deleteIds as
$id) {
99 foreach ($addIds as
$id) {
100 $this->
addVideo($fields[
'media_gallery'][
'value'][
'images'][
$id]);
154 $name = key($tabFields);
156 if (empty(
$fields[
'value']) || !array_key_exists(
'images',
$fields[
'value'])) {
159 if (
$fields[
'value'][
'images'] ==
'') {
160 $fields[
'value'][
'images'] = [];
163 $formData[
$name][
'images'] = [];
165 $imageArray =
$fields[
'value'][
'images'];
166 $resetImages = array_flip(array_keys($imageArray));
168 foreach ($imageArray as $keyRoot => $fieldSet) {
173 $data = $videoDialog->getVideoInfo();
174 foreach (array_keys($fieldSet) as $field) {
175 if (isset(
$data[$field])) {
176 $formData[
$name][
'images'][$keyRoot][$field] =
$data[$field];
179 $videoDialog->clickCloseButton();
183 if (count($formData[
$name][
'images']) == 0) {
184 $formData[
$name][
'images'] =
'';
199 return $this->imageItem .
':nth-child(' .
$id .
') .product-image-wrapper';
209 $images = $this->_rootElement->getElements($this->imageItem);
210 return array_keys($images);
231 $this->_rootElement->find($this->
getImageSelector($this->firstVideoId))->click();
getFieldsData($tabFields=null, SimpleElement $element=null)
setFieldsData(array $fields, SimpleElement $element=null)
if(!isset($_GET['name'])) $name