From b7167fcd73faf47d3bde8f1e80225fa0771e4c3c Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Fri, 28 Feb 2020 23:49:35 +0100 Subject: [PATCH 01/20] Fix integration tests for Page Builder --- .../ContentType/Image/UploadTest.php | 132 ++++++++++-------- 1 file changed, 75 insertions(+), 57 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php index b4efe464a2a..37faf8318b8 100644 --- a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php +++ b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php @@ -3,41 +3,48 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ - declare(strict_types=1); namespace Magento\PageBuilder\Controller\Adminhtml\ContentType\Image; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Controller\Result\Json; +use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\File\Mime; -use Magento\PageBuilder\Controller\Adminhtml\ContentType\Image\Upload as Controller; +use Magento\Framework\File\Uploader; +use Magento\Framework\File\UploaderFactory; +use Magento\Framework\ObjectManagerInterface; +use Magento\PageBuilder\Controller\Adminhtml\ContentType\Image\Upload as UploadController; +use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\TestCase; /** * Class UploadTest */ -class UploadTest extends \PHPUnit\Framework\TestCase +class UploadTest extends TestCase { /** - * @var \Magento\PageBuilder\Controller\Adminhtml\ContentType\Image\Upload + * @var UploadController */ private $controller; /** - * @var \Magento\Framework\ObjectManagerInterface + * @var ObjectManagerInterface */ private $objectManager; /** - * @var \Magento\Framework\File\UploaderFactory|\PHPUnit_Framework_MockObject_MockObject + * @var UploaderFactory|MockObject */ private $uploaderFactory; /** - * @var \Magento\Framework\Controller\Result\Json|\PHPUnit_Framework_MockObject_MockObject + * @var Json|MockObject */ private $resultJson; /** - * @var \Magento\Framework\Controller\Result\JsonFactory|\PHPUnit_Framework_MockObject_MockObject + * @var JsonFactory|MockObject */ private $resultJsonFactory; @@ -46,23 +53,25 @@ class UploadTest extends \PHPUnit\Framework\TestCase */ protected function setUp() { - $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + $this->objectManager = ObjectManager::getInstance(); - $this->uploaderFactory = $this->createPartialMock(\Magento\Framework\File\UploaderFactory::class, ['create']); + $this->uploaderFactory = $this->createPartialMock(UploaderFactory::class, ['create']); - $this->resultJson = $this->getMockBuilder(\Magento\Framework\Controller\Result\Json::class) + $this->resultJson = $this->getMockBuilder(Json::class) ->setMethods(['setData']) ->disableOriginalConstructor() ->getMock(); - $this->resultJsonFactory = $this->getMockBuilder(\Magento\Framework\Controller\Result\JsonFactory::class) + $this->resultJsonFactory = $this->getMockBuilder(JsonFactory::class) ->setMethods(['create']) ->disableOriginalConstructor() ->getMock(); - $this->resultJsonFactory->expects($this->once())->method('create')->willReturn($this->resultJson); + $this->resultJsonFactory->expects($this->once()) + ->method('create') + ->willReturn($this->resultJson); - $this->controller = $this->objectManager->create(Controller::class, [ + $this->controller = $this->objectManager->create(UploadController::class, [ 'resultJsonFactory' => $this->resultJsonFactory, 'uploaderFactory' => $this->uploaderFactory ]); @@ -78,33 +87,41 @@ protected function tearDown() /** * Assert that file validation passes when uploaded file has correct extension and valid mime type + * @magentoAppArea adminhtml */ public function testFileValidationPassesWhenFileHasCorrectExtensionAndValidMimeType() { - $valid_file_pathname = realpath(dirname(__FILE__) . '/../../../../_files/uploader/a.png'); + $valid_file_pathname = realpath(__DIR__ . '/../../../../_files/uploader/a.png'); - $_FILES = [ - 'background_image' => [ - 'type' => 'image/png', - 'name' => basename($valid_file_pathname), - 'tmp_name' => $valid_file_pathname, - 'size' => filesize($valid_file_pathname), - 'error' => UPLOAD_ERR_OK, - ] - ]; + $this->setFilesGlobalMock($valid_file_pathname); + $this->setUploaderMockForField('background_image'); - $uploader = $this->objectManager->create(\Magento\Framework\File\Uploader::class, [ - 'fileId' => 'background_image', - 'fileMime' => $this->objectManager->create(Mime::class), - ]); + $this->resultJson->expects($this->once()) + ->method('setData') + ->willReturnCallback(function ($result) { + $this->assertNotEquals([ + 'error' => 'File validation failed.', + 'errorcode' => 0 + ], $result); + }); + + $this->controller->execute(); + } + + /** + * Assert that file validation fails when uploaded file has correct extension but invalid mime type + * @magentoAppArea adminhtml + */ + public function testFileValidationFailsWhenFileHasCorrectExtensionButInvalidMimeType() + { + $invalid_file_pathname = realpath(__DIR__ . '/../../../../_files/uploader/not-a.png'); + + $this->setFilesGlobalMock($invalid_file_pathname); + $this->setUploaderMockForField('background_image'); - $this->uploaderFactory - ->expects($this->once()) - ->method('create') - ->will($this->returnValue($uploader)); $this->resultJson->expects($this->once())->method('setData')->willReturnCallback(function ($result) { - $this->assertNotEquals([ + $this->assertEquals([ 'error' => 'File validation failed.', 'errorcode' => 0 ], $result); @@ -114,24 +131,15 @@ public function testFileValidationPassesWhenFileHasCorrectExtensionAndValidMimeT } /** - * Assert that file validation fails when uploaded file has correct extension but invalid mime type + * Initiates Uploader object for `$fieldId` and returns as a result of `UploaderFactory::create()` + * + * @param string $fieldId + * @return Uploader|MockObject */ - public function testFileValidationFailsWhenFileHasCorrectExtensionButInvalidMimeType() + private function setUploaderMockForField(string $fieldId): Uploader { - $invalid_file_pathname = realpath(dirname(__FILE__) . '/../../../../_files/uploader/not-a.png'); - - $_FILES = [ - 'background_image' => [ - 'type' => 'image/png', - 'name' => basename($invalid_file_pathname), - 'tmp_name' => $invalid_file_pathname, - 'size' => filesize($invalid_file_pathname), - 'error' => UPLOAD_ERR_OK, - ] - ]; - - $uploader = $this->objectManager->create(\Magento\Framework\File\Uploader::class, [ - 'fileId' => 'background_image', + $uploader = $this->objectManager->create(Uploader::class, [ + 'fileId' => $fieldId, 'fileMime' => $this->objectManager->create(Mime::class), ]); @@ -139,14 +147,24 @@ public function testFileValidationFailsWhenFileHasCorrectExtensionButInvalidMime ->expects($this->once()) ->method('create') ->will($this->returnValue($uploader)); + } - $this->resultJson->expects($this->once())->method('setData')->willReturnCallback(function ($result) { - $this->assertEquals([ - 'error' => 'File validation failed.', - 'errorcode' => 0 - ], $result); - }); - - $this->controller->execute(); + /** + * Mock that `$pathname` was uploaded (mock of `$_FILES` array) + * + * @param string $pathname + * @return void + */ + private function setFilesGlobalMock(string $pathname): void + { + $_FILES = [ + 'background_image' => [ + 'type' => 'image/png', + 'name' => basename($pathname), + 'tmp_name' => $pathname, + 'size' => filesize($pathname), + 'error' => UPLOAD_ERR_OK, + ] + ]; } } From 87db3ee0269b1eec0af50dad4fa2d2095ab30ce3 Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Sat, 29 Feb 2020 00:06:36 +0100 Subject: [PATCH 02/20] Replace invalid return type --- .../Controller/Adminhtml/ContentType/Image/UploadTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php index 37faf8318b8..41c92575e46 100644 --- a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php +++ b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php @@ -134,9 +134,9 @@ public function testFileValidationFailsWhenFileHasCorrectExtensionButInvalidMime * Initiates Uploader object for `$fieldId` and returns as a result of `UploaderFactory::create()` * * @param string $fieldId - * @return Uploader|MockObject + * @return void */ - private function setUploaderMockForField(string $fieldId): Uploader + private function setUploaderMockForField(string $fieldId): void { $uploader = $this->objectManager->create(Uploader::class, [ 'fileId' => $fieldId, From 534fff7556639ccac2ec9113dd3671372d9099cf Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Sun, 1 Mar 2020 21:15:55 +0100 Subject: [PATCH 03/20] #27117 Add `Test` suffix for Test names (Assuming that filename is correct) --- ...inPageBuilderAdvancedConfigurationTest.xml | 38 ++++----- ...ilderBannerCollageCenterAppearanceTest.xml | 40 ++++----- ...BuilderBannerCollageLeftAppearanceTest.xml | 42 +++++----- ...uilderBannerCollageRightAppearanceTest.xml | 40 ++++----- .../Test/AdminPageBuilderBannerCommonTest.xml | 50 +++++------ ...nPageBuilderBannerPosterAppearanceTest.xml | 46 +++++------ .../Mftf/Test/AdminPageBuilderBlockTest.xml | 30 +++---- ...geBuilderColumnBackgroundAttributeTest.xml | 4 +- .../AdminPageBuilderColumnContentTest.xml | 14 ++-- .../Test/AdminPageBuilderColumnGridTest.xml | 44 +++++----- .../AdminPageBuilderColumnResizingTest.xml | 18 ++-- .../Mftf/Test/AdminPageBuilderColumnTest.xml | 54 ++++++------ .../Mftf/Test/AdminPageBuilderCommonTest.xml | 28 +++---- ...ageBuilderDividerGeneralAttributesTest.xml | 24 +++--- .../Mftf/Test/AdminPageBuilderDividerTest.xml | 24 +++--- .../Mftf/Test/AdminPageBuilderHeadingTest.xml | 40 ++++----- .../Mftf/Test/AdminPageBuilderHtmlTest.xml | 28 +++---- .../Mftf/Test/AdminPageBuilderImageTest.xml | 34 ++++---- ...AdminPageBuilderMapCommonComponentTest.xml | 20 ++--- ...ageBuilderMapMapSettingsAttributesTest.xml | 6 +- .../Mftf/Test/AdminPageBuilderMapPinTest.xml | 22 ++--- .../Mftf/Test/AdminPageBuilderPanelTest.xml | 28 +++---- ...dminPageBuilderReadNonMasterFormatTest.xml | 10 +-- ...nPageBuilderRowBackgroundAttributeTest.xml | 4 +- .../Test/AdminPageBuilderRowLayoutTest.xml | 12 +-- ...lderRowParallaxBackgroundAttributeTest.xml | 4 +- .../Mftf/Test/AdminPageBuilderRowTest.xml | 46 +++++------ .../AdminPageBuilderSlideItemCommonTest.xml | 48 +++++------ .../AdminPageBuilderSliderCommonTests.xml | 40 ++++----- ...eBuilderTabItemBackgroundAttributeTest.xml | 4 +- .../AdminPageBuilderTabItemLayoutTest.xml | 20 ++--- .../Mftf/Test/AdminPageBuilderTextTest.xml | 82 +++++++++---------- .../Mftf/Test/AdminPageBuilderVideoTest.xml | 30 +++---- 33 files changed, 487 insertions(+), 487 deletions(-) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml index 7a3cb190b56..26bd5f78c47 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml @@ -8,7 +8,7 @@ - + @@ -148,7 +148,7 @@ - + @@ -353,7 +353,7 @@ - + @@ -586,7 +586,7 @@ - + @@ -822,7 +822,7 @@ - + @@ -1086,7 +1086,7 @@ - + @@ -1166,7 +1166,7 @@ - + @@ -1284,7 +1284,7 @@ - + @@ -1365,7 +1365,7 @@ - + @@ -1441,7 +1441,7 @@ - + @@ -1598,7 +1598,7 @@ - + @@ -1775,7 +1775,7 @@ - + @@ -1997,7 +1997,7 @@ - + @@ -2115,7 +2115,7 @@ - + @@ -2190,7 +2190,7 @@ - + @@ -2412,7 +2412,7 @@ - + @@ -2526,7 +2526,7 @@ - + @@ -2601,7 +2601,7 @@ - + @@ -2714,7 +2714,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml index 5ef67211595..d4891f1d3b8 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml @@ -8,7 +8,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -224,7 +224,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -454,7 +454,7 @@ - + @@ -529,7 +529,7 @@ - + @@ -550,7 +550,7 @@ - + @@ -571,7 +571,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -670,7 +670,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -1172,7 +1172,7 @@ - + @@ -1241,7 +1241,7 @@ - + @@ -1302,7 +1302,7 @@ - + @@ -1335,7 +1335,7 @@ $overlayBorderRadiusStorefront2 - + @@ -1364,7 +1364,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml index 963c2f9de2c..752108d09f6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml @@ -8,7 +8,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -224,7 +224,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -454,7 +454,7 @@ - + @@ -529,7 +529,7 @@ - + @@ -550,7 +550,7 @@ - + @@ -571,7 +571,7 @@ - + @@ -660,7 +660,7 @@ - + @@ -725,7 +725,7 @@ - + @@ -890,7 +890,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -1271,7 +1271,7 @@ - + @@ -1288,7 +1288,7 @@ - + @@ -1305,7 +1305,7 @@ - + @@ -1338,7 +1338,7 @@ $overlayBorderRadiusStorefront2 - + @@ -1367,7 +1367,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml index 8feead72c44..9ac9b94e60a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml @@ -8,7 +8,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -224,7 +224,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -454,7 +454,7 @@ - + @@ -529,7 +529,7 @@ - + @@ -550,7 +550,7 @@ - + @@ -571,7 +571,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -670,7 +670,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -1172,7 +1172,7 @@ - + @@ -1189,7 +1189,7 @@ - + @@ -1206,7 +1206,7 @@ - + @@ -1239,7 +1239,7 @@ $overlayBorderRadiusStorefront2 - + @@ -1268,7 +1268,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml index 5fe5ca496ed..aae10eb5ed8 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml @@ -8,7 +8,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -220,7 +220,7 @@ - + @@ -276,7 +276,7 @@ - + @@ -311,7 +311,7 @@ - + @@ -446,7 +446,7 @@ - + @@ -582,7 +582,7 @@ - + @@ -708,7 +708,7 @@ - + @@ -839,7 +839,7 @@ - + @@ -915,7 +915,7 @@ - + @@ -967,7 +967,7 @@ - + @@ -1048,7 +1048,7 @@ currentUrl - + @@ -1120,7 +1120,7 @@ - + @@ -1200,7 +1200,7 @@ - + @@ -1231,7 +1231,7 @@ - + @@ -1300,7 +1300,7 @@ - + @@ -1421,7 +1421,7 @@ - + @@ -1803,7 +1803,7 @@ - + @@ -1859,7 +1859,7 @@ - + @@ -1935,7 +1935,7 @@ - + @@ -2020,7 +2020,7 @@ - + @@ -2097,7 +2097,7 @@ columnOneTextHeight - + @@ -2130,7 +2130,7 @@ - + @@ -2161,7 +2161,7 @@ - + @@ -2258,7 +2258,7 @@ grabIfFrontendAnchorInContentBoolean - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml index f418e9f0091..478694259df 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml @@ -8,7 +8,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -157,7 +157,7 @@ - + @@ -193,7 +193,7 @@ - + @@ -223,7 +223,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -472,7 +472,7 @@ - + @@ -538,7 +538,7 @@ - + @@ -613,7 +613,7 @@ - + @@ -691,7 +691,7 @@ - + @@ -766,7 +766,7 @@ - + @@ -838,7 +838,7 @@ - + @@ -946,7 +946,7 @@ - + @@ -1017,7 +1017,7 @@ - + @@ -1082,7 +1082,7 @@ - + @@ -1247,7 +1247,7 @@ - + @@ -1584,7 +1584,7 @@ - + @@ -1628,7 +1628,7 @@ - + @@ -1645,7 +1645,7 @@ - + @@ -1662,7 +1662,7 @@ - + @@ -1773,7 +1773,7 @@ $overlayBorderRadiusStorefront2 - + @@ -1875,7 +1875,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml index 4edc397ddcb..f8d26bcb322 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml @@ -8,7 +8,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -185,7 +185,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -327,7 +327,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -594,7 +594,7 @@ - + @@ -641,7 +641,7 @@ - + @@ -769,7 +769,7 @@ - + @@ -940,7 +940,7 @@ - + @@ -970,7 +970,7 @@ - + @@ -1038,7 +1038,7 @@ - + @@ -1094,7 +1094,7 @@ - + @@ -1171,7 +1171,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml index 133937a7722..32a523b5774 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -134,7 +134,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml index fa1bd56c2ea..15eab7e32c6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml @@ -8,7 +8,7 @@ - + @@ -54,7 +54,7 @@ actualStageRowHeightWithColumnsAndTabs - + @@ -120,7 +120,7 @@ actualStageRowHeightWithColumnsAndTabs - + @@ -192,7 +192,7 @@ actualStageRowHeightWithColumnsAndTabs - + @@ -288,7 +288,7 @@ - + @@ -369,7 +369,7 @@ - + @@ -454,7 +454,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml index 667e41da92b..a8aa0286ee4 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml @@ -8,7 +8,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -77,7 +77,7 @@ {{PageBuilderGridSize.defaultGridSize}} - + @@ -106,7 +106,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -182,7 +182,7 @@ columnTwoWidthGrid14 - + @@ -229,7 +229,7 @@ - + @@ -284,7 +284,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -425,7 +425,7 @@ - + @@ -471,7 +471,7 @@ - + @@ -524,7 +524,7 @@ - + @@ -585,7 +585,7 @@ columnTwoWidthGrid12Restored - + @@ -622,7 +622,7 @@ - + @@ -661,7 +661,7 @@ - + @@ -692,7 +692,7 @@ - + @@ -741,7 +741,7 @@ - + @@ -788,7 +788,7 @@ - + @@ -825,7 +825,7 @@ - + @@ -891,7 +891,7 @@ - + @@ -937,7 +937,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml index 3e95fdf7ff1..b3678f35bd6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml @@ -7,7 +7,7 @@ --> - + @@ -93,7 +93,7 @@ columnRatioFrontend - + @@ -181,7 +181,7 @@ columnRatioFrontend - + @@ -273,7 +273,7 @@ columnRatioFrontend - + @@ -388,7 +388,7 @@ columnRatioFrontend2 - + @@ -466,7 +466,7 @@ columnRatioFrontend - + @@ -579,7 +579,7 @@ columnRatioFrontend2 - + @@ -720,7 +720,7 @@ columnRatioFrontend3 - + @@ -843,7 +843,7 @@ columnRatioFrontend2 - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml index eeae8f0cadd..6701e6c96ff 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml @@ -8,7 +8,7 @@ - + @@ -55,7 +55,7 @@ expectedRowHeightWithPaddingAndColumns - + @@ -98,7 +98,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -210,7 +210,7 @@ - + @@ -255,7 +255,7 @@ - + @@ -295,7 +295,7 @@ - + @@ -398,7 +398,7 @@ - + @@ -517,7 +517,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -584,7 +584,7 @@ - + @@ -618,7 +618,7 @@ - + @@ -686,7 +686,7 @@ - + @@ -762,7 +762,7 @@ - + @@ -851,7 +851,7 @@ - + @@ -891,7 +891,7 @@ - + @@ -1015,7 +1015,7 @@ - + @@ -1172,7 +1172,7 @@ - + @@ -1213,7 +1213,7 @@ - + @@ -1282,7 +1282,7 @@ - + @@ -1322,7 +1322,7 @@ - + @@ -1413,7 +1413,7 @@ - + @@ -1496,7 +1496,7 @@ columnAfterDuplicateRatio - + @@ -1528,7 +1528,7 @@ - + @@ -1572,7 +1572,7 @@ - + @@ -1601,7 +1601,7 @@ - + @@ -1667,7 +1667,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml index 8fe376af43c..468d9309051 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml @@ -8,7 +8,7 @@ - + @@ -351,7 +351,7 @@ getDefaultProductsHoverBoxShadowStyle - + @@ -400,7 +400,7 @@ - + @@ -455,7 +455,7 @@ - + @@ -513,7 +513,7 @@ - + @@ -595,7 +595,7 @@ - + @@ -648,7 +648,7 @@ - + @@ -667,7 +667,7 @@ - + @@ -746,7 +746,7 @@ - + @@ -806,7 +806,7 @@ - + @@ -866,7 +866,7 @@ - + @@ -986,7 +986,7 @@ - + @@ -1108,7 +1108,7 @@ - + @@ -1610,7 +1610,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml index 932ec45dbde..0bb3adfe85a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml @@ -8,7 +8,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -425,7 +425,7 @@ - + @@ -509,7 +509,7 @@ - + @@ -593,7 +593,7 @@ - + @@ -665,7 +665,7 @@ - + @@ -746,7 +746,7 @@ - + @@ -830,7 +830,7 @@ - + @@ -899,7 +899,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml index 216f59d9297..768b7121273 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml @@ -8,7 +8,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -182,7 +182,7 @@ - + @@ -305,7 +305,7 @@ - + @@ -471,7 +471,7 @@ - + @@ -712,7 +712,7 @@ - + @@ -769,7 +769,7 @@ - + @@ -799,7 +799,7 @@ - + @@ -870,7 +870,7 @@ - + @@ -926,7 +926,7 @@ - + @@ -1037,7 +1037,7 @@ - + @@ -1084,7 +1084,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml index c2616b1babf..63c33f0ca99 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml @@ -8,7 +8,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -274,7 +274,7 @@ - + @@ -443,7 +443,7 @@ - + @@ -484,7 +484,7 @@ - + @@ -532,7 +532,7 @@ - + @@ -587,7 +587,7 @@ - + @@ -642,7 +642,7 @@ - + @@ -697,7 +697,7 @@ - + @@ -752,7 +752,7 @@ - + @@ -807,7 +807,7 @@ - + @@ -862,7 +862,7 @@ - + @@ -919,7 +919,7 @@ - + @@ -1092,7 +1092,7 @@ - + @@ -1139,7 +1139,7 @@ - + @@ -1169,7 +1169,7 @@ - + @@ -1225,7 +1225,7 @@ - + @@ -1302,7 +1302,7 @@ - + @@ -1422,7 +1422,7 @@ $toolbarBottomPositionAfterExitFullScreen - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml index bfb6623bc6e..e335b18b4dc 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml @@ -8,7 +8,7 @@ - + @@ -151,7 +151,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -272,7 +272,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -570,7 +570,7 @@ - + @@ -783,7 +783,7 @@ - + @@ -860,7 +860,7 @@ - + @@ -894,7 +894,7 @@ - + @@ -937,7 +937,7 @@ - + @@ -967,7 +967,7 @@ - + @@ -1035,7 +1035,7 @@ - + @@ -1089,7 +1089,7 @@ - + @@ -1164,7 +1164,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml index 6010a2606a3..e3947883c7e 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml @@ -8,7 +8,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -333,7 +333,7 @@ - + @@ -366,7 +366,7 @@ - + @@ -415,7 +415,7 @@ - + @@ -548,7 +548,7 @@ - + @@ -724,7 +724,7 @@ - + @@ -764,7 +764,7 @@ - + @@ -794,7 +794,7 @@ - + @@ -862,7 +862,7 @@ - + @@ -919,7 +919,7 @@ - + @@ -997,7 +997,7 @@ - + @@ -1052,7 +1052,7 @@ - + @@ -1124,7 +1124,7 @@ - + @@ -1202,7 +1202,7 @@ - + @@ -1320,7 +1320,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml index bc52bb0c6d2..9ab32b70e05 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml @@ -8,7 +8,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -342,7 +342,7 @@ - + @@ -524,7 +524,7 @@ - + @@ -871,7 +871,7 @@ - + @@ -1347,7 +1347,7 @@ - + @@ -1403,7 +1403,7 @@ - + @@ -1434,7 +1434,7 @@ - + @@ -1518,7 +1518,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml index 6b4ed5f8cdb..f1908ffc26c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml @@ -8,7 +8,7 @@ - + @@ -135,7 +135,7 @@ actualStorefrontMap2HeightDifference - + @@ -195,7 +195,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml index 1652c958e85..bc4b0a0db2c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml @@ -8,7 +8,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -298,7 +298,7 @@ - + @@ -445,7 +445,7 @@ - + @@ -578,7 +578,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -840,7 +840,7 @@ - + @@ -916,7 +916,7 @@ - + @@ -1015,7 +1015,7 @@ - + @@ -1140,7 +1140,7 @@ - + @@ -1233,7 +1233,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml index e6f48eebdd1..d327eb6ea1c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml @@ -8,7 +8,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -224,7 +224,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -333,7 +333,7 @@ - + @@ -383,7 +383,7 @@ - + @@ -423,7 +423,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml index 1a96742a73f..8dd26de5f1f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml @@ -8,7 +8,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -183,7 +183,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml index 60c1205153c..2860c7ece54 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml index dfeb65e280d..89205b041f9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml @@ -8,7 +8,7 @@ - + @@ -90,7 +90,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -219,7 +219,7 @@ - + @@ -300,7 +300,7 @@ - + @@ -409,7 +409,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml index fe41d5aae44..ef960bfd1a7 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml index ae08edddb56..0d597457457 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml @@ -8,7 +8,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -202,7 +202,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -298,7 +298,7 @@ getNewRowHeight2 - + @@ -351,7 +351,7 @@ actualStageRowHeightWithSlider - + @@ -469,7 +469,7 @@ - + @@ -634,7 +634,7 @@ - + @@ -717,7 +717,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -1328,7 +1328,7 @@ - + @@ -1597,7 +1597,7 @@ - + @@ -1633,7 +1633,7 @@ - + @@ -1676,7 +1676,7 @@ - + @@ -1715,7 +1715,7 @@ - + @@ -1824,7 +1824,7 @@ - + @@ -1870,7 +1870,7 @@ - + @@ -1936,7 +1936,7 @@ - + @@ -1990,7 +1990,7 @@ $assignedHeight2 - + @@ -2062,7 +2062,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml index bddbf46a3b0..4118761e39b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml @@ -8,7 +8,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -131,7 +131,7 @@ - + @@ -264,7 +264,7 @@ - + @@ -423,7 +423,7 @@ currentUrl2 - + @@ -548,7 +548,7 @@ - + @@ -686,7 +686,7 @@ - + @@ -719,7 +719,7 @@ - + @@ -788,7 +788,7 @@ - + @@ -849,7 +849,7 @@ - + @@ -1003,7 +1003,7 @@ - + @@ -1057,7 +1057,7 @@ - + @@ -1109,7 +1109,7 @@ - + @@ -1158,7 +1158,7 @@ currentUrl - + @@ -1244,7 +1244,7 @@ slideNewHeightStorefront - + @@ -1317,7 +1317,7 @@ - + @@ -1400,7 +1400,7 @@ - + @@ -1474,7 +1474,7 @@ - + @@ -1538,7 +1538,7 @@ actualBoxSizingStyle - + @@ -1618,7 +1618,7 @@ columnOneTextHeight - + @@ -1740,7 +1740,7 @@ - + @@ -1820,7 +1820,7 @@ - + @@ -1869,7 +1869,7 @@ - + @@ -1898,7 +1898,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml index 0207cbf3b54..ad986b9adcc 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml @@ -8,7 +8,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -385,7 +385,7 @@ - + @@ -558,7 +558,7 @@ - + @@ -616,7 +616,7 @@ - + @@ -680,7 +680,7 @@ - + @@ -823,7 +823,7 @@ - + @@ -884,7 +884,7 @@ - + @@ -969,7 +969,7 @@ - + @@ -1248,7 +1248,7 @@ - + @@ -1304,7 +1304,7 @@ - + @@ -1346,7 +1346,7 @@ - + @@ -1377,7 +1377,7 @@ - + @@ -1446,7 +1446,7 @@ - + @@ -1500,7 +1500,7 @@ - + @@ -1578,7 +1578,7 @@ - + @@ -1679,7 +1679,7 @@ - + @@ -1737,7 +1737,7 @@ - + @@ -1773,7 +1773,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml index b26854027a8..85f70a76b99 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -140,7 +140,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml index 4990a097412..d4cae15d234 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml @@ -8,7 +8,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -210,7 +210,7 @@ - + @@ -270,7 +270,7 @@ - + @@ -348,7 +348,7 @@ - + @@ -426,7 +426,7 @@ - + @@ -504,7 +504,7 @@ - + @@ -588,7 +588,7 @@ - + @@ -672,7 +672,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml index 2d94f2903bd..831b32a13de 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml @@ -8,7 +8,7 @@ - + @@ -144,7 +144,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -342,7 +342,7 @@ - + @@ -469,7 +469,7 @@ - + @@ -510,7 +510,7 @@ - + @@ -567,7 +567,7 @@ - + @@ -642,7 +642,7 @@ - + @@ -707,7 +707,7 @@ - + @@ -774,7 +774,7 @@ - + @@ -878,7 +878,7 @@ - + @@ -933,7 +933,7 @@ - + @@ -1003,7 +1003,7 @@ - + @@ -1035,7 +1035,7 @@ - + @@ -1162,7 +1162,7 @@ - + @@ -1333,7 +1333,7 @@ - + @@ -1546,7 +1546,7 @@ - + @@ -1606,7 +1606,7 @@ - + @@ -1647,7 +1647,7 @@ - + @@ -1723,7 +1723,7 @@ - + @@ -1798,7 +1798,7 @@ - + @@ -1878,7 +1878,7 @@ - + @@ -1959,7 +1959,7 @@ - + @@ -1989,7 +1989,7 @@ - + @@ -2057,7 +2057,7 @@ - + @@ -2179,7 +2179,7 @@ - + @@ -2234,7 +2234,7 @@ - + @@ -2313,7 +2313,7 @@ - + @@ -2390,7 +2390,7 @@ columnOneTextHeight - + @@ -2483,7 +2483,7 @@ currentUrl - + @@ -2515,7 +2515,7 @@ - + @@ -2536,7 +2536,7 @@ - + @@ -2557,7 +2557,7 @@ - + @@ -2645,7 +2645,7 @@ grabComputedTextAlignStoreFront - + @@ -2694,7 +2694,7 @@ getStageAndStorefrontHeightDifference - + @@ -2745,7 +2745,7 @@ - + @@ -2774,7 +2774,7 @@ - + @@ -2821,7 +2821,7 @@ - + @@ -2871,7 +2871,7 @@ - + @@ -2920,7 +2920,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml index 984d9ad43ca..6db9185ef52 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -136,7 +136,7 @@ - + @@ -201,7 +201,7 @@ - + @@ -268,7 +268,7 @@ - + @@ -394,7 +394,7 @@ - + @@ -563,7 +563,7 @@ - + @@ -635,7 +635,7 @@ - + @@ -691,7 +691,7 @@ - + @@ -736,7 +736,7 @@ - + @@ -766,7 +766,7 @@ - + @@ -844,7 +844,7 @@ - + @@ -963,7 +963,7 @@ - + @@ -1207,7 +1207,7 @@ - + @@ -1261,7 +1261,7 @@ - + From d5db94624c3269b4d7cd4ab48dd66f4d3cf4c540 Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Sun, 1 Mar 2020 21:32:10 +0100 Subject: [PATCH 04/20] #27117 Fix invalid file names for Functional Tests --- ...> AdminCMSBlockDisablePageBuilderTest.xml} | 2 +- ...s.xml => AdminCMSBlockPageBuilderTest.xml} | 30 +++---- ...=> AdminCMSPageDisablePageBuilderTest.xml} | 2 +- ...ts.xml => AdminCMSPagePageBuilderTest.xml} | 6 +- ...CatalogCategoryDisablePageBuilderTest.xml} | 2 +- ...> AdminCatalogCategoryPageBuilderTest.xml} | 36 ++++----- ...nCatalogProductDisablePageBuilderTest.xml} | 4 +- ...=> AdminCatalogProductPageBuilderTest.xml} | 58 +++++++------- ...ageBuilderBackgroundFormAttributeTest.xml} | 78 +++++++++---------- ...BlockRenderAddContentContentTypesTest.xml} | 16 ++-- ...derBlockRenderElementContentTypesTest.xml} | 24 +++--- ...lderBlockRenderLayoutContentTypesTest.xml} | 32 ++++---- ...ilderBlockRenderMediaContentTypesTest.xml} | 40 +++++----- ...nPageBuilderButtonGroupAppearanceTest.xml} | 44 +++++------ ...ml => AdminPageBuilderButtonGroupTest.xml} | 26 +++---- ...BuilderButtonItemGeneralAttributeTest.xml} | 16 ++-- ... AdminPageBuilderButtonItemMovingTest.xml} | 14 ++-- ...xml => AdminPageBuilderButtonItemTest.xml} | 34 ++++---- ...=> AdminPageBuilderFullScreenModeTest.xml} | 6 +- ...AdminPageBuilderHeadingEditOnStageTest.xml | 18 ++--- ...nPageBuilderMapGoogleMapsSettingsTest.xml} | 24 +++--- ...inPageBuilderMapLocationAttributeTest.xml} | 24 +++--- ...ml => AdminPageBuilderMapLocationTest.xml} | 16 ++-- ... AdminPageBuilderProductsCarouselTest.xml} | 62 +++++++-------- ...=> AdminPageBuilderProductsCommonTest.xml} | 26 +++---- ...l => AdminPageBuilderProductsGridTest.xml} | 32 ++++---- ...rSlideItemAppearanceCollageCenterTest.xml} | 38 ++++----- ...derSlideItemAppearanceCollageLeftTest.xml} | 40 +++++----- ...erSlideItemAppearanceCollageRightTest.xml} | 38 ++++----- ...eBuilderSlideItemAppearancePosterTest.xml} | 38 ++++----- ...s.xml => AdminPageBuilderTabGroupTest.xml} | 44 +++++------ ...inPageBuilderTabItemConfigurationTest.xml} | 32 ++++---- ...=> AdminPageBuilderTabItemContentTest.xml} | 36 ++++----- ... => AdminPageBuilderTabItemDeleteTest.xml} | 14 ++-- ...onfigurationPageBuilderColumnGridTest.xml} | 6 +- ...oreConfigurationPageBuilderEnableTest.xml} | 2 +- ...rationPageBuilderGoogleMapsAPIKeyTest.xml} | 14 ++-- ...urationPageBuilderGoogleMapsStyleTest.xml} | 8 +- 38 files changed, 491 insertions(+), 491 deletions(-) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSBlockDisablePageBuilderTests.xml => AdminCMSBlockDisablePageBuilderTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSBlockPageBuilderTests.xml => AdminCMSBlockPageBuilderTest.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSPageDisablePageBuilderTests.xml => AdminCMSPageDisablePageBuilderTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSPagePageBuilderTests.xml => AdminCMSPagePageBuilderTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogCategoryDisablePageBuilderTests.xml => AdminCatalogCategoryDisablePageBuilderTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogCategoryPageBuilderTests.xml => AdminCatalogCategoryPageBuilderTest.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogProductDisablePageBuilderTests.xml => AdminCatalogProductDisablePageBuilderTest.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogProductPageBuilderTests.xml => AdminCatalogProductPageBuilderTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBackgroundFormAttributeTests.xml => AdminPageBuilderBackgroundFormAttributeTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderAddContentContentTypesTests.xml => AdminPageBuilderBlockRenderAddContentContentTypesTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderElementContentTypesTests.xml => AdminPageBuilderBlockRenderElementContentTypesTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderLayoutContentTypesTests.xml => AdminPageBuilderBlockRenderLayoutContentTypesTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderMediaContentTypesTests.xml => AdminPageBuilderBlockRenderMediaContentTypesTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonGroupAppearanceTests.xml => AdminPageBuilderButtonGroupAppearanceTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonGroupTests.xml => AdminPageBuilderButtonGroupTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemGeneralAttributeTests.xml => AdminPageBuilderButtonItemGeneralAttributeTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemMovingTests.xml => AdminPageBuilderButtonItemMovingTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemTests.xml => AdminPageBuilderButtonItemTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderFullScreenModeTests.xml => AdminPageBuilderFullScreenModeTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapGoogleMapsSettingsTests.xml => AdminPageBuilderMapGoogleMapsSettingsTest.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapLocationAttributeTests.xml => AdminPageBuilderMapLocationAttributeTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapLocationTests.xml => AdminPageBuilderMapLocationTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsCarouselTests.xml => AdminPageBuilderProductsCarouselTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsCommonTests.xml => AdminPageBuilderProductsCommonTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsGridTests.xml => AdminPageBuilderProductsGridTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml => AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml} (96%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml => AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml} (94%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageRightTests.xml => AdminPageBuilderSlideItemAppearanceCollageRightTest.xml} (93%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearancePosterTests.xml => AdminPageBuilderSlideItemAppearancePosterTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabGroupTests.xml => AdminPageBuilderTabGroupTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemConfigurationTests.xml => AdminPageBuilderTabItemConfigurationTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemContentTests.xml => AdminPageBuilderTabItemContentTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemDeleteTests.xml => AdminPageBuilderTabItemDeleteTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderColumnGridTests.xml => AdminStoreConfigurationPageBuilderColumnGridTest.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderEnableTests.xml => AdminStoreConfigurationPageBuilderEnableTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml => AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml => AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml} (98%) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml index e379d66deb3..34e6f595b65 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml @@ -63,7 +63,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml index 01fffd86446..2da3fd43477 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml @@ -8,7 +8,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -185,7 +185,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -310,7 +310,7 @@ - + @@ -374,7 +374,7 @@ - + @@ -434,7 +434,7 @@ - + @@ -494,7 +494,7 @@ - + @@ -554,7 +554,7 @@ - + @@ -618,7 +618,7 @@ - + @@ -672,7 +672,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -782,7 +782,7 @@ - + @@ -808,7 +808,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml index 81a64a04f01..6e98b07c053 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml @@ -111,7 +111,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml index 2cf9669d807..803a619285d 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml @@ -8,7 +8,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -128,7 +128,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml index 82b35dc339a..387fe5a6579 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml @@ -23,7 +23,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml index 0e22d089ff5..5508f55dd90 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml @@ -22,7 +22,7 @@ - + @@ -186,7 +186,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -316,7 +316,7 @@ - + @@ -394,7 +394,7 @@ - + @@ -430,7 +430,7 @@ - + @@ -467,7 +467,7 @@ - + @@ -502,7 +502,7 @@ - + @@ -540,7 +540,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -614,7 +614,7 @@ - + @@ -649,7 +649,7 @@ - + @@ -687,7 +687,7 @@ - + @@ -726,7 +726,7 @@ - + @@ -764,7 +764,7 @@ - + @@ -810,7 +810,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -873,7 +873,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml index da40b53ce9c..addddfc6b6b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml @@ -48,7 +48,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml index 1d16108ce6f..b1c652dbcc5 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml @@ -139,7 +139,7 @@ - + @@ -167,7 +167,7 @@ - + @@ -226,7 +226,7 @@ - + @@ -288,7 +288,7 @@ - + @@ -350,7 +350,7 @@ - + @@ -408,7 +408,7 @@ - + @@ -468,7 +468,7 @@ - + @@ -541,7 +541,7 @@ - + @@ -632,7 +632,7 @@ - + @@ -729,7 +729,7 @@ - + @@ -777,7 +777,7 @@ - + @@ -897,7 +897,7 @@ - + @@ -1058,7 +1058,7 @@ upsellPosition - + @@ -1109,7 +1109,7 @@ - + @@ -1260,7 +1260,7 @@ - + @@ -1402,7 +1402,7 @@ - + @@ -1472,7 +1472,7 @@ - + @@ -1553,7 +1553,7 @@ - + @@ -1626,7 +1626,7 @@ - + @@ -1692,7 +1692,7 @@ - + @@ -1771,7 +1771,7 @@ - + @@ -1861,7 +1861,7 @@ - + @@ -1941,7 +1941,7 @@ - + @@ -1984,7 +1984,7 @@ - + @@ -2034,7 +2034,7 @@ - + @@ -2076,7 +2076,7 @@ - + @@ -2107,7 +2107,7 @@ - + @@ -2138,7 +2138,7 @@ - + @@ -2349,7 +2349,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml index 27bbfc3d27e..ac96897ddc1 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -233,7 +233,7 @@ - + @@ -307,7 +307,7 @@ - + @@ -379,7 +379,7 @@ - + @@ -453,7 +453,7 @@ - + @@ -527,7 +527,7 @@ - + @@ -596,7 +596,7 @@ - + @@ -674,7 +674,7 @@ - + @@ -765,7 +765,7 @@ - + @@ -843,7 +843,7 @@ - + @@ -921,7 +921,7 @@ - + @@ -999,7 +999,7 @@ - + @@ -1071,7 +1071,7 @@ - + @@ -1143,7 +1143,7 @@ - + @@ -1163,7 +1163,7 @@ - + @@ -1247,7 +1247,7 @@ - + @@ -1338,7 +1338,7 @@ - + @@ -1422,7 +1422,7 @@ - + @@ -1506,7 +1506,7 @@ - + @@ -1590,7 +1590,7 @@ - + @@ -1677,7 +1677,7 @@ - + @@ -1764,7 +1764,7 @@ - + @@ -1859,7 +1859,7 @@ - + @@ -1954,7 +1954,7 @@ - + @@ -2049,7 +2049,7 @@ - + @@ -2144,7 +2144,7 @@ - + @@ -2239,7 +2239,7 @@ - + @@ -2334,7 +2334,7 @@ - + @@ -2429,7 +2429,7 @@ - + @@ -2524,7 +2524,7 @@ - + @@ -2619,7 +2619,7 @@ - + @@ -2714,7 +2714,7 @@ - + @@ -2809,7 +2809,7 @@ - + @@ -2904,7 +2904,7 @@ - + @@ -2999,7 +2999,7 @@ - + @@ -3094,7 +3094,7 @@ - + @@ -3189,7 +3189,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml index 8fcfe6be0b8..fc098ba9cd0 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml @@ -8,7 +8,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -450,7 +450,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -968,7 +968,7 @@ - + @@ -1066,7 +1066,7 @@ - + @@ -1252,7 +1252,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml index 330261e8c48..3370c2e9644 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml @@ -8,7 +8,7 @@ - + @@ -95,7 +95,7 @@ getBlockTextOnStorefrontHeight - + @@ -233,7 +233,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -367,7 +367,7 @@ - + @@ -453,7 +453,7 @@ - + @@ -556,7 +556,7 @@ yCoordinate2Storefront - + @@ -742,7 +742,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -802,7 +802,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -949,7 +949,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml index fbc5fb6a82d..0956480bc07 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml @@ -8,7 +8,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -248,7 +248,7 @@ - + @@ -284,7 +284,7 @@ - + @@ -568,7 +568,7 @@ - + @@ -660,7 +660,7 @@ - + @@ -752,7 +752,7 @@ - + @@ -827,7 +827,7 @@ - + @@ -927,7 +927,7 @@ - + @@ -1027,7 +1027,7 @@ - + @@ -1294,7 +1294,7 @@ - + @@ -1338,7 +1338,7 @@ - + @@ -1382,7 +1382,7 @@ - + @@ -1426,7 +1426,7 @@ - + @@ -1588,7 +1588,7 @@ widthDifferenceCMSPageStorefront - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml index 62338dfe0df..8f737a48392 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml @@ -8,7 +8,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -189,7 +189,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -433,7 +433,7 @@ - + @@ -721,7 +721,7 @@ - + @@ -765,7 +765,7 @@ - + @@ -809,7 +809,7 @@ - + @@ -853,7 +853,7 @@ - + @@ -1008,7 +1008,7 @@ - + @@ -1030,7 +1030,7 @@ - + @@ -1151,7 +1151,7 @@ - + @@ -1357,7 +1357,7 @@ - + @@ -1649,7 +1649,7 @@ - + @@ -1691,7 +1691,7 @@ - + @@ -1733,7 +1733,7 @@ - + @@ -1775,7 +1775,7 @@ - + @@ -1936,7 +1936,7 @@ - + @@ -1958,7 +1958,7 @@ - + @@ -2079,7 +2079,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml index edb8ecc497e..e7f764f8ee0 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml @@ -8,7 +8,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -267,7 +267,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -479,7 +479,7 @@ - + @@ -601,7 +601,7 @@ - + @@ -688,7 +688,7 @@ - + @@ -787,7 +787,7 @@ - + @@ -804,7 +804,7 @@ - + @@ -909,7 +909,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -1151,7 +1151,7 @@ button1WidthStorefront1 - + @@ -1273,7 +1273,7 @@ button1WidthStorefront1 - + @@ -1462,7 +1462,7 @@ button1WidthStorefront3 - + @@ -1527,7 +1527,7 @@ - + @@ -1567,7 +1567,7 @@ button1WidthStorefront1 - + @@ -1684,7 +1684,7 @@ - + @@ -1914,7 +1914,7 @@ - + @@ -1933,7 +1933,7 @@ - + @@ -1952,7 +1952,7 @@ - + @@ -2058,7 +2058,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml index 80f4159393e..3aabc49b871 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml @@ -8,7 +8,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -100,7 +100,7 @@ - + @@ -390,7 +390,7 @@ - + @@ -494,7 +494,7 @@ - + @@ -637,7 +637,7 @@ - + @@ -673,7 +673,7 @@ - + @@ -704,7 +704,7 @@ - + @@ -773,7 +773,7 @@ - + @@ -961,7 +961,7 @@ - + @@ -1013,7 +1013,7 @@ - + @@ -1105,7 +1105,7 @@ - + @@ -1132,7 +1132,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml index 1ee097b24ba..675f3e7b0ef 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -237,7 +237,7 @@ - + @@ -314,7 +314,7 @@ - + @@ -414,7 +414,7 @@ $buttonGroupWidthStoreFront - + @@ -490,7 +490,7 @@ - + @@ -566,7 +566,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml index baee068f187..3065fa11c65 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml @@ -8,7 +8,7 @@ - + @@ -151,7 +151,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -369,7 +369,7 @@ - + @@ -460,7 +460,7 @@ - + @@ -547,7 +547,7 @@ - + @@ -667,7 +667,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml index b13c214d350..11bfee2186a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml @@ -8,7 +8,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -205,7 +205,7 @@ - + @@ -283,7 +283,7 @@ - + @@ -344,7 +344,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -714,7 +714,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -991,7 +991,7 @@ - + @@ -1046,7 +1046,7 @@ - + @@ -1097,7 +1097,7 @@ - + @@ -1167,7 +1167,7 @@ - + @@ -1213,7 +1213,7 @@ - + @@ -1264,7 +1264,7 @@ - + @@ -1297,7 +1297,7 @@ - + @@ -1345,7 +1345,7 @@ - + @@ -1407,7 +1407,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml index bf3bc1b184f..d6a2133d607 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml @@ -8,7 +8,7 @@ - + @@ -52,7 +52,7 @@ widthOfStageWrapper - + @@ -97,7 +97,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml index 7e1bf736501..ee5b54f5cdd 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml @@ -8,7 +8,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -312,7 +312,7 @@ - + @@ -549,7 +549,7 @@ - + @@ -786,7 +786,7 @@ - + @@ -1023,7 +1023,7 @@ - + @@ -1260,7 +1260,7 @@ - + @@ -1498,7 +1498,7 @@ - + @@ -1550,7 +1550,7 @@ actualLastButtonYPosition - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml index 6ed515ae74d..77dfd7c06af 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml @@ -8,7 +8,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -230,7 +230,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -337,7 +337,7 @@ - + @@ -354,7 +354,7 @@ - + @@ -426,7 +426,7 @@ - + @@ -443,7 +443,7 @@ - + @@ -556,7 +556,7 @@ {{googleMapsStyle.empty}} - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml index c6b801f05e3..59d49ee98a6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml @@ -8,7 +8,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -335,7 +335,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -599,7 +599,7 @@ - + @@ -670,7 +670,7 @@ - + @@ -741,7 +741,7 @@ - + @@ -812,7 +812,7 @@ - + @@ -883,7 +883,7 @@ - + @@ -979,7 +979,7 @@ - + @@ -1028,7 +1028,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml index f41e958d45e..a015cdd3e3c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml @@ -8,7 +8,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -978,7 +978,7 @@ - + @@ -1062,7 +1062,7 @@ - + @@ -1155,7 +1155,7 @@ - + @@ -1231,7 +1231,7 @@ - + @@ -1396,7 +1396,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml index 130a3b16c8d..e766ece2160 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml @@ -8,7 +8,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -188,7 +188,7 @@ - + @@ -360,7 +360,7 @@ - + @@ -377,7 +377,7 @@ - + @@ -688,7 +688,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -790,7 +790,7 @@ - + @@ -815,7 +815,7 @@ - + @@ -888,7 +888,7 @@ - + @@ -922,7 +922,7 @@ - + @@ -1012,7 +1012,7 @@ - + @@ -1061,7 +1061,7 @@ - + @@ -1109,7 +1109,7 @@ - + @@ -1152,7 +1152,7 @@ - + @@ -1195,7 +1195,7 @@ - + @@ -1214,7 +1214,7 @@ - + @@ -1255,7 +1255,7 @@ - + @@ -1272,7 +1272,7 @@ - + @@ -1292,7 +1292,7 @@ - + @@ -1457,7 +1457,7 @@ - + @@ -1579,7 +1579,7 @@ - + @@ -1735,7 +1735,7 @@ - + @@ -2164,7 +2164,7 @@ - + @@ -2310,7 +2310,7 @@ - + @@ -2637,7 +2637,7 @@ - + @@ -2717,7 +2717,7 @@ - + @@ -3004,7 +3004,7 @@ - + @@ -3308,7 +3308,7 @@ - + @@ -3445,7 +3445,7 @@ - + @@ -3475,7 +3475,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml index 078df6783a8..54285a250b9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml @@ -82,7 +82,7 @@ - + @@ -165,7 +165,7 @@ - + @@ -265,7 +265,7 @@ - + @@ -296,7 +296,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -532,7 +532,7 @@ - + @@ -559,7 +559,7 @@ - + @@ -627,7 +627,7 @@ - + @@ -697,7 +697,7 @@ - + @@ -788,7 +788,7 @@ - + @@ -908,7 +908,7 @@ $grabStorefrontProducts2 - + @@ -960,7 +960,7 @@ - + @@ -1098,7 +1098,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml index ef22af549e6..2c99300902b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml @@ -8,7 +8,7 @@ - + @@ -100,7 +100,7 @@ - + @@ -153,7 +153,7 @@ grabStorefrontProducts - + @@ -344,7 +344,7 @@ - + @@ -416,7 +416,7 @@ 2 - + @@ -599,7 +599,7 @@ - + @@ -742,7 +742,7 @@ productActionsWidthFrontend - + @@ -921,7 +921,7 @@ - + @@ -1026,7 +1026,7 @@ - + @@ -1099,7 +1099,7 @@ - + @@ -1130,7 +1130,7 @@ - + @@ -1276,7 +1276,7 @@ - + @@ -1376,7 +1376,7 @@ - + @@ -1466,7 +1466,7 @@ - + @@ -1543,7 +1543,7 @@ - + @@ -1619,7 +1619,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml similarity index 96% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml index 506cb9865d5..f60ab9781a5 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml @@ -8,7 +8,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -203,7 +203,7 @@ - + @@ -279,7 +279,7 @@ - + @@ -299,7 +299,7 @@ - + @@ -319,7 +319,7 @@ - + @@ -339,7 +339,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -379,7 +379,7 @@ - + @@ -413,7 +413,7 @@ - + @@ -430,7 +430,7 @@ - + @@ -471,7 +471,7 @@ - + @@ -520,7 +520,7 @@ - + @@ -588,7 +588,7 @@ - + @@ -649,7 +649,7 @@ - + @@ -678,7 +678,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml similarity index 94% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml index db09b894c74..d17986c866d 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml @@ -8,7 +8,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -152,7 +152,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -192,7 +192,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -252,7 +252,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -358,7 +358,7 @@ - + @@ -399,7 +399,7 @@ - + @@ -448,7 +448,7 @@ - + @@ -492,7 +492,7 @@ - + @@ -509,7 +509,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -555,7 +555,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml similarity index 93% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml index 62952181d13..56ed8af0c62 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml @@ -8,7 +8,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -152,7 +152,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -192,7 +192,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -252,7 +252,7 @@ - + @@ -286,7 +286,7 @@ - + @@ -303,7 +303,7 @@ - + @@ -344,7 +344,7 @@ - + @@ -393,7 +393,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -456,7 +456,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml index dfa5cafcfc9..e474623659f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml @@ -8,7 +8,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -386,7 +386,7 @@ - + @@ -460,7 +460,7 @@ - + @@ -536,7 +536,7 @@ - + @@ -643,7 +643,7 @@ - + @@ -714,7 +714,7 @@ - + @@ -779,7 +779,7 @@ - + @@ -938,7 +938,7 @@ - + @@ -1302,7 +1302,7 @@ - + @@ -1346,7 +1346,7 @@ - + @@ -1363,7 +1363,7 @@ - + @@ -1380,7 +1380,7 @@ - + @@ -1456,7 +1456,7 @@ - + @@ -1558,7 +1558,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml index 3eb4de5d8ca..8b66f2d89d7 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml @@ -8,7 +8,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -130,7 +130,7 @@ - + @@ -185,7 +185,7 @@ - + @@ -245,7 +245,7 @@ - + @@ -304,7 +304,7 @@ - + @@ -355,7 +355,7 @@ - + @@ -430,7 +430,7 @@ - + @@ -507,7 +507,7 @@ - + @@ -557,7 +557,7 @@ - + @@ -634,7 +634,7 @@ - + @@ -736,7 +736,7 @@ - + @@ -768,7 +768,7 @@ - + @@ -837,7 +837,7 @@ - + @@ -885,7 +885,7 @@ - + @@ -995,7 +995,7 @@ - + @@ -1027,7 +1027,7 @@ - + @@ -1093,7 +1093,7 @@ - + @@ -1179,7 +1179,7 @@ - + @@ -1225,7 +1225,7 @@ - + @@ -1329,7 +1329,7 @@ - + @@ -1393,7 +1393,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml index 3243c5c2a32..fb34d7bee06 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml @@ -8,7 +8,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -316,7 +316,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -498,7 +498,7 @@ - + @@ -628,7 +628,7 @@ tab2Height - + @@ -776,7 +776,7 @@ - + @@ -914,7 +914,7 @@ - + @@ -1058,7 +1058,7 @@ - + @@ -1212,7 +1212,7 @@ - + @@ -1385,7 +1385,7 @@ - + @@ -1530,7 +1530,7 @@ - + @@ -1716,7 +1716,7 @@ - + @@ -1869,7 +1869,7 @@ - + @@ -2052,7 +2052,7 @@ - + @@ -2207,7 +2207,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml index 30dc49a2b1d..34d38f1ecbe 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml @@ -8,7 +8,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -176,7 +176,7 @@ - + @@ -244,7 +244,7 @@ - + @@ -320,7 +320,7 @@ - + @@ -381,7 +381,7 @@ - + @@ -461,7 +461,7 @@ - + @@ -570,7 +570,7 @@ - + @@ -622,7 +622,7 @@ - + @@ -692,7 +692,7 @@ - + @@ -751,7 +751,7 @@ - + @@ -821,7 +821,7 @@ - + @@ -881,7 +881,7 @@ - + @@ -925,7 +925,7 @@ - + @@ -969,7 +969,7 @@ - + @@ -1018,7 +1018,7 @@ - + @@ -1088,7 +1088,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml index 46f9cd7bab6..05514ff2737 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml @@ -8,7 +8,7 @@ - + @@ -65,7 +65,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -191,7 +191,7 @@ - + @@ -259,7 +259,7 @@ - + @@ -304,7 +304,7 @@ - + @@ -355,7 +355,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml index 28d0ba2cb16..6bad9a58caf 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml @@ -8,7 +8,7 @@ - + @@ -156,7 +156,7 @@ - + @@ -188,7 +188,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml index 744126690c6..679960b3cb4 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml @@ -8,7 +8,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml index c04b087e4af..e6c761cbd29 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml @@ -8,7 +8,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -175,7 +175,7 @@ - + @@ -221,7 +221,7 @@ - + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml index 1c8c4ca7040..b23aac5c481 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml @@ -8,7 +8,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -121,7 +121,7 @@ - + From 6e0c0fa796818ceeef8bf1d2457cb0a1d7ed04f8 Mon Sep 17 00:00:00 2001 From: Lena Orobei Date: Mon, 2 Mar 2020 13:34:02 -0500 Subject: [PATCH 05/20] magento/community-features#9: Eliminate the need for inheritance for action controllers - code style fixes --- .../Controller/Adminhtml/ContentType/Image/UploadTest.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php index 41c92575e46..2fd1b1919e1 100644 --- a/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php +++ b/dev/tests/integration/testsuite/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/UploadTest.php @@ -18,9 +18,6 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; -/** - * Class UploadTest - */ class UploadTest extends TestCase { /** @@ -119,7 +116,6 @@ public function testFileValidationFailsWhenFileHasCorrectExtensionButInvalidMime $this->setFilesGlobalMock($invalid_file_pathname); $this->setUploaderMockForField('background_image'); - $this->resultJson->expects($this->once())->method('setData')->willReturnCallback(function ($result) { $this->assertEquals([ 'error' => 'File validation failed.', From ebe6e4c1e47a8dfc68dd380127225e0b9ccd94f4 Mon Sep 17 00:00:00 2001 From: David Haecker Date: Thu, 5 Mar 2020 13:50:49 -0600 Subject: [PATCH 06/20] PB-425: Update Video Alignment MFTF Video Tests - Updating tests, data, action groups, and sections for video alignment --- .../ContentTypeVideoActionGroup.xml | 93 ++++--- .../PageBuilder/Test/Mftf/Data/VideoData.xml | 25 +- .../Mftf/Section/PageBuilderVideoSection.xml | 102 +++---- .../Mftf/Test/AdminPageBuilderVideoTest.xml | 261 ++++++------------ 4 files changed, 204 insertions(+), 277 deletions(-) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml index a9d17036791..0b303755c64 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml @@ -50,75 +50,90 @@ ratioDifference - + + + Validates that the video's url in the video content type. + - + - - + - - - - - - - - - {{acceptableOffset}} - ratioDifference - - - - autoplay - $videoSrc - + + - + + + Validates that the video's aspect ratio in the video content type. + - + - - - - - - - - + + + + {{acceptableOffset}} ratioDifference - + + + + Validates that the video content type has the autoplay attributes. + + + + + + + + + + + autoplay=1 + $videoSrc + + + + + Validates that the video content type does not have the autoplay attributes. + + + + autoplay + $videoSrc + - Validates that the video content type is playing. + Validates that the video content type is playing. Only works with videos that play in an iframe. - - - - - + + + + - Validates that the video content type is not autoplaying. + Validates that the video content type is not autoplaying. Only works with videos that play in an iframe. - + + + Validates that the video content type on the stage in admin is empty. + diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml index 81136370ea4..dc3465a4d2a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml @@ -9,18 +9,19 @@ - + Video URL general video_source Video - + Video URL general video_source - https://www.youtube.com/embed/slOtnjsbff0 - https://www.youtube.com/embed/slOtnjsbff0 + + Video + Video URLs can be links to videos on YouTube or Vimeo, or HTTP(S) links to files with valid video extensions (we recommend .mp4) Video URL @@ -36,19 +37,19 @@ <iframe width="1280" height="720" src="https://www.youtube.com/embed/bLXEUP6vKEk"></iframe> Please enter a valid video URL. Valid URLs have a video file extension (.mp4, .webm, .ogv) or links to videos on YouTube or Vimeo. - + Video URL general video_source - https://www.youtube.com/watch?v=slOtnjsbff0 + https://www.youtube.com/embed/slOtnjsbff0 https://www.youtube.com/embed/slOtnjsbff0 - + Video URL general video_source - - Video URLs can be links to videos on YouTube or Vimeo, or HTTP(S) links to files with valid video extensions (we recommend .mp4) + https://www.youtube.com/watch?v=slOtnjsbff0 + https://www.youtube.com/embed/slOtnjsbff0 Video URL @@ -95,6 +96,12 @@ 320px + + Maximum Width + general + max_width + + Maximum Width general diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml index f365d2ec2f6..8933f5fa42b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml @@ -12,36 +12,36 @@ - - - - - - + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + +
@@ -49,27 +49,31 @@ - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + +
diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml index 992446a5b45..eb38fe8c152 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml @@ -235,18 +235,27 @@
- + getUrl - + getWidth - + getHeight + + + + + + + + + @@ -264,18 +273,24 @@
- + getUrl2 - + getWidth2 - + getHeight2 + + + + + + @@ -284,6 +299,7 @@
+
@@ -721,10 +737,10 @@ - - <description value="Validate that validation message will display when inputting invalid video URL."/> - <severity value="AVERAGE"/> - <useCaseId value="MC-1410"/> + <title value="Validate Valid and Invalid Video Urls"/> + <description value="Verify that the video URL field is required, only accepts valid urls, and that the user can set an embedded or non-embedded video background to a YouTube or Vimeo video, or to a stored .mp4 video."/> + <severity value="BLOCKER"/> + <useCaseId value="PB-375"/> <testCaseId value="MC-2514"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> @@ -767,7 +783,7 @@ <argument name="property" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeEmbedded"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeEmbeddedStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> @@ -779,7 +795,7 @@ <argument name="property" value="PageBuilderVideoUrl_NonEmbedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeNonEmbedded"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_NonEmbedded"/> </actionGroup> @@ -791,7 +807,7 @@ <argument name="property" value="PageBuilderVideoUrl_YouTube_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsInsecure"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeInsecureStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeInsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube_Insecure"/> </actionGroup> @@ -803,7 +819,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_Embedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoEmbedded"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoEmbeddedStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateVimeoEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_Embedded"/> </actionGroup> @@ -815,7 +831,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_NonEmbedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoNonEmbedded"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_NonEmbedded"/> </actionGroup> @@ -827,7 +843,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoInsecure"/> - <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoInsecureStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateVimeoInsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_Insecure"/> </actionGroup> @@ -839,7 +855,7 @@ <argument name="property" value="PageBuilderVideoUrl_Mp4_URL"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4"/> - <actionGroup ref="validateVideoWithOnlyVideoUrlMp4" stepKey="validateMp4Stage"> + <actionGroup ref="validateVideoUrl" stepKey="validateMp4Stage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Mp4_URL"/> </actionGroup> @@ -851,7 +867,7 @@ <argument name="property" value="PageBuilderVideoUrl_Mp4_URL_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4Insecure"/> - <actionGroup ref="validateVideoWithOnlyVideoUrlMp4" stepKey="validateMp4InsecureStage"> + <actionGroup ref="validateVideoUrl" stepKey="validateMp4InsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Mp4_URL_Insecure"/> </actionGroup> @@ -1456,169 +1472,31 @@ <dontSeeElementInDOM selector="{{VideoOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{VideoOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="RowValidateVideoBackgroundVideoURLs"> - <annotations> - <features value="PageBuilder"/> - <stories value="Row"/> - <title value="Validate Video Background Video Urls"/> - <description value="Verify that the video background URL field is required, only accepts valid urls, and that the user can set an embedded or non-embedded video background to a YouTube or Vimeo video, or to a stored .mp4 video."/> - <severity value="BLOCKER"/> - <useCaseId value="PB-95"/> - <testCaseId value="MC-31294"/> - <group value="pagebuilder"/> - <group value="pagebuilder-row"/> - <group value="pagebuilder-rowBackground"/> - <group value="pagebuilder-video-background"/> - </annotations> - <before> - <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> - <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> - <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> - <argument name="CMSPage" value="$$createCMSPage$$"/> - </actionGroup> - <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> - </before> - <after> - <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> - <actionGroup ref="logout" stepKey="logout"/> - </after> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterMinHeightProperty"> - <argument name="property" value="PageBuilderMinHeightProperty_200px"/> - </actionGroup> - <actionGroup ref="chooseVisualSelectOption" stepKey="setBackgroundType"> - <argument name="property" value="PageBuilderBackgroundType_Video"/> - </actionGroup> - <!-- Validate URL Required --> - <actionGroup ref="saveEditPanelAndValidateFieldError" stepKey="validateUrlErrorMessageEmpty"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Empty"/> - </actionGroup> - <!-- Validate Invalid URL Message --> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlInvalid"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Invalid_Text"/> - </actionGroup> - <actionGroup ref="saveEditPanelAndValidateFieldError" stepKey="validateUrlErrorMessageInvalid"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Invalid_Text"/> - </actionGroup> - <!-- Update to YouTube Embedded --> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeEmbedded"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_Embedded"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeEmbedded"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeEmbeddedStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_Embedded"/> - </actionGroup> - <!-- Update to YouTube Non-Embedded --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageYouTubeNonEmbedded"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeNonEmbedded"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeNonEmbedded"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/> - </actionGroup> - <!-- Update to YouTube Insecure --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageYouTubeInsecure"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeInsecure"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_Insecure"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsInsecure"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeInsecureStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_Insecure"/> - </actionGroup> - <!-- Update to Vimeo Embedded--> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoEmbedded"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoEmbedded"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_Embedded"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoEmbedded"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoEmbeddedStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_Embedded"/> - </actionGroup> - <!-- Update to Vimeo Non-Embedded --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoNonEmbedded"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoNonEmbedded"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_NonEmbedded"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoNonEmbedded"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_NonEmbedded"/> - </actionGroup> - <!-- Update to Vimeo Insecure --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoInsecure"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoInsecure"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_Insecure"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoInsecure"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoInsecureStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_Insecure"/> - </actionGroup> - <!-- Update to .mp4 URL --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageMp4"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlMp4"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Mp4_URL"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateMp4Stage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Mp4_URL"/> - </actionGroup> - <!-- Update to .mp4 URL Insecure --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageMp4Insecure"> - <argument name="contentType" value="PageBuilderRowContentType"/> - </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlMp4Insecure"> - <argument name="property" value="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure"/> - </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4Insecure"/> - <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateMp4InsecureStage"> - <argument name="section" value="RowOnStage"/> - <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure"/> - </actionGroup> - </test> <test name="VideoValidateAutoplayEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> <title value="Validate Video Autoplay Attribute"/> <description value="Validate that setting the autoplay attribute in the General form for Video will update the Stage and Storefront correctly."/> - <severity value="BLOCKER"/> + <severity value="CRITICAL"/> <useCaseId value="PB-375"/> - <testCaseId value="PB-423"/> + <testCaseId value="MC-32181"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> </annotations> <before> + <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> - <actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/> + <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> + <argument name="CMSPage" value="$$createCMSPage$$"/> + </actionGroup> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> </before> <after> + <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> <actionGroup ref="logout" stepKey="logout"/> </after> - <actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle"> - <argument name="contentType" value="PageBuilderVideoContentType"/> - </actionGroup> + <!-- Add Video w/ Autoplay Enabled --> <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1636,17 +1514,22 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <!-- Validate Stage --> + <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStage"> + <argument name="page" value="VideoOnStage"/> + </actionGroup> <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage"> <argument name="page" value="VideoOnStage"/> - <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <!-- Validate Stage After Save --> + <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStage2"> + <argument name="page" value="VideoOnStage"/> + </actionGroup> <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage2"> <argument name="page" value="VideoOnStage"/> - <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> + <!-- Validate Edit Panel After Save --> <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1656,13 +1539,15 @@ <actionGroup ref="seeOptionIsCheckedSlideOutProperty" stepKey="seeAutoplayEnabledAfterSave"> <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> </actionGroup> - <actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront"> - <argument name="contentType" value="PageBuilderVideoContentType"/> - </actionGroup> <!-- Validate Storefront --> + <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> + <argument name="page" value="$$createCMSPage.identifier$$"/> + </actionGroup> + <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStorefront"> + <argument name="page" value="VideoOnStorefront"/> + </actionGroup> <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStorefront"> <argument name="page" value="VideoOnStorefront"/> - <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> </test> <test name="VideoValidateAutoplayDisabled"> @@ -1671,23 +1556,25 @@ <stories value="Video"/> <title value="Validate Video Autoplay Attribute"/> <description value="Validate that setting the autoplay attribute in the General form for Video will update the Stage and Storefront correctly."/> - <severity value="BLOCKER"/> + <severity value="CRITICAL"/> <useCaseId value="PB-375"/> - <testCaseId value="PB-424"/> + <testCaseId value="MC-32182"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> </annotations> <before> + <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> - <actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/> + <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> + <argument name="CMSPage" value="$$createCMSPage$$"/> + </actionGroup> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> </before> <after> + <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> <actionGroup ref="logout" stepKey="logout"/> </after> - <actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle"> - <argument name="contentType" value="PageBuilderVideoContentType"/> - </actionGroup> + <!-- Add Video w/ Autoplay Disabled --> <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1700,8 +1587,14 @@ <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlProperty"> <argument name="property" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> + <actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setAutoplayDisabled"> + <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> + </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <!-- Validate Stage --> + <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStage"> + <argument name="page" value="VideoOnStage"/> + </actionGroup> <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> @@ -1709,10 +1602,14 @@ <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <!-- Validate Stage After Save --> + <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStage2"> + <argument name="page" value="VideoOnStage"/> + </actionGroup> <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage2"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> + <!-- Validate Edit Panel After Save --> <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1722,13 +1619,17 @@ <actionGroup ref="seeOptionIsNotCheckedSlideOutProperty" stepKey="seeAutoplayDisabledAfterSave"> <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> </actionGroup> - <actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront"> - <argument name="contentType" value="PageBuilderVideoContentType"/> - </actionGroup> <!-- Validate Storefront --> - <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoPlayingStorefront"> + <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> + <argument name="page" value="$$createCMSPage.identifier$$"/> + </actionGroup> + <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStorefront"> + <argument name="page" value="VideoOnStorefront"/> + </actionGroup> + <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStorefront"> <argument name="page" value="VideoOnStorefront"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> </test> +<!-- todo add aspect ratio test--> </tests> From e32b3fd9f42682a5368ac78daa3dc65c30059e84 Mon Sep 17 00:00:00 2001 From: David Haecker <dhaecker@magento.com> Date: Fri, 6 Mar 2020 09:37:42 -0600 Subject: [PATCH 07/20] PB-425: Update Video Alignment MFTF Video Tests - Fixing video alignment tests --- .../BackgroundConfigurationActionGroup.xml | 6 +-- .../ContentTypeVideoActionGroup.xml | 9 ++-- .../Test/Mftf/Data/BackgroundFormData.xml | 4 +- .../PageBuilder/Test/Mftf/Data/VideoData.xml | 4 +- .../Mftf/Section/PageBuilderVideoSection.xml | 4 +- .../Test/AdminPageBuilderBannerCommonTest.xml | 19 ++++--- ...nPageBuilderRowBackgroundAttributeTest.xml | 12 ++--- .../AdminPageBuilderSlideItemCommonTest.xml | 18 +++---- .../Mftf/Test/AdminPageBuilderVideoTest.xml | 52 ++++++++++++++++++- 9 files changed, 88 insertions(+), 40 deletions(-) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml index a8b06714160..beb2137340b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml @@ -464,15 +464,15 @@ </arguments> <waitForPageLoad stepKey="waitForPageLoad"/> <waitForElement selector="{{section.videoBackgroundJarallaxContainer(index)}}" stepKey="waitForJarallaxContainer"/> - <seeElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="seeVideoInDOM"/> + <waitForElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideo"/> </actionGroup> <actionGroup name="validateVideoBackgroundNotLoaded" extends="validateVideoBackgroundLoaded"> <annotations> <description>Validates that the video in the video background is not loaded.</description> </annotations> - <dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="seeVideoInDOM"/> + <dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideo"/> </actionGroup> - <actionGroup name="validateVideoAspectRatio"> + <actionGroup name="validateVideoBackgroundVideoAspectRatio"> <annotations> <description>Validates that the video in the video background has the correct aspect ratio.</description> </annotations> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml index 0b303755c64..4e7570b07ae 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml @@ -65,17 +65,16 @@ </actionGroup> <actionGroup name="validateVideoAspectRatio"> <annotations> - <description>Validates that the video's aspect ratio in the video content type.</description> + <description>Validates that the video in the video content type has the correct aspect ratio.</description> </annotations> <arguments> <argument name="page" defaultValue="VideoOnStage"/> <argument name="index" defaultValue="1" type="string"/> <argument name="acceptableOffset" defaultValue="2" type="string"/> </arguments> - <waitForPageLoad stepKey="waitForPageLoad"/> - <waitForElementVisible selector="{{page.videoElement(index)}}" stepKey="waitForVideoElement"/> - <executeJS function="return window.calculatedHeight = parseInt(getComputedStyle(document.evaluate("{{page.videoElement(index)}}",document.body).iterateNext()).width) / 16 * 9" stepKey="calculatedHeight"/> - <executeJS function="return window.actualHeight = parseInt(getComputedStyle(document.evaluate("{{page.videoElement(index)}}",document.body).iterateNext()).height)" stepKey="actualHeight"/> + <waitForElementVisible selector="{{page.iframe(index)}}" stepKey="waitForVideoIFrame"/> + <executeJS function="return window.calculatedHeight = parseInt(getComputedStyle(document.evaluate("{{page.iframe(index)}}",document.body).iterateNext()).width) / 16 * 9" stepKey="calculatedHeight"/> + <executeJS function="return window.actualHeight = parseInt(getComputedStyle(document.evaluate("{{page.iframe(index)}}",document.body).iterateNext()).height)" stepKey="actualHeight"/> <executeJS function="return Math.abs(window.calculatedHeight - window.actualHeight)" stepKey="ratioDifference"/> <assertLessThanOrEqual stepKey="assertRatio"> <expectedResult type="int">{{acceptableOffset}}</expectedResult> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml b/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml index 61d1467c1ba..5d8e0de8479 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml @@ -520,6 +520,8 @@ <data key="fieldName">video_source</data> <data key="value">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> + <data key="width">320px</data> + <data key="height">320px</data> </entity> <entity name="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure" type="pagebuilder_video_background_url"> <data key="name">Video URL</data> @@ -527,8 +529,6 @@ <data key="fieldName">video_source</data> <data key="value">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> - <data key="width">320px</data> - <data key="height">320px</data> </entity> <entity name="PageBuilderVideoBackgroundUrl_Invalid_Text" type="pagebuilder_video_background_url"> <data key="name">Video URL</data> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml index dc3465a4d2a..7cfeb6a1d96 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml @@ -85,6 +85,8 @@ <data key="fieldName">video_source</data> <data key="value">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> + <data key="width">320px</data> + <data key="height">320px</data> </entity> <entity name="PageBuilderVideoUrl_Mp4_URL_Insecure" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> @@ -92,8 +94,6 @@ <data key="fieldName">video_source</data> <data key="value">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> - <data key="width">320px</data> - <data key="height">320px</data> </entity> <!-- Width --> <entity name="PageBuilderVideoWidth_Empty" type="pagebuilder_video_width_property"> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml index 8933f5fa42b..aceba50383e 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml @@ -29,7 +29,7 @@ <element name="iframePlaying" type="text" selector="//div[@id='player']//div[contains(@class,'playing-mode')]"/> <element name="iframeNotAutoplaying" type="text" selector="//div[@id='player']//div[contains(@class, 'unstarted-mode')]"/> <element name="width" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][contains(@style,'max-width: {{width}}px;')]"/> - <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'width:')) and not(contains(@style,' width:'))][contains(@class,'pagebuilder-video-wrapper')]"/> + <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'max-width:')) and not(contains(@style,' max-width:'))]"/> <!-- Advanced Configuration --> <element name="alignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'text-align: {{alignment}};')]"/> <element name="noAlignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(contains(@style,'text-align:'))]"/> @@ -62,7 +62,7 @@ <element name="iframePlaying" type="text" selector="//div[@id='player']/div[contains(@class,'playing-mode')]"/> <element name="iframeNotAutoplaying" type="text" selector="//div[@id='player']//div[contains(@class,'unstarted-mode')]"/> <element name="width" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][contains(@style,'max-width: {{width}}')]"/> - <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'width:')) and not(contains(@style,' width:'))]"/> + <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'max-width:')) and not(contains(@style,' max-width:'))]"/> <!-- Advanced Configuration --> <element name="alignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'text-align: {{alignment}};')]"/> <element name="noAlignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(contains(@style,'text-align'))]"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml index 205120edf38..79d45dd6200 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml @@ -3442,50 +3442,49 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings4"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> </actionGroup> <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> <!-- Validate Storefront --> - <amOnUrl url="{{_ENV.MAGENTO_BASE_URL}}" stepKey="goBackToMagento"/> <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml index 3b29bb1f780..fe119f9e31c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml @@ -2272,17 +2272,17 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/> <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -2292,17 +2292,17 @@ <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Storefront"> <argument name="section" value="RowOnStorefront"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Storefront"> <argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Storefront"> <argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml index de1d211a8d8..7369a20e834 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml @@ -3204,12 +3204,12 @@ <argument name="property" value="PageBuilderMinHeightProperty_500px"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> <actionGroup ref="switchSlide" stepKey="showSlide1"> <argument name="slideIndex" value="1"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> @@ -3217,7 +3217,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide2"> <argument name="slideIndex" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> @@ -3225,7 +3225,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide3"> <argument name="slideIndex" value="3"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -3233,7 +3233,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide4"> <argument name="slideIndex" value="4"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Stage"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> @@ -3243,7 +3243,7 @@ <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> @@ -3253,7 +3253,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="2"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> @@ -3263,7 +3263,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="3"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -3273,7 +3273,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="4"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Storefront"> + <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml index eb38fe8c152..f33d675f036 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml @@ -1631,5 +1631,55 @@ <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> </test> -<!-- todo add aspect ratio test--> + <test name="VideoValidateVideoAspectRatio"> + <annotations> + <features value="PageBuilder"/> + <stories value="Video"/> + <title value="Validate Video Aspect Ratio in Video Content Type"/> + <description value="Verify that the video aspect ratio in the video content type is correct."/> + <severity value="BLOCKER"/> + <useCaseId value="PB-375"/> + <testCaseId value="MC-32217"/> + <group value="pagebuilder"/> + <group value="pagebuilder-video"/> + </annotations> + <before> + <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> + <argument name="CMSPage" value="$$createCMSPage$$"/> + </actionGroup> + <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> + </before> + <after> + <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> + <actionGroup ref="logout" stepKey="logout"/> + </after> + <!-- Add Video --> + <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> + <actionGroup ref="dragContentTypeToStage" stepKey="dragVideoIntoStage"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditAfterDrop"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlProperty"> + <argument name="property" value="PageBuilderVideoUrl_YouTube"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> + <!-- Validate Stage --> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioStage"> + <argument name="section" value="VideoOnStage"/> + </actionGroup> + <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> + <!-- Validate Storefront --> + <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> + <argument name="page" value="$$createCMSPage.identifier$$"/> + </actionGroup> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioStorefront"> + <argument name="section" value="VideoOnStorefront"/> + </actionGroup> + </test> </tests> From 1855fde905bba896d90fc1d54d42a8a31662c5c6 Mon Sep 17 00:00:00 2001 From: David Haecker <dhaecker@magento.com> Date: Fri, 6 Mar 2020 10:42:46 -0600 Subject: [PATCH 08/20] PB-425: Update Video Alignment MFTF Video Tests - Fixing test generation --- .../Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml index fe119f9e31c..907b450618a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml @@ -2270,7 +2270,7 @@ <argument name="property" value="PageBuilderRowAppearance_FullBleed"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage"> <argument name="section" value="RowOnStage"/> From ccb621976ff0fc6398ee2afdb2547b6d2287c9e1 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Thu, 12 Mar 2020 16:13:10 -0500 Subject: [PATCH 09/20] MC-32070: [Functional Test Failed]:Magento\FunctionalTestingFramework.functional.AdminCreateImageSwatchTest --- .../PageBuilder/view/adminhtml/web/css/source/_common.less | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less b/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less index 731e969de63..bebaefc7748 100644 --- a/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less +++ b/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less @@ -27,12 +27,6 @@ // // Commented Backslash Hack // --------------------------------------------- - -.clearfix { - display: block; -} - - * html .clearfix { height: 1%; } From 0a6279240fc456bfdfe2066e39aca319ed5170d6 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Thu, 12 Mar 2020 17:26:51 -0500 Subject: [PATCH 10/20] MC-32070: [Functional Test Failed]:Magento\FunctionalTestingFramework.functional.AdminCreateImageSwatchTest - static test fix --- .../PageBuilder/view/adminhtml/web/css/source/_common.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less b/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less index bebaefc7748..49b139e340a 100644 --- a/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less +++ b/app/code/Magento/PageBuilder/view/adminhtml/web/css/source/_common.less @@ -8,9 +8,9 @@ // ___________________________________________________________________ .transition { - -o-transition: .5s; - -ms-transition: .5s; -moz-transition: .5s; + -ms-transition: .5s; + -o-transition: .5s; -webkit-transition: .5s; transition: .5s; } From 6a3b28cb1bce93d0f15628f1dbadc8a951f85bd1 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Fri, 13 Mar 2020 14:12:45 -0500 Subject: [PATCH 11/20] Revert "[Owls] PB-425: Update Video Alignment MFTF Video Tests" --- .../CatalogPageBuilderAnalytics/composer.json | 4 +- .../CmsPageBuilderAnalytics/composer.json | 2 +- .../BackgroundConfigurationActionGroup.xml | 6 +- .../ContentTypeVideoActionGroup.xml | 90 +++--- .../Test/Mftf/Data/BackgroundFormData.xml | 4 +- .../PageBuilder/Test/Mftf/Data/VideoData.xml | 29 +- .../Mftf/Section/PageBuilderVideoSection.xml | 102 +++--- .../Test/AdminPageBuilderBannerCommonTest.xml | 19 +- ...nPageBuilderRowBackgroundAttributeTest.xml | 14 +- .../AdminPageBuilderSlideItemCommonTest.xml | 18 +- .../Mftf/Test/AdminPageBuilderVideoTest.xml | 301 ++++++++++-------- app/code/Magento/PageBuilder/composer.json | 14 +- .../PageBuilderAnalytics/composer.json | 4 +- 13 files changed, 316 insertions(+), 291 deletions(-) diff --git a/app/code/Magento/CatalogPageBuilderAnalytics/composer.json b/app/code/Magento/CatalogPageBuilderAnalytics/composer.json index b1c123eb42b..9050c9c13d9 100644 --- a/app/code/Magento/CatalogPageBuilderAnalytics/composer.json +++ b/app/code/Magento/CatalogPageBuilderAnalytics/composer.json @@ -6,8 +6,8 @@ }, "require": { "magento/module-page-builder-analytics": "*", - "magento/module-catalog": "~103.0.5-alpha2", - "magento/framework": "~102.0.5-alpha2", + "magento/module-catalog": "*", + "magento/framework": "*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", diff --git a/app/code/Magento/CmsPageBuilderAnalytics/composer.json b/app/code/Magento/CmsPageBuilderAnalytics/composer.json index dfd05371f9d..0e725385c58 100644 --- a/app/code/Magento/CmsPageBuilderAnalytics/composer.json +++ b/app/code/Magento/CmsPageBuilderAnalytics/composer.json @@ -7,7 +7,7 @@ "require": { "magento/module-page-builder-analytics": "*", "magento/module-cms": "*", - "magento/framework": "~102.0.5-alpha2", + "magento/framework": "*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml index beb2137340b..a8b06714160 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup.xml @@ -464,15 +464,15 @@ </arguments> <waitForPageLoad stepKey="waitForPageLoad"/> <waitForElement selector="{{section.videoBackgroundJarallaxContainer(index)}}" stepKey="waitForJarallaxContainer"/> - <waitForElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideo"/> + <seeElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="seeVideoInDOM"/> </actionGroup> <actionGroup name="validateVideoBackgroundNotLoaded" extends="validateVideoBackgroundLoaded"> <annotations> <description>Validates that the video in the video background is not loaded.</description> </annotations> - <dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideo"/> + <dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="seeVideoInDOM"/> </actionGroup> - <actionGroup name="validateVideoBackgroundVideoAspectRatio"> + <actionGroup name="validateVideoAspectRatio"> <annotations> <description>Validates that the video in the video background has the correct aspect ratio.</description> </annotations> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml index 4e7570b07ae..a9d17036791 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeVideoActionGroup.xml @@ -50,29 +50,18 @@ <actualResult type="variable">ratioDifference</actualResult> </assertLessThanOrEqual> </actionGroup> - <actionGroup name="validateVideoUrl"> - <annotations> - <description>Validates that the video's url in the video content type.</description> - </annotations> - <arguments> - <argument name="page" defaultValue="VideoOnStage"/> - <argument name="index" defaultValue="1" type="string"/> - <argument name="url" defaultValue="PageBuilderVideoUrl_YouTube"/> - <argument name="acceptableOffset" defaultValue="2" type="string"/> - </arguments> - <waitForElementVisible selector="{{page.videoElement(index)}}" stepKey="waitForVideoElement"/> - <waitForElementVisible selector="{{page.videoUrl(index, url.renderedValue)}}" stepKey="waitForVideoUrl"/> - </actionGroup> - <actionGroup name="validateVideoAspectRatio"> - <annotations> - <description>Validates that the video in the video content type has the correct aspect ratio.</description> - </annotations> + <actionGroup name="validateVideoWithOnlyVideoUrl"> <arguments> - <argument name="page" defaultValue="VideoOnStage"/> + <argument name="page" defaultValue=""/> <argument name="index" defaultValue="1" type="string"/> + <argument name="url" defaultValue=""/> + <!-- This is 2 because the width and the height may both have fractions that could round by a maximum of 1 for each which makes the maximum 2--> <argument name="acceptableOffset" defaultValue="2" type="string"/> </arguments> - <waitForElementVisible selector="{{page.iframe(index)}}" stepKey="waitForVideoIFrame"/> + <waitForElementVisible selector="{{page.base(index)}}" stepKey="waitForElement"/> + <waitForElementVisible selector="{{page.source(index, url.renderedValue)}}" stepKey="waitForUrl"/> + <waitForElementVisible selector="{{page.noWidth(index)}}" stepKey="waitForWidth"/> + <comment userInput="Validate Aspect Ratio" stepKey="commentValidateAspectRatio"/> <executeJS function="return window.calculatedHeight = parseInt(getComputedStyle(document.evaluate("{{page.iframe(index)}}",document.body).iterateNext()).width) / 16 * 9" stepKey="calculatedHeight"/> <executeJS function="return window.actualHeight = parseInt(getComputedStyle(document.evaluate("{{page.iframe(index)}}",document.body).iterateNext()).height)" stepKey="actualHeight"/> <executeJS function="return Math.abs(window.calculatedHeight - window.actualHeight)" stepKey="ratioDifference"/> @@ -80,59 +69,56 @@ <expectedResult type="int">{{acceptableOffset}}</expectedResult> <actualResult type="variable">ratioDifference</actualResult> </assertLessThanOrEqual> + <grabAttributeFrom selector="{{page.iframe(index)}}" userInput="src" stepKey="videoSrc"/> + <assertNotContains stepKey="assertNoAutoplay"> + <expectedResult type="string">autoplay</expectedResult> + <actualResult type="variable">$videoSrc</actualResult> + </assertNotContains> </actionGroup> - <actionGroup name="validateVideoAutoPlay"> - <annotations> - <description>Validates that the video content type has the autoplay attributes.</description> - </annotations> + <actionGroup name="validateVideoWithOnlyVideoUrlMp4"> <arguments> - <argument name="page" defaultValue="VideoOnStage"/> + <argument name="page" defaultValue=""/> <argument name="index" defaultValue="1" type="string"/> + <argument name="url" defaultValue=""/> + <!-- This is 2 because the width and the height may both have fractions that could round by a maximum of 1 for each which makes the maximum 2--> + <argument name="acceptableOffset" defaultValue="2" type="string"/> </arguments> - <waitForPageLoad stepKey="waitForPageLoad"/> - <waitForElementVisible selector="{{page.videoElement(index)}}" stepKey="waitForVideoElement"/> - <waitForElementVisible selector="{{page.videoAutoplay(index)}}" stepKey="waitForVideoAutoplay"/> - <grabAttributeFrom selector="{{page.videoElement(index)}}" userInput="src" stepKey="videoSrc"/> - <assertContains stepKey="assertAutoplay"> - <expectedResult type="string">autoplay=1</expectedResult> - <actualResult type="variable">$videoSrc</actualResult> - </assertContains> - </actionGroup> - <actionGroup name="validateVideoNoAutoPlay" extends="validateVideoAutoPlay"> - <annotations> - <description>Validates that the video content type does not have the autoplay attributes.</description> - </annotations> - <waitForElementVisible selector="{{page.videoNoAutoplay(index)}}" stepKey="waitForVideoAutoplay"/> - <assertNotContains stepKey="assertAutoplay"> - <expectedResult type="string">autoplay</expectedResult> - <actualResult type="variable">$videoSrc</actualResult> - </assertNotContains> + <waitForElementVisible selector="{{page.base(index)}}" stepKey="waitForElement"/> + <waitForElementVisible selector="{{page.sourceVideo(index, url.renderedValue)}}" stepKey="waitForUrl"/> + <waitForElementVisible selector="{{page.noWidth(index)}}" stepKey="waitForWidth"/> + <comment userInput="Validate Aspect Ratio" stepKey="commentValidateAspectRatio"/> + <executeJS function="return window.calculatedHeight = parseInt(getComputedStyle(document.evaluate("{{page.video(index)}}",document.body).iterateNext()).width) / 16 * 9" stepKey="calculatedHeight"/> + <executeJS function="return window.actualHeight = parseInt(getComputedStyle(document.evaluate("{{page.video(index)}}",document.body).iterateNext()).height)" stepKey="actualHeight"/> + <executeJS function="return Math.abs(window.calculatedHeight - window.actualHeight)" stepKey="ratioDifference"/> + <assertLessThanOrEqual stepKey="assertRatio"> + <expectedResult type="int">{{acceptableOffset}}</expectedResult> + <actualResult type="variable">ratioDifference</actualResult> + </assertLessThanOrEqual> + <waitForElementNotVisible selector="{{page.videoAutoplay(index)}}" stepKey="assertNoAutoplay"/> </actionGroup> <actionGroup name="validateVideoPlaying"> <annotations> - <description>Validates that the video content type is playing. Only works with videos that play in an iframe.</description> + <description>Validates that the video content type is playing.</description> </annotations> <arguments> <argument name="page" defaultValue="VideoOnStage"/> + <argument name="url" defaultValue="PageBuilderVideoUrl_Empty"/> <argument name="index" defaultValue="1" type="string"/> </arguments> <waitForPageLoad stepKey="waitForPageLoad"/> - <waitForElementVisible selector="{{page.videoElement(index)}}" stepKey="waitForVideoElement"/> - <executeJS function="document.querySelectorAll('{{page.videoElementCss}}')[{{index}}-1].id = 'video-iframe'" stepKey="setIframeId"/> - <switchToIFrame selector="video-iframe" stepKey="switchToVideoIframe"/> - <waitForElementVisible selector="{{page.iframePlaying}}" stepKey="seeIframePlaying"/> + <waitForElementVisible selector="{{page.videoElement(index)}}" stepKey="waitForVideoVisible"/> + <executeJS function="document.querySelector('[data-element=\'video\']').id = 'video-iframe'" stepKey="setIframeId"/> + <switchToIFrame userInput="video-iframe" stepKey="switchToVideoIframe"/> + <waitForElementVisible selector="{{page.iframePlaying(index)}}" stepKey="seeIframePlaying"/> <switchToIFrame stepKey="switchBackFromIframe"/> </actionGroup> <actionGroup name="validateVideoNotAutoplaying" extends="validateVideoPlaying"> <annotations> - <description>Validates that the video content type is not autoplaying. Only works with videos that play in an iframe.</description> + <description>Validates that the video content type is not autoplaying.</description> </annotations> - <waitForElementVisible selector="{{page.iframeNotAutoplaying}}" stepKey="seeIframePlaying"/> + <waitForElementVisible selector="{{page.iframeNotAutoplaying(index)}}" stepKey="seeIframePlaying"/> </actionGroup> <actionGroup name="validateEmptyVideoStage"> - <annotations> - <description>Validates that the video content type on the stage in admin is empty.</description> - </annotations> <arguments> <argument name="index" defaultValue="1" type="string"/> </arguments> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml b/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml index 5d8e0de8479..61d1467c1ba 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Data/BackgroundFormData.xml @@ -520,8 +520,6 @@ <data key="fieldName">video_source</data> <data key="value">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> - <data key="width">320px</data> - <data key="height">320px</data> </entity> <entity name="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure" type="pagebuilder_video_background_url"> <data key="name">Video URL</data> @@ -529,6 +527,8 @@ <data key="fieldName">video_source</data> <data key="value">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> + <data key="width">320px</data> + <data key="height">320px</data> </entity> <entity name="PageBuilderVideoBackgroundUrl_Invalid_Text" type="pagebuilder_video_background_url"> <data key="name">Video URL</data> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml index 7cfeb6a1d96..81136370ea4 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml @@ -9,19 +9,18 @@ <entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd"> <!-- URL --> - <entity name="PageBuilderVideoUrl_Default" type="pagebuilder_video_url_property" deprecated="Use PageBuilderVideoUrl_Empty instead"> + <entity name="PageBuilderVideoUrl_Default" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> <data key="section">general</data> <data key="fieldName">video_source</data> <data key="text">Video</data> </entity> - <entity name="PageBuilderVideoUrl_Empty" type="pagebuilder_video_url_property"> + <entity name="PageBuilderVideoUrl_YouTube" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> <data key="section">general</data> <data key="fieldName">video_source</data> - <data key="value"/> - <data key="text">Video</data> - <data key="tooltipText">Video URLs can be links to videos on YouTube or Vimeo, or HTTP(S) links to files with valid video extensions (we recommend .mp4)</data> + <data key="value">https://www.youtube.com/embed/slOtnjsbff0</data> + <data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data> </entity> <entity name="PageBuilder_InvalidVideoURL_Text" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> @@ -37,19 +36,19 @@ <data key="value"><iframe width="1280" height="720" src="https://www.youtube.com/embed/bLXEUP6vKEk"></iframe></data> <data key="errorMessage">Please enter a valid video URL. Valid URLs have a video file extension (.mp4, .webm, .ogv) or links to videos on YouTube or Vimeo.</data> </entity> - <entity name="PageBuilderVideoUrl_YouTube" type="pagebuilder_video_url_property"> + <entity name="PageBuilderVideoUrl_NonEmbedded" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> <data key="section">general</data> <data key="fieldName">video_source</data> - <data key="value">https://www.youtube.com/embed/slOtnjsbff0</data> + <data key="value">https://www.youtube.com/watch?v=slOtnjsbff0</data> <data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data> </entity> - <entity name="PageBuilderVideoUrl_NonEmbedded" type="pagebuilder_video_url_property"> + <entity name="PageBuilderVideoUrl_Empty" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> <data key="section">general</data> <data key="fieldName">video_source</data> - <data key="value">https://www.youtube.com/watch?v=slOtnjsbff0</data> - <data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data> + <data key="value"/> + <data key="tooltipText">Video URLs can be links to videos on YouTube or Vimeo, or HTTP(S) links to files with valid video extensions (we recommend .mp4)</data> </entity> <entity name="PageBuilderVideoUrl_YouTube_Insecure" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> @@ -85,8 +84,6 @@ <data key="fieldName">video_source</data> <data key="value">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> - <data key="width">320px</data> - <data key="height">320px</data> </entity> <entity name="PageBuilderVideoUrl_Mp4_URL_Insecure" type="pagebuilder_video_url_property"> <data key="name">Video URL</data> @@ -94,14 +91,10 @@ <data key="fieldName">video_source</data> <data key="value">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> <data key="renderedValue">http://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data> + <data key="width">320px</data> + <data key="height">320px</data> </entity> <!-- Width --> - <entity name="PageBuilderVideoWidth_Empty" type="pagebuilder_video_width_property"> - <data key="name">Maximum Width</data> - <data key="section">general</data> - <data key="fieldName">max_width</data> - <data key="value"/> - </entity> <entity name="PageBuilderVideoWidth_500" type="pagebuilder_video_width_property"> <data key="name">Maximum Width</data> <data key="section">general</data> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml index aceba50383e..f365d2ec2f6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderVideoSection.xml @@ -12,36 +12,36 @@ <element name="mainCSS" type="text" selector="[data-content-type=video][data-element=main]"/> <element name="wrapperCSS" type="text" selector="[data-content-type=video] [data-element=wrapper]"/> <!-- Empty Video --> - <element name="empty" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//video[@data-element='video'][@src='']"/> - <element name="icon" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//i[contains(@class,'icon-pagebuilder-video')]"/> - <element name="text" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//span[.='{{text}}']"/> + <element name="empty" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//video" parameterized="true"/> + <element name="video" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{videoIndex}}]//video" parameterized="true"/> + <element name="videoAutoplay" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{videoIndex}}]//video[contains(@autoplay,'true')]" parameterized="true"/> + <element name="iframe" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//iframe" parameterized="true"/> + <element name="icon" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//i[contains(@class,'icon-pagebuilder-video')]" parameterized="true"/> + <element name="text" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//span[.='{{arg2}}']" parameterized="true"/> <!-- General Configuration --> - <element name="base" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]"/> - <element name="hidden" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-video')])[{{videoIndex}}]/parent::*[contains(@class,'pagebuilder-content-type-wrapper') and contains(@class,'pagebuilder-content-type-hidden')]"/> - <element name="notHidden" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-video')])[{{videoIndex}}]/parent::*[contains(@class,'pagebuilder-content-type-wrapper') and not(contains(@class,'pagebuilder-content-type-hidden'))][1]"/> - <element name="iframe" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//iframe"/> - <element name="source" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][contains(@src,'{{url}}')]"/> - <element name="videoElement" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//iframe[@data-element='video']|(//div[@data-content-type='video'])[{{videoIndex}}]//video[@data-element='video']"/> - <element name="videoUrl" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][contains(@src,'{{url}}')]"/> - <element name="videoAutoplay" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][@autoplay='true']"/> - <element name="videoNoAutoplay" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][not(@autoplay)]"/> - <element name="videoElementCss" type="text" selector="[data-content-type=video] [data-element=video]"/> - <element name="iframePlaying" type="text" selector="//div[@id='player']//div[contains(@class,'playing-mode')]"/> - <element name="iframeNotAutoplaying" type="text" selector="//div[@id='player']//div[contains(@class, 'unstarted-mode')]"/> - <element name="width" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][contains(@style,'max-width: {{width}}px;')]"/> - <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'max-width:')) and not(contains(@style,' max-width:'))]"/> + <element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]" parameterized="true"/> + <element name="hidden" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/> + <element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-video')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/> + <element name="source" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//iframe[contains(@src, '{{arg2}}')]" parameterized="true"/> + <element name="sourceVideo" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//video[contains(@src, '{{arg2}}')]" parameterized="true"/> + <element name="src" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]//iframe[src]" parameterized="true"/> + <element name="videoElement" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-video')])[{{videoIndex}}]//iframe|(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-video')])[{{videoIndex}}]//video" parameterized="true"/> + <element name="iframePlaying" type="text" selector="(//div[@id='player'])[{{playerIndex}}]//div[contains(@class, 'playing-mode')]" parameterized="true"/> + <element name="iframeNotAutoplaying" type="text" selector="(//div[@id='player'])[{{playerIndex}}]//div[contains(@class, 'unstarted-mode')]" parameterized="true"/> + <element name="width" type="text" selector="(//div[contains(@class,'pagebuilder-video-inner')])[{{arg1}}][contains(@style,'max-width: {{arg2}}px;')]" parameterized="true"/> + <element name="noWidth" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][not(starts-with(@style,'width:')) and not(contains(@style,' width:'))][contains(@class,'pagebuilder-video-wrapper')]" parameterized="true"/> <!-- Advanced Configuration --> - <element name="alignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'text-align: {{alignment}};')]"/> - <element name="noAlignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(contains(@style,'text-align:'))]"/> - <element name="border" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-style: {{border}};')]"/> - <element name="borderColor" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-color: {{borderColor}};')]"/> - <element name="noBorderColor" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][not(contains(@style,'border-color:'))]"/> - <element name="borderWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-width: {{borderWidth}}px;')]"/> - <element name="borderRadius" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-radius: {{borderRadius}}px;')]"/> - <element name="cssClasses" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@class,'{{cssClasses}}')]"/> - <element name="noCssClasses" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]"/> - <element name="margins" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'margin: {{margins}}px;')]"/> - <element name="padding" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'padding: {{padding}}px;')]"/> + <element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-video-inner')])[{{arg1}}]/parent::div[contains(@style, 'text-align: {{arg2}};')]" parameterized="true"/> + <element name="noAlignment" type="text" selector="(//div[contains(@class,'pagebuilder-video-inner')])[{{arg1}}]/parent::div[not(contains(@style,'text-align:'))]" parameterized="true"/> + <element name="border" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][contains(@style,'border-style: {{arg2}};')]" parameterized="true"/> + <element name="borderColor" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][contains(@style,'border-color: {{arg2}};')]" parameterized="true"/> + <element name="noBorderColor" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][not(contains(@style,'border-color:'))]" parameterized="true"/> + <element name="borderWidth" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][contains(@style,'border-width: {{arg2}}px;')]" parameterized="true"/> + <element name="borderRadius" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][contains(@style,'border-radius: {{arg2}}px;')]" parameterized="true"/> + <element name="cssClasses" type="text" selector="(//div[contains(@class,'pagebuilder-video-inner')])[{{arg1}}]/parent::div[contains(@class,'{{arg2}}')]" parameterized="true"/> + <element name="noCssClasses" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}]" parameterized="true"/> + <element name="margins" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][contains(@style,'margin: {{arg2}}px;')]" parameterized="true"/> + <element name="padding" type="text" selector="(//div[contains(@class,'pagebuilder-video-wrapper')])[{{arg1}}][contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/> </section> <section name="VideoOnStorefront"> <element name="mainCSS" type="text" selector="[data-content-type=video][data-element=main]"/> @@ -49,31 +49,27 @@ <!-- Empty Video --> <element name="empty" type="text" selector="//div[@data-content-type='video'][count(iframe)=0]"/> <!-- General Configuration --> - <element name="base" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]"/> - <element name="hidden" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style, 'display: none')]"/> - <element name="notHidden" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(contains(@style, 'display: none'))]"/> - <element name="iframe" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//iframe[@data-element='video']"/> - <element name="source" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][contains(@src,'{{url}}')]"/> - <element name="videoElement" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//iframe[@data-element='video']|(//div[@data-content-type='video'])[{{videoIndex}}]//video[@data-element='video']"/> - <element name="videoUrl" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][contains(@src,'{{source}}')]"/> - <element name="videoAutoplay" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][@autoplay='true']"/> - <element name="videoNoAutoplay" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//*[@data-element='video'][not(@autoplay)]"/> - <element name="videoElementCss" type="text" selector="[data-content-type=video] [data-element=video]"/> - <element name="iframePlaying" type="text" selector="//div[@id='player']/div[contains(@class,'playing-mode')]"/> - <element name="iframeNotAutoplaying" type="text" selector="//div[@id='player']//div[contains(@class,'unstarted-mode')]"/> - <element name="width" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][contains(@style,'max-width: {{width}}')]"/> - <element name="noWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='inner'][not(starts-with(@style,'max-width:')) and not(contains(@style,' max-width:'))]"/> + <element name="base" type="text" selector="(//div[@data-content-type='video']//iframe)[{{arg1}}]" parameterized="true"/> + <element name="hidden" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][contains(@style, 'display: none')]" parameterized="true"/> + <element name="notHidden" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][not(contains(@style, 'display: none'))]" parameterized="true"/> + <element name="iframe" type="text" selector="(//div[@data-content-type='video']//iframe)[{{arg1}}]" parameterized="true"/> + <element name="source" type="text" selector="(//div[@data-content-type='video']//iframe)[{{arg1}}][contains(@src, '{{arg2}}')]" parameterized="true"/> + <element name="width" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='inner'][contains(@style,'max-width: {{arg2}}')]" parameterized="true"/> + <element name="noWidth" type="text" selector="(//div[@data-content-type='video']//iframe)[{{arg1}}][not(starts-with(@style,'width:')) and not(contains(@style,' width:'))]" parameterized="true"/> + <element name="videoElement" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//iframe|(//div[@data-content-type='row'])[{{videoIndex}}]//video"/> + <element name="iframePlaying" type="text" selector="(//div[@id='player'])[{{playerIndex}}]//div[contains(@class, 'playing-mode')]" parameterized="true"/> + <element name="iframeNotAutoplaying" type="text" selector="(//div[@id='player'])[{{playerIndex}}]//div[contains(@class, 'unstarted-mode')]" parameterized="true"/> <!-- Advanced Configuration --> - <element name="alignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'text-align: {{alignment}};')]"/> - <element name="noAlignment" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(contains(@style,'text-align'))]"/> - <element name="border" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-style: {{border}};')]"/> - <element name="borderColor" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-color: {{borderColor}};')]"/> - <element name="noBorderColor" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][not(contains(@style,'border-color:'))]"/> - <element name="borderWidth" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-width: {{borderWidth}}px;')]"/> - <element name="borderRadius" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'border-radius: {{borderRadius}}px;')]"/> - <element name="cssClasses" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@class,'{{cssClasses}}')]"/> - <element name="noCssClasses" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][not(@class)]"/> - <element name="margins" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}][contains(@style,'margin: {{margins}}px;')]"/> - <element name="padding" type="text" parameterized="true" selector="(//div[@data-content-type='video'])[{{videoIndex}}]//div[@data-element='wrapper'][contains(@style,'padding: {{padding}}px;')]"/> + <element name="alignment" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/> + <element name="noAlignment" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][not(contains(@style,'text-align'))]" parameterized="true"/> + <element name="border" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'border-style: {{arg2}};')]" parameterized="true"/> + <element name="borderColor" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'border-color: {{arg2}};')]" parameterized="true"/> + <element name="noBorderColor" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][not(contains(@style,'border-color:'))]" parameterized="true"/> + <element name="borderWidth" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'border-width: {{arg2}}px;')]" parameterized="true"/> + <element name="borderRadius" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'border-radius: {{arg2}}px;')]" parameterized="true"/> + <element name="cssClasses" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][contains(@class,'{{arg2}}')]" parameterized="true"/> + <element name="noCssClasses" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][not(@class)]" parameterized="true"/> + <element name="margins" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}][contains(@style,'margin: {{arg2}}px;')]" parameterized="true"/> + <element name="padding" type="text" selector="(//div[@data-content-type='video'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/> </section> </sections> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml index 79d45dd6200..205120edf38 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml @@ -3442,49 +3442,50 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings4"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Stage"> <argument name="section" value="BannerOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> </actionGroup> <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> <!-- Validate Storefront --> + <amOnUrl url="{{_ENV.MAGENTO_BASE_URL}}" stepKey="goBackToMagento"/> <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner1Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner2Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner3Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioBanner4Storefront"> <argument name="section" value="BannerOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml index 907b450618a..3b29bb1f780 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml @@ -2270,19 +2270,19 @@ <argument name="property" value="PageBuilderRowAppearance_FullBleed"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Stage"> <argument name="section" value="RowOnStage"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -2292,17 +2292,17 @@ <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Storefront"> <argument name="section" value="RowOnStorefront"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Storefront"> <argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Storefront"> <argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml index 7369a20e834..de1d211a8d8 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml @@ -3204,12 +3204,12 @@ <argument name="property" value="PageBuilderMinHeightProperty_500px"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/> - <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL.height}}")" stepKey="expectedVideoAspectRatio"/> + <executeJS function="return parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.width}}") / parseInt("{{PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure.height}}")" stepKey="expectedVideoAspectRatio"/> <!-- Validate Stage --> <actionGroup ref="switchSlide" stepKey="showSlide1"> <argument name="slideIndex" value="1"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> @@ -3217,7 +3217,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide2"> <argument name="slideIndex" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> @@ -3225,7 +3225,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide3"> <argument name="slideIndex" value="3"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -3233,7 +3233,7 @@ <actionGroup ref="switchSlide" stepKey="showSlide4"> <argument name="slideIndex" value="4"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Stage"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Stage"> <argument name="section" value="SlideOnBackend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> @@ -3243,7 +3243,7 @@ <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="1"/> @@ -3253,7 +3253,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="2"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="2"/> @@ -3263,7 +3263,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="3"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="3"/> @@ -3273,7 +3273,7 @@ <argument name="slideSection" value="SlideOnFrontend"/> <argument name="slideIndex" value="4"/> </actionGroup> - <actionGroup ref="validateVideoBackgroundVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Storefront"> + <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Storefront"> <argument name="section" value="SlideOnFrontend"/> <argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/> <argument name="index" value="4"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml index f33d675f036..992446a5b45 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml @@ -235,27 +235,18 @@ </actionGroup> <!-- Validate Default Values --> <comment userInput="Validate Default Values" stepKey="CommentValidateDefaultValues"/> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getUrl"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getUrl"/> <assertEmpty message="Text field was not empty. Had text: $getUrl" stepKey="assertUrl"> <actualResult type="variable">getUrl</actualResult> </assertEmpty> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getWidth"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getWidth"/> <assertEmpty message="Text field was not empty. Had text: $getWidth" stepKey="assertWidth"> <actualResult type="variable">getWidth</actualResult> </assertEmpty> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getHeight"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getHeight"/> <assertEmpty message="Text field was not empty. Had text: $getHeight" stepKey="assertHeight"> <actualResult type="variable">getHeight</actualResult> </assertEmpty> - <actionGroup ref="seeInFieldSlideOutProperty" stepKey="validateVideoUrlEmpty"> - <argument name="property" value="PageBuilderVideoUrl_Empty"/> - </actionGroup> - <actionGroup ref="validateSlideOutPanelFieldTooltip" stepKey="validateTooltipVideoUrl"> - <argument name="property" value="PageBuilderVideoUrl_Empty"/> - </actionGroup> - <actionGroup ref="seeInFieldSlideOutProperty" stepKey="validateWidthEmpty"> - <argument name="property" value="PageBuilderVideoWidth_Empty"/> - </actionGroup> <actionGroup ref="seeOptionIsNotCheckedSlideOutProperty" stepKey="validateAutoplay"> <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> </actionGroup> @@ -273,24 +264,18 @@ </actionGroup> <!-- Validate Edit Panel After Save --> <comment userInput="Validate Edit Panel After Save" stepKey="commentValidateEditPanel2"/> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getUrl2"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getUrl2"/> <assertEmpty message="Text field was not empty. Had text: $getUrl2" stepKey="assertUrl2"> <actualResult type="variable">getUrl2</actualResult> </assertEmpty> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getWidth2"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getWidth2"/> <assertEmpty message="Text field was not empty. Had text: $getWidth2" stepKey="assertWidth2"> <actualResult type="variable">getWidth2</actualResult> </assertEmpty> - <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Empty.section, PageBuilderVideoUrl_Empty.fieldName)}}" stepKey="getHeight2"/> + <grabValueFrom selector="{{EditPanelForm.panelFieldControl(PageBuilderVideoUrl_Default.section, PageBuilderVideoUrl_Default.fieldName)}}" stepKey="getHeight2"/> <assertEmpty message="Text field was not empty. Had text: $getHeight2" stepKey="assertHeight2"> <actualResult type="variable">getHeight2</actualResult> </assertEmpty> - <actionGroup ref="seeInFieldSlideOutProperty" stepKey="validateVideoUrlEmpty2"> - <argument name="property" value="PageBuilderVideoUrl_Empty"/> - </actionGroup> - <actionGroup ref="seeInFieldSlideOutProperty" stepKey="validateWidthEmpty2"> - <argument name="property" value="PageBuilderVideoWidth_Empty"/> - </actionGroup> <actionGroup ref="seeOptionIsNotCheckedSlideOutProperty" stepKey="validateAutoplay2"> <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> </actionGroup> @@ -299,7 +284,6 @@ </actionGroup> <!-- Validate Storefront --> <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> - <waitForElement selector="{{VideoOnStorefront.empty}}" stepKey="waitForVideo"/> <seeElementInDOM selector="{{VideoOnStorefront.empty}}" stepKey="seeVideo"/> </test> <test name="VideoValidateAdvancedConfigurationDefaultValues"> @@ -737,10 +721,10 @@ <annotations> <features value="PageBuilder"/> <stories value="Video"/> - <title value="Validate Valid and Invalid Video Urls"/> - <description value="Verify that the video URL field is required, only accepts valid urls, and that the user can set an embedded or non-embedded video background to a YouTube or Vimeo video, or to a stored .mp4 video."/> - <severity value="BLOCKER"/> - <useCaseId value="PB-375"/> + <title value="Invalid Video URLs"/> + <description value="Validate that validation message will display when inputting invalid video URL."/> + <severity value="AVERAGE"/> + <useCaseId value="MC-1410"/> <testCaseId value="MC-2514"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> @@ -783,7 +767,7 @@ <argument name="property" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeEmbedded"/> - <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeEmbeddedStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> @@ -795,7 +779,7 @@ <argument name="property" value="PageBuilderVideoUrl_NonEmbedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeNonEmbedded"/> - <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_NonEmbedded"/> </actionGroup> @@ -807,7 +791,7 @@ <argument name="property" value="PageBuilderVideoUrl_YouTube_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsInsecure"/> - <actionGroup ref="validateVideoUrl" stepKey="validateYouTubeInsecureStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeInsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube_Insecure"/> </actionGroup> @@ -819,7 +803,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_Embedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoEmbedded"/> - <actionGroup ref="validateVideoUrl" stepKey="validateVimeoEmbeddedStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_Embedded"/> </actionGroup> @@ -831,7 +815,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_NonEmbedded"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoNonEmbedded"/> - <actionGroup ref="validateVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_NonEmbedded"/> </actionGroup> @@ -843,7 +827,7 @@ <argument name="property" value="PageBuilderVideoUrl_Vimeo_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoInsecure"/> - <actionGroup ref="validateVideoUrl" stepKey="validateVimeoInsecureStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateVimeoInsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Vimeo_Insecure"/> </actionGroup> @@ -855,7 +839,7 @@ <argument name="property" value="PageBuilderVideoUrl_Mp4_URL"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4"/> - <actionGroup ref="validateVideoUrl" stepKey="validateMp4Stage"> + <actionGroup ref="validateVideoWithOnlyVideoUrlMp4" stepKey="validateMp4Stage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Mp4_URL"/> </actionGroup> @@ -867,7 +851,7 @@ <argument name="property" value="PageBuilderVideoUrl_Mp4_URL_Insecure"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4Insecure"/> - <actionGroup ref="validateVideoUrl" stepKey="validateMp4InsecureStage"> + <actionGroup ref="validateVideoWithOnlyVideoUrlMp4" stepKey="validateMp4InsecureStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_Mp4_URL_Insecure"/> </actionGroup> @@ -1472,17 +1456,19 @@ <dontSeeElementInDOM selector="{{VideoOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{VideoOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="VideoValidateAutoplayEnabled"> + <test name="RowValidateVideoBackgroundVideoURLs"> <annotations> <features value="PageBuilder"/> - <stories value="Video"/> - <title value="Validate Video Autoplay Attribute"/> - <description value="Validate that setting the autoplay attribute in the General form for Video will update the Stage and Storefront correctly."/> - <severity value="CRITICAL"/> - <useCaseId value="PB-375"/> - <testCaseId value="MC-32181"/> + <stories value="Row"/> + <title value="Validate Video Background Video Urls"/> + <description value="Verify that the video background URL field is required, only accepts valid urls, and that the user can set an embedded or non-embedded video background to a YouTube or Vimeo video, or to a stored .mp4 video."/> + <severity value="BLOCKER"/> + <useCaseId value="PB-95"/> + <testCaseId value="MC-31294"/> <group value="pagebuilder"/> - <group value="pagebuilder-video"/> + <group value="pagebuilder-row"/> + <group value="pagebuilder-rowBackground"/> + <group value="pagebuilder-video-background"/> </annotations> <before> <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> @@ -1496,85 +1482,143 @@ <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> <actionGroup ref="logout" stepKey="logout"/> </after> - <!-- Add Video w/ Autoplay Enabled --> - <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> - <argument name="contentType" value="PageBuilderVideoContentType"/> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage"> + <argument name="contentType" value="PageBuilderRowContentType"/> </actionGroup> - <actionGroup ref="dragContentTypeToStage" stepKey="dragVideoIntoStage"> - <argument name="contentType" value="PageBuilderVideoContentType"/> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterMinHeightProperty"> + <argument name="property" value="PageBuilderMinHeightProperty_200px"/> </actionGroup> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditAfterDrop"> - <argument name="contentType" value="PageBuilderVideoContentType"/> + <actionGroup ref="chooseVisualSelectOption" stepKey="setBackgroundType"> + <argument name="property" value="PageBuilderBackgroundType_Video"/> </actionGroup> - <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlProperty"> - <argument name="property" value="PageBuilderVideoUrl_YouTube"/> + <!-- Validate URL Required --> + <actionGroup ref="saveEditPanelAndValidateFieldError" stepKey="validateUrlErrorMessageEmpty"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Empty"/> </actionGroup> - <actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setAutoplayEnabled"> - <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> + <!-- Validate Invalid URL Message --> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlInvalid"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Invalid_Text"/> </actionGroup> - <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> - <!-- Validate Stage --> - <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStage"> - <argument name="page" value="VideoOnStage"/> + <actionGroup ref="saveEditPanelAndValidateFieldError" stepKey="validateUrlErrorMessageInvalid"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Invalid_Text"/> </actionGroup> - <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage"> - <argument name="page" value="VideoOnStage"/> + <!-- Update to YouTube Embedded --> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeEmbedded"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_Embedded"/> </actionGroup> - <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> - <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> - <!-- Validate Stage After Save --> - <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStage2"> - <argument name="page" value="VideoOnStage"/> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeEmbedded"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeEmbeddedStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_Embedded"/> </actionGroup> - <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage2"> - <argument name="page" value="VideoOnStage"/> + <!-- Update to YouTube Non-Embedded --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageYouTubeNonEmbedded"> + <argument name="contentType" value="PageBuilderRowContentType"/> </actionGroup> - <!-- Validate Edit Panel After Save --> - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> - <argument name="contentType" value="PageBuilderVideoContentType"/> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeNonEmbedded"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/> </actionGroup> - <actionGroup ref="seeInFieldSlideOutProperty" stepKey="seeVideoUrlInAdmin"> - <argument name="property" value="PageBuilderVideoUrl_YouTube"/> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsYouTubeNonEmbedded"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeNonEmbeddedStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/> </actionGroup> - <actionGroup ref="seeOptionIsCheckedSlideOutProperty" stepKey="seeAutoplayEnabledAfterSave"> - <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> + <!-- Update to YouTube Insecure --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageYouTubeInsecure"> + <argument name="contentType" value="PageBuilderRowContentType"/> </actionGroup> - <!-- Validate Storefront --> - <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> - <argument name="page" value="$$createCMSPage.identifier$$"/> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeInsecure"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_Insecure"/> </actionGroup> - <actionGroup ref="validateVideoAutoPlay" stepKey="validateVideoAutoplayStorefront"> - <argument name="page" value="VideoOnStorefront"/> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsInsecure"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateYouTubeInsecureStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_Insecure"/> </actionGroup> - <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStorefront"> - <argument name="page" value="VideoOnStorefront"/> + <!-- Update to Vimeo Embedded--> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoEmbedded"> + <argument name="contentType" value="PageBuilderRowContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoEmbedded"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_Embedded"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoEmbedded"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoEmbeddedStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_Embedded"/> + </actionGroup> + <!-- Update to Vimeo Non-Embedded --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoNonEmbedded"> + <argument name="contentType" value="PageBuilderRowContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoNonEmbedded"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_NonEmbedded"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoNonEmbedded"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoNonEmbeddedStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_NonEmbedded"/> + </actionGroup> + <!-- Update to Vimeo Insecure --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoInsecure"> + <argument name="contentType" value="PageBuilderRowContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlVimeoInsecure"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Vimeo_Insecure"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsVimeoInsecure"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateVimeoInsecureStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Vimeo_Insecure"/> + </actionGroup> + <!-- Update to .mp4 URL --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageMp4"> + <argument name="contentType" value="PageBuilderRowContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlMp4"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Mp4_URL"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateMp4Stage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Mp4_URL"/> + </actionGroup> + <!-- Update to .mp4 URL Insecure --> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageMp4Insecure"> + <argument name="contentType" value="PageBuilderRowContentType"/> + </actionGroup> + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlMp4Insecure"> + <argument name="property" value="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure"/> + </actionGroup> + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsMp4Insecure"/> + <actionGroup ref="validateVideoBackgroundWithOnlyVideoUrl" stepKey="validateMp4InsecureStage"> + <argument name="section" value="RowOnStage"/> + <argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_Mp4_URL_Insecure"/> </actionGroup> </test> - <test name="VideoValidateAutoplayDisabled"> + <test name="VideoValidateAutoplayEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> <title value="Validate Video Autoplay Attribute"/> <description value="Validate that setting the autoplay attribute in the General form for Video will update the Stage and Storefront correctly."/> - <severity value="CRITICAL"/> + <severity value="BLOCKER"/> <useCaseId value="PB-375"/> - <testCaseId value="MC-32182"/> + <testCaseId value="PB-423"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> </annotations> <before> - <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> - <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> - <argument name="CMSPage" value="$$createCMSPage$$"/> - </actionGroup> + <actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> </before> <after> - <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> <actionGroup ref="logout" stepKey="logout"/> </after> - <!-- Add Video w/ Autoplay Disabled --> + <actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1587,75 +1631,63 @@ <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlProperty"> <argument name="property" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> - <actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setAutoplayDisabled"> - <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> + <actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setAutoplayEnabled"> + <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStage"> - <argument name="page" value="VideoOnStage"/> - </actionGroup> - <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage"> + <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <!-- Validate Stage After Save --> - <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStage2"> - <argument name="page" value="VideoOnStage"/> - </actionGroup> - <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage2"> + <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStage2"> <argument name="page" value="VideoOnStage"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> - <!-- Validate Edit Panel After Save --> <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> <actionGroup ref="seeInFieldSlideOutProperty" stepKey="seeVideoUrlInAdmin"> <argument name="property" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> - <actionGroup ref="seeOptionIsNotCheckedSlideOutProperty" stepKey="seeAutoplayDisabledAfterSave"> - <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> - </actionGroup> - <!-- Validate Storefront --> - <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> - <argument name="page" value="$$createCMSPage.identifier$$"/> + <actionGroup ref="seeOptionIsCheckedSlideOutProperty" stepKey="seeAutoplayEnabledAfterSave"> + <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> </actionGroup> - <actionGroup ref="validateVideoNoAutoPlay" stepKey="validateVideoNoAutoplayStorefront"> - <argument name="page" value="VideoOnStorefront"/> + <actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront"> + <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> - <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStorefront"> + <!-- Validate Storefront --> + <actionGroup ref="validateVideoPlaying" stepKey="validateVideoPlayingStorefront"> <argument name="page" value="VideoOnStorefront"/> <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> </test> - <test name="VideoValidateVideoAspectRatio"> + <test name="VideoValidateAutoplayDisabled"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> - <title value="Validate Video Aspect Ratio in Video Content Type"/> - <description value="Verify that the video aspect ratio in the video content type is correct."/> + <title value="Validate Video Autoplay Attribute"/> + <description value="Validate that setting the autoplay attribute in the General form for Video will update the Stage and Storefront correctly."/> <severity value="BLOCKER"/> <useCaseId value="PB-375"/> - <testCaseId value="MC-32217"/> + <testCaseId value="PB-424"/> <group value="pagebuilder"/> <group value="pagebuilder-video"/> </annotations> <before> - <createData entity="_emptyCmsPage" stepKey="createCMSPage"/> <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> - <actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage"> - <argument name="CMSPage" value="$$createCMSPage$$"/> - </actionGroup> + <actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/> <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> </before> <after> - <deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/> <actionGroup ref="logout" stepKey="logout"/> </after> - <!-- Add Video --> + <actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> @@ -1670,16 +1702,33 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <!-- Validate Stage --> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioStage"> - <argument name="section" value="VideoOnStage"/> + <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage"> + <argument name="page" value="VideoOnStage"/> + <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/> - <!-- Validate Storefront --> - <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront"> - <argument name="page" value="$$createCMSPage.identifier$$"/> + <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> + <!-- Validate Stage After Save --> + <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoNotPlayingStage2"> + <argument name="page" value="VideoOnStage"/> + <argument name="url" value="PageBuilderVideoUrl_YouTube"/> + </actionGroup> + <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> + <argument name="contentType" value="PageBuilderVideoContentType"/> + </actionGroup> + <actionGroup ref="seeInFieldSlideOutProperty" stepKey="seeVideoUrlInAdmin"> + <argument name="property" value="PageBuilderVideoUrl_YouTube"/> + </actionGroup> + <actionGroup ref="seeOptionIsNotCheckedSlideOutProperty" stepKey="seeAutoplayDisabledAfterSave"> + <argument name="property" value="PageBuilderVideoAutoplay_Disabled"/> + </actionGroup> + <actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront"> + <argument name="contentType" value="PageBuilderVideoContentType"/> </actionGroup> - <actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioStorefront"> - <argument name="section" value="VideoOnStorefront"/> + <!-- Validate Storefront --> + <actionGroup ref="validateVideoNotAutoplaying" stepKey="validateVideoPlayingStorefront"> + <argument name="page" value="VideoOnStorefront"/> + <argument name="url" value="PageBuilderVideoUrl_YouTube"/> </actionGroup> </test> </tests> diff --git a/app/code/Magento/PageBuilder/composer.json b/app/code/Magento/PageBuilder/composer.json index d80738517b2..ddebd9e2ad0 100644 --- a/app/code/Magento/PageBuilder/composer.json +++ b/app/code/Magento/PageBuilder/composer.json @@ -2,20 +2,20 @@ "name": "magento/module-page-builder", "description": "Page Builder module", "require": { - "magento/framework": "~102.0.5-alpha2", + "magento/framework": "*", "magento/module-eav": "*", - "magento/module-store": "~101.0.5-alpha2", - "magento/module-backend": "~101.0.5-alpha2", + "magento/module-store": "*", + "magento/module-backend": "*", "magento/module-cms": "*", - "magento/module-catalog": "~103.0.5-alpha2", + "magento/module-catalog": "*", "magento/module-catalog-inventory": "*", - "magento/module-config": "~101.1.5-alpha2", + "magento/module-config": "*", "magento/module-ui": "*", "magento/module-variable": "*", "magento/module-widget": "*", "magento/module-catalog-widget": "*", - "magento/module-rule": "~100.3.5-alpha2", - "magento/module-directory": "~100.3.5-alpha2", + "magento/module-rule": "*", + "magento/module-directory": "*", "magento/module-email": "*", "magento/module-theme": "*", "magento/module-wishlist": "*", diff --git a/app/code/Magento/PageBuilderAnalytics/composer.json b/app/code/Magento/PageBuilderAnalytics/composer.json index c6d1896c708..e61b68c5daa 100644 --- a/app/code/Magento/PageBuilderAnalytics/composer.json +++ b/app/code/Magento/PageBuilderAnalytics/composer.json @@ -2,9 +2,9 @@ "name": "magento/module-page-builder-analytics", "description": "Page Builder Analytics module", "require": { - "magento/module-analytics": "~100.3.5-alpha2", + "magento/module-analytics": "*", "magento/module-page-builder": "*", - "magento/framework": "~102.0.5-alpha2", + "magento/framework": "*", "php": "~7.1.3||~7.2.0||~7.3.0" }, "type": "magento2-module", From dd4fea7e6acfd9e474dfab3cbebbfef8aeb9d7a5 Mon Sep 17 00:00:00 2001 From: Anthoula Wojczak <awojczak@adobe.com> Date: Mon, 23 Mar 2020 14:47:50 -0500 Subject: [PATCH 12/20] PB-457: Fix copy & paste failing test in PageBuilder static tests - add to blacklist --- .../Magento/Test/Php/_files/blacklist/pagebuilder.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt new file mode 100644 index 00000000000..10ea5ee581a --- /dev/null +++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt @@ -0,0 +1,3 @@ +# Format: path to directory or path to file +# +# app/code/Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection.php From e7136f081a173efe543e502496f5a25f789a773b Mon Sep 17 00:00:00 2001 From: Anthoula Wojczak <awojczak@adobe.com> Date: Mon, 23 Mar 2020 16:42:10 -0500 Subject: [PATCH 13/20] PB-457: Fix copy & paste failing test in PageBuilder static tests - add to blacklist --- .../Test/Php/_files/{ => phpcpd}/blacklist/pagebuilder.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename dev/tests/static/testsuite/Magento/Test/Php/_files/{ => phpcpd}/blacklist/pagebuilder.txt (100%) diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt similarity index 100% rename from dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/pagebuilder.txt rename to dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt From 59ae4e8e86ac3248f90097edb604bd0d6e0b4aaf Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Mon, 23 Mar 2020 17:28:51 -0500 Subject: [PATCH 14/20] PB-457: Fix copy & paste failing test in PageBuilder static tests --- .../Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt index 10ea5ee581a..4ddb616926a 100644 --- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt +++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt @@ -1,3 +1 @@ -# Format: path to directory or path to file -# -# app/code/Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection.php +Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection.php From a3348881e5c98911e609ab6d3463ad7fc983172f Mon Sep 17 00:00:00 2001 From: Anthoula Wojczak <awojczak@adobe.com> Date: Tue, 24 Mar 2020 08:02:54 -0500 Subject: [PATCH 15/20] PB-457: Fix copy & paste failing test in PageBuilder static tests - add to blacklist --- .../Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt index 4ddb616926a..e81cfc1fdd0 100644 --- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt +++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt @@ -1 +1 @@ -Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection.php +Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection From f7f8f4dfcf978b003f1d9211fb47a24d76e98886 Mon Sep 17 00:00:00 2001 From: Anthoula Wojczak <awojczak@adobe.com> Date: Tue, 24 Mar 2020 10:37:50 -0500 Subject: [PATCH 16/20] PB-457: Fix copy & paste failing test in PageBuilder static tests - add to blacklist --- .../Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt index e81cfc1fdd0..8a35262aa16 100644 --- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt +++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/pagebuilder.txt @@ -1 +1 @@ -Magento/PageBuilder/Model/ResourceModel/Template/Grid/Collection +Magento/PageBuilder/Model/ResourceModel/Template/Grid From 3af6cf07cbe3791eb278238603305c824f5cdc83 Mon Sep 17 00:00:00 2001 From: Lena Orobei <oorobei@magento.com> Date: Wed, 25 Mar 2020 12:04:13 -0500 Subject: [PATCH 17/20] Revert "FIX #27117 Invalid functional Test names" --- ... AdminCMSBlockDisablePageBuilderTests.xml} | 2 +- ....xml => AdminCMSBlockPageBuilderTests.xml} | 30 +++---- ...> AdminCMSPageDisablePageBuilderTests.xml} | 2 +- ...t.xml => AdminCMSPagePageBuilderTests.xml} | 6 +- ...atalogCategoryDisablePageBuilderTests.xml} | 2 +- ... AdminCatalogCategoryPageBuilderTests.xml} | 36 ++++---- ...CatalogProductDisablePageBuilderTests.xml} | 4 +- ...> AdminCatalogProductPageBuilderTests.xml} | 58 ++++++------- ...inPageBuilderAdvancedConfigurationTest.xml | 38 ++++----- ...geBuilderBackgroundFormAttributeTests.xml} | 78 +++++++++--------- ...ilderBannerCollageCenterAppearanceTest.xml | 40 ++++----- ...BuilderBannerCollageLeftAppearanceTest.xml | 42 +++++----- ...uilderBannerCollageRightAppearanceTest.xml | 40 ++++----- .../Test/AdminPageBuilderBannerCommonTest.xml | 50 +++++------ ...nPageBuilderBannerPosterAppearanceTest.xml | 46 +++++------ ...lockRenderAddContentContentTypesTests.xml} | 16 ++-- ...erBlockRenderElementContentTypesTests.xml} | 24 +++--- ...derBlockRenderLayoutContentTypesTests.xml} | 32 ++++---- ...lderBlockRenderMediaContentTypesTests.xml} | 42 +++++----- .../Mftf/Test/AdminPageBuilderBlockTest.xml | 30 +++---- ...PageBuilderButtonGroupAppearanceTests.xml} | 44 +++++----- ...l => AdminPageBuilderButtonGroupTests.xml} | 26 +++--- ...uilderButtonItemGeneralAttributeTests.xml} | 16 ++-- ...AdminPageBuilderButtonItemMovingTests.xml} | 14 ++-- ...ml => AdminPageBuilderButtonItemTests.xml} | 34 ++++---- ...geBuilderColumnBackgroundAttributeTest.xml | 4 +- .../AdminPageBuilderColumnContentTest.xml | 14 ++-- .../Test/AdminPageBuilderColumnGridTest.xml | 44 +++++----- .../AdminPageBuilderColumnResizingTest.xml | 18 ++-- .../Mftf/Test/AdminPageBuilderColumnTest.xml | 54 ++++++------ .../Mftf/Test/AdminPageBuilderCommonTest.xml | 26 +++--- ...ageBuilderDividerGeneralAttributesTest.xml | 24 +++--- .../Mftf/Test/AdminPageBuilderDividerTest.xml | 24 +++--- ...> AdminPageBuilderFullScreenModeTests.xml} | 6 +- ...AdminPageBuilderHeadingEditOnStageTest.xml | 18 ++-- .../Mftf/Test/AdminPageBuilderHeadingTest.xml | 40 ++++----- .../Mftf/Test/AdminPageBuilderHtmlTest.xml | 28 +++---- .../Mftf/Test/AdminPageBuilderImageTest.xml | 34 ++++---- ...AdminPageBuilderMapCommonComponentTest.xml | 20 ++--- ...PageBuilderMapGoogleMapsSettingsTests.xml} | 24 +++--- ...nPageBuilderMapLocationAttributeTests.xml} | 24 +++--- ...l => AdminPageBuilderMapLocationTests.xml} | 16 ++-- ...ageBuilderMapMapSettingsAttributesTest.xml | 6 +- .../Mftf/Test/AdminPageBuilderMapPinTest.xml | 22 ++--- .../Mftf/Test/AdminPageBuilderPanelTest.xml | 28 +++---- ...AdminPageBuilderProductsCarouselTests.xml} | 62 +++++++------- ...> AdminPageBuilderProductsCommonTests.xml} | 26 +++--- ... => AdminPageBuilderProductsGridTests.xml} | 32 ++++---- ...dminPageBuilderReadNonMasterFormatTest.xml | 10 +-- ...nPageBuilderRowBackgroundAttributeTest.xml | 4 +- .../Test/AdminPageBuilderRowLayoutTest.xml | 12 +-- ...lderRowParallaxBackgroundAttributeTest.xml | 4 +- .../Mftf/Test/AdminPageBuilderRowTest.xml | 46 +++++------ ...SlideItemAppearanceCollageCenterTests.xml} | 38 ++++----- ...erSlideItemAppearanceCollageLeftTests.xml} | 40 ++++----- ...rSlideItemAppearanceCollageRightTests.xml} | 38 ++++----- ...BuilderSlideItemAppearancePosterTests.xml} | 38 ++++----- .../AdminPageBuilderSlideItemCommonTest.xml | 48 +++++------ .../AdminPageBuilderSliderCommonTests.xml | 40 ++++----- ....xml => AdminPageBuilderTabGroupTests.xml} | 44 +++++----- ...eBuilderTabItemBackgroundAttributeTest.xml | 4 +- ...nPageBuilderTabItemConfigurationTests.xml} | 32 ++++---- ...> AdminPageBuilderTabItemContentTests.xml} | 36 ++++---- ...=> AdminPageBuilderTabItemDeleteTests.xml} | 14 ++-- .../AdminPageBuilderTabItemLayoutTest.xml | 20 ++--- .../Mftf/Test/AdminPageBuilderTextTest.xml | 82 +++++++++---------- .../Mftf/Test/AdminPageBuilderVideoTest.xml | 30 +++---- ...nfigurationPageBuilderColumnGridTests.xml} | 6 +- ...reConfigurationPageBuilderEnableTests.xml} | 2 +- ...ationPageBuilderGoogleMapsAPIKeyTests.xml} | 14 ++-- ...rationPageBuilderGoogleMapsStyleTests.xml} | 8 +- 71 files changed, 978 insertions(+), 978 deletions(-) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSBlockDisablePageBuilderTest.xml => AdminCMSBlockDisablePageBuilderTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSBlockPageBuilderTest.xml => AdminCMSBlockPageBuilderTests.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSPageDisablePageBuilderTest.xml => AdminCMSPageDisablePageBuilderTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCMSPagePageBuilderTest.xml => AdminCMSPagePageBuilderTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogCategoryDisablePageBuilderTest.xml => AdminCatalogCategoryDisablePageBuilderTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogCategoryPageBuilderTest.xml => AdminCatalogCategoryPageBuilderTests.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogProductDisablePageBuilderTest.xml => AdminCatalogProductDisablePageBuilderTests.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminCatalogProductPageBuilderTest.xml => AdminCatalogProductPageBuilderTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBackgroundFormAttributeTest.xml => AdminPageBuilderBackgroundFormAttributeTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderAddContentContentTypesTest.xml => AdminPageBuilderBlockRenderAddContentContentTypesTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderElementContentTypesTest.xml => AdminPageBuilderBlockRenderElementContentTypesTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderLayoutContentTypesTest.xml => AdminPageBuilderBlockRenderLayoutContentTypesTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderBlockRenderMediaContentTypesTest.xml => AdminPageBuilderBlockRenderMediaContentTypesTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonGroupAppearanceTest.xml => AdminPageBuilderButtonGroupAppearanceTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonGroupTest.xml => AdminPageBuilderButtonGroupTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemGeneralAttributeTest.xml => AdminPageBuilderButtonItemGeneralAttributeTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemMovingTest.xml => AdminPageBuilderButtonItemMovingTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderButtonItemTest.xml => AdminPageBuilderButtonItemTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderFullScreenModeTest.xml => AdminPageBuilderFullScreenModeTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapGoogleMapsSettingsTest.xml => AdminPageBuilderMapGoogleMapsSettingsTests.xml} (97%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapLocationAttributeTest.xml => AdminPageBuilderMapLocationAttributeTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderMapLocationTest.xml => AdminPageBuilderMapLocationTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsCarouselTest.xml => AdminPageBuilderProductsCarouselTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsCommonTest.xml => AdminPageBuilderProductsCommonTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderProductsGridTest.xml => AdminPageBuilderProductsGridTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml => AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml} (96%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml => AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml} (95%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearanceCollageRightTest.xml => AdminPageBuilderSlideItemAppearanceCollageRightTests.xml} (94%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderSlideItemAppearancePosterTest.xml => AdminPageBuilderSlideItemAppearancePosterTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabGroupTest.xml => AdminPageBuilderTabGroupTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemConfigurationTest.xml => AdminPageBuilderTabItemConfigurationTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemContentTest.xml => AdminPageBuilderTabItemContentTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminPageBuilderTabItemDeleteTest.xml => AdminPageBuilderTabItemDeleteTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderColumnGridTest.xml => AdminStoreConfigurationPageBuilderColumnGridTests.xml} (99%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderEnableTest.xml => AdminStoreConfigurationPageBuilderEnableTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml => AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml} (98%) rename app/code/Magento/PageBuilder/Test/Mftf/Test/{AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml => AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml} (98%) diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml index 2714e573b5a..215627659c9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockDisablePageBuilderTests.xml @@ -63,7 +63,7 @@ <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" after="disableWYSIWYG"/> </after> </test> - <test name="PageBuilderCmsBlockDisablePageBuilderTest"> + <test name="PageBuilderCmsBlockDisablePageBuilder"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml index f67d5ec2f23..0b44220324e 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSBlockPageBuilderTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="PageBuilderCmsBlockVerifyPageBuilderEnableOnBlockPageWhenPageBuilderEnabledAndWYSIWYGDisabledTest"> + <test name="PageBuilderCmsBlockVerifyPageBuilderEnableOnBlockPageWhenPageBuilderEnabledAndWYSIWYGDisabled"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -51,7 +51,7 @@ </actionGroup> <actionGroup ref="verifyPageBuilderVisibleOnPage" stepKey="seePageBuilderOnPage"/> </test> - <test name="PageBuilderCmsBlockAddAndEditRowColumnSlideTest" extends="PageBuilderCatalogProductAddAndEditRowColumnSlideTest"> + <test name="PageBuilderCmsBlockAddAndEditRowColumnSlide" extends="PageBuilderCatalogProductAddAndEditRowColumnSlide"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -122,7 +122,7 @@ <seeNumberOfElements selector="{{RowOnStorefront.allRows}}" userInput="3" stepKey="see2RowsStorefront"/> <seeElement selector="{{RowOnStorefront.backgroundColor('3', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRowStorefront"/> </test> - <test name="PageBuilderCmsBlockVerifyCanMoveContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanMoveContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -185,7 +185,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanEditContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanEditContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -247,7 +247,7 @@ <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> <seeElement selector="{{RowOnStorefront.backgroundColor('2', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRowStorefront"/> </test> - <test name="PageBuilderCmsBlockVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanDuplicateContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -310,7 +310,7 @@ <seeElement selector="{{RowOnStorefront.backgroundColor('2', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRow1Storefront"/> <seeElement selector="{{RowOnStorefront.backgroundColor('3', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRow2Storefront"/> </test> - <test name="PageBuilderCmsBlockVerifyCanDeleteContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanDeleteContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -374,7 +374,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanAddChildContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanAddChildContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -434,7 +434,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanEditContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanEditContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -494,7 +494,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanDuplicateContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanDuplicateContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -554,7 +554,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanDeleteContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCmsBlockVerifyCanDeleteContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -618,7 +618,7 @@ </actionGroup> <comment userInput="---merging to remove step---" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCmsBlockVerifyCanMoveButtonItemsTest" extends="ButtonItemMoveButtonStackedAppearanceTest"> + <test name="PageBuilderCmsBlockVerifyCanMoveButtonItems" extends="ButtonItemMoveButtonStackedAppearance"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -672,7 +672,7 @@ <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> </test> - <test name="PageBuilderCmsBlockVerifyCanMoveSlideItemsTest" extends="SlideItemMoveSlideItemsToRearrangeTest"> + <test name="PageBuilderCmsBlockVerifyCanMoveSlideItems" extends="SlideItemMoveSlideItemsToRearrange"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -728,7 +728,7 @@ <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> </test> - <test name="PageBuilderCmsBlockVerifyCanMoveTabItemsTest" extends="TabsRearrangeTabItemsTest"> + <test name="PageBuilderCmsBlockVerifyCanMoveTabItems" extends="TabsRearrangeTabItems"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -782,7 +782,7 @@ <argument name="page" value="$$createCMSPage.identifier$$"/> </actionGroup> </test> - <test name="PageBuilderCmsBlockFullScreenCoversEntireScreenTest" extends="PageBuilderFullScreenCoversEntireScreenTest"> + <test name="PageBuilderCmsBlockFullScreenCoversEntireScreen" extends="PageBuilderFullScreenCoversEntireScreen"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> @@ -808,7 +808,7 @@ <deleteData createDataKey="createCMSPage" stepKey="deleteCreatedCategory" after="deleteCreatedProduct"/> </after> </test> - <test name="PageBuilderCmsBlockFullScreenLeftPanelHeightAndFunctionalityTest" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionalityTest"> + <test name="PageBuilderCmsBlockFullScreenLeftPanelHeightAndFunctionality" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionality"> <annotations> <features value="PageBuilder"/> <stories value="CMS Block"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml index c95cd52711d..f3b04afb37a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml @@ -111,7 +111,7 @@ <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" after="disableWYSIWYG"/> </after> </test> - <test name="PageBuilderCmsPageDisablePageBuilderTest"> + <test name="PageBuilderCmsPageDisablePageBuilder"> <annotations> <features value="PageBuilder"/> <stories value="CMS Page"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml index e752c805e27..f6c2aa4c09e 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="PageBuilderCMSPageVerifyPageBuilderEnableOnCMSPageWhenPageBuilderEnabledAndWYSIWYGEnabledTest"> + <test name="PageBuilderCMSPageVerifyPageBuilderEnableOnCMSPageWhenPageBuilderEnabledAndWYSIWYGEnabled"> <annotations> <features value="PageBuilder"/> <stories value="CMS Page"/> @@ -75,7 +75,7 @@ <seeOptionIsSelected selector="{{DefaultLayoutsSection.productLayout}}" userInput="{{PageBuilderFullWidthLayout.product}}" stepKey="seeNoLayoutUpdatesSelected1"/> <seeOptionIsSelected selector="{{DefaultLayoutsSection.categoryLayout}}" userInput="{{PageBuilderFullWidthLayout.category}}" stepKey="seeNoLayoutUpdatesSelected2"/> </test> - <test name="PageBuilderCMSPageCreateCMSPageFullWidthLayoutTest"> + <test name="PageBuilderCMSPageCreateCMSPageFullWidthLayout"> <annotations> <features value="PageBuilder"/> <stories value="CMS Page"/> @@ -133,7 +133,7 @@ </actionGroup> <actionGroup ref="verifyFullWidthLayout" stepKey="verifyFullWidthLayout"/> </test> - <test name="PageBuilderCMSPageCreateCMSPageWithInvalidFullWidthLayoutTest"> + <test name="PageBuilderCMSPageCreateCMSPageWithInvalidFullWidthLayout"> <annotations> <features value="PageBuilder"/> <stories value="CMS Page"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml index 3e2cef13332..1ee73fea27a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryDisablePageBuilderTests.xml @@ -23,7 +23,7 @@ <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" after="disableWYSIWYG"/> </after> </test> - <test name="PageBuilderCatalogCategoryDisablePageBuilderTest"> + <test name="PageBuilderCatalogCategoryDisablePageBuilder"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml index bc660f8e5ff..a2fb13fe414 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogCategoryPageBuilderTests.xml @@ -26,7 +26,7 @@ <comment userInput="PageBuilder is enabled so check default is full width" stepKey="commentSeeCategoryFullWidth" before="seeNoLayoutUpdatesSelected"/> <seeOptionIsSelected selector="{{DefaultLayoutsSection.categoryLayout}}" userInput="{{PageBuilderFullWidthLayout.category}}" stepKey="seeNoLayoutUpdatesSelected"/> </test> - <test name="PageBuilderCatalogCategoryVerifyPageBuilderVisibleTest"> + <test name="PageBuilderCatalogCategoryVerifyPageBuilderVisible"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -190,7 +190,7 @@ <argument name="section" value="ButtonItemOnStorefront"/> </actionGroup> </test> - <test name="PageBuilderCatalogCategoryUploadImageToCategoryTest" deprecated="Duplicate of MC-188. Remove in PB-413"> + <test name="PageBuilderCatalogCategoryUploadImageToCategory" deprecated="Duplicate of MC-188. Remove in PB-413"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -258,7 +258,7 @@ </actionGroup> <seeElement selector="{{ImageOnConfigurationPanel.imageSource(ImageUpload1.value)}}" stepKey="seeMainImageSource4"/> </test> - <test name="PageBuilderCatalogCategoryCreateCategoryWithPageBuilderDescriptionTest"> + <test name="PageBuilderCatalogCategoryCreateCategoryWithPageBuilderDescription"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -320,7 +320,7 @@ </actionGroup> <actionGroup ref="verifyFullWidthLayout" stepKey="verifyFullWidthLayout"/> </test> - <test name="PageBuilderCatalogCategoryCreateCategoryWithPageBuilderDescriptionAndInvalidPageLayoutTest"> + <test name="PageBuilderCatalogCategoryCreateCategoryWithPageBuilderDescriptionAndInvalidPageLayout"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -398,7 +398,7 @@ <waitForPageLoad stepKey="waitForPageReload"/> <waitForElementVisible selector="{{HeadingOnStorefront.headingText(PageBuilderHeadingTypeProperty_H2.value, PageBuilderHeadingTextProperty.value, '1')}}" stepKey="waitForStorefrontHeadingText2"/> </test> - <test name="PageBuilderCatalogCategoryAddAndEditRowColumnSlideTest" extends="PageBuilderCatalogProductAddAndEditRowColumnSlideTest"> + <test name="PageBuilderCatalogCategoryAddAndEditRowColumnSlide" extends="PageBuilderCatalogProductAddAndEditRowColumnSlide"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -434,7 +434,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanMoveContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanMoveContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -471,7 +471,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanEditContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanEditContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -506,7 +506,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanDuplicateContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -544,7 +544,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanDeleteContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanDeleteContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -583,7 +583,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanAddChildContentTypesFromOnHoverOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanAddChildContentTypesFromOnHoverOptionMenus" extends="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -618,7 +618,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanEditContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanEditContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -653,7 +653,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanDuplicateContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanDuplicateContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -691,7 +691,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanDeleteContentTypesFromOnClickOptionMenusTest" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogCategoryVerifyCanDeleteContentTypesFromOnClickOptionMenus" extends="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -730,7 +730,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanMoveButtonItemsTest" extends="ButtonItemMoveButtonStackedAppearanceTest"> + <test name="PageBuilderCatalogCategoryVerifyCanMoveButtonItems" extends="ButtonItemMoveButtonStackedAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -768,7 +768,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToCategoryDescription" after="navigateToStoreFront"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanMoveSlideItemsTest" extends="SlideItemMoveSlideItemsToRearrangeTest"> + <test name="PageBuilderCatalogCategoryVerifyCanMoveSlideItems" extends="SlideItemMoveSlideItemsToRearrange"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -814,7 +814,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToCategoryDescription" after="navigateToStoreFront"/> </test> - <test name="PageBuilderCatalogCategoryVerifyCanMoveTabItemsTest" extends="TabsRearrangeTabItemsTest"> + <test name="PageBuilderCatalogCategoryVerifyCanMoveTabItems" extends="TabsRearrangeTabItems"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -851,7 +851,7 @@ </actionGroup> <scrollTo selector="{{StorefrontCategoryMainSection.CatalogDescription}}" stepKey="scrollToCategoryDescription" after="navigateToStoreFront"/> </test> - <test name="PageBuilderCatalogCategoryFullScreenCoversEntireScreenTest" extends="PageBuilderFullScreenCoversEntireScreenTest"> + <test name="PageBuilderCatalogCategoryFullScreenCoversEntireScreen" extends="PageBuilderFullScreenCoversEntireScreen"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> @@ -877,7 +877,7 @@ </after> <comment userInput="---merging to remove step---" stepKey="openPageBuilderFullScreen"/> </test> - <test name="PageBuilderCatalogCategoryFullScreenLeftPanelHeightAndFunctionalityTest" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionalityTest"> + <test name="PageBuilderCatalogCategoryFullScreenLeftPanelHeightAndFunctionality" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionality"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Category"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml index d72b517cf6a..8b9c5d223e9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductDisablePageBuilderTests.xml @@ -48,7 +48,7 @@ </after> <remove keyForRemoval="assertInfo2"/> </test> - <test name="VerifydefaultcontrolsonproductshortdescriptionTest"> + <test name="Verifydefaultcontrolsonproductshortdescription"> <remove keyForRemoval="assertInfo16"/> </test> <test name="VerifyTinyMCEv4IsNativeWYSIWYGOnProductTest"> @@ -60,7 +60,7 @@ </after> <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" after="assertProductShortDescription"/> </test> - <test name="PageBuilderProductDisablePageBuilderTest"> + <test name="PageBuilderProductDisablePageBuilder"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml index eb9dcc79829..4d8d6390048 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCatalogProductPageBuilderTests.xml @@ -155,7 +155,7 @@ <argument name="section" value="ButtonItemOnStorefront"/> </actionGroup> </test> - <test name="PageBuilderCatalogProductCanCreatePageBuilderProductAttributeTest"> + <test name="PageBuilderCatalogProductCanCreatePageBuilderProductAttribute"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -183,7 +183,7 @@ <waitForPageLoad time="10" stepKey="waitForPageToLoad"/> <seeOptionIsSelected selector="{{AttributePropertiesSection.InputType}}" userInput="Page Builder" stepKey="seePageBuilderIsSaved"/> </test> - <test name="PageBuilderCatalogProductCanCreateProductWithPageBuilderProductAttributeTest"> + <test name="PageBuilderCatalogProductCanCreateProductWithPageBuilderProductAttribute"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -242,7 +242,7 @@ <waitForPageLoad stepKey="waitForPageLoad5"/> <see userInput="Hello Product Page From PageBuilder" stepKey="pagebuilderContent"/> </test> - <test name="PageBuilderCatalogProductCanDownGradePageBuilderProductAttributeToTextAreaTest"> + <test name="PageBuilderCatalogProductCanDownGradePageBuilderProductAttributeToTextArea"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -304,7 +304,7 @@ <dontSeeElement selector="{{PageBuilderProductAttribute.PageBuilderBtn($$myProductAttributeCreation.attribute_code$$)}}" stepKey="dontSeeTinyMCE4"/> <seeElement selector="{{ProductAttributeWYSIWYGSection.TextArea($$myProductAttributeCreation.attribute_code$$)}}" stepKey="seeTextAreaAttribute"/> </test> - <test name="PageBuilderCatalogProductCanDownGradePageBuilderProductAttributeToTextEditorTest"> + <test name="PageBuilderCatalogProductCanDownGradePageBuilderProductAttributeToTextEditor"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -366,7 +366,7 @@ <waitForPageLoad stepKey="waitForPageLoad9"/> <seeElement selector="{{ProductAttributeWYSIWYGSection.TinyMCE4($$myProductAttributeCreation.attribute_code$$)}}" stepKey="seeTinyMCE4Attribute"/> </test> - <test name="PageBuilderCatalogProductCanUpgradeTextEditorProductAttributeToPageBuilderTest"> + <test name="PageBuilderCatalogProductCanUpgradeTextEditorProductAttributeToPageBuilder"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -424,7 +424,7 @@ <waitForPageLoad stepKey="waitForPageLoad9"/> <seeElement selector="{{PageBuilderProductAttribute.PageBuilderBtn($$myProductAttributeCreation.attribute_code$$)}}" stepKey="seePagebuilderBtn"/> </test> - <test name="PageBuilderCatalogProductCanCreatePageBuilderProductAttributeOnProductFormTest"> + <test name="PageBuilderCatalogProductCanCreatePageBuilderProductAttributeOnProductForm"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -484,7 +484,7 @@ <waitForPageLoad stepKey="waitForPageLoad5"/> <see userInput="Hello Product Page From PageBuilder" stepKey="pagebuilderContent"/> </test> - <test name="PageBuilderCatalogProductCreateProductWithPageBuilderDescriptionTest"> + <test name="PageBuilderCatalogProductCreateProductWithPageBuilderDescription"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -557,7 +557,7 @@ <waitForPageLoad stepKey="waitForPageLoadProductPage"/> <actionGroup ref="verifyFullWidthLayout" stepKey="verifyFullWidthLayout"/> </test> - <test name="PageBuilderCatalogProductCreateProductWithPageBuilderDescriptionAndInvalidLayoutTest"> + <test name="PageBuilderCatalogProductCreateProductWithPageBuilderDescriptionAndInvalidLayout"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -648,7 +648,7 @@ <waitForPageLoad stepKey="waitForPageReload"/> <waitForElementVisible selector="{{HeadingOnStorefront.headingText(PageBuilderHeadingTypeProperty_H2.value, PageBuilderHeadingTextProperty.value, '1')}}" stepKey="waitForStorefrontHeadingText2"/> </test> - <test name="PageBuilderCatalogProductCreateProductWithFullWidthPageBuilderAttributeTest"> + <test name="PageBuilderCatalogProductCreateProductWithFullWidthPageBuilderAttribute"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -745,7 +745,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="PageBuilderCatalogProductCreateProductWithNormalAttributeValidateInTableFullWidthTest"> + <test name="PageBuilderCatalogProductCreateProductWithNormalAttributeValidateInTableFullWidth"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -793,7 +793,7 @@ <waitForPageLoad stepKey="waitForPageLoadProductPage"/> <waitForElementVisible selector="{{PageBuilderProductStorefront.attributeTableValue($$createTextAttribute.default_frontend_label$$, 'Normal Text Attribute Value')}}" stepKey="seeAttributeValueInTable"/> </test> - <test name="PageBuilderCatalogProductProductFullWidthValidateAttributeOrderTest"> + <test name="PageBuilderCatalogProductProductFullWidthValidateAttributeOrder"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -913,7 +913,7 @@ <waitForElementVisible selector="{{PageBuilderProductStorefront.attributeSectionHeading('2', $$createPageBuilderAttribute1.default_frontend_label$$)}}" stepKey="validateAttribute1DisplayedSecond"/> <waitForElementVisible selector="{{PageBuilderProductStorefront.attributeSectionHeading('1', $$createPageBuilderAttribute2.default_frontend_label$$)}}" stepKey="validateAttribute2DisplayedFirst"/> </test> - <test name="PageBuilderCatalogProductStorefrontPageBuilderFullWidthProductsContentsAreOrderedCorrectlyTest"> + <test name="PageBuilderCatalogProductStorefrontPageBuilderFullWidthProductsContentsAreOrderedCorrectly"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1074,7 +1074,7 @@ <actualResult type="variable">upsellPosition</actualResult> </assertGreaterThan> </test> - <test name="PageBuilderCatalogProductRowCanAddAdditionalRowOnProductTest"> + <test name="PageBuilderCatalogProductRowCanAddAdditionalRowOnProduct"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1125,7 +1125,7 @@ <actionGroup ref="openPageBuilderForAttribute" stepKey="openPageBuilderForDescription"/> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="2" stepKey="seeSavedNumberOfRows2"/> </test> - <test name="PageBuilderCatalogProductAddAndEditRowColumnSlideTest"> + <test name="PageBuilderCatalogProductAddAndEditRowColumnSlide"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1276,7 +1276,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.backgroundColor('3', PageBuilderBackgroundColor_RGB_Blue.rgb)}}" stepKey="seeBackgroundColorSlide2Storefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanMoveContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1418,7 +1418,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1488,7 +1488,7 @@ <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" stepKey="scrollToProductDescription"/> <seeElement selector="{{RowOnStorefront.backgroundColor('1', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRowStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1569,7 +1569,7 @@ <seeElement selector="{{RowOnStorefront.backgroundColor('1', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRow1Storefront"/> <seeElement selector="{{RowOnStorefront.backgroundColor('2', PageBuilderBackgroundColor_Hex_Grey.rgb)}}" stepKey="seeBackgroundColorRow2Storefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1642,7 +1642,7 @@ <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" stepKey="scrollToProductDescription"/> <dontSeeElementInDOM selector="{{DividerOnStorefront.allDividers}}" stepKey="dontSeeDividerInStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanAddChildContentTypesFromOnHoverOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1708,7 +1708,7 @@ <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" stepKey="scrollToProductDescription"/> <seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="2" stepKey="see2ButtonItemsStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1787,7 +1787,7 @@ <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" stepKey="scrollToProductDescription"/> <seeElement selector="{{SlideOnFrontend.backgroundColor('1', PageBuilderBackgroundColor_Plaintext_Green.rgb)}}" stepKey="seeBackgroundColorSlideStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1877,7 +1877,7 @@ <seeElement selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemText('1', PageBuilderButtonItemText_Common.value)}}" stepKey="seeButton1TextStorefront"/> <seeElement selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemText('2', PageBuilderButtonItemText_Common.value)}}" stepKey="seeButton2TextStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenusTest"> + <test name="PageBuilderCatalogProductVerifyCanDeleteContentTypesFromOnClickOptionMenus"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -1957,7 +1957,7 @@ <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" stepKey="scrollToProductDescription"/> <seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="1" stepKey="see1ButtonItemStorefront"/> </test> - <test name="PageBuilderCatalogProductVerifyCanMoveButtonItemsTest" extends="ButtonItemMoveButtonStackedAppearanceTest"> + <test name="PageBuilderCatalogProductVerifyCanMoveButtonItems" extends="ButtonItemMoveButtonStackedAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2000,7 +2000,7 @@ </actionGroup> <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" after="navigateToStoreFront" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogProductVerifyCanMoveSlideItemsTest" extends="SlideItemMoveSlideItemsToRearrangeTest"> + <test name="PageBuilderCatalogProductVerifyCanMoveSlideItems" extends="SlideItemMoveSlideItemsToRearrange"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2050,7 +2050,7 @@ </actionGroup> <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" after="navigateToStoreFront" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogProductVerifyCanMoveTabItemsTest" extends="TabsRearrangeTabItemsTest"> + <test name="PageBuilderCatalogProductVerifyCanMoveTabItems" extends="TabsRearrangeTabItems"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2092,7 +2092,7 @@ </actionGroup> <scrollTo selector="{{StorefrontProductInfoMainSection.productDescription}}" after="navigateToStoreFront" stepKey="scrollToProductDescription"/> </test> - <test name="PageBuilderCatalogProductFullScreenCoversEntireScreenTest" extends="PageBuilderFullScreenCoversEntireScreenTest"> + <test name="PageBuilderCatalogProductFullScreenCoversEntireScreen" extends="PageBuilderFullScreenCoversEntireScreen"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2123,7 +2123,7 @@ </after> <comment userInput="---merging to remove step---" stepKey="openPageBuilderFullScreen"/> </test> - <test name="PageBuilderCatalogProductFullScreenLeftPanelHeightAndFunctionalityTest" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionalityTest"> + <test name="PageBuilderCatalogProductFullScreenLeftPanelHeightAndFunctionality" extends="PageBuilderFullScreenLeftPanelHeightAndFunctionality"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2154,7 +2154,7 @@ </after> <comment userInput="---merging to remove step---" stepKey="openPageBuilderFullScreen"/> </test> - <test name="PageBuilderWorksForEachCatalogProductAttributeTest"> + <test name="PageBuilderWorksForEachCatalogProductAttribute"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> @@ -2365,7 +2365,7 @@ <seeElement selector="{{HeadingOnStorefront.headingType(PageBuilderHeadingTypeProperty_H1.value, '1')}}" stepKey="seeHeadingStyleStorefront"/> <seeElement selector="{{HeadingOnStorefront.headingText(PageBuilderHeadingTypeProperty_H1.value, PageBuilderHeadingTextProperty.value, '1')}}" stepKey="seeHeadingTextStorefront"/> </test> - <test name="HtmlAddToCatalogProductTest"> + <test name="HtmlAddToCatalogProduct"> <annotations> <features value="PageBuilder"/> <stories value="Catalog Products"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml index 838b96569ce..21dea0c911b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderAdvancedConfigurationTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="AdvancedConfigurationEditPanelVisualTest"> + <test name="AdvancedConfigurationEditPanelVisual"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -151,7 +151,7 @@ <argument name="property" value="PageBuilderAdvancedBorderWidthPropertyDefault"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalAlignmentTest"> + <test name="AdvancedConfigurationFunctionalAlignment"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -356,7 +356,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorder1Test"> + <test name="AdvancedConfigurationFunctionalBorder1"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -589,7 +589,7 @@ <argument name="index" value="5"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorder2Test"> + <test name="AdvancedConfigurationFunctionalBorder2"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -825,7 +825,7 @@ <argument name="index" value="5"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorderColorTest"> + <test name="AdvancedConfigurationFunctionalBorderColor"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1089,7 +1089,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="AdvancedConfigurationInvalidBorderWidthTest"> + <test name="AdvancedConfigurationInvalidBorderWidth"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1169,7 +1169,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorderWidthTest"> + <test name="AdvancedConfigurationFunctionalBorderWidth"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1287,7 +1287,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorderWidth500Test"> + <test name="AdvancedConfigurationFunctionalBorderWidth500"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1368,7 +1368,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationInvalidBorderRadiusTest"> + <test name="AdvancedConfigurationInvalidBorderRadius"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1444,7 +1444,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalBorderRadiusTest"> + <test name="AdvancedConfigurationFunctionalBorderRadius"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1607,7 +1607,7 @@ <argument name="index" value="3"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalCSSClassesTest"> + <test name="AdvancedConfigurationFunctionalCSSClasses"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -1784,7 +1784,7 @@ <argument name="index" value="3"/> </actionGroup> </test> - <test name="AdvancedConfigurationInvalidMarginsTest"> + <test name="AdvancedConfigurationInvalidMargins"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2006,7 +2006,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalMarginsTest"> + <test name="AdvancedConfigurationFunctionalMargins"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2124,7 +2124,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalMargins500Test"> + <test name="AdvancedConfigurationFunctionalMargins500"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2199,7 +2199,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationInvalidPaddingTest"> + <test name="AdvancedConfigurationInvalidPadding"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2421,7 +2421,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalPaddingTest"> + <test name="AdvancedConfigurationFunctionalPadding"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2535,7 +2535,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalPadding500Test"> + <test name="AdvancedConfigurationFunctionalPadding500"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2610,7 +2610,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdvancedConfigurationFunctionalAllAttributesTest"> + <test name="AdvancedConfigurationFunctionalAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> @@ -2723,7 +2723,7 @@ <argument name="padding" value="PageBuilderPaddingPropertyUnique"/> </actionGroup> </test> - <test name="AdvancedConfigurationRemoveAllAttributesTest"> + <test name="AdvancedConfigurationRemoveAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Advanced Configuration"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml index 10f7be4d777..10dc624615f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBackgroundFormAttributeTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BackgroundColorEmptyTest"> + <test name="BackgroundColorEmpty"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -85,7 +85,7 @@ <argument name="section" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BackgroundColorPlainTextTest"> + <test name="BackgroundColorPlainText"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -159,7 +159,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_Plaintext_Green"/> </actionGroup> </test> - <test name="BackgroundColorHexTest"> + <test name="BackgroundColorHex"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -233,7 +233,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_Hex_White"/> </actionGroup> </test> - <test name="BackgroundColorRGBTest"> + <test name="BackgroundColorRGB"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -307,7 +307,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_RGB_Blue"/> </actionGroup> </test> - <test name="BackgroundColorRGBaTest"> + <test name="BackgroundColorRGBa"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -379,7 +379,7 @@ <waitForElementVisible selector="{{BannerOnFrontend.base('1')}}" stepKey="waitForBanner2"/> <waitForElementVisible selector="{{BannerOnFrontend.backgroundColor('1', PageBuilderBackgroundColor_RGBa_Blue.value)}}" stepKey="waitForBackgroundColor2"/> </test> - <test name="BackgroundColorHSVTest"> + <test name="BackgroundColorHSV"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -453,7 +453,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_HSV_Orange"/> </actionGroup> </test> - <test name="BackgroundColorHSLTest"> + <test name="BackgroundColorHSL"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -527,7 +527,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_HSL_Orange"/> </actionGroup> </test> - <test name="BackgroundColorInvalidTest"> + <test name="BackgroundColorInvalid"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -596,7 +596,7 @@ <argument name="backgroundColor" value="PageBuilderBackgroundColor_Plaintext_Green"/> </actionGroup> </test> - <test name="BackgroundImageJPGTest"> + <test name="BackgroundImageJPG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -674,7 +674,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundImageSelectFromGalleryJPGTest"> + <test name="BackgroundImageSelectFromGalleryJPG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -765,7 +765,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImageRoot_JPG"/> </actionGroup> </test> - <test name="BackgroundImageGIFTest"> + <test name="BackgroundImageGIF"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -843,7 +843,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_GIF"/> </actionGroup> </test> - <test name="BackgroundImagePNGTest"> + <test name="BackgroundImagePNG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -921,7 +921,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_PNG"/> </actionGroup> </test> - <test name="BackgroundImageSpecialCharactersTest"> + <test name="BackgroundImageSpecialCharacters"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -999,7 +999,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_SpecialCharacters"/> </actionGroup> </test> - <test name="BackgroundImageInvalidFileTypeTest"> + <test name="BackgroundImageInvalidFileType"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1071,7 +1071,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundImageInvalidFileSizeTest"> + <test name="BackgroundImageInvalidFileSize"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1143,7 +1143,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundImageInvalidMimeTypeTest" extends="BackgroundImageInvalidFileSizeTest"> + <test name="BackgroundImageInvalidMimeType" extends="BackgroundImageInvalidFileSize"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1163,7 +1163,7 @@ <argument name="property" value="PageBuilderBackgroundImage_InvalidMimeType"/> </actionGroup> </test> - <test name="BackgroundMobileImageJPGTest"> + <test name="BackgroundMobileImageJPG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1247,7 +1247,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_JPG"/> </actionGroup> </test> - <test name="BackgroundMobileImageSelectFromGalleryJPGTest"> + <test name="BackgroundMobileImageSelectFromGalleryJPG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1338,7 +1338,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImageRoot_JPG"/> </actionGroup> </test> - <test name="BackgroundMobileImageGIFTest"> + <test name="BackgroundMobileImageGIF"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1422,7 +1422,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="BackgroundMobileImagePNGTest"> + <test name="BackgroundMobileImagePNG"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1506,7 +1506,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_PNG"/> </actionGroup> </test> - <test name="BackgroundMobileImageSpecialCharactersTest"> + <test name="BackgroundMobileImageSpecialCharacters"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1590,7 +1590,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_SpecialCharacters"/> </actionGroup> </test> - <test name="BackgroundMobileImageInvalidFileTypeTest"> + <test name="BackgroundMobileImageInvalidFileType"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1677,7 +1677,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_JPG"/> </actionGroup> </test> - <test name="BackgroundMobileImageInvalidFileSizeTest"> + <test name="BackgroundMobileImageInvalidFileSize"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1764,7 +1764,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionTopLeftTest"> + <test name="BackgroundPositionTopLeft"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1859,7 +1859,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionTopCenterTest"> + <test name="BackgroundPositionTopCenter"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -1954,7 +1954,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionTopRightTest"> + <test name="BackgroundPositionTopRight"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2049,7 +2049,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionCenterLeftTest"> + <test name="BackgroundPositionCenterLeft"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2144,7 +2144,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionCenterTest"> + <test name="BackgroundPositionCenter"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2239,7 +2239,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionCenterRightTest"> + <test name="BackgroundPositionCenterRight"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2334,7 +2334,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionBottomLeftTest"> + <test name="BackgroundPositionBottomLeft"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2429,7 +2429,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionBottomCenterTest"> + <test name="BackgroundPositionBottomCenter"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2524,7 +2524,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundPositionBottomRightTest"> + <test name="BackgroundPositionBottomRight"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2619,7 +2619,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundRepeatEnabledTest"> + <test name="BackgroundRepeatEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2714,7 +2714,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundRepeatDisabledTest"> + <test name="BackgroundRepeatDisabled"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2809,7 +2809,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundSizeAutoTest"> + <test name="BackgroundSizeAuto"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2904,7 +2904,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundSizeCoverTest"> + <test name="BackgroundSizeCover"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -2999,7 +2999,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundSizeContainTest"> + <test name="BackgroundSizeContain"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -3094,7 +3094,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundAttachmentScrollTest"> + <test name="BackgroundAttachmentScroll"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> @@ -3189,7 +3189,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BackgroundAttachmentFixedTest"> + <test name="BackgroundAttachmentFixed"> <annotations> <features value="PageBuilder"/> <stories value="Background Form"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml index 7e4443b7e05..b4365c38a11 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageCenterAppearanceTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BannerCollageCenterCanInlineEditContentTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageCenterCanInlineEditContent" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -31,7 +31,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageCenterCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="BannerCollageCenterCanInlineEditContentWhenIn25PercentWidthColumn" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -54,7 +54,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageCenterWYSIWYGDisabledInlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageCenterWYSIWYGDisabledInlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -99,7 +99,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageCenterTinyMCE3InlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageCenterTinyMCE3InlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -138,7 +138,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageCenterMobileWithMobileImageValuesTest"> + <test name="BannerCollageCenterMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -224,7 +224,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="BannerCollageCenterMobileWithoutMobileImageValuesTest"> + <test name="BannerCollageCenterMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -301,7 +301,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BannerCollageCenterButtonNeverShowTest"> + <test name="BannerCollageCenterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -376,7 +376,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <dontSeeElementInDOM selector="{{BannerOnFrontend.button('1')}}" stepKey="dontSeeButtonInDOMOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageCenterButtonOnHoverTest"> + <test name="BannerCollageCenterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -454,7 +454,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.button('1')}}" stepKey="seeButtonOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageCenterOverlayNeverShowTest"> + <test name="BannerCollageCenterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -529,7 +529,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparentOverlayOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageCenterOverlayOnHoverTest" extends="BannerPosterOverlayOnHoverTest"> + <test name="BannerCollageCenterOverlayOnHover" extends="BannerPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -550,7 +550,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageCenterOverlayAndButtonOnHoverTest" extends="BannerPosterOverlayAndButtonOnHoverTest"> + <test name="BannerCollageCenterOverlayAndButtonOnHover" extends="BannerPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -571,7 +571,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageCenterOverlayPositionTest" extends="BannerCollageLeftOverlayPositionTest"> + <test name="BannerCollageCenterOverlayPosition" extends="BannerCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -605,7 +605,7 @@ <argument name="page" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BannerCollageCenterButtonsCanBeEditedInlineTest"> + <test name="BannerCollageCenterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -670,7 +670,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty2.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="BannerCollageCenterUpdateAdvancedConfigurationValuesTest"> + <test name="BannerCollageCenterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -835,7 +835,7 @@ <seeElement selector="{{BannerOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{BannerOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="BannerCollageCenterUpdateAllAttributesTest"> + <test name="BannerCollageCenterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1172,7 +1172,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="BannerCollageCenterHtmlValueInButtonsTest"> + <test name="BannerCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1241,7 +1241,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty_Html.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="BannerCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="BannerCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1302,7 +1302,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <see selector="{{BannerOnFrontend.button('1')}}" userInput="{{PageBuilderBannerButtonTextProperty_Non_Breaking_Space.value}}" stepKey="seeStorefrontNBSPButtonAfterSave"/> </test> - <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageCenteredAppearanceTest" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearanceTest"> + <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageCenteredAppearance" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1335,7 +1335,7 @@ <actualResult type="variable">$overlayBorderRadiusStorefront2</actualResult> </assertEquals> </test> - <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageCenterAppearanceTest" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageCenterAppearance" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1364,7 +1364,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="BannerCollageCenterAlignmentInheritanceTest" extends="BannerPosterAlignmentInheritanceTest"> + <test name="BannerCollageCenterAlignmentInheritance" extends="BannerPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml index a9f3eb8198f..2be39ebac43 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageLeftAppearanceTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BannerCollageLeftCanInlineEditContentTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageLeftCanInlineEditContent" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -31,7 +31,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageLeftCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="BannerCollageLeftCanInlineEditContentWhenIn25PercentWidthColumn" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -54,7 +54,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageLeftWYSIWYGDisabledInlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageLeftWYSIWYGDisabledInlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -99,7 +99,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageLeftTinyMCE3InlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageLeftTinyMCE3InlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -138,7 +138,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageLeftMobileWithMobileImageValuesTest"> + <test name="BannerCollageLeftMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -224,7 +224,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="BannerCollageLeftMobileWithoutMobileImageValuesTest"> + <test name="BannerCollageLeftMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -301,7 +301,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BannerCollageLeftButtonNeverShowTest"> + <test name="BannerCollageLeftButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -376,7 +376,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <dontSeeElementInDOM selector="{{BannerOnFrontend.button('1')}}" stepKey="dontSeeButtonInDOMOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageLeftButtonOnHoverTest"> + <test name="BannerCollageLeftButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -454,7 +454,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.button('1')}}" stepKey="seeButtonOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageLeftOverlayNeverShowTest"> + <test name="BannerCollageLeftOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -529,7 +529,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparentOverlayOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageLeftOverlayOnHoverTest" extends="BannerPosterOverlayOnHoverTest"> + <test name="BannerCollageLeftOverlayOnHover" extends="BannerPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -550,7 +550,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageLeftOverlayAndButtonOnHoverTest" extends="BannerPosterOverlayAndButtonOnHoverTest"> + <test name="BannerCollageLeftOverlayAndButtonOnHover" extends="BannerPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -571,7 +571,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageLeftOverlayPositionTest"> + <test name="BannerCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -660,7 +660,7 @@ <argument name="page" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BannerCollageLeftButtonsCanBeEditedInlineTest"> + <test name="BannerCollageLeftButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -725,7 +725,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty2.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="BannerCollageLeftUpdateAdvancedConfigurationValuesTest"> + <test name="BannerCollageLeftUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -890,7 +890,7 @@ <seeElement selector="{{BannerOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{BannerOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="BannerCollageLeftWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="BannerCollageLeftWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -934,7 +934,7 @@ <argument name="content" value="{{BannerOnFrontend.wrapperCSS}}"/> </actionGroup> </test> - <test name="BannerCollageLeftUpdateAllAttributesTest"> + <test name="BannerCollageLeftUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1271,7 +1271,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="BannerCollageLeftHtmlValueInButtonsTest" extends="BannerCollageCenterHtmlValueInButtonsTest"> + <test name="BannerCollageLeftHtmlValueInButtons" extends="BannerCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1288,7 +1288,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="BannerCollageLeftNonBreakingSpaceValueInButtonsTest" extends="BannerCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="BannerCollageLeftNonBreakingSpaceValueInButtons" extends="BannerCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1305,7 +1305,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageLeftAppearanceTest" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearanceTest"> + <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageLeftAppearance" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1338,7 +1338,7 @@ <actualResult type="variable">$overlayBorderRadiusStorefront2</actualResult> </assertEquals> </test> - <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageLeftAppearanceTest" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageLeftAppearance" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1367,7 +1367,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="BannerCollageLeftAlignmentInheritanceTest" extends="BannerPosterAlignmentInheritanceTest"> + <test name="BannerCollageLeftAlignmentInheritance" extends="BannerPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml index 1d4ed800cb1..8bccaaf4d14 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCollageRightAppearanceTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BannerCollageRightCanInlineEditContentTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageRightCanInlineEditContent" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -31,7 +31,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageRightCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="BannerCollageRightCanInlineEditContentWhenIn25PercentWidthColumn" extends="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -54,7 +54,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" after="enterAppearancePropertyExtended" stepKey="saveEditPanelSettingsExtended"/> </test> - <test name="BannerCollageRightWYSIWYGDisabledInlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageRightWYSIWYGDisabledInlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -99,7 +99,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageRightTinyMCE3InlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerCollageRightTinyMCE3InlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -138,7 +138,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerCollageRightMobileWithMobileImageValuesTest"> + <test name="BannerCollageRightMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -224,7 +224,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="BannerCollageRightMobileWithoutMobileImageValuesTest"> + <test name="BannerCollageRightMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -301,7 +301,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BannerCollageRightButtonNeverShowTest"> + <test name="BannerCollageRightButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -376,7 +376,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <dontSeeElementInDOM selector="{{BannerOnFrontend.button('1')}}" stepKey="dontSeeButtonInDOMOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageRightButtonOnHoverTest"> + <test name="BannerCollageRightButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -454,7 +454,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.button('1')}}" stepKey="seeButtonOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageRightOverlayNeverShowTest"> + <test name="BannerCollageRightOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -529,7 +529,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparentOverlayOnHoverStorefrontMobile"/> </test> - <test name="BannerCollageRightOverlayOnHoverTest" extends="BannerPosterOverlayOnHoverTest"> + <test name="BannerCollageRightOverlayOnHover" extends="BannerPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -550,7 +550,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageRightOverlayAndButtonOnHoverTest" extends="BannerPosterOverlayAndButtonOnHoverTest"> + <test name="BannerCollageRightOverlayAndButtonOnHover" extends="BannerPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -571,7 +571,7 @@ <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{BannerOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="BannerCollageRightOverlayPositionTest" extends="BannerCollageLeftOverlayPositionTest"> + <test name="BannerCollageRightOverlayPosition" extends="BannerCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -605,7 +605,7 @@ <argument name="page" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BannerCollageRightButtonsCanBeEditedInlineTest"> + <test name="BannerCollageRightButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -670,7 +670,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty2.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="BannerCollageRightUpdateAdvancedConfigurationValuesTest"> + <test name="BannerCollageRightUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -835,7 +835,7 @@ <seeElement selector="{{BannerOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{BannerOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="BannerCollageRightUpdateAllAttributesTest"> + <test name="BannerCollageRightUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1172,7 +1172,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="BannerCollageRightHtmlValueInButtonsTest" extends="BannerCollageCenterHtmlValueInButtonsTest"> + <test name="BannerCollageRightHtmlValueInButtons" extends="BannerCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1189,7 +1189,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="BannerCollageRightNonBreakingSpaceValueInButtonsTest" extends="BannerCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="BannerCollageRightNonBreakingSpaceValueInButtons" extends="BannerCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1206,7 +1206,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageRightAppearanceTest" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearanceTest"> + <test name="BannerOverlayDoesNotHaveBorderRadiusAppliedOnCollageRightAppearance" extends="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1239,7 +1239,7 @@ <actualResult type="variable">$overlayBorderRadiusStorefront2</actualResult> </assertEquals> </test> - <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageRightAppearanceTest" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnCollageRightAppearance" extends="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1268,7 +1268,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="BannerCollageRightAlignmentInheritanceTest" extends="BannerPosterAlignmentInheritanceTest"> + <test name="BannerCollageRightAlignmentInheritance" extends="BannerPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml index 100188c22d7..205120edf38 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BannerCanAddBannerTest"> + <test name="BannerCanAddBanner"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -46,7 +46,7 @@ <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <waitForElementVisible selector="{{BannerOnBackend.emptyBanner('1')}}" stepKey="waitForBannerVisible"/> </test> - <test name="BannerEmptyBannerPreviewValidationTest"> + <test name="BannerEmptyBannerPreviewValidation"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -220,7 +220,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerFrontend4"/> <dontSeeElementInDOM selector="{{BannerOnFrontend.button('1')}}" stepKey="dontSeeInDOMButtonOnHoverInFrontend4"/> </test> - <test name="BannerDeleteTest"> + <test name="BannerDelete"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -276,7 +276,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{BannerOnFrontend.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="BannerHasNoRequiredTest"> + <test name="BannerHasNoRequired"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -311,7 +311,7 @@ </actionGroup> <dontSeeElement selector="{{EditPanelForm.editFormAllRequiredFields}}" stepKey="checkNoRequiredField"/> </test> - <test name="BannerHasExpectedFieldsAndDefaultsTest"> + <test name="BannerHasExpectedFieldsAndDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -452,7 +452,7 @@ <argument name="property" value="PageBuilderBannerContentOverlayColorProperty"/> </actionGroup> </test> - <test name="BannerValidateBackgroundSectionDefaultValuesTest"> + <test name="BannerValidateBackgroundSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -588,7 +588,7 @@ <argument name="section" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BannerValidateAdvancedConfigurationDefaultValuesTest"> + <test name="BannerValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -714,7 +714,7 @@ <seeElementInDOM selector="{{BannerOnFrontend.margins('1', PageBuilderMarginsPropertyDefault.value)}}" stepKey="seeInDOMMarginsStorefront"/> <seeElementInDOM selector="{{BannerOnFrontend.posterPadding('1', PageBuilderPaddingProperty40.value)}}" stepKey="seeInDOMPaddingStorefront"/> </test> - <test name="BannerHasButtonStyledTest"> + <test name="BannerHasButtonStyled"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -845,7 +845,7 @@ <seeElement selector="{{BannerOnFrontend.buttonType('1', PageBuilderBannerButtonTypeLinkProperty.value)}}" stepKey="seeButtonTypeStorefront3"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty.value)}}" stepKey="seeButtonTextStorefront3"/> </test> - <test name="BannerCanOpenInNewTabTest"> + <test name="BannerCanOpenInNewTab"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -921,7 +921,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="BannerEmptyLinkURLDoesNothingOnStorefrontTest"> + <test name="BannerEmptyLinkURLDoesNothingOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -973,7 +973,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccur" /> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderBannerContentType.pageNamePrefix}}{{PageBuilderPageTitle.pageName}}" stepKey="seeThatCurrentUrlIsUnchanged" /> </test> - <test name="BannerDoesNotNavigateOnStageTest"> + <test name="BannerDoesNotNavigateOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1054,7 +1054,7 @@ <actualResult type="variable">currentUrl</actualResult> </assertEquals> </test> - <test name="BannerUploadImageFromStageTest"> + <test name="BannerUploadImageFromStage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1126,7 +1126,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BannerVerifyStageUploadImageButtonsForEachAppearanceTest"> + <test name="BannerVerifyStageUploadImageButtonsForEachAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1206,7 +1206,7 @@ <argument name="contentType" value="PageBuilderBannerContentType"/> </actionGroup> </test> - <test name="BannerCannotAddToStageTest"> + <test name="BannerCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1237,7 +1237,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{BannerOnBackend.base('1')}}" stepKey="dontSeeBanner"/> </test> - <test name="BannerCanAddToColumnTest"> + <test name="BannerCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1306,7 +1306,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="BannerMoveBannerTest"> + <test name="BannerMoveBanner"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1427,7 +1427,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="DuplicateBannerTest"> + <test name="DuplicateBanner"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1809,7 +1809,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="ValidateShowHideOnBannerDefaultStateTest"> + <test name="ValidateShowHideOnBannerDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1865,7 +1865,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnBannerTest"> + <test name="ValidateShowHideOnBanner"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1941,7 +1941,7 @@ <dontSeeElementInDOM selector="{{BannerOnFrontend.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{BannerOnFrontend.base('1')}}" stepKey="waitForContentTypeVisible"/> </test> - <test name="BannerContentBlockDeleteImageTest"> + <test name="BannerContentBlockDeleteImage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -2028,7 +2028,7 @@ <seeElement selector="{{BannerOnBackend.emptyBanner('1')}}" stepKey="seeBannerPlaceholder2"/> <dontSeeElementInDOM selector="{{BannerOnBackend.imageOnStage('1',PageBuilderBackgroundImage_JPG.fileName)}}" stepKey="dontSeeImageInDOM2"/> </test> - <test name="BannerContentVariableCanWrapTest"> + <test name="BannerContentVariableCanWrap"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -2105,7 +2105,7 @@ <actualResult type="variable">columnOneTextHeight</actualResult> </assertGreaterThan> </test> - <test name="BannerInlineWYSIWYGWidgetAndVariableStyleTest" extends="TextInlineWYSIWYGWidgetAndVariableStyleTest"> + <test name="BannerInlineWYSIWYGWidgetAndVariableStyle" extends="TextInlineWYSIWYGWidgetAndVariableStyle"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -2138,7 +2138,7 @@ <seeElement selector="{{BannerOnFrontend.messageContentWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="seeWidgetStorefront"/> <click selector="{{BannerOnFrontend.messageContentWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="clickWidgetStorefront"/> </test> - <test name="BannerInlineWysiwygUploadImageTest" extends="SlideItemInlineWysiwygUploadImageTest"> + <test name="BannerInlineWysiwygUploadImage" extends="SlideItemInlineWysiwygUploadImage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -2169,7 +2169,7 @@ <!-- Validate Image Editor On Storefront --> <seeElement selector="{{BannerOnFrontend.messageContentTextAreaImage('1', PageBuilderBackgroundImage_JPG.value)}}" stepKey="validateImageFrontEnd"/> </test> - <test name="BannerCannotHaveInlineWysiwygLinkAndLinkUrlTest"> + <test name="BannerCannotHaveInlineWysiwygLinkAndLinkUrl"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -2266,7 +2266,7 @@ <actualResult type="variable">grabIfFrontendAnchorInContentBoolean</actualResult> </assertFalse> </test> - <test name="BannerTextContainingPageBuilderMarkupWontBreakStageTest"> + <test name="BannerTextContainingPageBuilderMarkupWontBreakStage"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml index 7943fbe57a6..8970fc7a061 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BannerPosterWithMarginStaysInsideParentTest"> + <test name="BannerPosterWithMarginStaysInsideParent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -95,7 +95,7 @@ <argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/> </actionGroup> </test> - <test name="BannerPosterCanInlineEditContentTest"> + <test name="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -157,7 +157,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContent('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerPosterWYSIWYGDisabledInlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerPosterWYSIWYGDisabledInlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -193,7 +193,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerPosterTinyMCE3InlineEditTest" extends="BannerPosterCanInlineEditContentTest"> + <test name="BannerPosterTinyMCE3InlineEdit" extends="BannerPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -223,7 +223,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -309,7 +309,7 @@ </actionGroup> <seeElement selector="{{BannerOnFrontend.messageContent('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="BannerPosterMobileWithMobileImageValuesTest"> + <test name="BannerPosterMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -395,7 +395,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="BannerPosterMobileWithoutMobileImageValuesTest"> + <test name="BannerPosterMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -472,7 +472,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="BannerPosterAddWYSIWYGLinkTest"> + <test name="BannerPosterAddWYSIWYGLink"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -538,7 +538,7 @@ <resizeWindow width="767" height="1000" stepKey="resizeWindowToMobile"/> <seeElement selector="{{BannerOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="waitForBannerStorefrontMobile"/> </test> - <test name="BannerPosterButtonNeverShowTest"> + <test name="BannerPosterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -613,7 +613,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <dontSeeElementInDOM selector="{{BannerOnFrontend.button('1')}}" stepKey="dontSeeButtonInDOMOnHoverStorefrontMobile"/> </test> - <test name="BannerPosterButtonOnHoverTest"> + <test name="BannerPosterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -691,7 +691,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.button('1')}}" stepKey="seeButtonOnHoverStorefrontMobile"/> </test> - <test name="BannerPosterOverlayNeverShowTest"> + <test name="BannerPosterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -766,7 +766,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparentOverlayOnHoverStorefrontMobile"/> </test> - <test name="BannerPosterOverlayOnHoverTest"> + <test name="BannerPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -838,7 +838,7 @@ <moveMouseOver selector="{{BannerOnFrontend.base('1')}}" stepKey="moveMouseOverBannerStorefrontMobile"/> <seeElement selector="{{BannerOnFrontend.overlayBackgroundColor('1', PageBuilderBannerOverlayColor_Blue_Opaque.value)}}" stepKey="seeOverlayBackgroundColorStorefrontMobile"/> </test> - <test name="BannerPosterOverlayAndButtonOnHoverTest"> + <test name="BannerPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -946,7 +946,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile" /> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlPropertyValidate.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefrontMobile" /> </test> - <test name="BannerPosterOverlayPositionTest"> + <test name="BannerPosterOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1017,7 +1017,7 @@ <argument name="page" value="BannerOnFrontend"/> </actionGroup> </test> - <test name="BannerPosterButtonsCanBeEditedInlineTest"> + <test name="BannerPosterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1082,7 +1082,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{BannerOnFrontend.buttonText('1', PageBuilderBannerButtonTextProperty2.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="BannerPosterUpdateAdvancedConfigurationValuesTest"> + <test name="BannerPosterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1247,7 +1247,7 @@ <seeElement selector="{{BannerOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{BannerOnFrontend.posterPadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="BannerPosterUpdateAllAttributesTest"> + <test name="BannerPosterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1584,7 +1584,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="BannerPosterWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="BannerPosterWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1628,7 +1628,7 @@ <argument name="borderWidth" value="{{PageBuilderAdvancedBorderWidthProperty10.value}}"/> </actionGroup> </test> - <test name="BannerPosterHtmlValueInButtonsTest" extends="BannerCollageCenterHtmlValueInButtonsTest"> + <test name="BannerPosterHtmlValueInButtons" extends="BannerCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1645,7 +1645,7 @@ <argument name="property" value="PageBuilderAppearance_Poster"/> </actionGroup> </test> - <test name="BannerPosterNonBreakingSpaceValueInButtonsTest" extends="BannerCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="BannerPosterNonBreakingSpaceValueInButtons" extends="BannerCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1662,7 +1662,7 @@ <argument name="property" value="PageBuilderAppearance_Poster"/> </actionGroup> </test> - <test name="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearanceTest"> + <test name="BannerOverlayHasConvertedBorderRadiusAppliedOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1773,7 +1773,7 @@ <actualResult type="variable">$overlayBorderRadiusStorefront2</actualResult> </assertEquals> </test> - <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="BannerOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> @@ -1875,7 +1875,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="BannerPosterAlignmentInheritanceTest"> + <test name="BannerPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Banner"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml index c294e3f4fcc..4239e479cfa 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderAddContentContentTypesTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BlockRenderBlockThroughBlockContentTypeTest"> + <test name="BlockRenderBlockThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -92,7 +92,7 @@ <seeElement selector="{{BlockOnStorefront.base('2')}}" stepKey="seeNestedBlockCMSPageStorefront"/> <see selector="{{BlockOnStorefront.base('2')}}{{BlockOnStorefront.ancestor}}" userInput="$$createPreReqBlock.content$$" stepKey="seeBlockContentCMSPageStorefront"/> </test> - <test name="BlockRenderProductsThroughBlockContentTypeTest"> + <test name="BlockRenderProductsThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -266,7 +266,7 @@ <argument name="count" value="2"/> </actionGroup> </test> - <test name="BlockRenderDefaultProductsCarouselThroughBlockContentTypeTest"> + <test name="BlockRenderDefaultProductsCarouselThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -450,7 +450,7 @@ <argument name="product" value="$$createProduct1$$"/> </actionGroup> </test> - <test name="BlockRenderProductsCarouselValidateInfiniteLoopArrowsDotsFunctionTest"> + <test name="BlockRenderProductsCarouselValidateInfiniteLoopArrowsDotsFunction"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -728,7 +728,7 @@ <argument name="product" value="$$createProduct6$$"/> </actionGroup> </test> - <test name="BlockRenderProductsCarouselValidateAutoplayInContinuousModeWithInfiniteLoopTest"> + <test name="BlockRenderProductsCarouselValidateAutoplayInContinuousModeWithInfiniteLoop"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -967,7 +967,7 @@ <argument name="productItemIndex" value="4"/> </actionGroup> </test> - <test name="BlockRenderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInDefaultCarouselModeTest"> + <test name="BlockRenderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInDefaultCarouselMode"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1065,7 +1065,7 @@ <argument name="product" value="$$createProduct.name$$"/> </actionGroup> </test> - <test name="BlockRenderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeSixProductsTest"> + <test name="BlockRenderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeSixProducts"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1251,7 +1251,7 @@ <argument name="productItemIndex" value="-1"/> </actionGroup> </test> - <test name="ProductFromDifferentWebsiteInsideBlockShowsOnStageTest"> + <test name="ProductFromDifferentWebsiteInsideBlockShowsOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml index 65a49b82cbc..992f2a56060 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderElementContentTypesTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TextHeightConsistencyBetweenContentTypeAndBlockOnStorefrontTest"> + <test name="TextHeightConsistencyBetweenContentTypeAndBlockOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -95,7 +95,7 @@ <actualResult type="variable">getBlockTextOnStorefrontHeight</actualResult> </assertEquals> </test> - <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefaultTest"> + <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefault"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -233,7 +233,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createPreReqCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefaultTest" extends="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefaultTest"> + <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefault" extends="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefault"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -254,7 +254,7 @@ <magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYG" before="deleteCMSBlock"/> </after> </test> - <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletelyTest"> + <test name="BlockRenderTextThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletely"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -367,7 +367,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderTextArea_WidgetCMSHomepageLink.identifier}}" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderHeadingThroughBlockContentTypeTest"> + <test name="BlockRenderHeadingThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -453,7 +453,7 @@ <seeElement selector="{{HeadingOnStorefront.headingType(PageBuilderHeadingTypeProperty_H1.value, '1')}}" stepKey="seeHeadingStyleCMSPageStorefront"/> <seeElement selector="{{HeadingOnStorefront.headingText(PageBuilderHeadingTypeProperty_H1.value, PageBuilderHeadingTextProperty.value, '1')}}" stepKey="seeHeadingTextCMSPageStorefront"/> </test> - <test name="ButtonGroupInBlockOnDifferentLineWhenInFullWidthRowTest"> + <test name="ButtonGroupInBlockOnDifferentLineWhenInFullWidthRow"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -556,7 +556,7 @@ <actualResult type="variable">yCoordinate2Storefront</actualResult> </assertNotEquals> </test> - <test name="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSizeTest"> + <test name="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -742,7 +742,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurCMSPageStorefront"/> <seeCurrentUrlEquals url="{{PageBuilderButtonItemLink_NotSecure.value}}" stepKey="seeThatUrlIsChangedToButtonUrl"/> </test> - <test name="BlockRenderButtonsThroughBlockContentTypeInlineSameSizeTest" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSizeTest"> + <test name="BlockRenderButtonsThroughBlockContentTypeInlineSameSize" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -772,7 +772,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefront"/> </actionGroup> </test> - <test name="BlockRenderButtonsThroughBlockContentTypeStackedNotSameSizeTest" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSizeTest"> + <test name="BlockRenderButtonsThroughBlockContentTypeStackedNotSameSize" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -802,7 +802,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefront"/> </actionGroup> </test> - <test name="BlockRenderButtonsThroughBlockContentTypeStackedSameSizeTest" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSizeTest"> + <test name="BlockRenderButtonsThroughBlockContentTypeStackedSameSize" extends="BlockRenderButtonsThroughBlockContentTypeInlineNotSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -847,7 +847,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefront"/> </actionGroup> </test> - <test name="BlockRenderDividerThroughBlockContentTypeTest"> + <test name="BlockRenderDividerThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -949,7 +949,7 @@ <argument name="dividerWidth" value="PageBuilderDividerLineWidth_50"/> </actionGroup> </test> - <test name="BlockRenderHTMLThroughBlockContentTypeTest"> + <test name="BlockRenderHTMLThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml index 3c97860e769..33b911e99a1 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderLayoutContentTypesTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BlockRowContentIsVerticallyAlignedTest"> + <test name="BlockRowContentIsVerticallyAligned"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -102,7 +102,7 @@ <argument name="minHeight" value="PageBuilderMinHeightProperty_500px.intValue"/> </actionGroup> </test> - <test name="BlockRowContainedAppearanceHasEqualWidthToContentsTest"> + <test name="BlockRowContainedAppearanceHasEqualWidthToContents"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -212,7 +212,7 @@ <argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/> </actionGroup> </test> - <test name="BlockRowFullWidthAppearanceHasEqualWidthToContentsTest" extends="BlockRowContainedAppearanceHasEqualWidthToContentsTest"> + <test name="BlockRowFullWidthAppearanceHasEqualWidthToContents" extends="BlockRowContainedAppearanceHasEqualWidthToContents"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -248,7 +248,7 @@ <argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/> </actionGroup> </test> - <test name="BlockRowFullBleedAppearanceHasEqualWidthToContentsTest" extends="BlockRowContainedAppearanceHasEqualWidthToContentsTest"> + <test name="BlockRowFullBleedAppearanceHasEqualWidthToContents" extends="BlockRowContainedAppearanceHasEqualWidthToContents"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -284,7 +284,7 @@ <argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/> </actionGroup> </test> - <test name="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -568,7 +568,7 @@ <argument name="page" value="DividerOnStorefront"/> </actionGroup> </test> - <test name="BlockRenderRowFullWidthAppearanceWithParallaxThroughBlockContentTypeTest" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowFullWidthAppearanceWithParallaxThroughBlockContentType" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -665,7 +665,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderRowFullBleedAppearanceWithParallaxThroughBlockContentTypeTest" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowFullBleedAppearanceWithParallaxThroughBlockContentType" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -757,7 +757,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderRowContainedAppearanceThroughBlockContentTypeTest" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowContainedAppearanceThroughBlockContentType" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -832,7 +832,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderRowFullWidthAppearanceThroughBlockContentTypeTest" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowFullWidthAppearanceThroughBlockContentType" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -937,7 +937,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderRowFullBleedAppearanceThroughBlockContentTypeTest" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest"> + <test name="BlockRenderRowFullBleedAppearanceThroughBlockContentType" extends="BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1037,7 +1037,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderContainedRowMinHeightThroughBlockContentTypeTest"> + <test name="BlockRenderContainedRowMinHeightThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1524,7 +1524,7 @@ <argument name="page" value="DividerOnStorefront"/> </actionGroup> </test> - <test name="BlockRenderColumnTopAlignmentAppearanceThroughBlockContentTypeTest" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderColumnTopAlignmentAppearanceThroughBlockContentType" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1568,7 +1568,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="BlockRenderColumnCenterAlignmentAppearanceThroughBlockContentTypeTest" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderColumnCenterAlignmentAppearanceThroughBlockContentType" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1612,7 +1612,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="BlockRenderColumnBottomAlignmentAppearanceThroughBlockContentTypeTest" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderColumnBottomAlignmentAppearanceThroughBlockContentType" extends="BlockRenderColumnFullHeightAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1656,7 +1656,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="BlockRenderColumnDragAndDropMultipleColumnsResizingThroughBlockContentTypeTest"> + <test name="BlockRenderColumnDragAndDropMultipleColumnsResizingThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1818,7 +1818,7 @@ <actualResult type="variable">widthDifferenceCMSPageStorefront</actualResult> </assertLessThanOrEqual> </test> - <test name="BlockRenderTabsThroughBlockContentTypeTest"> + <test name="BlockRenderTabsThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml index a2e4491cba4..185cd57798b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockRenderMediaContentTypesTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BlockRenderEmptyImageThroughBlockContentTypeTest"> + <test name="BlockRenderEmptyImageThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -85,7 +85,7 @@ <seeElementInDOM selector="{{ImageOnStorefront.imageDisplay}}" stepKey="seeThatEmptyImageExistsInDomOnStorefront"/> <dontSeeElement selector="{{ImageOnStorefront.imageDisplay}}" stepKey="notSeeImageOnFrontend"/> </test> - <test name="BlockImageIsRightAlignedTest"> + <test name="BlockImageIsRightAligned"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -189,7 +189,7 @@ <argument name="containerPadding" value="PageBuilderPaddingProperty10"/> </actionGroup> </test> - <test name="BlockRenderImageThroughBlockContentTypeTest"> + <test name="BlockRenderImageThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -341,7 +341,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurCMSPageStorefront"/> <seeCurrentUrlEquals url="{{PageBuilderImageLinkProperty.value}}" stepKey="seeThatUrlIsChangedToImageLinkUrl"/> </test> - <test name="BlockRenderVideoThroughBlockContentTypeTest"> + <test name="BlockRenderVideoThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -433,7 +433,7 @@ <argument name="width" value="PageBuilderVideoWidth_500"/> </actionGroup> </test> - <test name="BlockRenderBannerPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderBannerPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -721,7 +721,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurCMSPageStorefrontMobile"/> <seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlPropertyValidate.value}}" stepKey="seeThatUrlIsChangedToButtonUrlCMSPageStorefrontMobile"/> </test> - <test name="BlockRenderBannerCollageLeftAppearanceThroughBlockContentTypeTest" extends="BlockRenderBannerPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderBannerCollageLeftAppearanceThroughBlockContentType" extends="BlockRenderBannerPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -765,7 +765,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderBannerCollageCenteredAppearanceThroughBlockContentTypeTest" extends="BlockRenderBannerPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderBannerCollageCenteredAppearanceThroughBlockContentType" extends="BlockRenderBannerPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -809,7 +809,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderBannerCollageRightAppearanceThroughBlockContentTypeTest" extends="BlockRenderBannerPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderBannerCollageRightAppearanceThroughBlockContentType" extends="BlockRenderBannerPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -853,7 +853,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderBannerPosterMinHeightThroughBlockContentTypeTest"> + <test name="BlockRenderBannerPosterMinHeightThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1280,7 +1280,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createPreReqCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefaultTest" extends="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefaultTest"> + <test name="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefault" extends="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefault"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1302,7 +1302,7 @@ <magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYG" before="deleteCMSBlock"/> </after> </test> - <test name="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletelyTest"> + <test name="BlockRenderBannerThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletely"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1423,7 +1423,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderTextArea_WidgetCMSHomepageLink.identifier}}" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderSliderThroughBlockContentTypeTest"> + <test name="BlockRenderSliderThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1629,7 +1629,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="BlockRenderSlideItemPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderSlideItemPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1921,7 +1921,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurCMSPageStorefrontMobile"/> <seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeThatUrlIsChangedToButtonUrlCMSPageStorefrontMobile"/> </test> - <test name="BlockRenderSlideItemCollageLeftAppearanceThroughBlockContentTypeTest" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderSlideItemCollageLeftAppearanceThroughBlockContentType" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -1963,7 +1963,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderSlideItemCollageCenterAppearanceThroughBlockContentTypeTest" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderSlideItemCollageCenterAppearanceThroughBlockContentType" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2005,7 +2005,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderSlideItemCollageRightAppearanceThroughBlockContentTypeTest" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentTypeTest"> + <test name="BlockRenderSlideItemCollageRightAppearanceThroughBlockContentType" extends="BlockRenderSlideItemPosterAppearanceThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2047,7 +2047,7 @@ <argument name="expectedOverlayWidth" value="{$widthOfWrapperMinusPaddingCMSPageStorefrontMobile}"/> </actionGroup> </test> - <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefaultTest"> + <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefault"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2208,7 +2208,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createPreReqCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefaultTest" extends="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefaultTest"> + <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygDisabledByDefault" extends="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygEnabledByDefault"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2230,7 +2230,7 @@ <magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYG" before="deleteCMSBlock"/> </after> </test> - <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletelyTest"> + <test name="BlockRenderSlideItemThroughBlockContentTypeTinyMCE4WysiwygDisabledCompletely"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2351,7 +2351,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderTextArea_WidgetCMSHomepageLink.identifier}}" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="BlockRenderSliderMinHeightWithPosterSlideMinHeightThroughBlockContentTypeTest"> + <test name="BlockRenderSliderMinHeightWithPosterSlideMinHeightThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> @@ -2863,7 +2863,7 @@ <argument name="count" value="2"/> </actionGroup> </test> - <test name="BlockRenderBannerPosterAppearanceWithVideoBackgroundThroughBlockContentTypeTest"> + <test name="BlockRenderBannerPosterAppearanceWithVideoBackgroundThroughBlockContentType"> <annotations> <features value="PageBuilder"/> <stories value="Block Content"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml index b6b580fea4c..97aa7e27e86 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBlockTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="BlockValidateEmptyStateTest"> + <test name="BlockValidateEmptyState"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -49,7 +49,7 @@ <dontSeeElement selector="{{BlockOnStorefront.empty('1')}}" stepKey="dontSeeBlockOnStorefront"/> <seeElementInDOM selector="{{BlockOnStorefront.empty('1')}}" stepKey="seeElementInDOM"/> </test> - <test name="AddBlockToCmsPageTest"> + <test name="AddBlockToCmsPage"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -102,7 +102,7 @@ </actionGroup> <see userInput="$$createPreReqBlock.content$$" stepKey="seeBlockContentOnCmsStage"/> </test> - <test name="BlockGetsUpdatedTest"> + <test name="BlockGetsUpdated"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -185,7 +185,7 @@ <waitForElementVisible selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForHtmlBaseStorefront"/> <waitForElementVisible selector="{{BlockOnStorefront.html('1')}}" stepKey="waitForHtmlStorefront"/> </test> - <test name="VerifyBlockDisabledTest"> + <test name="VerifyBlockDisabled"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -246,7 +246,7 @@ <seeElement selector="{{BlockOnStorefront.base('1')}}" stepKey="seeBlockElementOnStorefront"/> <dontSee selector="{{BlockOnStorefront.base('1')}}" userInput="$$createPreReqBlock.content$$" stepKey="dontSeeBlockContentOnStorefront"/> </test> - <test name="BlockHiddenTest"> + <test name="BlockHidden"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -327,7 +327,7 @@ <seeElement selector="{{BlockOnStorefront.notHidden('1')}}" stepKey="waitForContentTypeShownStorefront1"/> <seeElement selector="{{BlockOnStorefront.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> </test> - <test name="BlockDuplicateTest"> + <test name="BlockDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -546,7 +546,7 @@ <seeElement selector="{{BlockOnStorefront.textContent('1', $$createPreReqBlock.content$$)}}" stepKey="seeBlockContentOnCmsStorefront1"/> <seeElement selector="{{BlockOnStorefront.textContent('2', $$createPreReqBlock.content$$)}}" stepKey="seeBlockContentOnCmsStorefront2"/> </test> - <test name="BlockDeleteTest"> + <test name="BlockDelete"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -594,7 +594,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{BlockOnStorefront.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="DisplayingDeletedBlockOnStageTest"> + <test name="DisplayingDeletedBlockOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -641,7 +641,7 @@ </actionGroup> <waitForElementVisible selector="{{BlockOnStage.deleted('1','$createPreReqBlock.id$')}}" stepKey="seeDeletedBlockPlaceHolder"/> </test> - <test name="BlockValidateAdvancedConfigurationDefaultValuesTest"> + <test name="BlockValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -777,7 +777,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="BlockUpdateAdvancedConfigurationValuesTest"> + <test name="BlockUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -948,7 +948,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="BlockCannotAddToStageTest"> + <test name="BlockCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -978,7 +978,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{BlockOnStage.base('1')}}" stepKey="dontSeeBlock"/> </test> - <test name="BlockCanAddToColumnTest"> + <test name="BlockCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -1046,7 +1046,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnBlockDefaultStateTest"> + <test name="ValidateShowHideOnBlockDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -1102,7 +1102,7 @@ </actionGroup> <seeElement selector="{{BlockOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnBlockTest"> + <test name="ValidateShowHideOnBlock"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> @@ -1179,7 +1179,7 @@ <dontSeeElementInDOM selector="{{BlockOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{BlockOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible"/> </test> - <test name="BlockMoveTest"> + <test name="BlockMove"> <annotations> <features value="PageBuilder"/> <stories value="Block"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml index 0960bcf9033..2f47d565a9a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupAppearanceTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ButtonGroupValidateAppearanceDefaultValuesTest"> + <test name="ButtonGroupValidateAppearanceDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -112,7 +112,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupValidateInlineAppearanceTest"> + <test name="ButtonGroupValidateInlineAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -267,7 +267,7 @@ <argument name="secondButtonIndex" value="10"/> </actionGroup> </test> - <test name="ButtonGroupValidateStackedAppearanceTest"> + <test name="ButtonGroupValidateStackedAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -341,7 +341,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupValidateInlineAppearanceAddButtonTest"> + <test name="ButtonGroupValidateInlineAppearanceAddButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -410,7 +410,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupValidateStackedAppearanceAddButtonTest"> + <test name="ButtonGroupValidateStackedAppearanceAddButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -479,7 +479,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupValidateSwitchingAppearancesTest"> + <test name="ButtonGroupValidateSwitchingAppearances"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -601,7 +601,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupValidateInlineAppearanceLongNameWrapTest"> + <test name="ButtonGroupValidateInlineAppearanceLongNameWrap"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -688,7 +688,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupInlineAppearanceEnableSameSizeTest"> + <test name="ButtonGroupInlineAppearanceEnableSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -787,7 +787,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupStackedAppearanceEnableSameSizeTest" extends="ButtonGroupInlineAppearanceEnableSameSizeTest"> + <test name="ButtonGroupStackedAppearanceEnableSameSize" extends="ButtonGroupInlineAppearanceEnableSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -804,7 +804,7 @@ <argument name="property" value="PageBuilderButtonGroupAppearance_Stacked"/> </actionGroup> </test> - <test name="ButtonGroupInlineAppearanceDisableSameSizeTest"> + <test name="ButtonGroupInlineAppearanceDisableSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -909,7 +909,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupStackedAppearanceDisableSameSizeTest" extends="ButtonGroupInlineAppearanceDisableSameSizeTest"> + <test name="ButtonGroupStackedAppearanceDisableSameSize" extends="ButtonGroupInlineAppearanceDisableSameSize"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -934,7 +934,7 @@ <argument name="property" value="PageBuilderButtonGroupAppearance_Stacked"/> </actionGroup> </test> - <test name="ButtonGroupUpdateButtonTextWithSameSizeEnabledTest"> + <test name="ButtonGroupUpdateButtonTextWithSameSizeEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1151,7 +1151,7 @@ <expectedResult type="variable">button1WidthStorefront1</expectedResult> </assertEquals> </test> - <test name="ButtonGroupCreateNewLargestButtonWithSameSizeEnabledTest"> + <test name="ButtonGroupCreateNewLargestButtonWithSameSizeEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1273,7 +1273,7 @@ <expectedResult type="variable">button1WidthStorefront1</expectedResult> </assertGreaterThan> </test> - <test name="ButtonGroupSameSizeAffectedByPaddingAndBorderWidthTest"> + <test name="ButtonGroupSameSizeAffectedByPaddingAndBorderWidth"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1462,7 +1462,7 @@ <expectedResult type="variable">button1WidthStorefront3</expectedResult> </assertGreaterThan> </test> - <test name="ButtonGroupSameSizeAffectsEmptyButtonsTest"> + <test name="ButtonGroupSameSizeAffectsEmptyButtons"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1527,7 +1527,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStorefrontEmptyLink"/> </actionGroup> </test> - <test name="ButtonGroupCreateNewSmallerButtonWithSameSizeEnabledTest" extends="ButtonGroupCreateNewLargestButtonWithSameSizeEnabledTest"> + <test name="ButtonGroupCreateNewSmallerButtonWithSameSizeEnabled" extends="ButtonGroupCreateNewLargestButtonWithSameSizeEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1567,7 +1567,7 @@ <expectedResult type="variable">button1WidthStorefront1</expectedResult> </assertEquals> </test> - <test name="ButtonGroupValidateSameSizeWorksWhenSwitchingAppearancesTest"> + <test name="ButtonGroupValidateSameSizeWorksWhenSwitchingAppearances"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1684,7 +1684,7 @@ <argument name="buttonItemPage" value="ButtonItemOnStage"/> </actionGroup> </test> - <test name="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizingTest"> + <test name="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizing"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1914,7 +1914,7 @@ </assertLessThan> <resizeWindow width="1280" height="1024" stepKey="resizeWindowToDesktop3"/> </test> - <test name="ButtonGroupValidateSameSizeForSecondaryButtonsInColumnResizingTest" extends="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizingTest"> + <test name="ButtonGroupValidateSameSizeForSecondaryButtonsInColumnResizing" extends="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizing"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1933,7 +1933,7 @@ <argument name="property" value="PageBuilderButtonItemType_Secondary"/> </actionGroup> </test> - <test name="ButtonGroupValidateSameSizeForLinkButtonsInColumnResizingTest" extends="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizingTest"> + <test name="ButtonGroupValidateSameSizeForLinkButtonsInColumnResizing" extends="ButtonGroupValidateSameSizeForPrimaryButtonsInColumnResizing"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1952,7 +1952,7 @@ <argument name="property" value="PageBuilderButtonItemType_Link"/> </actionGroup> </test> - <test name="ButtonGroupValidateSameSizeWithinTabTest"> + <test name="ButtonGroupValidateSameSizeWithinTab"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -2058,7 +2058,7 @@ </assertLessThan> <resizeWindow width="1280" height="1024" stepKey="resizeWindowToDesktop1"/> </test> - <test name="ButtonGroupValidateSameSizeWhenSwitchingActiveTabTest"> + <test name="ButtonGroupValidateSameSizeWhenSwitchingActiveTab"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml index fd10e056c91..965f80e41e9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonGroupTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ButtonGroupDeleteTest"> + <test name="ButtonGroupDelete"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -60,7 +60,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ButtonGroupOnStorefront.base('1')}}" stepKey="dontSeeButtonsStorefront"/> </test> - <test name="ButtonGroupRequiredAttributesTest"> + <test name="ButtonGroupRequiredAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -100,7 +100,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <waitForElementVisible time="10" selector="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" stepKey="waitForCmsPageSaveButton"/> </test> - <test name="ButtonGroupDuplicateTest"> + <test name="ButtonGroupDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -390,7 +390,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="ButtonGroupValidateAdvancedConfigurationDefaultValuesTest"> + <test name="ButtonGroupValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -494,7 +494,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ButtonGroupUpdateAdvancedConfigurationValuesTest"> + <test name="ButtonGroupUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -637,7 +637,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ButtonGroupNoMoreOldAddButtonButtonTest"> + <test name="ButtonGroupNoMoreOldAddButtonButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -673,7 +673,7 @@ <dontSeeElement selector="{{ButtonGroupOnStage.oldAddNewButtonItem}}" stepKey="dontSeeOldAddButton"/> <seeElement selector="{{ButtonItemOnStage.emptyButtonItemElement('1')}}" stepKey="seeEmptyButton"/> </test> - <test name="ButtonsCannotAddToStageTest"> + <test name="ButtonsCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -704,7 +704,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ButtonGroupOnStage.base('1')}}" stepKey="dontSeeButtonGroup"/> </test> - <test name="ButtonsCanAddToColumnTest"> + <test name="ButtonsCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -773,7 +773,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ButtonGroupUpdateAllAttributesTest"> + <test name="ButtonGroupUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -961,7 +961,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ValidateShowHideOnButtonsDefaultStateTest"> + <test name="ValidateShowHideOnButtonsDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1013,7 +1013,7 @@ </actionGroup> <seeElement selector="{{ButtonGroupOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnButtonsTest"> + <test name="ValidateShowHideOnButtons"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1105,7 +1105,7 @@ <seeElement selector="{{ButtonItemOnStorefront.base('1')}}" stepKey="waitForButtonItemVisible" /> <seeElement selector="{{ButtonItemOnStorefront.base('2')}}" stepKey="waitForButtonItem2Visible" /> </test> - <test name="ValidateShowHideOnButtonsOnStackedAppearanceTest" extends="ValidateShowHideOnButtonsTest"> + <test name="ValidateShowHideOnButtonsOnStackedAppearance" extends="ValidateShowHideOnButtons"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1132,7 +1132,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings1" after="enterAppearance"/> </test> - <test name="ButtonGroupOnDifferentLineWhenInFullWidthRowTest"> + <test name="ButtonGroupOnDifferentLineWhenInFullWidthRow"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml index a89ed2c1a12..9b8013a3caa 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemGeneralAttributeTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ButtonItemEmptyButtonTextTest"> + <test name="ButtonItemEmptyButtonText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -85,7 +85,7 @@ <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemUrl('1', PageBuilderButtonItemLink_Empty.value)}}" stepKey="waitForButtonUrlStorefront"/> <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemNewTab('1', PageBuilderButtonItemOpenInNewTab_False.stageValue)}}" stepKey="waitForButtonNewTabStorefront"/> </test> - <test name="ButtonItemOneCharacterButtonTextTest"> + <test name="ButtonItemOneCharacterButtonText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -161,7 +161,7 @@ <argument name="text" value="PageBuilderButtonItemText_OneCharacter"/> </actionGroup> </test> - <test name="ButtonItemCommonCharactersButtonTextTest"> + <test name="ButtonItemCommonCharactersButtonText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -237,7 +237,7 @@ <argument name="text" value="PageBuilderButtonItemText_CommonCharacters"/> </actionGroup> </test> - <test name="ButtonItemSpecialCharactersButtonTextTest"> + <test name="ButtonItemSpecialCharactersButtonText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -314,7 +314,7 @@ <argument name="text" value="PageBuilderButtonItemText_SpecialCharacters"/> </actionGroup> </test> - <test name="ButtonItemLongButtonTextTest"> + <test name="ButtonItemLongButtonText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -414,7 +414,7 @@ <actualResult type="variable">$buttonGroupWidthStoreFront</actualResult> </assertGreaterOrEquals> </test> - <test name="ButtonItemPrimaryButtonTypeTest"> + <test name="ButtonItemPrimaryButtonType"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -490,7 +490,7 @@ <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemType('1', PageBuilderButtonItemType_Primary.value)}}" stepKey="waitForButtonTypeStorefront"/> <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemUrl('1', PageBuilderButtonItemLink_Empty.value)}}" stepKey="waitForButtonEmptyLinkUrlStorefront"/> </test> - <test name="ButtonItemSecondaryButtonTypeTest"> + <test name="ButtonItemSecondaryButtonType"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -566,7 +566,7 @@ <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemType('1', PageBuilderButtonItemType_Secondary.value)}}" stepKey="waitForButtonTypeStorefront"/> <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemUrl('1', PageBuilderButtonItemLink_Empty.value)}}" stepKey="waitForButtonEmptyLinkUrlStorefront"/> </test> - <test name="ButtonItemLinkButtonTypeTest"> + <test name="ButtonItemLinkButtonType"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml index aaa1252131c..95146bfb4d2 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemMovingTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ButtonItemMoveButtonWhenInlineButtonsAreWrappingTest"> + <test name="ButtonItemMoveButtonWhenInlineButtonsAreWrapping"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -151,7 +151,7 @@ <argument name="secondButtonIndex" value="10"/> </actionGroup> </test> - <test name="ButtonItemMoveButtonStackedAppearanceTest"> + <test name="ButtonItemMoveButtonStackedAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -266,7 +266,7 @@ <argument name="secondButtonIndex" value="3"/> </actionGroup> </test> - <test name="ButtonItemMoveButtonInlineAppearanceTest"> + <test name="ButtonItemMoveButtonInlineAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -369,7 +369,7 @@ <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('2', PageBuilderButtonItemText_First.value)}}" stepKey="seeButton2Storefront"/> <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('3', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton3Storefront"/> </test> - <test name="ButtonItemCannotMoveButtonToAnotherButtonGroupTest"> + <test name="ButtonItemCannotMoveButtonToAnotherButtonGroup"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -460,7 +460,7 @@ <seeElement selector="{{ButtonItemOnStorefront.buttonItemTextByButtonGroup('1', '2', PageBuilderButtonItemText_Second.value)}}" stepKey="seeButton2Storefront"/> <seeElement selector="{{ButtonItemOnStorefront.buttonItemTextByButtonGroup('2', '1', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton3Storefront"/> </test> - <test name="ButtonItemMoveButtonBeforeButtonWithLongTextTest"> + <test name="ButtonItemMoveButtonBeforeButtonWithLongText"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -547,7 +547,7 @@ <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Second.value)}}" stepKey="seeButton1Storefront"/> <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('2', PageBuilderButtonItemText_200Characters.value)}}" stepKey="seeButton2Storefront"/> </test> - <test name="ButtonItemCanDeleteButtonAfterMovingButtonTest"> + <test name="ButtonItemCanDeleteButtonAfterMovingButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -667,7 +667,7 @@ <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton1Storefront"/> <seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="1" stepKey="seeTotalButtonsStorefront"/> </test> - <test name="ButtonItemCannotMoveButtonOutsideButtonGroupTest"> + <test name="ButtonItemCannotMoveButtonOutsideButtonGroup"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml index b170911e55b..7189426127e 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderButtonItemTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="EmptyButtonItemTest"> + <test name="EmptyButtonItem"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -52,7 +52,7 @@ </actionGroup> <waitForElement selector="{{ButtonItemOnStorefrontEmptyLink.emptyButtonItemElement('1')}}" stepKey="seeEmptyButtonOnStorefront"/> </test> - <test name="AddButtonsContentTypeToCMSPageTest"> + <test name="AddButtonsContentTypeToCMSPage"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -205,7 +205,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="ButtonItemDeleteNoConfigurationTest"> + <test name="ButtonItemDeleteNoConfiguration"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -283,7 +283,7 @@ </actionGroup> <seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="1" stepKey="seeButtonsStorefront"/> </test> - <test name="ButtonItemCannotDeleteLastButtonTest"> + <test name="ButtonItemCannotDeleteLastButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -344,7 +344,7 @@ </actionGroup> <seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="1" stepKey="seeButtonsStorefront"/> </test> - <test name="ButtonItemDuplicateTest"> + <test name="ButtonItemDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -579,7 +579,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="ButtonItemValidateAdvancedConfigurationDefaultValuesTest"> + <test name="ButtonItemValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -714,7 +714,7 @@ </actionGroup> <seeElement selector="{{ButtonItemOnStorefrontEmptyLink.noPadding('1')}}" stepKey="seeNoPaddingStorefront"/> </test> - <test name="ButtonItemUpdateAdvancedConfigurationValuesTest"> + <test name="ButtonItemUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -886,7 +886,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ButtonItemValidateGeneralSectionFieldsTest"> + <test name="ButtonItemValidateGeneralSectionFields"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -991,7 +991,7 @@ <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemType('1', PageBuilderButtonItemType_Primary.value)}}" stepKey="waitForButtonTypeStorefront"/> <waitForElementVisible selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemUrl('1', PageBuilderButtonItemLink_Empty.value)}}" stepKey="waitForButtonEmptyLinkUrlStorefront"/> </test> - <test name="ButtonItemEmptyLinkURLDoesNothingOnStorefrontTest"> + <test name="ButtonItemEmptyLinkURLDoesNothingOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1046,7 +1046,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccur" /> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderButtonItemContentType.pageNamePrefix}}{{PageBuilderPageTitle.pageName}}" stepKey="seeThatCurrentUrlIsUnchanged" /> </test> - <test name="ButtonItemNoRequiredFieldsTest"> + <test name="ButtonItemNoRequiredFields"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1097,7 +1097,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <waitForElementVisible time="10" selector="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" stepKey="waitForCmsPageSaveButton"/> </test> - <test name="ButtonItemCanBeEditedInlineTest"> + <test name="ButtonItemCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1167,7 +1167,7 @@ </actionGroup> <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Common .value)}}" stepKey="seeButtonTextOnStorefront"/> </test> - <test name="ButtonItemHoverOverButtonItemShowsButtonGroupMenuTest"> + <test name="ButtonItemHoverOverButtonItemShowsButtonGroupMenu"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1213,7 +1213,7 @@ <waitForElementNotVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenu(PageBuilderButtonsContentType.role)}}" stepKey="waitForButtonGroupOptionsMenuNotVisible"/> <dontSeeElement selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenu(PageBuilderButtonsContentType.role)}}" stepKey="dontSeeButtonGroupOptionsMenu"/> </test> - <test name="ButtonItemMoveHandleDisabledWhenOnlyOneButtonTest"> + <test name="ButtonItemMoveHandleDisabledWhenOnlyOneButton"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1264,7 +1264,7 @@ <seeElementInDOM selector="{{ButtonItemOnStage.moveHandleDisabled('1')}}" stepKey="seeMoveHandleDisabled2"/> <dontSeeElementInDOM selector="{{ButtonItemOnStage.moveHandle('1')}}" stepKey="dontSeeMoveHandleEnabled2"/> </test> - <test name="ValidateButtonItemNotHideableTest"> + <test name="ValidateButtonItemNotHideable"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1297,7 +1297,7 @@ <waitForElementVisible selector="{{ButtonItemOnStage.optionsMenu('1')}}" stepKey="waitForButtonItemOptionsMenuVisible"/> <dontSeeElementInDOM selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderButtonItemContentType.role, '1')}}" stepKey="dontSeeDomHideOption" /> </test> - <test name="ButtonItemCanSaveButtonTextWithoutFocusingOutsideOfLiveEditTest"> + <test name="ButtonItemCanSaveButtonTextWithoutFocusingOutsideOfLiveEdit"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1345,7 +1345,7 @@ <comment userInput="Validate Stage After Page Save" stepKey="commentValidateStage2"/> <seeElement selector="{{ButtonItemOnStage.buttonItemText('1', PageBuilderButtonItemText_Common.value)}}" stepKey="seeButtonTextStage"/> </test> - <test name="ButtonItemHtmlValueInButtonsTest"> + <test name="ButtonItemHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> @@ -1407,7 +1407,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Html.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="ButtonItemEditNonBreakingSpaceStageTest"> + <test name="ButtonItemEditNonBreakingSpaceStage"> <annotations> <features value="PageBuilder"/> <stories value="Buttons"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml index 930baa364d0..bbb0107e50f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ColumnValidateBackgroundSectionDefaultValuesTest"> + <test name="ColumnValidateBackgroundSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -134,7 +134,7 @@ <argument name="section" value="ColumnOnFrontend"/> </actionGroup> </test> - <test name="ColumnValidateBackgroundFormTest"> + <test name="ColumnValidateBackgroundForm"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml index 431dbd56b7f..920965789e4 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnContentTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TabsAddToColumnAndHeightAdjustsTest"> + <test name="TabsAddToColumnAndHeightAdjusts"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -54,7 +54,7 @@ <actualResult type="variable">actualStageRowHeightWithColumnsAndTabs</actualResult> </assertGreaterThanOrEqual> </test> - <test name="TabsAddToColumnWithSetLargeMinimumHeightAndHeightDoesNotAdjustTest"> + <test name="TabsAddToColumnWithSetLargeMinimumHeightAndHeightDoesNotAdjust"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -120,7 +120,7 @@ <actualResult type="variable">actualStageRowHeightWithColumnsAndTabs</actualResult> </assertGreaterThanOrEqual> </test> - <test name="TabsAddToColumnWithSetSmallMinimumHeightAndHeightAdjustsTest"> + <test name="TabsAddToColumnWithSetSmallMinimumHeightAndHeightAdjusts"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -192,7 +192,7 @@ <actualResult type="variable">actualStageRowHeightWithColumnsAndTabs</actualResult> </assertGreaterThanOrEqual> </test> - <test name="ColumnsMoveContentBetweenColumnsTest"> + <test name="ColumnsMoveContentBetweenColumns"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -288,7 +288,7 @@ <argument name="contentTypeIndex" value="1"/> </actionGroup> </test> - <test name="ColumnDragColumnWithContentBetweenColumnGroupsTest"> + <test name="ColumnDragColumnWithContentBetweenColumnGroups"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -369,7 +369,7 @@ <argument name="contentTypeIndex" value="1"/> </actionGroup> </test> - <test name="MoveContentIntoEmptyTallColumnGroupTest"> + <test name="MoveContentIntoEmptyTallColumnGroup"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -454,7 +454,7 @@ <argument name="contentTypeIndex" value="1"/> </actionGroup> </test> - <test name="ColumnValidateBackgroundSectionDefaultValuesTest"> + <test name="ColumnValidateBackgroundSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml index dc1cd609d04..60f96f2d339 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnGridTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ValidateGridDefaultSizeOnStageTest"> + <test name="ValidateGridDefaultSizeOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -44,7 +44,7 @@ <actionGroup ref="openGridSizeForm" stepKey="openGridSizeFormAfterSave" /> <seeInField selector="{{ColumnOnBackend.gridSizeInput('1')}}" userInput="{{PageBuilderGridSize.defaultGridSize}}" stepKey="seeDefaultGridSizeAfterSave"/> </test> - <test name="ValidateGridInputFocusedOnOpenTest"> + <test name="ValidateGridInputFocusedOnOpen"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -77,7 +77,7 @@ <actualResult type="string">{{PageBuilderGridSize.defaultGridSize}}</actualResult> </assertEquals> </test> - <test name="ColumnValidateOddDefaultGridSizeIsSplitCorrectlyTest"> + <test name="ColumnValidateOddDefaultGridSizeIsSplitCorrectly"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -106,7 +106,7 @@ <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('1', '3/5')}}" stepKey="verifyFirstColumn"/> <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('2', '2/5')}}" stepKey="verifySecondColumn"/> </test> - <test name="ColumnValidateColumnGridTooltipMessageTest"> + <test name="ColumnValidateColumnGridTooltipMessage"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -138,7 +138,7 @@ <click selector="{{ColumnOnBackend.gridSizeTooltip('1')}}" stepKey="clickWithinPanel"/> <waitForElementVisible selector="{{ColumnOnBackend.gridSizeTooltipWithMax('1', PageBuilderGridSize.gridSize_5)}}" stepKey="verifyTooltip"/> </test> - <test name="SetDefaultGridSize14Test"> + <test name="SetDefaultGridSize14"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -182,7 +182,7 @@ <actualResult type="variable">columnTwoWidthGrid14</actualResult> </assertEquals> </test> - <test name="SetDefaultGridSize7Test"> + <test name="SetDefaultGridSize7"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -229,7 +229,7 @@ <seeElement selector="{{ColumnOnBackend.displayLabel('1','4/7')}}" stepKey="checkWidthFirstColumn"/> <seeElement selector="{{ColumnOnBackend.displayLabel('2','3/7')}}" stepKey="checkWidthSecondColumn"/> </test> - <test name="ValidateColumnsMaintainRatioWithoutHistoryTest"> + <test name="ValidateColumnsMaintainRatioWithoutHistory"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -284,7 +284,7 @@ <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('1','2/12')}}" stepKey="validateLeftColumnWidth3"/> <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('2','10/12')}}" stepKey="validateRightColumnWidth3"/> </test> - <test name="ValidateGridSizeFormDisablesStageTest"> + <test name="ValidateGridSizeFormDisablesStage"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -332,7 +332,7 @@ <waitForPageLoad stepKey="waitForPageLoad"/> <waitForElementVisible time="10" selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenu(PageBuilderRowContentType.role)}}" stepKey="waitForOptions"/> </test> - <test name="ValidateGridSizeFormDisablesStageAfterTabItemOptionsTest"> + <test name="ValidateGridSizeFormDisablesStageAfterTabItemOptions"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -395,7 +395,7 @@ <waitForPageLoad stepKey="waitForPageLoad"/> <waitForElementVisible time="10" selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenu(PageBuilderRowContentType.role)}}" stepKey="waitForOptions"/> </test> - <test name="ValidateUnfocusUpdatesGridTest"> + <test name="ValidateUnfocusUpdatesGrid"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -425,7 +425,7 @@ <seeElement selector="{{ColumnOnBackend.displayLabel('1','4/8')}}" stepKey="checkWidthFirstColumn"/> <seeElement selector="{{ColumnOnBackend.displayLabel('2','4/8')}}" stepKey="checkWidthSecondColumn"/> </test> - <test name="ValidateEmptyColumnsDeletedOnSmallerGridSizeTest"> + <test name="ValidateEmptyColumnsDeletedOnSmallerGridSize"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -471,7 +471,7 @@ </actionGroup> <seeNumberOfElements selector="{{ColumnOnBackend.allColumns}}" userInput="3" stepKey="seeNumberOfColumns3"/> </test> - <test name="ValidateResizeOnUnevenGridTest"> + <test name="ValidateResizeOnUnevenGrid"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -524,7 +524,7 @@ <seeElement selector="{{ColumnOnBackend.displayLabel('2','3/7')}}" stepKey="checkWidthSecondColumn2"/> <seeElement selector="{{ColumnOnBackend.displayLabel('3','3/7')}}" stepKey="checkWidthThirdColumn2"/> </test> - <test name="ValidateResizeHistoryTest"> + <test name="ValidateResizeHistory"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -585,7 +585,7 @@ <actualResult type="variable">columnTwoWidthGrid12Restored</actualResult> </assertEquals> </test> - <test name="CanAddColumnToSmallGridSizeTest"> + <test name="CanAddColumnToSmallGridSize"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -622,7 +622,7 @@ <seeElement selector="{{ColumnOnBackend.displayLabel('2','1/3')}}" stepKey="checkWidthSecondColumn"/> <seeElement selector="{{ColumnOnBackend.displayLabel('3','1/3')}}" stepKey="checkWidthThirdColumn"/> </test> - <test name="CannotAddColumnToFullSmallGridSizeTest"> + <test name="CannotAddColumnToFullSmallGridSize"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -661,7 +661,7 @@ <waitForPageLoad stepKey="waitForPageLoad2"/> <seeNumberOfElements selector="{{ColumnOnBackend.allColumns}}" userInput="2" stepKey="seeNumberOfColumns2"/> </test> - <test name="ValidateMaxColumnErrorTest"> + <test name="ValidateMaxColumnError"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -692,7 +692,7 @@ <argument name="errorMessage" value="PageBuilderGridSize.maximumGridSizeErrorMessage"/> </actionGroup> </test> - <test name="ValidateInvalidGridSizeErrorTest"> + <test name="ValidateInvalidGridSizeError"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -741,7 +741,7 @@ <argument name="errorMessage" value="PageBuilderGridSize.invalidNumberErrorMessage"/> </actionGroup> </test> - <test name="ValidateDifferentGridSizePerGroupTest"> + <test name="ValidateDifferentGridSizePerGroup"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -788,7 +788,7 @@ <seeElement selector="{{ColumnOnBackend.displayLabel('3','4/8')}}" stepKey="checkWidthSecondColumnGroupColumn1"/> <seeElement selector="{{ColumnOnBackend.displayLabel('4','4/8')}}" stepKey="checkWidthSecondColumnGroupColumn2"/> </test> - <test name="ValidateGridPanelWontCloseWithErrorTest"> + <test name="ValidateGridPanelWontCloseWithError"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -825,7 +825,7 @@ <waitForElement selector="{{ColumnOnBackend.gridSizeInput('1')}}" stepKey="waitForValidatePanelClosed"/> <dontSeeElement selector="{{ColumnOnBackend.gridSizeInput('1')}}" stepKey="validatePanelClosed"/> </test> - <test name="ValidateGridSizeSmallerThanColumnsErrorTest"> + <test name="ValidateGridSizeSmallerThanColumnsError"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -891,7 +891,7 @@ <argument name="errorMessage" value="PageBuilderGridSize.smallerThanTotalColumnsErrorMessage"/> </actionGroup> </test> - <test name="MoveColumnBetweenGroupsOfDifferentGridSizeTest"> + <test name="MoveColumnBetweenGroupsOfDifferentGridSize"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -937,7 +937,7 @@ <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('1', '8/8')}}" stepKey="verifyOriginalColumnGroup"/> <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('2', '1/12')}}" stepKey="verifyMovedColumn"/> </test> - <test name="ValidateGridPanelWontCloseOnArrowClickTest"> + <test name="ValidateGridPanelWontCloseOnArrowClick"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml index 7e2f6bd8c38..f6050ad87c3 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnResizingTest.xml @@ -7,7 +7,7 @@ --> <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ColumnResize1to0Test"> + <test name="ColumnResize1to0"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -93,7 +93,7 @@ <actualResult type="variable">columnRatioFrontend</actualResult> </assertEquals> </test> - <test name="ColumnResize5to1Test"> + <test name="ColumnResize5to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -181,7 +181,7 @@ <actualResult type="variable">columnRatioFrontend</actualResult> </assertEquals> </test> - <test name="ColumnResize2to1Test"> + <test name="ColumnResize2to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -273,7 +273,7 @@ <actualResult type="variable">columnRatioFrontend</actualResult> </assertEquals> </test> - <test name="ColumnResize4to1to1Test"> + <test name="ColumnResize4to1to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -388,7 +388,7 @@ <actualResult type="variable">columnRatioFrontend2</actualResult> </assertEquals> </test> - <test name="ColumnResize1to1Test"> + <test name="ColumnResize1to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -466,7 +466,7 @@ <actualResult type="variable">columnRatioFrontend</actualResult> </assertEquals> </test> - <test name="ColumnResize3to2to1Test"> + <test name="ColumnResize3to2to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -579,7 +579,7 @@ <actualResult type="variable">columnRatioFrontend2</actualResult> </assertEquals> </test> - <test name="ColumnResize3to1to1to1Test"> + <test name="ColumnResize3to1to1to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -720,7 +720,7 @@ <actualResult type="variable">columnRatioFrontend3</actualResult> </assertEquals> </test> - <test name="ColumnResize1to1to1Test"> + <test name="ColumnResize1to1to1"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -843,7 +843,7 @@ <actualResult type="variable">columnRatioFrontend2</actualResult> </assertEquals> </test> - <test name="ColumnResizeLeftColumnFromSecondColumnHandleTest"> + <test name="ColumnResizeLeftColumnFromSecondColumnHandle"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml index 9943747fe42..c3c2df8837b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ColumnAddToRowAndHeightAdjustsTest"> + <test name="ColumnAddToRowAndHeightAdjusts"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -55,7 +55,7 @@ <actualResult type="variable">expectedRowHeightWithPaddingAndColumns</actualResult> </assertEquals> </test> - <test name="RemoveColumnFromStageAndRowShrinksTest"> + <test name="RemoveColumnFromStageAndRowShrinks"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -98,7 +98,7 @@ <argument name="expectedPaddingBottom" value="PageBuilderPaddingProperty10"/> </actionGroup> </test> - <test name="ColumnNoRequiredTest"> + <test name="ColumnNoRequired"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -175,7 +175,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <waitForElementVisible selector="{{ColumnOnBackend.base('1')}}" stepKey="waitForColumnOnStage" /> </test> - <test name="ColumnWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="ColumnWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -213,7 +213,7 @@ <argument name="content" value="{{ColumnOnFrontend.baseCSS}}"/> </actionGroup> </test> - <test name="ColumnWithBordersPaddingAndLargeContentsGreaterThanMinHeightTest" extends="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeightTest"> + <test name="ColumnWithBordersPaddingAndLargeContentsGreaterThanMinHeight" extends="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -261,7 +261,7 @@ <argument name="height" value="PageBuilderMinHeightProperty_200"/> </actionGroup> </test> - <test name="ColumnConfigurationHasVerticalAlignmentTest"> + <test name="ColumnConfigurationHasVerticalAlignment"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -301,7 +301,7 @@ <argument name="property" value="PageBuilderVerticalAlignmentPropertyTop"/> </actionGroup> </test> - <test name="ColumnContentIsVerticallyAlignedTest"> + <test name="ColumnContentIsVerticallyAligned"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -404,7 +404,7 @@ <seeElement selector="{{ColumnOnFrontend.columnStyle('2', PageBuilderVerticalAlignmentPropertyCenter.style)}}" stepKey="seeColumn2VerticalAlignmentCenterApplied"/> <seeElement selector="{{ColumnOnFrontend.columnStyle('3', PageBuilderVerticalAlignmentPropertyBottom.style)}}" stepKey="seeColumn2VerticalAlignmentBottomApplied"/> </test> - <test name="ColumnContentIsVerticallyAlignedWithAppearanceAndDifferentMinimumHeightsTest"> + <test name="ColumnContentIsVerticallyAlignedWithAppearanceAndDifferentMinimumHeights"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -523,7 +523,7 @@ <seeElement selector="{{ColumnOnFrontend.columnStyle('2', PageBuilderVerticalAlignmentPropertyCenter.style)}}" stepKey="seeColumn2VerticalAlignmentCenterApplied"/> <seeElement selector="{{ColumnOnFrontend.columnStyle('3', PageBuilderVerticalAlignmentPropertyBottom.style)}}" stepKey="seeColumn2VerticalAlignmentBottomApplied"/> </test> - <test name="ColumnPlaceholderInAdminPreviewTest"> + <test name="ColumnPlaceholderInAdminPreview"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -552,7 +552,7 @@ <waitForElementVisible time="5" selector="{{ColumnOnBackend.empty('1')}}" stepKey="waitForEmptyColumn"/> <seeElementInDOM selector="{{ColumnOnBackend.empty('1')}}" stepKey="seeEmptyColumn"/> </test> - <test name="ColumnLabelsUpdateTest"> + <test name="ColumnLabelsUpdate"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -590,7 +590,7 @@ <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('2','5/12')}}" stepKey="findAfterLabelColumn2"/> <waitForElementVisible selector="{{ColumnOnBackend.displayLabel('3','6/12')}}" stepKey="findAfterLabelColumn3"/> </test> - <test name="ColumnCanInteractEditPanelTest"> + <test name="ColumnCanInteractEditPanel"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -624,7 +624,7 @@ <waitForElementNotVisible time="2" selector="{{EditPanelForm.editForm}}" stepKey="waitClose" /> <dontSeeElement selector="{{EditPanelForm.editForm}}" stepKey="dontSeeEditForm"/> </test> - <test name="ColumnSettingsAppearInAdminTest"> + <test name="ColumnSettingsAppearInAdmin"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -692,7 +692,7 @@ <seeElement selector="{{ColumnOnBackend.columnStyle('1', PageBuilderColumnStyles.bgRepeat)}}" stepKey="seeFirstColumnBgRepeat"/> <seeElement selector="{{ColumnOnBackend.columnStyle('1', PageBuilderColumnStyles.bgAttachment)}}" stepKey="seeFirstColumnBgAttachment"/> </test> - <test name="ColumnAppearanceSettingsShowOnFrontendTest"> + <test name="ColumnAppearanceSettingsShowOnFrontend"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -768,7 +768,7 @@ <seeElement selector="{{ColumnOnFrontend.columnStyle('2', PageBuilderColumnStyles.minHeight)}}" stepKey="seeColumn2MinHeightApplied"/> <seeElement selector="{{ColumnOnFrontend.columnStyle('3', PageBuilderColumnStyles.alignmentFull)}}" stepKey="seeColumn3AppearanceApplied"/> </test> - <test name="ColumnChangesPreservedTest"> + <test name="ColumnChangesPreserved"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -859,7 +859,7 @@ <argument name="property" value="PageBuilderBackgroundAttachmentProperty"/> </actionGroup> </test> - <test name="PreviewBackgroundImageTest"> + <test name="PreviewBackgroundImage"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -899,7 +899,7 @@ <argument name="property" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="ColumnBackgroundColorPreservedTest"> + <test name="ColumnBackgroundColorPreserved"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1023,7 +1023,7 @@ <seeElement selector="{{ColumnOnFrontend.column3Appearance}}" stepKey="seeColumn3AppearanceApplied2"/> <seeElement selector="{{ColumnOnFrontend.column3BackgroundColorGrey}}" stepKey="seeColumn3BackgroundColorApplied2"/> </test> - <test name="ColumnValidateDefaultAndUpdateAdvancedConfigurationDefaultValuesTest"> + <test name="ColumnValidateDefaultAndUpdateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1184,7 +1184,7 @@ <seeElement selector="{{ColumnOnFrontend.columnPadding}}" stepKey="seeColumnPaddingStyle"/> <seeElement selector="{{ColumnOnFrontend.columnClass}}" stepKey="seeColumnClass"/> </test> - <test name="RemovingColumnDistributesWidthTest"> + <test name="RemovingColumnDistributesWidth"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1225,7 +1225,7 @@ <waitForElementVisible selector="{{ColumnOnBackend.columnStyle('1', PageBuilderColumnStyles.widthHalf)}}" stepKey="seeFirstColumnWidthDistributed"/> <seeElement selector="{{ColumnOnBackend.columnStyle('2', PageBuilderColumnStyles.widthHalf)}}" stepKey="seeSecondColumnWidthDistributed"/> </test> - <test name="ColumnFullHeightShowsOnFrontendTest"> + <test name="ColumnFullHeightShowsOnFrontend"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1294,7 +1294,7 @@ <seeElement selector="{{ColumnOnFrontend.column1HeightFull}}" stepKey="seeColumn1FullHeightApplied"/> <seeElement selector="{{ColumnOnFrontend.column2HeightFull}}" stepKey="seeColumn2FullHeightApplied"/> </test> - <test name="DragMultipleColumnsIntoRowTest"> + <test name="DragMultipleColumnsIntoRow"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1334,7 +1334,7 @@ <!-- We validate for 6 columns as each group automatically creates 2 columns --> <seeNumberOfElements selector="{{ColumnOnBackend.allColumns}}" userInput="6" stepKey="validateColumnsAdded"/> </test> - <test name="ColumnDuplicateTest"> + <test name="ColumnDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1425,7 +1425,7 @@ <waitForElementVisible selector="{{HeadingOnStorefront.notHidden('1')}}" stepKey="waitForContentTypeShownStorefront1"/> <waitForElementVisible selector="{{HeadingOnStorefront.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> </test> - <test name="DuplicatingColumnWillDivideSourceColumnTest"> + <test name="DuplicatingColumnWillDivideSourceColumn"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1508,7 +1508,7 @@ <actualResult type="variable">columnAfterDuplicateRatio</actualResult> </assertEquals> </test> - <test name="ColumnCannotAddToStageTest"> + <test name="ColumnCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1540,7 +1540,7 @@ <dontSeeElementInDOM selector="{{ColumnOnBackend.column}}" stepKey="dontSeeColumn"/> <dontSeeElementInDOM selector="{{ColumnOnBackend.columnGroup('1')}}" stepKey="dontSeeColumnGroup"/> </test> - <test name="ColumnCannotAddInsideColumnTest"> + <test name="ColumnCannotAddInsideColumn"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1584,7 +1584,7 @@ </actionGroup> <seeNumberOfElements selector="{{ColumnOnBackend.allColumns}}" userInput="3" stepKey="seesThreeElementColumns"/> </test> - <test name="ValidateColumnNotHideableTest"> + <test name="ValidateColumnNotHideable"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1613,7 +1613,7 @@ <waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenuByIndex(PageBuilderColumnContentType.role, '1')}}" stepKey="waitForOptions"/> <dontSeeElementInDOM selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderColumnContentType.role, '1')}}" stepKey="dontSeeDomHideOption" /> </test> - <test name="ValidateShowHideOnColumnChildDefaultStateTest"> + <test name="ValidateShowHideOnColumnChildDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1679,7 +1679,7 @@ </actionGroup> <seeElement selector="{{HeadingOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateColumnChildHideShowTest"> + <test name="ValidateColumnChildHideShow"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml index 7cef44d162c..9a0c75f9877 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="DefaultSystemBordersAppearInAdminTest"> + <test name="DefaultSystemBordersAppearInAdmin"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -351,7 +351,7 @@ <actualResult type="variable">getDefaultProductsHoverBoxShadowStyle</actualResult> </assertEquals> </test> - <test name="NoConfirmationOnDefaultStateContentTypeRemovalTest"> + <test name="NoConfirmationOnDefaultStateContentTypeRemoval"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -400,7 +400,7 @@ <dontSee selector="{{PageBuilderStage.modal}}" stepKey="dontSeeModalRow"/> <dontSee selector="{{PageBuilderStage.modalOk}}" stepKey="dontSeeModalOkRow" /> </test> - <test name="ConfirmationOnContainerWithChildrenRemovalTest"> + <test name="ConfirmationOnContainerWithChildrenRemoval"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -455,7 +455,7 @@ <!-- Validate the item is removed --> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="1" stepKey="seeElementRow"/> </test> - <test name="ConfirmationOnConfiguredContentTypeRemovalTest"> + <test name="ConfirmationOnConfiguredContentTypeRemoval"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -513,7 +513,7 @@ <!-- Validate the item is removed --> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderHeadingContentType.role)}}" stepKey="dontSeeHeaderInStage"/> </test> - <test name="NoRemovalConfirmationModalAfterConfiguringContentToDefaultStateTest"> + <test name="NoRemovalConfirmationModalAfterConfiguringContentToDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -595,7 +595,7 @@ <dontSee selector="{{PageBuilderStage.modalOk}}" stepKey="dontSeeModalOkRow"/> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="1" stepKey="seeRows2"/> </test> - <test name="DismissRemovalConfirmationModalTest"> + <test name="DismissRemovalConfirmationModal"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -667,7 +667,7 @@ <!-- Validate the items are removed --> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderHeadingContentType.role)}}" stepKey="dontSeeHeaderInStage"/> </test> - <test name="DismissedConfirmationPersistsSessionTest"> + <test name="DismissedConfirmationPersistsSession"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -746,7 +746,7 @@ <!-- Validate the items are removed --> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderHeadingContentType.role)}}" stepKey="dontSeeHeaderInStage"/> </test> - <test name="CancelOnRemovalConfirmationModalTest"> + <test name="CancelOnRemovalConfirmationModal"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -806,7 +806,7 @@ <comment userInput="Verify Heading Still Exists" stepKey="validateHeading"/> <waitForElementVisible selector="{{HeadingOnStage.baseByTagName(PageBuilderHeadingTypeProperty_H2.value, '1')}}" stepKey="validateHeading2"/> </test> - <test name="XOnRemovalConfirmationModalTest"> + <test name="XOnRemovalConfirmationModal"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -866,7 +866,7 @@ <comment userInput="Verify Heading Still Exists" stepKey="validateHeading"/> <waitForElementVisible selector="{{HeadingOnStage.baseByTagName(PageBuilderHeadingTypeProperty_H2.value, '1')}}" stepKey="validateHeading2"/> </test> - <test name="LoginCycleResetsRemoveConfirmationDismissalTest"> + <test name="LoginCycleResetsRemoveConfirmationDismissal"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -986,7 +986,7 @@ <!-- Validate the items are removed --> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderHeadingContentType.role)}}" stepKey="dontSeeHeaderInStage2"/> </test> - <test name="EditPanelColorPickerUpdatesFromFieldInputTest"> + <test name="EditPanelColorPickerUpdatesFromFieldInput"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -1108,7 +1108,7 @@ <argument name="color" value="{{PageBuilderBackgroundColor_HSVa_Orange.rgb}}"/> </actionGroup> </test> - <test name="EditPanelColorPickerWindowFunctionalityTest"> + <test name="EditPanelColorPickerWindowFunctionality"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> @@ -1610,7 +1610,7 @@ </assertRegExp> <deleteData createDataKey="createCMSPageA" stepKey="deletePreReqCMSPageA" /> </test> - <test name="EditFormModalNoResetButtonTest"> + <test name="EditFormModalNoResetButton"> <annotations> <features value="PageBuilder"/> <stories value="Common Tests"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml index 77e02cb9c02..9ee40079f71 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerGeneralAttributesTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="DividerEmptyLineColorTest"> + <test name="DividerEmptyLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -89,7 +89,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerYellowLineColorTest"> + <test name="DividerYellowLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -173,7 +173,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerHexLineColorTest"> + <test name="DividerHexLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -257,7 +257,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerRGBLineColorTest"> + <test name="DividerRGBLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -341,7 +341,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerRGBALineColorTest"> + <test name="DividerRGBALineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -425,7 +425,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerHSLLineColorTest"> + <test name="DividerHSLLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -509,7 +509,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerHSLALineColorTest"> + <test name="DividerHSLALineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -593,7 +593,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerInvalidLineColorTest"> + <test name="DividerInvalidLineColor"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -665,7 +665,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerEmptyLineThicknessTest"> + <test name="DividerEmptyLineThickness"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -746,7 +746,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerNormalLineThicknessTest"> + <test name="DividerNormalLineThickness"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -830,7 +830,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerZeroLineThicknessTest"> + <test name="DividerZeroLineThickness"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -899,7 +899,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <waitForElementNotVisible selector="{{DividerOnStorefront.thickness('1', PageBuilderDividerLineThickness_0.value)}}" stepKey="waitForThicknessVisibleStorefront"/> </test> - <test name="DividerNegativeLineThicknessTest"> + <test name="DividerNegativeLineThickness"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml index 468ee8971c6..7dc42426d38 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderDividerTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="DividerAddToCMSPageTest"> + <test name="DividerAddToCMSPage"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -94,7 +94,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_50"/> </actionGroup> </test> - <test name="DividerValidateGeneralDefaultValuesTest"> + <test name="DividerValidateGeneralDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -182,7 +182,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_Default"/> </actionGroup> </test> - <test name="DividerValidateAdvancedConfigurationDefaultValuesTest"> + <test name="DividerValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -313,7 +313,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="DividerUpdateAdvancedConfigurationValuesTest"> + <test name="DividerUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -479,7 +479,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="DividerDuplicateTest"> + <test name="DividerDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -720,7 +720,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="DividerNoRequiredTest"> + <test name="DividerNoRequired"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -777,7 +777,7 @@ <waitForElementVisible selector="{{DividerOnStage.noThickness('1')}}" stepKey="waitForThicknessVisible"/> <waitForElementVisible selector="{{DividerOnStage.noWidth('1')}}" stepKey="waitForWidthVisible"/> </test> - <test name="DividerCannotAddToStageTest"> + <test name="DividerCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -807,7 +807,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{DividerOnStage.allDividers}}" stepKey="dontSeeDivider"/> </test> - <test name="DividerCanAddToColumnTest"> + <test name="DividerCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -878,7 +878,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="DividerDeleteTest"> + <test name="DividerDelete"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -934,7 +934,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{DividerOnStorefront.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="DividerMoveDividerTest"> + <test name="DividerMoveDivider"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -1045,7 +1045,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="ValidateShowHideOnDividerDefaultStateTest"> + <test name="ValidateShowHideOnDividerDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> @@ -1092,7 +1092,7 @@ </actionGroup> <seeElement selector="{{DividerOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnDividerTest"> + <test name="ValidateShowHideOnDivider"> <annotations> <features value="PageBuilder"/> <stories value="Divider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml index aef4be21288..edd53e4d2db 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderFullScreenModeTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="PageBuilderFullScreenCoversEntireScreenTest"> + <test name="PageBuilderFullScreenCoversEntireScreen"> <annotations> <features value="PageBuilder"/> <stories value="Full-Screen"/> @@ -52,7 +52,7 @@ <actualResult type="variable">widthOfStageWrapper</actualResult> </assertEquals> </test> - <test name="PageBuilderFullScreenLeftPanelHeightAndFunctionalityTest"> + <test name="PageBuilderFullScreenLeftPanelHeightAndFunctionality"> <annotations> <features value="PageBuilder"/> <stories value="Full-Screen"/> @@ -97,7 +97,7 @@ <seeElement selector='{{PageBuilderPanel.firstSection}}' parameterArray="['class' => 'active']" stepKey="firstSectionOfPanelIsOpen"/> <actionGroup ref="validateMenuSectionsAndContentTypes" stepKey="validateMenuSectionsAndContentTypes"/> </test> - <test name="PageBuilderFullScreenCanAddAndEditContentTypesTest"> + <test name="PageBuilderFullScreenCanAddAndEditContentTypes"> <annotations> <features value="PageBuilder"/> <stories value="Full-Screen"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml index a8b796e7d8b..dfd13d14d3b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="HeadingInlineEditToolbarTest"> + <test name="HeadingInlineEditToolbar"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -77,7 +77,7 @@ <seeElement selector="{{HeadingOnStage.headingTextAlignToolbar('1',PageBuilderHeadingAlignmentProperty_center.toolbar)}}" stepKey="seeCenterAlignmentOnToolbarAgain"/> <seeElement selector="{{HeadingOnStage.headingTextAlignToolbar('1',PageBuilderHeadingAlignmentProperty_right.toolbar)}}" stepKey="seeRightAlignmentOnToolbarAgain"/> </test> - <test name="HeadingEditTypeH1StageTest"> + <test name="HeadingEditTypeH1Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -314,7 +314,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingEditTypeH2StageTest"> + <test name="HeadingEditTypeH2Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -551,7 +551,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingEditTypeH3StageTest"> + <test name="HeadingEditTypeH3Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -788,7 +788,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingEditTypeH4StageTest"> + <test name="HeadingEditTypeH4Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1025,7 +1025,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingEditTypeH5StageTest"> + <test name="HeadingEditTypeH5Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1262,7 +1262,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingEditTypeH6StageTest"> + <test name="HeadingEditTypeH6Stage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1500,7 +1500,7 @@ <argument name="index" value="4"/> </actionGroup> </test> - <test name="HeadingToolbarButtonsCanWrapTest"> + <test name="HeadingToolbarButtonsCanWrap"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1552,7 +1552,7 @@ <expectedResult type="variable">actualLastButtonYPosition</expectedResult> </assertLessThan> </test> - <test name="HeadingEditNonBreakingSpaceStageTest"> + <test name="HeadingEditNonBreakingSpaceStage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml index 0cac84402f2..48499bceef0 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="HeadingDefaultStateTest"> + <test name="HeadingDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -58,7 +58,7 @@ <seeElementInDOM selector="{{HeadingOnStorefront.headingNoText(PageBuilderHeadingTypeDefaultProperty.value, '1')}}" stepKey="seeStorefrontNoHeadingTextInDOM"/> <dontSeeElement selector="{{HeadingOnStorefront.headingType(PageBuilderHeadingTypeDefaultProperty.value, '1')}}" stepKey="dontSeeStorefrontHeading"/> </test> - <test name="HeadingEditPanelGeneralSectionVisualTest"> + <test name="HeadingEditPanelGeneralSectionVisual"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -143,7 +143,7 @@ <actualResult type="variable">getTextFromHeadingTextAttribute2</actualResult> </assertEmpty> </test> - <test name="HeadingValidateAdvancedConfigurationDefaultValuesTest"> + <test name="HeadingValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -323,7 +323,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="HeadingUpdateAdvancedConfigurationValuesTest"> + <test name="HeadingUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -492,7 +492,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="HeadingVerifyOnHoverOptionMenuTest"> + <test name="HeadingVerifyOnHoverOptionMenu"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -533,7 +533,7 @@ <seeElement selector="{{PageBuilderContentTypeOptionsMenu.contentTypeDuplicate(PageBuilderHeadingContentType.role, '1')}}" stepKey="seeHeadingOptionsDuplicate"/> <seeElement selector="{{PageBuilderContentTypeOptionsMenu.contentTypeRemove(PageBuilderHeadingContentType.role)}}" stepKey="seeHeadingOptionsRemove"/> </test> - <test name="HeadingEditTextTest"> + <test name="HeadingEditText"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -581,7 +581,7 @@ <!-- Verify Heading in Storefront --> <actionGroup ref="verifyHeadingInStorefront" stepKey="verifyHeadingInStorefront"/> </test> - <test name="HeadingEditTypeH1Test"> + <test name="HeadingEditTypeH1"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -636,7 +636,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H1"/> </actionGroup> </test> - <test name="HeadingEditTypeH2Test"> + <test name="HeadingEditTypeH2"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -691,7 +691,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H2"/> </actionGroup> </test> - <test name="HeadingEditTypeH3Test"> + <test name="HeadingEditTypeH3"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -746,7 +746,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H3"/> </actionGroup> </test> - <test name="HeadingEditTypeH4Test"> + <test name="HeadingEditTypeH4"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -801,7 +801,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H4"/> </actionGroup> </test> - <test name="HeadingEditTypeH5Test"> + <test name="HeadingEditTypeH5"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -856,7 +856,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H5"/> </actionGroup> </test> - <test name="HeadingEditTypeH6Test"> + <test name="HeadingEditTypeH6"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -911,7 +911,7 @@ <argument name="headingType" value="PageBuilderHeadingTypeProperty_H6"/> </actionGroup> </test> - <test name="HeadingVerifyNoRequiredAttributesTest"> + <test name="HeadingVerifyNoRequiredAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -968,7 +968,7 @@ <!-- Verify Heading in Storefront --> <waitForElement selector="{{HeadingOnStorefront.headingType(PageBuilderHeadingTypeDefaultProperty.value, '1')}}" stepKey="waitForStorefrontHeading"/> </test> - <test name="HeadingDuplicateTest"> + <test name="HeadingDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1141,7 +1141,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="HeadingDeleteTest"> + <test name="HeadingDelete"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1188,7 +1188,7 @@ <!-- Verify Not In Storefront --> <dontSeeElementInDOM selector="{{HeadingOnStorefront.headingType(PageBuilderHeadingTypeDefaultProperty.value, '1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="HeadingCannotAddToStageTest"> + <test name="HeadingCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1218,7 +1218,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{HeadingOnStage.all}}" stepKey="dontSeeHeading"/> </test> - <test name="ValidateShowHideOnHeadingDefaultStateTest"> + <test name="ValidateShowHideOnHeadingDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1274,7 +1274,7 @@ </actionGroup> <seeElement selector="{{HeadingOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnHeadingTest"> + <test name="ValidateShowHideOnHeading"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1351,7 +1351,7 @@ <dontSeeElementInDOM selector="{{HeadingOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{HeadingOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="HeadingLiveEditToolbarNotCutOffInFullScreenModeTest"> + <test name="HeadingLiveEditToolbarNotCutOffInFullScreenMode"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> @@ -1471,7 +1471,7 @@ <actualResult type="variable">$toolbarBottomPositionAfterExitFullScreen</actualResult> </assertLessThanOrEqual> </test> - <test name="HeadingOptionsMenuNotOverflowRightTest"> + <test name="HeadingOptionsMenuNotOverflowRight"> <annotations> <features value="PageBuilder"/> <stories value="Heading"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml index 4873a5861fd..fe81b4ff08f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHtmlTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="HtmlAddToCMSPageTest"> + <test name="HtmlAddToCMSPage"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -151,7 +151,7 @@ <waitForPageLoad stepKey="waitForPageLoad"/> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/> </test> - <test name="HtmlDeleteTest"> + <test name="HtmlDelete"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -206,7 +206,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{HtmlOnStorefront.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="HtmlValidateGeneralDefaultValuesTest"> + <test name="HtmlValidateGeneralDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -272,7 +272,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElementInDOM selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForHtmlStorefront"/> </test> - <test name="HtmlValidateAdvancedConfigurationDefaultValuesTest"> + <test name="HtmlValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -403,7 +403,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="HtmlUpdateAdvancedConfigurationValuesTest"> + <test name="HtmlUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -578,7 +578,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="HtmlDuplicateTest"> + <test name="HtmlDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -791,7 +791,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="HtmlVerifyUpdatingDuplicateDoesNotAffectInitialTest"> + <test name="HtmlVerifyUpdatingDuplicateDoesNotAffectInitial"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -868,7 +868,7 @@ <waitForElementVisible selector="{{HtmlOnStorefront.base('2')}}" stepKey="waitForDuplicatedHtmlBaseStorefront"/> <waitForElementVisible selector="{{HtmlOnStorefront.html('2', PageBuilderHtmlPropertyButtonDuplicate.selectorOnFrontend)}}" stepKey="waitForDuplicatedHtmlStorefront"/> </test> - <test name="HtmlNoRequiredAttributesTest"> + <test name="HtmlNoRequiredAttributes"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -902,7 +902,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <waitForElementVisible selector="{{HtmlOnStage.empty('1')}}" stepKey="waitForHtmlBaseStage1"/> </test> - <test name="HTMLEmptyTest"> + <test name="HTMLEmpty"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -945,7 +945,7 @@ <dontSeeElement selector="{{HtmlOnStorefront.base('1')}}" stepKey="dontSeeHtmlContentVisible"/> <seeElementInDOM selector="{{HtmlOnStorefront.base('1')}}" stepKey="seeHtmlContentInDOM"/> </test> - <test name="HTMLCannotAddToStageTest"> + <test name="HTMLCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -975,7 +975,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{HtmlOnStage.base('1')}}" stepKey="dontSeeHTML"/> </test> - <test name="HTMLCanAddToColumnTest"> + <test name="HTMLCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -1043,7 +1043,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnHtmlDefaultStateTest"> + <test name="ValidateShowHideOnHtmlDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -1097,7 +1097,7 @@ </actionGroup> <seeElement selector="{{HtmlOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnHtmlTest"> + <test name="ValidateShowHideOnHtml"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> @@ -1172,7 +1172,7 @@ <dontSeeElementInDOM selector="{{HtmlOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="HtmlMoveTest"> + <test name="HtmlMove"> <annotations> <features value="PageBuilder"/> <stories value="HTML Code"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml index 1d308819e34..a2bad3bc202 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ImageAddImageIntoPageBuilderStageTest"> + <test name="ImageAddImageIntoPageBuilderStage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -105,7 +105,7 @@ <waitForElementVisible selector="{{ImageOnStorefront.imageSourceByIndex('1', PageBuilderImageProperty_JPG2.fileName)}}" stepKey="seeImage1SourceOnStorefront"/> <waitForElementVisible selector="{{ImageOnStorefront.imageSourceByIndex('2', PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="seeImage2SourceOnStorefront"/> </test> - <test name="ImageAddImageContentTypeToCMSPageTest"> + <test name="ImageAddImageContentTypeToCMSPage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -254,7 +254,7 @@ <see userInput="{{PageBuilderImageCaptionProperty.value}}" selector="{{ImageOnStorefront.imageCaption('1')}}" stepKey="seeCaptionDisplayedOnStorefrontMobile"/> <resizeWindow width="1280" height="1024" stepKey="resizeWindowToDesktop"/> </test> - <test name="ImageDuplicateTest"> + <test name="ImageDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -336,7 +336,7 @@ <waitForElementVisible selector="{{ImageOnStorefront.notHidden('1')}}" stepKey="waitForContentTypeShownStorefront1"/> <waitForElementVisible selector="{{ImageOnStorefront.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> </test> - <test name="ImageRemoveImageFromStageTest"> + <test name="ImageRemoveImageFromStage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -369,7 +369,7 @@ </actionGroup> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderImageContentType.role)}}" stepKey="dontSeeContentTypeInStage"/> </test> - <test name="ImageHasNoRequiredTest"> + <test name="ImageHasNoRequired"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -418,7 +418,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <waitForElementVisible time="10" selector="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" stepKey="waitForCmsPageSaveButton"/> </test> - <test name="ImageValidateAdvancedConfigurationDefaultValuesTest"> + <test name="ImageValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -559,7 +559,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ImageUpdateAdvancedConfigurationValuesTest"> + <test name="ImageUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -735,7 +735,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ImageCanAddEmptyImagePreviewTest"> + <test name="ImageCanAddEmptyImagePreview"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -775,7 +775,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <dontSeeElement selector="{{ImageOnStorefront.imageDisplay}}" stepKey="dontSeeMainImageSource"/> </test> - <test name="ImageCannotAddToStageTest"> + <test name="ImageCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -805,7 +805,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ImageOnStageWithoutImageUploaded.base('1')}}" stepKey="dontSeeImage"/> </test> - <test name="ImageCanAddToColumnTest"> + <test name="ImageCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -873,7 +873,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnImageDefaultStateTest"> + <test name="ValidateShowHideOnImageDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -930,7 +930,7 @@ </actionGroup> <seeElement selector="{{ImageOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnImageTest"> + <test name="ValidateShowHideOnImage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -1008,7 +1008,7 @@ <dontSeeElementInDOM selector="{{ImageOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{ImageOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="ImageUploadIsHiddenWhenDisabledTest"> + <test name="ImageUploadIsHiddenWhenDisabled"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -1063,7 +1063,7 @@ <waitForElementNotVisible selector="{{ImageOnStageWithoutImageUploaded.uploadImageInput('1')}}" stepKey="waitForUploadInputNotVisible"/> <dontSeeElement selector="{{ImageOnStageWithoutImageUploaded.uploadImageInput('1')}}" stepKey="dontSeeUploadImageInput"/> </test> - <test name="DuplicateRowWithImageTest"> + <test name="DuplicateRowWithImage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -1135,7 +1135,7 @@ <seeElement selector="{{ImageOnStorefront.base('2')}}" stepKey="seeImage2Storefront"/> <seeElement selector="{{RowOnStorefront.base('2')}}" stepKey="seeRow2Storefront"/> </test> - <test name="DuplicateColumnWithImageTest"> + <test name="DuplicateColumnWithImage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -1213,7 +1213,7 @@ <seeElement selector="{{ImageOnStorefront.base('2')}}" stepKey="seeImage2Storefront"/> <seeElement selector="{{ColumnOnFrontend.base('2')}}" stepKey="seeColumn2Storefront"/> </test> - <test name="DuplicateTabWithImageTest"> + <test name="DuplicateTabWithImage"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> @@ -1331,7 +1331,7 @@ <seeElement selector="{{TabOnStorefront.base('4')}}" stepKey="seeTab4Storefront"/> <seeElement selector="{{ImageOnStorefront.base('4')}}" stepKey="seeImage4Storefront"/> </test> - <test name="ImageCaptionDoesNotRenderHtmlTest"> + <test name="ImageCaptionDoesNotRenderHtml"> <annotations> <features value="PageBuilder"/> <stories value="Image"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml index e064926aaef..ab4a4e7a174 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapCommonComponentTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapDefaultStateTest"> + <test name="MapDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -178,7 +178,7 @@ </actionGroup> <actionGroup ref="validateEmptyMapStoreFront" stepKey="validateEmptyMapStoreFront"/> </test> - <test name="MapVerifyOnHoverOptionMenuTest"> + <test name="MapVerifyOnHoverOptionMenu"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -212,7 +212,7 @@ <argument name="contentType" value="PageBuilderMapContentType"/> </actionGroup> </test> - <test name="MapValidateAdvancedConfigurationDefaultValuesTest"> + <test name="MapValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -342,7 +342,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="MapUpdateAdvancedConfigurationValuesTest"> + <test name="MapUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -524,7 +524,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="MapAddAllAttributesTest"> + <test name="MapAddAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -871,7 +871,7 @@ <argument name="height" value="PageBuilderMapHeightProperty350"/> </actionGroup> </test> - <test name="MapDuplicateTest"> + <test name="MapDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1347,7 +1347,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="MapDeleteTest"> + <test name="MapDelete"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1403,7 +1403,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{MapOnStorefront.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="MapCannotAddToStageTest"> + <test name="MapCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1434,7 +1434,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{MapOnStage.base('1')}}" stepKey="dontSeeMap"/> </test> - <test name="MapAddToColumnTest"> + <test name="MapAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1518,7 +1518,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="MapMoveMapTest"> + <test name="MapMoveMap"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml similarity index 97% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml index 9b5383187bc..77d7e85157a 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapGoogleMapsSettingsTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapInvalidAPIKeyWarningMessageTest"> + <test name="MapInvalidAPIKeyWarningMessage"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -75,7 +75,7 @@ </actionGroup> <actionGroup ref="validateEmptyMapStoreFront" stepKey="validateEmptyMapStoreFront"/> </test> - <test name="MapEmptyAPIKeyWarningMessageTest" extends="MapInvalidAPIKeyWarningMessageTest"> + <test name="MapEmptyAPIKeyWarningMessage" extends="MapInvalidAPIKeyWarningMessage"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -94,7 +94,7 @@ <seeElement selector="{{EditMapForm.warningMessage}}" stepKey="dontSeeWarningMessage"/> <seeElement selector="{{EditMapForm.warningMessage}}" stepKey="dontSeeWarningMessage2"/> </test> - <test name="MapEmptyAPIKeyWarningMessageLinkTest"> + <test name="MapEmptyAPIKeyWarningMessageLink"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -147,7 +147,7 @@ <argument name="section" value="AddLocationForm"/> </actionGroup> </test> - <test name="MapInvalidAPIKeyWarningMessageLinkTest" extends="MapEmptyAPIKeyWarningMessageLinkTest"> + <test name="MapInvalidAPIKeyWarningMessageLink" extends="MapEmptyAPIKeyWarningMessageLink"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -170,7 +170,7 @@ <dontSeeElement selector="{{EditMapForm.warningMessage}}" stepKey="validateWarningMessageLink2"/> <reloadPage stepKey="moveBack2"/> </test> - <test name="MapCanAddNewLocationWithInvalidAPIKeyTest"> + <test name="MapCanAddNewLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -230,7 +230,7 @@ <argument name="rowIndex" value="1"/> </actionGroup> </test> - <test name="MapCanAddNewLocationWithEmptyAPIKeyTest" extends="MapCanAddNewLocationWithInvalidAPIKeyTest"> + <test name="MapCanAddNewLocationWithEmptyAPIKey" extends="MapCanAddNewLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -247,7 +247,7 @@ <magentoCLI command="config:set cms/pagebuilder/google_maps_api_key ''" stepKey="setInvalidGoogleMapsAPIKey"/> </before> </test> - <test name="MapCanEditLocationWithInvalidAPIKeyTest"> + <test name="MapCanEditLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -337,7 +337,7 @@ <argument name="property" value="PageBuilderMapLocationName_TestLocationEdit"/> </actionGroup> </test> - <test name="MapCanEditLocationWithEmptyAPIKeyTest" extends="MapCanEditLocationWithInvalidAPIKeyTest"> + <test name="MapCanEditLocationWithEmptyAPIKey" extends="MapCanEditLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -354,7 +354,7 @@ <magentoCLI command="config:set cms/pagebuilder/google_maps_api_key ''" stepKey="setInvalidGoogleMapsAPIKey"/> </before> </test> - <test name="MapCanDeleteLocationWithInvalidAPIKeyTest"> + <test name="MapCanDeleteLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -426,7 +426,7 @@ </actionGroup> <seeElement selector="{{PageBuilderDataGrid.emptyGridMessage(PageBuilderMapGrid.emptyMessage)}}" stepKey="seeEmptyGrid2"/> </test> - <test name="MapCanDeleteLocationWithEmptyAPIKeyTest" extends="MapCanDeleteLocationWithInvalidAPIKeyTest"> + <test name="MapCanDeleteLocationWithEmptyAPIKey" extends="MapCanDeleteLocationWithInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -443,7 +443,7 @@ <magentoCLI command="config:set cms/pagebuilder/google_maps_api_key ''" stepKey="setInvalidGoogleMapsAPIKey"/> </before> </test> - <test name="MapDoesNotRenderNewGoogleMapsStyleOnStorefrontUntilPageSaveOrCacheRefreshTest"> + <test name="MapDoesNotRenderNewGoogleMapsStyleOnStorefrontUntilPageSaveOrCacheRefresh"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -556,7 +556,7 @@ <expectedResult type="string">{{googleMapsStyle.empty}}</expectedResult> </assertEquals> </test> - <test name="MapRendersNewGoogleMapsStyleOnStageImmediatelyTest"> + <test name="MapRendersNewGoogleMapsStyleOnStageImmediately"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml index f8b64a45db1..35c03ca5ec9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationAttributeTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapLocationNameValidCharacterSetsTest"> + <test name="MapLocationNameValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -141,7 +141,7 @@ </actionGroup> <seeElement selector="{{MapOnStorefront.locationName('1', PageBuilderMapLocationName_SpecialCharacters.value)}}" stepKey="seeLocationName2Storefront"/> </test> - <test name="MapLocationNameInvalidInputsTest"> + <test name="MapLocationNameInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -209,7 +209,7 @@ <argument name="locationName" value="PageBuilderMapLocationName_TestLocation"/> </actionGroup> </test> - <test name="MapLatitudeInvalidInputsTest"> + <test name="MapLatitudeInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -335,7 +335,7 @@ <argument name="page" value="MapOnStage"/> </actionGroup> </test> - <test name="MapLongitudeInvalidInputsTest" extends="MapLatitudeInvalidInputsTest"> + <test name="MapLongitudeInvalidInputs" extends="MapLatitudeInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -401,7 +401,7 @@ <argument name="property" value="PageBuilderMapLongitude_Negative104_99"/> </actionGroup> </test> - <test name="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -599,7 +599,7 @@ <seeElement selector="{{MapOnStorefront.locationName('1', PageBuilderMapLocationName_z.value)}}" stepKey="seeLocationName3Storefront"/> <dontSeeElement selector="{{MapOnStorefront.phoneNumber('1', PageBuilderMapPhoneNumber_Empty.value)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapStreetAddressValidCharacterSetsTest" extends="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapStreetAddressValidCharacterSets" extends="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -670,7 +670,7 @@ <seeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_SpecialCharacters.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="seePhoneNumber2Storefront"/> <dontSeeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Empty.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapCityValidCharacterSetsTest" extends="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapCityValidCharacterSets" extends="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -741,7 +741,7 @@ <seeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_SpecialCharacters.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="seePhoneNumber2Storefront"/> <dontSeeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Empty.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapStateValidCharacterSetsTest" extends="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapStateValidCharacterSets" extends="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -812,7 +812,7 @@ <seeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Default.value, PageBuilderMapState_SpecialCharacters.tooltipValue, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="seePhoneNumber2Storefront"/> <dontSeeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Empty.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapZipValidCharacterSetsTest" extends="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapZipValidCharacterSets" extends="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -883,7 +883,7 @@ <seeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_SpecialCharacters.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="seePhoneNumber2Storefront"/> <dontSeeElement selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Empty.value, PageBuilderMapCountry_Default.tooltipValue)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapCountryValidCaseTest"> + <test name="MapCountryValidCase"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -979,7 +979,7 @@ <waitForElementVisible selector="{{MapOnStorefront.locationName('1', PageBuilderMapLocationName_TestLocation.value)}}" stepKey="waitForLocationNameStorefront"/> <waitForElementVisible selector="{{MapOnStorefront.addressCityStateZipCountry('1', PageBuilderMapStreetAddress_Default.value, PageBuilderMapCity_Default.value, PageBuilderMapState_Default.value, PageBuilderMapZipCode_Default.value, PageBuilderMapCountry_USA.value)}}" stepKey="waitForCountryStorefront"/> </test> - <test name="MapCommentValidCharacterSetsTest" extends="MapPhoneNumberValidCharacterSetsTest"> + <test name="MapCommentValidCharacterSets" extends="MapPhoneNumberValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1028,7 +1028,7 @@ <seeElement selector="{{MapOnStorefront.comment('1', PageBuilderMapComment_SpecialCharacters.value)}}" stepKey="seePhoneNumber2Storefront"/> <dontSeeElement selector="{{MapOnStorefront.comment('1', PageBuilderMapComment_Empty.value)}}" stepKey="dontSeePhoneNumber3Storefront"/> </test> - <test name="MapLocationAttributesDoNotRenderHtmlTest"> + <test name="MapLocationAttributesDoNotRenderHtml"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml index a21193285e3..f67d172998b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapLocationTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapLocationsGridAppearanceTest"> + <test name="MapLocationsGridAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -79,7 +79,7 @@ <seeInField selector="{{PageBuilderDataGrid.gridPaginationPage}}" userInput="1" stepKey="seePaginationPage"/> <waitForElementVisible selector="{{PageBuilderDataGrid.gridPaginationTotalPages('1')}}" stepKey="waitForPaginationTotalPages"/> </test> - <test name="MapVerifyEditButtonOnLocationsGridTest"> + <test name="MapVerifyEditButtonOnLocationsGrid"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -134,7 +134,7 @@ <argument name="property" value="PageBuilderMapLocationName_TestLocation"/> </actionGroup> </test> - <test name="MapLocationsGridRowSortingForEachColumnTest"> + <test name="MapLocationsGridRowSortingForEachColumn"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -978,7 +978,7 @@ <argument name="rowIndex" value="4"/> </actionGroup> </test> - <test name="MapLocationsGridSaveRowSortOrderTest"> + <test name="MapLocationsGridSaveRowSortOrder"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1062,7 +1062,7 @@ <argument name="rowIndex" value="2"/> </actionGroup> </test> - <test name="MapLocationsGridCancelRowSortOrderChangesTest"> + <test name="MapLocationsGridCancelRowSortOrderChanges"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1155,7 +1155,7 @@ <argument name="rowIndex" value="2"/> </actionGroup> </test> - <test name="MapLocationsGridNewLocationsCorrectSortOrderTest"> + <test name="MapLocationsGridNewLocationsCorrectSortOrder"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1231,7 +1231,7 @@ <argument name="rowIndex" value="2"/> </actionGroup> </test> - <test name="MapEditAllLocationAttributesTest"> + <test name="MapEditAllLocationAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1396,7 +1396,7 @@ <argument name="property" value="PageBuilderMapComment_TestComment2"/> </actionGroup> </test> - <test name="MapDeleteLocationTest"> + <test name="MapDeleteLocation"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml index 46dc7ac0666..ee8188fec09 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapMapSettingsAttributesTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapHeightValidCharacterSetsTest"> + <test name="MapHeightValidCharacterSets"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -135,7 +135,7 @@ <actualResult type="variable">actualStorefrontMap2HeightDifference</actualResult> </assertLessThanOrEqual> </test> - <test name="MapHeightInvalidInputsTest"> + <test name="MapHeightInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -195,7 +195,7 @@ <argument name="property" value="PageBuilderMapHeight_NonNumeric"/> </actionGroup> </test> - <test name="MapShowControlsEnabledAndDisabledTest"> + <test name="MapShowControlsEnabledAndDisabled"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml index f29c7dbc9c9..a45f9810982 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderMapPinTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="MapAddPinToMapByClickingOnMapTest"> + <test name="MapAddPinToMapByClickingOnMap"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -168,7 +168,7 @@ <argument name="count" value="1"/> </actionGroup> </test> - <test name="MapAddPinToMapByInputtingCoordinatesTest"> + <test name="MapAddPinToMapByInputtingCoordinates"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -298,7 +298,7 @@ <argument name="longitude" value="PageBuilderMapLongitude_Negative104_99"/> </actionGroup> </test> - <test name="MapMoveMapPinByClickingOnMapTest"> + <test name="MapMoveMapPinByClickingOnMap"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -445,7 +445,7 @@ <argument name="comparedPinLocation" value="initialPinLocationStorefront"/> </actionGroup> </test> - <test name="MapMoveMapPinByChangingCoordinatesTest"> + <test name="MapMoveMapPinByChangingCoordinates"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -578,7 +578,7 @@ <argument name="comparedPinLocation" value="initialPinLocationStorefront"/> </actionGroup> </test> - <test name="MapMoveMapPinByDraggingAndDroppingPinTest"> + <test name="MapMoveMapPinByDraggingAndDroppingPin"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -709,7 +709,7 @@ <argument name="comparedPinLocation" value="initialPinLocationStorefront"/> </actionGroup> </test> - <test name="MapMoveMapPinByDraggingAndDroppingPinOffOfMapTest"> + <test name="MapMoveMapPinByDraggingAndDroppingPinOffOfMap"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -840,7 +840,7 @@ <argument name="comparedPinLocation" value="initialPinLocationStorefront"/> </actionGroup> </test> - <test name="MapAddPinThenRemoveThenAddTest"> + <test name="MapAddPinThenRemoveThenAdd"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -916,7 +916,7 @@ <argument name="page" value="MapOnStage"/> </actionGroup> </test> - <test name="MapPinTooltipWindowStaysOpenWhenPanningOnMapTest"> + <test name="MapPinTooltipWindowStaysOpenWhenPanningOnMap"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1015,7 +1015,7 @@ <argument name="page" value="MapOnStorefront"/> </actionGroup> </test> - <test name="MapPinTooltipAllLocationDataTest"> + <test name="MapPinTooltipAllLocationData"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1140,7 +1140,7 @@ <argument name="country" value="PageBuilderMapCountry_USA"/> </actionGroup> </test> - <test name="Map2LocationsWithSameCoordinatesTest"> + <test name="Map2LocationsWithSameCoordinates"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> @@ -1233,7 +1233,7 @@ <argument name="count" value="2"/> </actionGroup> </test> - <test name="Map2LocationsOppositeSidesOfWorldTest"> + <test name="Map2LocationsOppositeSidesOfWorld"> <annotations> <features value="PageBuilder"/> <stories value="Map"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml index 52545e31d16..f4689287190 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ActivatePageBuilderFullScreenTest"> + <test name="ActivatePageBuilderFullScreen"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -39,7 +39,7 @@ <waitForElementVisible selector="{{PageBuilderStage.stageWrapper}}" stepKey="waitForStage2"/> <waitForElementNotVisible selector="{{PageBuilderStage.stageWrapperFullScreen}}" stepKey="verifyStageNotFullScreen2"/> </test> - <test name="ShowPanelMenuSectionsTest"> + <test name="ShowPanelMenuSections"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -62,7 +62,7 @@ <seeElement selector='{{PageBuilderPanel.firstSection}}' parameterArray="['class' => 'active']" stepKey="firstSectionOfPanelIsOpen"/> <actionGroup ref="validateMenuSectionsAndContentTypes" stepKey="validateMenuSectionsAndContentTypes"/> </test> - <test name="SearchOneCharInPanelTest"> + <test name="SearchOneCharInPanel"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -87,7 +87,7 @@ <see userInput="Banner" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateContentTypeBanner"/> <see userInput="Block" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateContentTypeStaticBlock"/> </test> - <test name="SearchRemovedContentTypeTest"> + <test name="SearchRemovedContentType"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -112,7 +112,7 @@ <fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="Code" stepKey="fillCode"/> <see userInput="HTML Code" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateCodeButtons"/> </test> - <test name="SearchThreeCharInPanelTest"> + <test name="SearchThreeCharInPanel"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -135,7 +135,7 @@ <fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="blo" stepKey="fillSearch"/> <see userInput="Block" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateStaticBlock"/> </test> - <test name="SearchNoMatchesInPanelTest"> + <test name="SearchNoMatchesInPanel"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -158,7 +158,7 @@ <fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="abcdef" stepKey="fillSearch"/> <see userInput="Nothing found" selector="{{PageBuilderPanel.nothingFound}}" stepKey="validateNothingFound"/> </test> - <test name="SearchSpecialCharactersInPanelTest"> + <test name="SearchSpecialCharactersInPanel"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -184,7 +184,7 @@ <fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="Code" stepKey="fillCode"/> <see userInput="HTML Code" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateCodeButtonShowsUp"/> </test> - <test name="ClearSearchInPanelTest"> + <test name="ClearSearchInPanel"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -224,7 +224,7 @@ <scrollTo selector="{{CmsNewPagePageActionsSection.contentSectionName}}" stepKey="scrollToTopOfStage"/> <actionGroup ref="validateMenuSectionsAndContentTypes" stepKey="validateMenuSectionsAndContentTypesAfterClearField"/> </test> - <test name="SearchContentTypeAndAddToStageTest"> + <test name="SearchContentTypeAndAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -257,7 +257,7 @@ </actionGroup> <dontSeeJsError stepKey="dontSeeJsError"/> </test> - <test name="ValidatePanelContentTypesGroupedCorrectlyTest"> + <test name="ValidatePanelContentTypesGroupedCorrectly"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -308,7 +308,7 @@ <seeElement selector="{{PageBuilderPanel.contentTypeInMenuSection('4', 'Add Content', '2', 'Products')}}" stepKey="validateContentTypeProducts"/> <click selector="{{PageBuilderPanel.panelMenuSection('Add Content')}}" stepKey="closeAddContentMenuSection"/> </test> - <test name="ValidatePanelDefaultStateTest"> + <test name="ValidatePanelDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -333,7 +333,7 @@ <dontSeeElement selector="{{PageBuilderPanel.panelMenuSectionActive('Media')}}" stepKey="checkInactiveMenuSection2"/> <dontSeeElement selector="{{PageBuilderPanel.panelMenuSectionActive('Add Content')}}" stepKey="checkInactiveMenuSection3"/> </test> - <test name="ValidatePanelContentTypeIconsTest"> + <test name="ValidatePanelContentTypeIcons"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -383,7 +383,7 @@ <seeElement selector="{{PageBuilderPanel.contentTypeWithIcon('block','Block')}}" stepKey="validateBlockIcon"/> <seeElement selector="{{PageBuilderPanel.contentTypeWithIcon('products','Products')}}" stepKey="validateProductsIcon"/> </test> - <test name="HeaderFixedInFullScreenTest"> + <test name="HeaderFixedInFullScreen"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> @@ -423,7 +423,7 @@ <scrollTo selector="{{RowOnStage.base('6')}}" stepKey="scrollToBottom"/> <seeElement selector="{{PageBuilderStage.exitFullScreen}}" stepKey="verifyHeader"/> </test> - <test name="ValidatePanelStickinessTest"> + <test name="ValidatePanelStickiness"> <annotations> <features value="PageBuilder"/> <stories value="Panel"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml index 1972c0cd4ab..f5d89428ee1 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCarouselTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="AdminPageBuilderProductsCarouselValidateAppearanceTest" extends="AdminPageBuilderProductsGridValidateAppearanceTest"> + <test name="AdminPageBuilderProductsCarouselValidateAppearance" extends="AdminPageBuilderProductsGridValidateAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -58,7 +58,7 @@ <argument name="page" value="ProductsOnStorefront"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselVerifyCanSlideCarouselTest"> + <test name="AdminPageBuilderProductsCarouselVerifyCanSlideCarousel"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -188,7 +188,7 @@ <argument name="activeNavigationDot" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInDefaultModeTest"> + <test name="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInDefaultMode"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -360,7 +360,7 @@ </actionGroup> <closeTab stepKey="closeTab"/> </test> - <test name="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInContinuousModeTest" extends="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInDefaultModeTest"> + <test name="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInContinuousMode" extends="AdminPageBuilderProductsCarouselValidateProductsCenteredInAppearanceInDefaultMode"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -377,7 +377,7 @@ <argument name="property" value="PageBuilderProductsCarouselSettingsCarouselMode_Continuous"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselAndGridAppearanceSettingsPersistTest"> + <test name="AdminPageBuilderProductsCarouselAndGridAppearanceSettingsPersist"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -688,7 +688,7 @@ <argument name="productIndex" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselDoesNotAppearOnFrontendWhenNotConfiguredTest" extends="AdminPageBuilderProductsDoesNotAppearOnFrontendWhenNotConfiguredTest"> + <test name="AdminPageBuilderProductsCarouselDoesNotAppearOnFrontendWhenNotConfigured" extends="AdminPageBuilderProductsDoesNotAppearOnFrontendWhenNotConfigured"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -709,7 +709,7 @@ </actionGroup> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings" after="selectAppearance"/> </test> - <test name="AdminPageBuilderProductsCarouselValidateNumberOfProductsFieldTest" extends="AdminPageBuilderProductsWithCountTest"> + <test name="AdminPageBuilderProductsCarouselValidateNumberOfProductsField" extends="AdminPageBuilderProductsWithCount"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -790,7 +790,7 @@ <argument name="page" value="ProductsCarouselOnStage"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselWrapsInsideTinyColumnTest" extends="ProductsWrapsInsideTinyColumnTest"> + <test name="AdminPageBuilderProductsCarouselWrapsInsideTinyColumn" extends="ProductsWrapsInsideTinyColumn"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -815,7 +815,7 @@ <executeJS function="return document.querySelectorAll('{{ProductsCarouselOnStage.productPriceContainer}}')[0].clientWidth" stepKey="productPriceContainerWidthAfterSave"/> <executeJS function="return document.querySelectorAll('{{ProductsCarouselOnStage.productActions}}')[0].clientWidth" stepKey="productActionsWidthAfterSave"/> </test> - <test name="AdminPageBuilderProductsCarouselCanBeSortedTest" extends="AdminPageBuilderProductsCanBeSortedTest"> + <test name="AdminPageBuilderProductsCarouselCanBeSorted" extends="AdminPageBuilderProductsCanBeSorted"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -888,7 +888,7 @@ <argument name="productIndex" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSelectByCategoryAndSortByPositionTest" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsCarouselSelectByCategoryAndSortByPosition" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -922,7 +922,7 @@ <argument name="productIndex" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSortByCategoryPositionVerifyUpdatingPositionInCategoryUpdatesSortOrderTest" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsCarouselSortByCategoryPositionVerifyUpdatingPositionInCategoryUpdatesSortOrder" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1012,7 +1012,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSortByCategoryPositionVerifyEmptyProductsAfterDeletingCategoryTest" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsCarouselSortByCategoryPositionVerifyEmptyProductsAfterDeletingCategory" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1061,7 +1061,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ProductsOnStorefront.product('1')}}" stepKey="validateNoProductsOnStorefront" after="navigateToCMSPageStorefront2"/> </test> - <test name="AdminPageBuilderProductsCarouselSelectBySKUAndSortByPositionTest" extends="AdminPageBuilderProductsSelectBySKUAndSortByPositionTest"> + <test name="AdminPageBuilderProductsCarouselSelectBySKUAndSortByPosition" extends="AdminPageBuilderProductsSelectBySKUAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1109,7 +1109,7 @@ <argument name="productIndex" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSelectBySKUAndVerifyProductRemovedAfterSKUChangeTest" extends="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterSKUChangeTest"> + <test name="AdminPageBuilderProductsCarouselSelectBySKUAndVerifyProductRemovedAfterSKUChange" extends="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterSKUChange"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1152,7 +1152,7 @@ <argument name="productIndex" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSelectBySKUAndVerifyProductRemovedAfterDeleteTest" extends="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterDeleteTest"> + <test name="AdminPageBuilderProductsCarouselSelectBySKUAndVerifyProductRemovedAfterDelete" extends="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterDelete"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1195,7 +1195,7 @@ <argument name="productIndex" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselAllProductsShowWhenSavedWithoutConditionsTest" extends="AdminPageBuilderProductsAllProductsShowWhenSavedWithoutConditionsTest"> + <test name="AdminPageBuilderProductsCarouselAllProductsShowWhenSavedWithoutConditions" extends="AdminPageBuilderProductsAllProductsShowWhenSavedWithoutConditions"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1214,7 +1214,7 @@ <waitForElementVisible selector="{{ProductsCarouselOnStage.product('1')}}" stepKey="waitForProductsToLoad"/> <grabMultiple selector="{{ProductsCarouselOnStage.product('1')}}" stepKey="grabProducts"/> </test> - <test name="AdminPageBuilderProductsCarouselUpdateAdvancedConfigurationValuesTest" extends="ProductsUpdateAdvancedConfigurationValuesTest"> + <test name="AdminPageBuilderProductsCarouselUpdateAdvancedConfigurationValues" extends="ProductsUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1255,7 +1255,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInDefaultCarouselModeTest" extends="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefrontTest"> + <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInDefaultCarouselMode" extends="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1272,7 +1272,7 @@ <argument name="property" value="PageBuilderProductsProductCarouselAppearance"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeOneProductTest" extends="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefrontTest"> + <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeOneProduct" extends="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1292,7 +1292,7 @@ <argument name="property" value="PageBuilderProductsCarouselSettingsCarouselMode_Continuous"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeSixProductsTest"> + <test name="AdminPageBuilderProductsCarouselVerifyProductItemsInteractionsOnStorefrontInContinuousCarouselModeSixProducts"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1457,7 +1457,7 @@ <argument name="productItemIndex" value="-1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsSectionDefaultsTest"> + <test name="AdminPageBuilderProductsCarouselSettingsSectionDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1579,7 +1579,7 @@ <argument name="page" value="ProductsOnStorefront"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsValidateDefaultCarouselModeTest"> + <test name="AdminPageBuilderProductsCarouselSettingsValidateDefaultCarouselMode"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1735,7 +1735,7 @@ <argument name="product" value="$$createProduct1$$"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsValidateContinuousCarouselModeWithSixProductsTest"> + <test name="AdminPageBuilderProductsCarouselSettingsValidateContinuousCarouselModeWithSixProducts"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -2164,7 +2164,7 @@ <argument name="productItemIndex" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsValidateContinuousCarouselModeWithThreeProductsTest"> + <test name="AdminPageBuilderProductsCarouselSettingsValidateContinuousCarouselModeWithThreeProducts"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -2310,7 +2310,7 @@ <argument name="productItemIndex" value="2"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithNoInfiniteLoopTest"> + <test name="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithNoInfiniteLoop"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -2637,7 +2637,7 @@ <argument name="product" value="$$createProduct1$$"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithInfiniteLoopTest" extends="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithNoInfiniteLoopTest"> + <test name="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithInfiniteLoop" extends="AdminPageBuilderProductsCarouselValidateAutoplayInDefaultModeWithNoInfiniteLoop"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -2717,7 +2717,7 @@ <argument name="page" value="ProductsOnStorefront"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselValidateAutoplayInContinuousModeWithInfiniteLoopTest"> + <test name="AdminPageBuilderProductsCarouselValidateAutoplayInContinuousModeWithInfiniteLoop"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -3004,7 +3004,7 @@ </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsValidateInfiniteLoopArrowsDotsFunctionTest"> + <test name="AdminPageBuilderProductsCarouselSettingsValidateInfiniteLoopArrowsDotsFunction"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -3308,7 +3308,7 @@ <argument name="product" value="$$createProduct6$$"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselSettingsDisableArrowsAndDotsTest"> + <test name="AdminPageBuilderProductsCarouselSettingsDisableArrowsAndDots"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -3445,7 +3445,7 @@ <argument name="product" value="$$createProduct1$$"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsCarouselValidateCanSaveProductsWithEmptyConditionsTest" extends="AdminPageBuilderProductsGridValidateCanSaveProductsWithEmptyConditionsTest"> + <test name="AdminPageBuilderProductsCarouselValidateCanSaveProductsWithEmptyConditions" extends="AdminPageBuilderProductsGridValidateCanSaveProductsWithEmptyConditions"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -3475,7 +3475,7 @@ <argument name="product" value="_defaultProduct"/> </actionGroup> </test> - <test name="AdminPageBuilderVerifySwatchDisplayedInPreviewCarouselTest" extends="AdminPageBuilderVerifySwatchDisplayedInPreviewGridTest"> + <test name="AdminPageBuilderVerifySwatchDisplayedInPreviewCarousel" extends="AdminPageBuilderVerifySwatchDisplayedInPreviewGrid"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml index 25d4be957ae..77bda932a8b 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsCommonTests.xml @@ -82,7 +82,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsConfigurationIsPersistentTest"> + <test name="AdminPageBuilderProductsConfigurationIsPersistent"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -165,7 +165,7 @@ </assertEquals> <seeInField selector="{{ProductsContentTypeForm.productsCountInput}}" userInput="1" stepKey="assertProductsCountFieldValue2"/> </test> - <test name="ProductsDuplicateTest"> + <test name="ProductsDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -265,7 +265,7 @@ <waitForElementVisible selector="{{ProductsOnStorefront.notHidden('1')}}" stepKey="waitForContentTypeShownStorefront1"/> <waitForElementVisible selector="{{ProductsOnStorefront.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> </test> - <test name="ProductsDeleteTest"> + <test name="ProductsDelete"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -296,7 +296,7 @@ </actionGroup> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderProductsContentType.role)}}" stepKey="dontSeeContentTypeInStage"/> </test> - <test name="ProductsValidateAdvancedConfigurationDefaultValuesTest"> + <test name="ProductsValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -444,7 +444,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ShowOutOfStockProductTest"> + <test name="ShowOutOfStockProduct"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -532,7 +532,7 @@ <argument name="count" value="1"/> </actionGroup> </test> - <test name="ProductsCannotAddToStageTest"> + <test name="ProductsCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -559,7 +559,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ProductsOnStage.base('1')}}" stepKey="dontSeeProducts"/> </test> - <test name="ProductsCanAddToColumnTest"> + <test name="ProductsCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -627,7 +627,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnProductsDefaultStateTest"> + <test name="ValidateShowHideOnProductsDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -697,7 +697,7 @@ </actionGroup> <seeElement selector="{{ProductsOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnProductsTest"> + <test name="ValidateShowHideOnProducts"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -788,7 +788,7 @@ <dontSeeElementInDOM selector="{{ProductsOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{ProductsOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="ProductFromDifferentWebsiteShowsOnStageTest"> + <test name="ProductFromDifferentWebsiteShowsOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -908,7 +908,7 @@ <actualResult type="variable">$grabStorefrontProducts2</actualResult> </assertCount> </test> - <test name="ProductConditionsInvulnerableToXSSTest"> + <test name="ProductConditionsInvulnerableToXSS"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -960,7 +960,7 @@ </actionGroup> <dontSeeJsError stepKey="doNotSeeAnyJSErrorsOnStorefront"/> </test> - <test name="ProductCombinedConditionRuleWorksProperlyTest"> + <test name="ProductCombinedConditionRuleWorksProperly"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1098,7 +1098,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ProductsOnStorefront.product('1')}}" stepKey="validateProductCountStorefrontAfterChangingToFalse"/> </test> - <test name="AdminPageBuilderProductsConfigurationValidateProductTotalsTest"> + <test name="AdminPageBuilderProductsConfigurationValidateProductTotals"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml index e6bcdd294cb..a3fc164bc7f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsGridTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="AdminPageBuilderProductsGridValidateAppearanceTest"> + <test name="AdminPageBuilderProductsGridValidateAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -100,7 +100,7 @@ <argument name="page" value="ProductsOnStorefront"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsDoesNotAppearOnFrontendWhenNotConfiguredTest"> + <test name="AdminPageBuilderProductsDoesNotAppearOnFrontendWhenNotConfigured"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -153,7 +153,7 @@ <actualResult type="variable">grabStorefrontProducts</actualResult> </assertCount> </test> - <test name="AdminPageBuilderProductsWithCountTest"> + <test name="AdminPageBuilderProductsWithCount"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -344,7 +344,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsAllProductsShowWhenSavedWithoutConditionsTest"> + <test name="AdminPageBuilderProductsAllProductsShowWhenSavedWithoutConditions"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -416,7 +416,7 @@ <expectedResult type="int">2</expectedResult> </assertGreaterThanOrEqual> </test> - <test name="ProductsUpdateAdvancedConfigurationValuesTest"> + <test name="ProductsUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -599,7 +599,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="ProductsWrapsInsideTinyColumnTest"> + <test name="ProductsWrapsInsideTinyColumn"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -742,7 +742,7 @@ <expectedResult type="variable">productActionsWidthFrontend</expectedResult> </assertGreaterThan> </test> - <test name="AdminPageBuilderProductsCanBeSortedTest"> + <test name="AdminPageBuilderProductsCanBeSorted"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -921,7 +921,7 @@ </actionGroup> <closeTab stepKey="closeStoreFrontTab1"/> </test> - <test name="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1026,7 +1026,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsSortByCategoryPositionVerifyUpdatingPositionInCategoryUpdatesSortOrderTest" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsSortByCategoryPositionVerifyUpdatingPositionInCategoryUpdatesSortOrder" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1099,7 +1099,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsSortByCategoryPositionVerifyEmptyProductsAfterDeletingCategoryTest" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPositionTest"> + <test name="AdminPageBuilderProductsSortByCategoryPositionVerifyEmptyProductsAfterDeletingCategory" extends="AdminPageBuilderProductsSelectByCategoryAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1130,7 +1130,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{ProductsOnStorefront.product('1')}}" stepKey="validateNoProductsOnStorefront" after="navigateToCMSPageStorefront2"/> </test> - <test name="AdminPageBuilderProductsSelectBySKUAndSortByPositionTest"> + <test name="AdminPageBuilderProductsSelectBySKUAndSortByPosition"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1276,7 +1276,7 @@ <argument name="isClickable" value="auto"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterSKUChangeTest"> + <test name="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterSKUChange"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1376,7 +1376,7 @@ <argument name="productIndex" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterDeleteTest"> + <test name="AdminPageBuilderProductsSelectBySKUAndVerifyProductRemovedAfterDelete"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1466,7 +1466,7 @@ <argument name="productIndex" value="1"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefrontTest"> + <test name="AdminPageBuilderProductsVerifyProductItemsInteractionsOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1543,7 +1543,7 @@ <argument name="product" value="$$createProduct.name$$"/> </actionGroup> </test> - <test name="AdminPageBuilderProductsGridValidateCanSaveProductsWithEmptyConditionsTest"> + <test name="AdminPageBuilderProductsGridValidateCanSaveProductsWithEmptyConditions"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> @@ -1619,7 +1619,7 @@ <argument name="product" value="_defaultProduct"/> </actionGroup> </test> - <test name="AdminPageBuilderVerifySwatchDisplayedInPreviewGridTest"> + <test name="AdminPageBuilderVerifySwatchDisplayedInPreviewGrid"> <annotations> <features value="PageBuilder"/> <stories value="Products"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml index 29339900687..f263be84f08 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderReadNonMasterFormatTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="ReadTextTest"> + <test name="ReadText"> <annotations> <features value="PageBuilder"/> <stories value="WYSIWYG Conversion"/> @@ -50,7 +50,7 @@ <seeElement selector="{{PageBuilderStage.contentTypeInStage('html')}}" stepKey="seeContentTypeInStage"/> <see userInput="{{simpleCmsPage.content}}" selector="{{HtmlOnStage.base('1')}}" stepKey="assertHtmlContent"/> </test> - <test name="ReadHtmlTest"> + <test name="ReadHtml"> <annotations> <features value="PageBuilder"/> <stories value="WYSIWYG Conversion"/> @@ -93,7 +93,7 @@ <seeElement selector="{{PageBuilderStage.contentTypeInStage('html')}}" stepKey="seeContentTypeInStage"/> <seeElementInDOM selector="{{HtmlOnBackendArbitraryHtml.content}}" stepKey="assertHtmlContent"/> </test> - <test name="ReadHtmlWithNonexistentDataRoleTest"> + <test name="ReadHtmlWithNonexistentDataRole"> <annotations> <features value="PageBuilder"/> <stories value="WYSIWYG Conversion"/> @@ -137,7 +137,7 @@ <seeElement selector="{{PageBuilderStage.contentTypeInStage('html')}}" stepKey="seeContentTypeInStage"/> <seeElementInDOM selector="{{HtmlOnBackendNonexistentDataRole.content}}" stepKey="assertHtmlContent"/> </test> - <test name="ReadHtmlWithImageTest"> + <test name="ReadHtmlWithImage"> <annotations> <features value="PageBuilder"/> <stories value="WYSIWYG Conversion"/> @@ -183,7 +183,7 @@ <waitForPageLoad stepKey="waitForAdminLoginPageLoad"/> <seeElementInDOM selector="{{HtmlOnFrontendWithImage.content}}" stepKey="assertHtmlContent2"/> </test> - <test name="ReadHtmlWithNewImageTest"> + <test name="ReadHtmlWithNewImage"> <annotations> <features value="PageBuilder"/> <stories value="WYSIWYG Conversion"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml index ff610ace64b..3b29bb1f780 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="RowValidateBackgroundSectionDefaultValuesTest"> + <test name="RowValidateBackgroundSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -137,7 +137,7 @@ <argument name="section" value="RowOnStorefront"/> </actionGroup> </test> - <test name="RowValidateBackgroundFormTest"> + <test name="RowValidateBackgroundForm"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml index 56d1104d137..9c4569b9627 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowLayoutTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="RowValidateLayoutSectionDefaultValuesTest"> + <test name="RowValidateLayoutSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -93,7 +93,7 @@ <dontSeeElement selector="{{RowOnStorefront.rowStyle('1', PageBuilderMinHeightProperty_500px.style)}}" stepKey="seeRow1MinHeightApplied"/> <seeElement selector="{{RowOnStorefront.rowStyle('1', PageBuilderVerticalAlignmentPropertyTop.style)}}" stepKey="seeRow1VerticalAlignmentTopApplied"/> </test> - <test name="RowMinHeightInvalidInputsTest"> + <test name="RowMinHeightInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -152,7 +152,7 @@ <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <waitForElementVisible selector="{{RowOnStage.minHeight('1', PageBuilderMinHeightProperty_500px.value)}}" stepKey="seeFirstRowMinHeightAfterSave"/> </test> - <test name="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -222,7 +222,7 @@ <argument name="content" value="{{RowOnStorefront.baseCSS}}"/> </actionGroup> </test> - <test name="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeightTest"> + <test name="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -303,7 +303,7 @@ <argument name="height" value="PageBuilderMinHeightProperty_200"/> </actionGroup> </test> - <test name="RowContentIsVerticallyAlignedTest"> + <test name="RowContentIsVerticallyAligned"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -412,7 +412,7 @@ <seeElement selector="{{RowOnStorefront.rowStyle('2', PageBuilderVerticalAlignmentPropertyCenter.style)}}" stepKey="seeRow2VerticalAlignmentCenterApplied"/> <seeElement selector="{{RowOnStorefront.rowStyle('3', PageBuilderVerticalAlignmentPropertyBottom.style)}}" stepKey="seeRow3VerticalAlignmentBottomApplied"/> </test> - <test name="RowContentIsVerticallyAlignedWithDifferentMinimumHeightsTest"> + <test name="RowContentIsVerticallyAlignedWithDifferentMinimumHeights"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml index 2c7ff3787c5..a9226f8efa6 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowParallaxBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="RowHasParallaxDefaultSettingsTest"> + <test name="RowHasParallaxDefaultSettings"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -57,7 +57,7 @@ <waitForElementVisible selector="{{RowOnBackend.parallaxSpeedToolTipContent}}" stepKey="seeParallaxSpeedToolTipContent"/> <see selector="{{RowOnBackend.parallaxSpeedNotice}}" userInput="{{PageBuilderRowParallaxSpeed_0_5.notice}}" stepKey="seeParallaxSpeedNotice"/> </test> - <test name="RowCanAddParallaxBackgroundTest"> + <test name="RowCanAddParallaxBackground"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml index fe06690b731..2b6c77368b0 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderRowTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="RowInitializeWithRowTest"> + <test name="RowInitializeWithRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -31,7 +31,7 @@ </after> <waitForElementVisible selector="{{RowOnStage.base('1')}}" stepKey="seeElementRow"/> </test> - <test name="RowAddAdditionalRowBelowInitialRowTest"> + <test name="RowAddAdditionalRowBelowInitialRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -84,7 +84,7 @@ <waitForElement selector="{{PageBuilderStage.dropZone(PageBuilderRootContainerContentType.role, '1', '2')}}" stepKey="waitForSecondDropZone" /> <waitForElement selector="{{PageBuilderStage.dropZone(PageBuilderRootContainerContentType.role, '1', '3')}}" stepKey="waitForThirdDropZone" /> </test> - <test name="RowAddAdditionalRowAboveInitialRowTest"> + <test name="RowAddAdditionalRowAboveInitialRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -138,7 +138,7 @@ <waitForElement selector="{{PageBuilderStage.dropZone(PageBuilderRootContainerContentType.role, '1', '2')}}" stepKey="waitForSecondDropZone" /> <waitForElement selector="{{PageBuilderStage.dropZone(PageBuilderRootContainerContentType.role, '1', '3')}}" stepKey="waitForThirdDropZone" /> </test> - <test name="RowRemoveRowFromStageTest"> + <test name="RowRemoveRowFromStage"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -168,7 +168,7 @@ </actionGroup> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="1" stepKey="seeOneRow"/> </test> - <test name="RowCantRemoveLastRowTest"> + <test name="RowCantRemoveLastRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -202,7 +202,7 @@ <seeElement selector="{{PageBuilderContentTypeOptionsMenu.contentTypeRemoveDisabled}}" stepKey="seeDisabledRemoveContentTypeButton" /> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="1" stepKey="seeOneRow1"/> </test> - <test name="RowPlaceholderAndDisplayLabelInAdminPreviewTest"> + <test name="RowPlaceholderAndDisplayLabelInAdminPreview"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -235,7 +235,7 @@ </actionGroup> <dontSee selector="{{RowOnStage.empty('1')}}" stepKey="dontSeeRowPlaceholder"/> </test> - <test name="RowHeightAdjustsToContentWhenContentIsSmallerHeadingTest"> + <test name="RowHeightAdjustsToContentWhenContentIsSmallerHeading"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -298,7 +298,7 @@ <actualResult type="variable">getNewRowHeight2</actualResult> </assertEquals> </test> - <test name="RowHeightAdjustsToContentWhenContentIsLargerSliderTest"> + <test name="RowHeightAdjustsToContentWhenContentIsLargerSlider"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -351,7 +351,7 @@ <actualResult type="variable">actualStageRowHeightWithSlider</actualResult> </assertGreaterThanOrEqual> </test> - <test name="RowValidateAdvancedConfigurationDefaultValuesTest"> + <test name="RowValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -477,7 +477,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="RowUpdateAdvancedConfigurationValuesTest"> + <test name="RowUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -642,7 +642,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="RowCanAddUnlimitedRowsTest"> + <test name="RowCanAddUnlimitedRows"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -725,7 +725,7 @@ </actionGroup> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="21" stepKey="seeElementRow"/> </test> - <test name="RowNoRequiredAttributesTest"> + <test name="RowNoRequiredAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -780,7 +780,7 @@ <!-- Note that Advanced section is a shared form and is covered in AdvancedConfigurationEditPanelVisual test --> <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> </test> - <test name="RowDuplicateTest"> + <test name="RowDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1336,7 +1336,7 @@ <argument name="rowIndex" value="3"/> </actionGroup> </test> - <test name="RowAppearancesFullWidthTextAlignmentTest"> + <test name="RowAppearancesFullWidthTextAlignment"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1605,7 +1605,7 @@ </actionGroup> <waitForElementNotVisible selector="{{RowOnBackend.appearanceWarningMessage}}" stepKey="warningMessageHidden3"/> </test> - <test name="RowCannotAddToRowTest"> + <test name="RowCannotAddToRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1641,7 +1641,7 @@ </actionGroup> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="2" stepKey="seeTwoElementRows"/> </test> - <test name="RowCannotAddToColumnsTest"> + <test name="RowCannotAddToColumns"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1684,7 +1684,7 @@ </actionGroup> <seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="2" stepKey="seeTwoElementRows"/> </test> - <test name="ValidateShowHideOnRowDefaultStateTest"> + <test name="ValidateShowHideOnRowDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1723,7 +1723,7 @@ </actionGroup> <seeElement selector="{{RowOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnRowTest"> + <test name="ValidateShowHideOnRow"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1832,7 +1832,7 @@ <seeElement selector="{{RowOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> <seeElement selector="{{HeadingOnStorefront.base('1')}}" stepKey="waitForHeadingVisible" /> </test> - <test name="ValidateCannotMoveContentTypeIntoHiddenRowTest"> + <test name="ValidateCannotMoveContentTypeIntoHiddenRow"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1878,7 +1878,7 @@ <argument name="containerTargetIndex" value="1" /> </actionGroup> </test> - <test name="RowValidateBorderOnAppearanceChangeTest"> + <test name="RowValidateBorderOnAppearanceChange"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1944,7 +1944,7 @@ <dontSeeElement selector="{{RowOnStage_Contained_Invalid.borderColor('1', PageBuilderAdvancedBorderColorProperty_green.rgb)}}" stepKey="dontSeeBorderColorOnOutside" /> <dontSeeElement selector="{{RowOnStage_Contained_Invalid.borderWidth('1', PageBuilderAdvancedBorderWidthProperty10.value)}}" stepKey="dontSeeBorderWidthOnOutside" /> </test> - <test name="RowMinimumHeightIsObeyedWhenParallaxIsEnabledTest"> + <test name="RowMinimumHeightIsObeyedWhenParallaxIsEnabled"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -1998,7 +1998,7 @@ <actualResult type="variable">$assignedHeight2</actualResult> </assertEquals> </test> - <test name="RowWithParallaxEnabledStillShowsBackgroundImageAfterAddingColumnToItTest"> + <test name="RowWithParallaxEnabledStillShowsBackgroundImageAfterAddingColumnToIt"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> @@ -2070,7 +2070,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="RowFullBleedAppearanceNoErrorThrownTest"> + <test name="RowFullBleedAppearanceNoErrorThrown"> <annotations> <features value="PageBuilder"/> <stories value="Row"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml similarity index 96% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml index 4c4ed5cc350..af924f9ae5f 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageCenterTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SlideItemCollageCenterCanInlineEditContentTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageCenterCanInlineEditContent" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -25,7 +25,7 @@ <argument name="property" value="PageBuilderAppearance_CollageCentered"/> </actionGroup> </test> - <test name="SlideItemCollageCenterWYSIWYGDisabledInlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageCenterWYSIWYGDisabledInlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -64,7 +64,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageCenterTinyMCE3InlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageCenterTinyMCE3InlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -97,7 +97,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageCenterCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="SlideItemCollageCenterCanInlineEditContentWhenIn25PercentWidthColumn" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -118,7 +118,7 @@ <argument name="content" value="{{PageBuilderSlideItemContent_Slide1.value}}"/> </actionGroup> </test> - <test name="SlideCollageCenteredMobileWithMobileImageValuesTest"> + <test name="SlideCollageCenteredMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -203,7 +203,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundMobileImage_GIF"/> </actionGroup> </test> - <test name="SlideCollageCenteredMobileWithoutMobileImageValuesTest"> + <test name="SlideCollageCenteredMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -279,7 +279,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="SlideCollageCenteredButtonNeverShowTest" extends="SlideItemPosterButtonNeverShowTest"> + <test name="SlideCollageCenteredButtonNeverShow" extends="SlideItemPosterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -299,7 +299,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageCenteredButtonOnHoverTest" extends="SlideItemPosterButtonOnHoverTest"> + <test name="SlideCollageCenteredButtonOnHover" extends="SlideItemPosterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -319,7 +319,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageCenteredOverlayNeverShowTest" extends="SlideItemPosterOverlayNeverShowTest"> + <test name="SlideCollageCenteredOverlayNeverShow" extends="SlideItemPosterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -339,7 +339,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageCenteredOverlayOnHoverTest" extends="SlideItemPosterOverlayOnHoverTest"> + <test name="SlideCollageCenteredOverlayOnHover" extends="SlideItemPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -359,7 +359,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageCenteredOverlayAndButtonOnHoverTest" extends="SlideItemPosterOverlayAndButtonOnHoverTest"> + <test name="SlideCollageCenteredOverlayAndButtonOnHover" extends="SlideItemPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -379,7 +379,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageCenterOverlayPositionTest" extends="SlideCollageLeftOverlayPositionTest"> + <test name="SlideCollageCenterOverlayPosition" extends="SlideCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -413,7 +413,7 @@ <argument name="page" value="SlideOnFrontend"/> </actionGroup> </test> - <test name="SliderCollageCenterButtonsCanBeEditedInlineTest" extends="SliderItemPosterButtonsCanBeEditedInlineTest"> + <test name="SliderCollageCenterButtonsCanBeEditedInline" extends="SliderItemPosterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -430,7 +430,7 @@ <argument name="property" value="PageBuilderAppearance_CollageCentered"/> </actionGroup> </test> - <test name="SlideItemCollageCenterUpdateAdvancedConfigurationValuesTest" extends="SlideItemPosterUpdateAdvancedConfigurationValuesTest"> + <test name="SlideItemCollageCenterUpdateAdvancedConfigurationValues" extends="SlideItemPosterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -471,7 +471,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SlideItemCollageCenterUpdateAllAttributesTest" extends="SlideItemPosterUpdateAllAttributesTest"> + <test name="SlideItemCollageCenterUpdateAllAttributes" extends="SlideItemPosterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -520,7 +520,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageCentered.value)}}" stepKey="seeMobileAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seeMobilePaddingStorefront"/> </test> - <test name="SliderCollageCenterHtmlValueInButtonsTest"> + <test name="SliderCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -588,7 +588,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{SlideOnFrontend.buttonText('1', PageBuilderSlideItemButtonText_Html.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="SliderCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="SliderCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -649,7 +649,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <see selector="{{SlideOnFrontend.button('1')}}" userInput="{{PageBuilderBannerButtonTextProperty_Non_Breaking_Space.value}}" stepKey="seeStorefrontNBSPButtonAfterSave"/> </test> - <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageCenterAppearanceTest" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageCenterAppearance" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -678,7 +678,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="SliderCollageCenterAlignmentInheritanceTest" extends="SliderPosterAlignmentInheritanceTest"> + <test name="SliderCollageCenterAlignmentInheritance" extends="SliderPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml similarity index 95% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml index 9701f8a9230..1306d9be8ba 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageLeftTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SlideItemCollageLeftCanInlineEditContentTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageLeftCanInlineEditContent" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -25,7 +25,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SlideItemCollageLeftWYSIWYGDisabledInlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageLeftWYSIWYGDisabledInlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -64,7 +64,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageLeftTinyMCE3InlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageLeftTinyMCE3InlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -97,7 +97,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageLeftCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="SlideItemCollageLeftCanInlineEditContentWhenIn25PercentWidthColumn" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -118,7 +118,7 @@ <argument name="content" value="{{PageBuilderSlideItemContent_Slide1.value}}"/> </actionGroup> </test> - <test name="SlideCollageLeftMobileWithMobileImageValuesTest" extends="SlideCollageCenteredMobileWithMobileImageValuesTest"> + <test name="SlideCollageLeftMobileWithMobileImageValues" extends="SlideCollageCenteredMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -135,7 +135,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SlideCollageLeftMobileWithoutMobileImageValuesTest" extends="SlideCollageCenteredMobileWithoutMobileImageValuesTest"> + <test name="SlideCollageLeftMobileWithoutMobileImageValues" extends="SlideCollageCenteredMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -152,7 +152,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SlideCollageLeftButtonNeverShowTest" extends="SlideItemPosterButtonNeverShowTest"> + <test name="SlideCollageLeftButtonNeverShow" extends="SlideItemPosterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -172,7 +172,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageLeftButtonOnHoverTest" extends="SlideItemPosterButtonOnHoverTest"> + <test name="SlideCollageLeftButtonOnHover" extends="SlideItemPosterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -192,7 +192,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageLeftOverlayNeverShowTest" extends="SlideItemPosterOverlayNeverShowTest"> + <test name="SlideCollageLeftOverlayNeverShow" extends="SlideItemPosterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -212,7 +212,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageLeftOverlayOnHoverTest" extends="SlideItemPosterOverlayOnHoverTest"> + <test name="SlideCollageLeftOverlayOnHover" extends="SlideItemPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -232,7 +232,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageLeftOverlayAndButtonOnHoverTest" extends="SlideItemPosterOverlayAndButtonOnHoverTest"> + <test name="SlideCollageLeftOverlayAndButtonOnHover" extends="SlideItemPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -252,7 +252,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageLeftOverlayPositionTest"> + <test name="SlideCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -341,7 +341,7 @@ <argument name="page" value="SlideOnFrontend"/> </actionGroup> </test> - <test name="SliderCollageLeftButtonsCanBeEditedInlineTest" extends="SliderItemPosterButtonsCanBeEditedInlineTest"> + <test name="SliderCollageLeftButtonsCanBeEditedInline" extends="SliderItemPosterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -358,7 +358,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SlideItemCollageLeftUpdateAdvancedConfigurationValuesTest" extends="SlideItemPosterUpdateAdvancedConfigurationValuesTest"> + <test name="SlideItemCollageLeftUpdateAdvancedConfigurationValues" extends="SlideItemPosterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -399,7 +399,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SlideItemCollageLeftUpdateAllAttributesTest" extends="SlideItemPosterUpdateAllAttributesTest"> + <test name="SlideItemCollageLeftUpdateAllAttributes" extends="SlideItemPosterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -448,7 +448,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageLeft.value)}}" stepKey="seeMobileAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seeMobilePaddingStorefront"/> </test> - <test name="SlideItemCollageLeftWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="SlideItemCollageLeftWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -492,7 +492,7 @@ <argument name="content" value="{{SlideOnFrontend.wrapperCSS}}"/> </actionGroup> </test> - <test name="SliderCollageLeftHtmlValueInButtonsTest" extends="SliderCollageCenterHtmlValueInButtonsTest"> + <test name="SliderCollageLeftHtmlValueInButtons" extends="SliderCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -509,7 +509,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SliderCollageLeftNonBreakingSpaceValueInButtonsTest" extends="SliderCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="SliderCollageLeftNonBreakingSpaceValueInButtons" extends="SliderCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -526,7 +526,7 @@ <argument name="property" value="PageBuilderAppearance_CollageLeft"/> </actionGroup> </test> - <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageLeftAppearanceTest" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageLeftAppearance" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -555,7 +555,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="SliderCollageLeftAlignmentInheritanceTest" extends="SliderPosterAlignmentInheritanceTest"> + <test name="SliderCollageLeftAlignmentInheritance" extends="SliderPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml similarity index 94% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml index 85559083b90..712432a3d79 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearanceCollageRightTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SlideItemCollageRightCanInlineEditContentTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageRightCanInlineEditContent" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -25,7 +25,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SlideItemCollageRightWYSIWYGDisabledInlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageRightWYSIWYGDisabledInlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -64,7 +64,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageRightTinyMCE3InlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemCollageRightTinyMCE3InlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -97,7 +97,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemCollageRightCanInlineEditContentWhenIn25PercentWidthColumnTest" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="SlideItemCollageRightCanInlineEditContentWhenIn25PercentWidthColumn" extends="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -118,7 +118,7 @@ <argument name="content" value="{{PageBuilderSlideItemContent_Slide1.value}}"/> </actionGroup> </test> - <test name="SlideCollageRightMobileWithMobileImageValuesTest" extends="SlideCollageCenteredMobileWithMobileImageValuesTest"> + <test name="SlideCollageRightMobileWithMobileImageValues" extends="SlideCollageCenteredMobileWithMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -135,7 +135,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SlideCollageRightMobileWithoutMobileImageValuesTest" extends="SlideCollageCenteredMobileWithoutMobileImageValuesTest"> + <test name="SlideCollageRightMobileWithoutMobileImageValues" extends="SlideCollageCenteredMobileWithoutMobileImageValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -152,7 +152,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SlideCollageRightButtonNeverShowTest" extends="SlideItemPosterButtonNeverShowTest"> + <test name="SlideCollageRightButtonNeverShow" extends="SlideItemPosterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -172,7 +172,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageRightButtonOnHoverTest" extends="SlideItemPosterButtonOnHoverTest"> + <test name="SlideCollageRightButtonOnHover" extends="SlideItemPosterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -192,7 +192,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageRightOverlayNeverShowTest" extends="SlideItemPosterOverlayNeverShowTest"> + <test name="SlideCollageRightOverlayNeverShow" extends="SlideItemPosterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -212,7 +212,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageRightOverlayOnHoverTest" extends="SlideItemPosterOverlayOnHoverTest"> + <test name="SlideCollageRightOverlayOnHover" extends="SlideItemPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -232,7 +232,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageRightOverlayAndButtonOnHoverTest" extends="SlideItemPosterOverlayAndButtonOnHoverTest"> + <test name="SlideCollageRightOverlayAndButtonOnHover" extends="SlideItemPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -252,7 +252,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeAppearanceStorefrontMobile"/> </test> - <test name="SlideCollageRightOverlayPositionTest" extends="SlideCollageLeftOverlayPositionTest"> + <test name="SlideCollageRightOverlayPosition" extends="SlideCollageLeftOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -286,7 +286,7 @@ <argument name="page" value="SlideOnFrontend"/> </actionGroup> </test> - <test name="SliderCollageRightButtonsCanBeEditedInlineTest" extends="SliderItemPosterButtonsCanBeEditedInlineTest"> + <test name="SliderCollageRightButtonsCanBeEditedInline" extends="SliderItemPosterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -303,7 +303,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SlideItemCollageRightUpdateAdvancedConfigurationValuesTest" extends="SlideItemPosterUpdateAdvancedConfigurationValuesTest"> + <test name="SlideItemCollageRightUpdateAdvancedConfigurationValues" extends="SlideItemPosterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -344,7 +344,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SlideItemCollageRightUpdateAllAttributesTest" extends="SlideItemPosterUpdateAllAttributesTest"> + <test name="SlideItemCollageRightUpdateAllAttributes" extends="SlideItemPosterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -393,7 +393,7 @@ <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_CollageRight.value)}}" stepKey="seeMobileAppearanceStorefront"/> <seeElement selector="{{SlideOnFrontend.collagePadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seeMobilePaddingStorefront"/> </test> - <test name="SliderCollageRightHtmlValueInButtonsTest" extends="SliderCollageCenterHtmlValueInButtonsTest"> + <test name="SliderCollageRightHtmlValueInButtons" extends="SliderCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -410,7 +410,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SliderCollageRightNonBreakingSpaceValueInButtonsTest" extends="SliderCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="SliderCollageRightNonBreakingSpaceValueInButtons" extends="SliderCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -427,7 +427,7 @@ <argument name="property" value="PageBuilderAppearance_CollageRight"/> </actionGroup> </test> - <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageRightAppearanceTest" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnCollageRightAppearance" extends="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -456,7 +456,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="SliderCollageRightAlignmentInheritanceTest" extends="SliderPosterAlignmentInheritanceTest"> + <test name="SliderCollageRightAlignmentInheritance" extends="SliderPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml index 02816a86444..c6d5b42925d 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -77,7 +77,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContent('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemPosterWYSIWYGDisabledInlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemPosterWYSIWYGDisabledInlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -113,7 +113,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemPosterTinyMCE3InlineEditTest" extends="SlideItemPosterCanInlineEditContentTest"> + <test name="SlideItemPosterTinyMCE3InlineEdit" extends="SlideItemPosterCanInlineEditContent"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -143,7 +143,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContentTextArea('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumnTest"> + <test name="SlideItemPosterCanInlineEditContentWhenIn25PercentWidthColumn"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -235,7 +235,7 @@ </actionGroup> <seeElement selector="{{SlideOnFrontend.messageContent('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeMessageContentStorefront"/> </test> - <test name="SlideItemPosterButtonNeverShowTest"> + <test name="SlideItemPosterButtonNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -309,7 +309,7 @@ <moveMouseOver selector="{{SlideOnFrontend.base('1')}}" stepKey="moveMouseOverSlideStorefrontMobile"/> <dontSeeElementInDOM selector="{{SlideOnFrontend.button('1')}}" stepKey="dontSeeButtonInDOMOnHoverStorefrontMobile"/> </test> - <test name="SlideItemPosterButtonOnHoverTest"> + <test name="SlideItemPosterButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -386,7 +386,7 @@ <moveMouseOver selector="{{SlideOnFrontend.base('1')}}" x="1" y="1" stepKey="moveMouseOverSlideStorefrontMobile"/> <seeElement selector="{{SlideOnFrontend.button('1')}}" stepKey="seeButtonOnHoverStorefrontMobile"/> </test> - <test name="SlideItemPosterOverlayNeverShowTest"> + <test name="SlideItemPosterOverlayNeverShow"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -460,7 +460,7 @@ <moveMouseOver selector="{{SlideOnFrontend.base('1')}}" x="1" y="1" stepKey="moveMouseOverSlideStorefrontMobile"/> <seeElement selector="{{SlideOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparentOverlayOnHoverStorefrontMobile"/> </test> - <test name="SlideItemPosterOverlayOnHoverTest"> + <test name="SlideItemPosterOverlayOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -536,7 +536,7 @@ <moveMouseOver selector="{{SlideOnFrontend.base('1')}}" x="1" y="1" stepKey="moveMouseOverSlideStorefrontMobile"/> <seeElement selector="{{SlideOnFrontend.overlayBackgroundColor('1', PageBuilderSlideItemOverlayColor_Blue_Opaque.value)}}" stepKey="seeOverlayOnHoverStorefrontMobile"/> </test> - <test name="SlideItemPosterOverlayAndButtonOnHoverTest"> + <test name="SlideItemPosterOverlayAndButtonOnHover"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -643,7 +643,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile" /> <seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefrontMobile" /> </test> - <test name="SlideItemPosterOverlayPositionTest"> + <test name="SlideItemPosterOverlayPosition"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -714,7 +714,7 @@ <argument name="page" value="SlideOnFrontend"/> </actionGroup> </test> - <test name="SliderItemPosterButtonsCanBeEditedInlineTest"> + <test name="SliderItemPosterButtonsCanBeEditedInline"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -779,7 +779,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElement selector="{{SlideOnFrontend.buttonText('1', PageBuilderSlideItemButtonText_Common2.value)}}" stepKey="seeButtonTextStorefront"/> </test> - <test name="SlideItemPosterUpdateAdvancedConfigurationValuesTest"> + <test name="SlideItemPosterUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -938,7 +938,7 @@ <seeElement selector="{{SlideOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{SlideOnFrontend.posterPadding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SlideItemPosterUpdateAllAttributesTest"> + <test name="SlideItemPosterUpdateAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1302,7 +1302,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="SlideItemPosterWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="SlideItemPosterWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1346,7 +1346,7 @@ <argument name="border" value="PageBuilderAdvancedBorderWidthProperty10"/> </actionGroup> </test> - <test name="SliderPosterHtmlValueInButtonsTest" extends="SliderCollageCenterHtmlValueInButtonsTest"> + <test name="SliderPosterHtmlValueInButtons" extends="SliderCollageCenterHtmlValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1363,7 +1363,7 @@ <argument name="property" value="PageBuilderAppearance_Poster"/> </actionGroup> </test> - <test name="SliderPosterNonBreakingSpaceValueInButtonsTest" extends="SliderCollageCenterNonBreakingSpaceValueInButtonsTest"> + <test name="SliderPosterNonBreakingSpaceValueInButtons" extends="SliderCollageCenterNonBreakingSpaceValueInButtons"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1380,7 +1380,7 @@ <argument name="property" value="PageBuilderAppearance_Poster"/> </actionGroup> </test> - <test name="SliderPosterValidatePaddingOnAppearanceChangeTest"> + <test name="SliderPosterValidatePaddingOnAppearanceChange"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1456,7 +1456,7 @@ <seeElement selector="{{SlideOnBackend.posterPadding('1', PageBuilderPaddingProperty40.value)}}" stepKey="seePosterPadding2" /> <dontSeeElement selector="{{SlideOnBackend.collagePadding('1', PageBuilderPaddingProperty40.value)}}" stepKey="dontSeeCollagePadding2" /> </test> - <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearanceTest"> + <test name="SlideOverlayAndButtonDoNotGoOutsideContainerOnPosterAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1558,7 +1558,7 @@ <argument name="diffThreshold" value="0"/> </actionGroup> </test> - <test name="SliderPosterAlignmentInheritanceTest"> + <test name="SliderPosterAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml index 030eb463bae..de1d211a8d8 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemCommonTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SlideItemVerifyEmptySlideDefaultStateTest"> + <test name="SlideItemVerifyEmptySlideDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -78,7 +78,7 @@ <seeElement selector="{{SlideOnFrontend.transparentOverlay('1')}}" stepKey="seeTransparencyOverlayStorefrontMobile"/> <dontSeeInPageSource userInput="Edit Slide Text" stepKey="dontSeeDummyTextInPageSourceMobile"/> </test> - <test name="SlideItemAppearanceSectionDefaultsTest"> + <test name="SlideItemAppearanceSectionDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -131,7 +131,7 @@ <argument name="property" value="PageBuilderMinHeightProperty_300px"/> </actionGroup> </test> - <test name="SlideItemBackgroundSectionDefaultsTest"> + <test name="SlideItemBackgroundSectionDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -264,7 +264,7 @@ <seeElement selector="{{SlideOnFrontend.backgroundPosition('1', PageBuilderBackgroundPosition_Default.styleValue)}}" stepKey="seeBackgroundPositionStorefrontMobile"/> <seeElement selector="{{SlideOnFrontend.backgroundRepeat('1', PageBuilderBackgroundRepeat_Default.styleValue)}}" stepKey="seeBackgroundRepeatStorefrontMobile"/> </test> - <test name="SlideItemContentSectionDefaultsTest"> + <test name="SlideItemContentSectionDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -423,7 +423,7 @@ <actualResult type="variable">currentUrl2</actualResult> </assertEquals> </test> - <test name="SlideItemValidateAdvancedConfigurationDefaultValuesTest"> + <test name="SlideItemValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -548,7 +548,7 @@ <seeElement selector="{{SlideOnFrontend.margins('1', PageBuilderMarginsPropertyDefault.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{SlideOnFrontend.posterPadding('1', PageBuilderPaddingProperty40.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SlideItemMoveSlideItemsToRearrangeTest"> + <test name="SlideItemMoveSlideItemsToRearrange"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -686,7 +686,7 @@ <waitForElementVisible selector="{{SlideOnFrontend.slickSlideIndex('1')}}" stepKey="waitForSlide2"/> <see userInput="{{PageBuilderSlideItemContent_Slide1.value}}" selector="{{SlideOnFrontend.slickSlideIndex('1')}}" stepKey="seeSlide2ContentDisplayed"/> </test> - <test name="SlideItemValidateSlideCannotBeHiddenTest"> + <test name="SlideItemValidateSlideCannotBeHidden"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -719,7 +719,7 @@ <waitForElementNotVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderSlideContentType.role, '1')}}" stepKey="waitForHideOptionNotVisible" /> <dontSeeElement selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderSlideContentType.role, '1')}}" stepKey="dontSeeHideOption" /> </test> - <test name="SlideItemDeleteSlideItemTest"> + <test name="SlideItemDeleteSlideItem"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -788,7 +788,7 @@ </actionGroup> <seeNumberOfElements selector="{{SlideOnFrontend.all}}" userInput="1" stepKey="seeSlidesStorefront"/> </test> - <test name="SlideItemCannotDeleteLastSlideTest"> + <test name="SlideItemCannotDeleteLastSlide"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -849,7 +849,7 @@ </actionGroup> <seeNumberOfElements selector="{{SlideOnFrontend.all}}" userInput="1" stepKey="seeSlideStorefront"/> </test> - <test name="SlideItemHasEditButtonTextButtonStyledInAdminAndStorefrontTest"> + <test name="SlideItemHasEditButtonTextButtonStyledInAdminAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1003,7 +1003,7 @@ <seeElement selector="{{SlideOnFrontend.buttonType('1', PageBuilderSlideItemButtonType_Link.value)}}" stepKey="seeButtonTypeStorefront3"/> <seeElement selector="{{SlideOnFrontend.buttonText('1', PageBuilderSlideItemButtonText_Common.value)}}" stepKey="seeButtonTextStorefront3"/> </test> - <test name="SlideItemLinkURLFunctionsTest"> + <test name="SlideItemLinkURLFunctions"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1057,7 +1057,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeCurrentUrlEquals"/> </test> - <test name="SlideItemEmptyLinkURLDoesNothingOnStorefrontTest"> + <test name="SlideItemEmptyLinkURLDoesNothingOnStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1109,7 +1109,7 @@ <wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccur" /> <seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}{{PageBuilderSliderContentType.pageNamePrefix}}{{PageBuilderPageTitle.pageName}}" stepKey="seeThatCurrentUrlIsUnchanged" /> </test> - <test name="SlideItemDoesNotNavigateInPreviewTest"> + <test name="SlideItemDoesNotNavigateInPreview"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1158,7 +1158,7 @@ <actualResult type="variable">currentUrl</actualResult> </assertEquals> </test> - <test name="SlideItemWithDefaultMinHeightAdjustsToContentHeightTest"> + <test name="SlideItemWithDefaultMinHeightAdjustsToContentHeight"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1244,7 +1244,7 @@ <actualResult type="variable">slideNewHeightStorefront</actualResult> </assertGreaterThan> </test> - <test name="SlideItemUploadImageFromStageTest"> + <test name="SlideItemUploadImageFromStage"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1317,7 +1317,7 @@ <argument name="backgroundImage" value="PageBuilderBackgroundImage_JPG"/> </actionGroup> </test> - <test name="SlideItemVerifyStageUploadImageButtonsForEachAppearanceTest"> + <test name="SlideItemVerifyStageUploadImageButtonsForEachAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1400,7 +1400,7 @@ <argument name="contentType" value="PageBuilderSliderContentType"/> </actionGroup> </test> - <test name="SlideItemDeleteImageTest"> + <test name="SlideItemDeleteImage"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1474,7 +1474,7 @@ <seeElementInDOM selector="{{SlideOnBackend.emptySlide('1')}}" stepKey="seeEmptySliderOnStage"/> <dontSeeElementInDOM selector="{{SlideOnBackend.backgroundImage('1', PageBuilderBackgroundImage_GIF.fileName)}}" stepKey="dontSeeImageInrMainImageSource1"/> </test> - <test name="SlideItemBorderIsVisibleTest"> + <test name="SlideItemBorderIsVisible"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1538,7 +1538,7 @@ <actualResult type="variable">actualBoxSizingStyle</actualResult> </assertEquals> </test> - <test name="SlideContentVariableCanWrapTest"> + <test name="SlideContentVariableCanWrap"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1618,7 +1618,7 @@ <actualResult type="variable">columnOneTextHeight</actualResult> </assertGreaterThan> </test> - <test name="SlideItemBackgroundColorAlwaysDisplayedTest"> + <test name="SlideItemBackgroundColorAlwaysDisplayed"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1740,7 +1740,7 @@ <seeElement selector="{{SlideOnBackend.messageContent('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeSlideContentAfterHideShow"/> <seeElement selector="{{SlideOnBackend.backgroundColor('1', PageBuilderBackgroundColor_Plaintext_Green.rgb)}}" stepKey="seeSlideBackgroundColorAfterHideShow"/> </test> - <test name="SlideItemInlineWysiwygUploadImageTest"> + <test name="SlideItemInlineWysiwygUploadImage"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1820,7 +1820,7 @@ <waitForPageLoad stepKey="waitForPageLoad4"/> <seeElement selector="{{SlideOnFrontend.messageContentTextAreaImage('1', PageBuilderImageProperty_StageJPG.value)}}" stepKey="validateImageFrontEnd"/> </test> - <test name="SlideNameDoesNotRenderHtmlTest"> + <test name="SlideNameDoesNotRenderHtml"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1869,7 +1869,7 @@ <waitForElementVisible selector="{{SliderOnStage.slideNavigationDotNameTooltip('1')}}" stepKey="waitForTooltipVisible" /> <see selector="{{SliderOnStage.slideNavigationDotNameTooltip('1')}}" userInput="{{PageBuilderSlideItemSlideName_HtmlCode.value}}" stepKey="seeHtmlCodeInTooltip" /> </test> - <test name="SlideItemTextContainingPageBuilderMarkupWontBreakStageTest"> + <test name="SlideItemTextContainingPageBuilderMarkupWontBreakStage"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1898,7 +1898,7 @@ <waitForElementVisible selector="{{SlideOnBackend.base('1')}}" stepKey="waitForSlideItemVisible" /> <seeElement selector="{{SlideOnBackend.messageContent('1', PageBuilderSlideItemButtonText_Common.value)}}" stepKey="seeTestStringInSlideItem"/> </test> - <test name="SlideItemCannotHaveInlineWysiwygLinkAndLinkUrlTest"> + <test name="SlideItemCannotHaveInlineWysiwygLinkAndLinkUrl"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml index c2ab6c45fa5..ba5431099e5 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSliderCommonTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="SliderSettingsSectionDefaultsTest"> + <test name="SliderSettingsSectionDefaults"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -101,7 +101,7 @@ <seeElement selector="{{SliderOnFrontend.showDots('1', PageBuilderSliderShowDots_Enabled.value)}}" stepKey="seeDotsStorefront"/> <seeElement selector="{{SliderOnFrontend.minHeight('1', PageBuilderMinHeightProperty_300px.value)}}" stepKey="seeHeightStorefront"/> </test> - <test name="SliderValidateAdvancedConfigurationDefaultValuesTest"> + <test name="SliderValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -228,7 +228,7 @@ <seeElement selector="{{SliderOnFrontend.margins('1', PageBuilderMarginsPropertyDefault.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{SliderOnFrontend.padding('1', PageBuilderPaddingPropertyDefault.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SliderUpdateAdvancedConfigurationValuesTest"> + <test name="SliderUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -385,7 +385,7 @@ <seeElement selector="{{SliderOnFrontend.margins('1', PageBuilderMarginsPropertyUnique.value)}}" stepKey="seeMarginsStorefront"/> <seeElement selector="{{SliderOnFrontend.padding('1', PageBuilderPaddingPropertyUnique.value)}}" stepKey="seePaddingStorefront"/> </test> - <test name="SliderAllAttributesTest"> + <test name="SliderAllAttributes"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -558,7 +558,7 @@ <waitForPageLoad stepKey="waitForPageLoad4"/> <seeElement selector="{{SlideOnFrontend.messageContent('2', PageBuilderSlideItemContent_Slide2.value)}}" stepKey="seeSlide2ContentStorefront"/> </test> - <test name="SliderWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="SliderWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -619,7 +619,7 @@ <argument name="paddingBottom" value="{{PageBuilderPaddingProperty10.paddingBottom}}"/> </actionGroup> </test> - <test name="SliderWithNoDotsEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="SliderWithNoDotsEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -683,7 +683,7 @@ <argument name="minHeight" value="{{PageBuilderMinHeightProperty_300px.intValue}}"/> </actionGroup> </test> - <test name="SliderMoveSliderTest"> + <test name="SliderMoveSlider"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -826,7 +826,7 @@ <seeElement selector="{{SliderOnFrontend.slideNavigationDot('1', '1')}}" stepKey="seeSlideItem1NavigationDotOnStorefront"/> <seeElement selector="{{SliderOnFrontend.slideNavigationDot('1', '2')}}" stepKey="seeSlideItem2NavigationDotOnStorefront"/> </test> - <test name="SliderValidateShowHideOnSliderDefaultStateTest"> + <test name="SliderValidateShowHideOnSliderDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -887,7 +887,7 @@ </actionGroup> <seeElement selector="{{SliderOnFrontend.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="SliderValidateShowHideOnSliderTest"> + <test name="SliderValidateShowHideOnSlider"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -972,7 +972,7 @@ <seeElement selector="{{SliderOnFrontend.base('1')}}" stepKey="seeContentTypeVisible" /> <seeElement selector="{{SlideOnFrontend.base('1')}}" stepKey="seeSlideVisible" /> </test> - <test name="SliderDuplicateTest"> + <test name="SliderDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1251,7 +1251,7 @@ <waitForPageLoad stepKey="waitForPageLoad6"/> <seeElement selector="{{SlideOnFrontend.messageContent('4', PageBuilderSlideItemContent_Slide2.value)}}" stepKey="seeMessageContentSlideItem2Storefront"/> </test> - <test name="SliderDeleteTest"> + <test name="SliderDelete"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1307,7 +1307,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{SliderOnFrontend.all}}" stepKey="dontSeeContentTypeInStorefront"/> </test> - <test name="SliderCanBeDeletedAfterAccidentalDragTest"> + <test name="SliderCanBeDeletedAfterAccidentalDrag"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1349,7 +1349,7 @@ <waitForElementNotVisible selector="{{PageBuilderStage.contentTypeInStage(PageBuilderSliderContentType.role)}}" stepKey="dontSeeSliderInContent" /> <dontSeeElementInDOM selector="{{PageBuilderStage.contentTypeInStage(PageBuilderSliderContentType.role)}}" stepKey="dontSeeSliderInDOM" /> </test> - <test name="SliderCannotAddToStageTest"> + <test name="SliderCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1380,7 +1380,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{SliderOnStage.all}}" stepKey="dontSeeSlider"/> </test> - <test name="SliderAddToColumnTest"> + <test name="SliderAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1449,7 +1449,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="SliderCanHaveContentPlacedAboveTest"> + <test name="SliderCanHaveContentPlacedAbove"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1503,7 +1503,7 @@ <argument name="contentTypeIndex" value="1"/> </actionGroup> </test> - <test name="SliderCannotHaveContentDroppedInsideTest"> + <test name="SliderCannotHaveContentDroppedInside"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1581,7 +1581,7 @@ <argument name="contentTypeIndex" value="1"/> </actionGroup> </test> - <test name="SliderCanManageSlidesTest"> + <test name="SliderCanManageSlides"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1682,7 +1682,7 @@ <waitForPageLoad stepKey="waitForPageLoad8"/> <see userInput="{{PageBuilderSlideItemSlideName_Slide1.value}}" selector="{{SliderOnStage.slideNavigationDotNameTooltip('1')}}" stepKey="seeSlideName1InTooltip"/> </test> - <test name="SliderCanBeNavigatedQuicklyTest"> + <test name="SliderCanBeNavigatedQuickly"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1740,7 +1740,7 @@ <click selector="{{SliderOnStage.slideNavigationDot('1', '1')}}" stepKey="clickSliderDot3"/> <waitForElementVisible selector="{{SlideOnBackend.base('1')}}" stepKey="waitForSlideOneVisible"/> </test> - <test name="SlideInlineWYSIWYGWidgetAndVariableStyleTest" extends="TextInlineWYSIWYGWidgetAndVariableStyleTest"> + <test name="SlideInlineWYSIWYGWidgetAndVariableStyle" extends="TextInlineWYSIWYGWidgetAndVariableStyle"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> @@ -1776,7 +1776,7 @@ <seeElement selector="{{SlideOnFrontend.messageContentWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="seeWidgetStorefront"/> <click selector="{{SlideOnFrontend.messageContentWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="clickWidgetStorefront"/> </test> - <test name="SliderFadeCanBeInlineEditedTest"> + <test name="SliderFadeCanBeInlineEdited"> <annotations> <features value="PageBuilder"/> <stories value="Slider"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml index 93dadb2899d..0c5d7b449c9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabGroupTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TabsValidateAdvancedConfigurationDefaultValuesTest"> + <test name="TabsValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -79,7 +79,7 @@ <waitForElementVisible selector="{{TabOnStage.tabHeaderItemDefault(PageBuilderAdvancedBorderRadiusDefaultProperty.value)}}" stepKey="waitForDefaultBorderStyleTab"/> <waitForElementVisible selector="{{TabsOnStage.tabsContentDefault(PageBuilderAdvancedBorderRadiusDefaultProperty.value)}}" stepKey="waitForDefaultBorderStyleTabs"/> </test> - <test name="TabsNavAlignCenterAppliesInAdminPreviewAndStorefrontTest"> + <test name="TabsNavAlignCenterAppliesInAdminPreviewAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -134,7 +134,7 @@ <waitForPageLoad stepKey="waitForPageLoadStoreFront" time="30"/> <waitForElementVisible selector="{{TabsOnFrontend.tabsNavAligned(PageBuilderTabsAlignmentCenter.value)}}" stepKey="seeTabsNavAlignedCenteredStorefront"/> </test> - <test name="TabsNavAlignRightAppliesInAdminPreviewAndStorefrontTest"> + <test name="TabsNavAlignRightAppliesInAdminPreviewAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -189,7 +189,7 @@ <waitForPageLoad stepKey="waitForPageLoadStoreFront" time="30"/> <waitForElementVisible selector="{{TabsOnFrontend.tabsNavAligned(PageBuilderTabsAlignmentRight.value)}}" stepKey="seeTabsNavAlignedRightStorefront"/> </test> - <test name="TabsDefaultActiveTabToSecondTabTest"> + <test name="TabsDefaultActiveTabToSecondTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -249,7 +249,7 @@ <waitForPageLoad stepKey="waitForPageLoadStoreFront" time="30"/> <waitForElementVisible selector="{{TabOnStorefront.tabHeaderItemActive('2')}}" stepKey="seeSecondTabActiveStorefront"/> </test> - <test name="TabsMinHeightAppliesInAdminPreviewAndStorefrontTest"> + <test name="TabsMinHeightAppliesInAdminPreviewAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -308,7 +308,7 @@ <waitForPageLoad stepKey="waitForPageLoadStoreFront" time="30"/> <waitForElementVisible selector="{{TabsOnFrontend.tabsMinHeight(PageBuilderTabsDefinedMinHeight.value)}}" stepKey="seeMinHeightStorefront"/> </test> - <test name="TabsWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="TabsWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -359,7 +359,7 @@ <argument name="height" value="PageBuilderTabsDefinedMinHeight"/> </actionGroup> </test> - <test name="TabsAdvancedSettingsApplyInAdminPreviewAndStorefrontTest"> + <test name="TabsAdvancedSettingsApplyInAdminPreviewAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -434,7 +434,7 @@ <waitForElementVisible selector="{{TabsOnFrontend.tabsContentAdvancedStyles('1')}}" stepKey="seeTabContentAdvancedStylesInStorefront"/> <waitForElementVisible selector="{{TabsOnFrontend.tabsAlignment('center')}}" stepKey="seeTabAlignCenterInStorefront"/> </test> - <test name="TabsDuplicateTest"> + <test name="TabsDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -511,7 +511,7 @@ <waitForElementVisible selector="{{TabsOnFrontend.notHidden('1')}}" stepKey="waitForContentTypeShownStorefront1"/> <waitForElementVisible selector="{{TabsOnFrontend.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> </test> - <test name="TabsDuplicateDefaultEmptyStateTabTest"> + <test name="TabsDuplicateDefaultEmptyStateTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -561,7 +561,7 @@ </actionGroup> <see userInput="Tab 1 copy" selector="{{TabOnStorefront.tabHeader('2')}}" stepKey="validateCopiedTabInStorefront"/> </test> - <test name="TabsDuplicateTabWithCustomizedTabSettingsTest"> + <test name="TabsDuplicateTabWithCustomizedTabSettings"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -638,7 +638,7 @@ <seeElement selector="{{TabOnStorefront.minHeight('2', '200')}}" stepKey="validateMinHeightInStorefront"/> <see userInput="{{PageBuilderTabNameRandom1.value}} copy" selector="{{TabOnStorefront.tabHeader('2')}}" stepKey="validateCopiedTabInStorefront"/> </test> - <test name="TabsDuplicateTabWithCustomizedTabContentTest"> + <test name="TabsDuplicateTabWithCustomizedTabContent"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -740,7 +740,7 @@ <waitForElementVisible selector="{{TextOnStorefront.notHidden('2')}}" stepKey="waitForContentTypeShownStorefront2"/> <seeElement selector="{{TabOnStorefront.tabContentText('2')}}" stepKey="seeTextElementInTabContent2"/> </test> - <test name="TabsCannotAddToStageTest"> + <test name="TabsCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -772,7 +772,7 @@ <dontSeeElementInDOM selector="{{TabOnStage.all}}" stepKey="dontSeeTabItem"/> <dontSeeElementInDOM selector="{{TabsOnStage.tabsContainer}}" stepKey="dontSeeTabsGroup"/> </test> - <test name="TabsCanAddToColumnTest"> + <test name="TabsCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -841,7 +841,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnTabsDefaultStateTest"> + <test name="ValidateShowHideOnTabsDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -889,7 +889,7 @@ </actionGroup> <seeElement selector="{{TabsOnFrontend.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnTabsTest"> + <test name="ValidateShowHideOnTabs"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -999,7 +999,7 @@ <seeElement selector="{{TabOnStorefront.base('1')}}" stepKey="waitForTabVisible" /> <seeElement selector="{{HeadingOnStorefront.base('1')}}" stepKey="waitForHeadingVisible" /> </test> - <test name="ValidateTabItemNotHideableTest"> + <test name="ValidateTabItemNotHideable"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1031,7 +1031,7 @@ <waitForElementNotVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderTabContentType.role, '1')}}" stepKey="waitForHideOptionNotVisible" /> <dontSeeElementInDOM selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(PageBuilderTabContentType.role, '1')}}" stepKey="dontSeeDomHideOption" /> </test> - <test name="ValidateShowHideOnTabChildDefaultStateTest"> + <test name="ValidateShowHideOnTabChildDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1097,7 +1097,7 @@ </actionGroup> <waitForElementVisible selector="{{HeadingOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateTabChildHideShowTest"> + <test name="ValidateTabChildHideShow"> <annotations> <features value="PageBuilder"/> <stories value="Column"/> @@ -1183,7 +1183,7 @@ <dontSeeElementInDOM selector="{{HeadingOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{HeadingOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="ValidateCannotMoveContentTypeIntoHiddenTabTest"> + <test name="ValidateCannotMoveContentTypeIntoHiddenTab"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -1229,7 +1229,7 @@ <argument name="containerTargetIndex" value="1" /> </actionGroup> </test> - <test name="TabsMovesTabsTest"> + <test name="TabsMovesTabs"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1333,7 +1333,7 @@ <argument name="to" value="2"/> </actionGroup> </test> - <test name="TabsRearrangeTabItemsTest"> + <test name="TabsRearrangeTabItems"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1397,7 +1397,7 @@ <see selector="{{TabOnStorefront.tabHeader('1')}}" userInput="{{PageBuilderTabName2Default.value}}" stepKey="seeTab1NameStorefront"/> <see selector="{{TabOnStorefront.tabHeader('2')}}" userInput="{{PageBuilderTabName1Default.value}}" stepKey="seeTab2NameStorefront"/> </test> - <test name="TabsRendersAndIsInteractiveAfterDroppingSomeColumnsAboveTest"> + <test name="TabsRendersAndIsInteractiveAfterDroppingSomeColumnsAbove"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml index cd85635897a..419ab8ccb4c 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemBackgroundAttributeTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TabItemValidateBackgroundSectionDefaultValuesTest"> + <test name="TabItemValidateBackgroundSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -140,7 +140,7 @@ <argument name="section" value="TabOnStorefront"/> </actionGroup> </test> - <test name="TabItemValidateBackgroundFormTest"> + <test name="TabItemValidateBackgroundForm"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml index f8ae39a7136..e0babb8b672 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemConfigurationTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="DefaultTabItemStateOnAddingNewTabTest"> + <test name="DefaultTabItemStateOnAddingNewTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -176,7 +176,7 @@ <argument name="section" value="TabOnStorefront"/> </actionGroup> </test> - <test name="TabItemValidateAdvancedConfigurationDefaultValuesTest"> + <test name="TabItemValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -351,7 +351,7 @@ <expectedResult type="string">{{PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide.paddingBottom}}</expectedResult> </assertEquals> </test> - <test name="TabItemUpdateAdvancedConfigurationValuesTest"> + <test name="TabItemUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -479,7 +479,7 @@ <waitForElementVisible selector="{{TabOnStorefront.tabContentAdvancedStylesBorder('2', PageBuilderAdvancedBorderPropertyDotted.value, PageBuilderAdvancedBorderColorProperty_FF0000.rgb, PageBuilderAdvancedBorderWidthProperty500.value, PageBuilderAdvancedBorderRadiusProperty500.value)}}" stepKey="seeTabContentAdvancedStylesBorderInStorefront2"/> <waitForElementVisible selector="{{TabOnStorefront.tabContentAdvancedClass('2', PageBuilderAdvancedCssClassesPropertyOneClass.value)}}" stepKey="seeTabContentClassInStorefront2"/> </test> - <test name="EditTabNameByClickingOnHeaderInStageTest"> + <test name="EditTabNameByClickingOnHeaderInStage"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -533,7 +533,7 @@ <waitForElementVisible selector="{{TabOnStorefront.tabHeader('1')}}" stepKey="seeTabHeader1Storefront"/> <see selector="{{TabOnStorefront.tabHeader('1')}}" userInput="{{PageBuilderTabNameRandom1.value}}" stepKey="seeTab1TitleStorefront"/> </test> - <test name="AddTabsWithBackgroundColorAndMinHeightTest"> + <test name="AddTabsWithBackgroundColorAndMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -663,7 +663,7 @@ <actualResult type="variable">tab2Height</actualResult> </assertEquals> </test> - <test name="AddTabsWithBackgroundJpgTopCoverScrollFixedNoBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgTopCoverScrollFixedNoBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -811,7 +811,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatNo"/> </test> - <test name="AddTabsWithBackgroundJpgTopCoverScrollFixedYesBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgTopCoverScrollFixedYesBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -949,7 +949,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Enabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatYes"/> </test> - <test name="AddTabsWithBackgroundJpgCenterCoverScrollFixedYesBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgCenterCoverScrollFixedYesBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1093,7 +1093,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Enabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatYes"/> </test> - <test name="AddTabsWithBackgroundJpgCenterAutoContainScrollFixedNoBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgCenterAutoContainScrollFixedNoBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1247,7 +1247,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatNo"/> </test> - <test name="AddTabsWithBackgroundJpgCenterCoverScrollFixedNoBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgCenterCoverScrollFixedNoBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1420,7 +1420,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatNo"/> </test> - <test name="AddTabsWithBackgroundJpgBottomCoverScrollFixedNoBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundJpgBottomCoverScrollFixedNoBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1565,7 +1565,7 @@ <seeElement selector="{{TabOnStorefront.backgroundAttachment('2', PageBuilderBackgroundAttachment_Fixed.value)}}" stepKey="seeTab2BackgroundAttachment"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatNo"/> </test> - <test name="AddTabsWithBackgroundGifBottomAutoContainScrollFixedYesBackgroundRepeatAfterSaveTest"> + <test name="AddTabsWithBackgroundGifBottomAutoContainScrollFixedYesBackgroundRepeatAfterSave"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1751,7 +1751,7 @@ <seeElement selector="{{TabOnStorefront.backgroundSize('2', PageBuilderBackgroundSize_Contain.value)}}" stepKey="seeTabBackgroundSize2"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Enabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatYes"/> </test> - <test name="AddTabsWithBackgroundGifCenterAutoContainFixedNoBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundGifCenterAutoContainFixedNoBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1904,7 +1904,7 @@ <seeElement selector="{{TabOnStorefront.backgroundSize('2', PageBuilderBackgroundSize_Contain.value)}}" stepKey="seeTab2BackgroundSize"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeat"/> </test> - <test name="AddTabsWithBackgroundPngBottomAutoContainScrollNoBackgroundRepeatAfterSaveTest"> + <test name="AddTabsWithBackgroundPngBottomAutoContainScrollNoBackgroundRepeatAfterSave"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -2087,7 +2087,7 @@ <seeElement selector="{{TabOnStorefront.backgroundSize('2', PageBuilderBackgroundSize_Auto.value)}}" stepKey="seeTabBackgroundSize2"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Disabled.styleValue)}}" stepKey="seeTab2BackgroundRepeatNo"/> </test> - <test name="AddTabsWithBackgroundPngTopAutoContainScrollFixedYesBackgroundRepeatTest"> + <test name="AddTabsWithBackgroundPngTopAutoContainScrollFixedYesBackgroundRepeat"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -2242,7 +2242,7 @@ <seeElement selector="{{TabOnStorefront.backgroundSize('2', PageBuilderBackgroundSize_Auto.value)}}" stepKey="seeTabBackgroundSize2"/> <seeElement selector="{{TabOnStorefront.backgroundRepeat('2', PageBuilderBackgroundRepeat_Enabled.styleValue)}}" stepKey="seeTab2BackgroundRepeat"/> </test> - <test name="TabHeaderNonBreakingSpaceValueInStageTest"> + <test name="TabHeaderNonBreakingSpaceValueInStage"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml index f4d02616c1d..f0bf2937335 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemContentTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="CanAddTextToTabTest"> + <test name="CanAddTextToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -69,7 +69,7 @@ <waitForPageLoad stepKey="waitForPageLoad"/> <see userInput="{{PageBuilderTextProperty.value}}" stepKey="assertTextOnStorefront"/> </test> - <test name="CanAddContentTypeToTabTest"> + <test name="CanAddContentTypeToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -128,7 +128,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <see userInput="$$createPreReqBlock.content$$" stepKey="seeBlockContentOnCmsStage"/> </test> - <test name="CanAddButtonToTabTest"> + <test name="CanAddButtonToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -176,7 +176,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <seeElement selector="{{ButtonItemOnStorefrontEmptyLink.buttonItemType('1', PageBuilderButtonItemType_Primary.value)}}" stepKey="seeButtonTextOnStorefront"/> </test> - <test name="CanAddImageToTabTest"> + <test name="CanAddImageToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -244,7 +244,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <seeElement selector="{{ImageOnStorefront.imageSource(PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="seeImage2Source"/> </test> - <test name="CanAddVideoToTabTest"> + <test name="CanAddVideoToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -320,7 +320,7 @@ <argument name="width" value="PageBuilderVideoWidth_500"/> </actionGroup> </test> - <test name="CanAddBannerToTabTest"> + <test name="CanAddBannerToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -381,7 +381,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <seeElement selector="{{BannerOnFrontend.messageContent('1', PageBuilderBannerMessageProperty.value)}}" stepKey="verifyMessage"/> </test> - <test name="CanAddSliderToTabTest"> + <test name="CanAddSliderToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -461,7 +461,7 @@ <seeElement selector="{{SlideOnFrontend.backgroundColor('1', PageBuilderBackgroundColor_Plaintext_Green.rgb)}}" stepKey="seeSlideBackgroundColor"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_Poster.value)}}" stepKey="verifySlide1HasPosterAppearanceOnStorefront"/> </test> - <test name="CanAddSliderToSecondaryTabTest"> + <test name="CanAddSliderToSecondaryTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -570,7 +570,7 @@ <seeElement selector="{{SlideOnFrontend.backgroundColor('1', PageBuilderBackgroundColor_Plaintext_Green.rgb)}}" stepKey="seeSlideBackgroundColorOnFrontend"/> <seeElement selector="{{SlideOnFrontend.appearance('1', PageBuilderAppearance_Poster.value)}}" stepKey="verifySlide1HasPosterAppearanceOnStorefrontOnFrontend"/> </test> - <test name="CanAddMapToTabTest"> + <test name="CanAddMapToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -622,7 +622,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <actionGroup ref="validateEmptyMapStoreFront" stepKey="validateEmptyMapStoreFront"/> </test> - <test name="CanAddColumnToTabTest"> + <test name="CanAddColumnToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -692,7 +692,7 @@ <seeElement selector="{{ColumnOnFrontend.column2BackgroundWidth}}" stepKey="seeColumn2DefaultWidthApplied"/> <seeElement selector="{{ColumnOnFrontend.column2Height}}" stepKey="seeColumn2HeightApplied"/> </test> - <test name="CanAddHeadingToTabTest"> + <test name="CanAddHeadingToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -751,7 +751,7 @@ <amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/> <actionGroup ref="verifyHeadingInStorefront" stepKey="verifyHeadingInStorefront"/> </test> - <test name="CanAddDividerToTabTest"> + <test name="CanAddDividerToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -821,7 +821,7 @@ <argument name="width" value="PageBuilderDividerLineWidth_50"/> </actionGroup> </test> - <test name="CanAddHtmlToTabTest"> + <test name="CanAddHtmlToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -881,7 +881,7 @@ <waitForElementVisible selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForHtmlBaseStorefront"/> <waitForElementVisible selector="{{HtmlOnStorefront.html('1', PageBuilderHtmlPropertyButton.selectorOnFrontend)}}" stepKey="waitForHtmlStorefront"/> </test> - <test name="CannotAddTabsToTabTest"> + <test name="CannotAddTabsToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -925,7 +925,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{TabOnStage.default('2')}}" stepKey="dontSeeNewTabsOnStage"/> </test> - <test name="CannotAddRowToTabTest"> + <test name="CannotAddRowToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -969,7 +969,7 @@ </actionGroup> <dontSeeElementInDOM selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-tabs')])[1]//div[contains(@class, 'pagebuilder-row')]" stepKey="dontSeeNewRowOnStage"/> </test> - <test name="CannotAddColumnToTabInsideColumnTest"> + <test name="CannotAddColumnToTabInsideColumn"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1018,7 +1018,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{TabOnStage.tabColumnContent}}" stepKey="dontSeeNewColumnsInTabs"/> </test> - <test name="CanAddProductsToTabTest"> + <test name="CanAddProductsToTab"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -1088,7 +1088,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="TabMaintainsDefaultMinimumHeightWithContentTest"> + <test name="TabMaintainsDefaultMinimumHeightWithContent"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml index 7ef2d4517ac..fe8a37cc097 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemDeleteTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TabsRemoveLastTabByDeletingTabsContentTypeTest"> + <test name="TabsRemoveLastTabByDeletingTabsContentType"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -65,7 +65,7 @@ <waitForPageLoad stepKey="waitForStoreFrontPageLoad" time="30"/> <dontSeeElement selector="{{TabOnStorefront.tabHeader('1')}}" stepKey="noTabsOnStorefront"/> </test> - <test name="TabsRemoveSecondTabDefaultStateTest"> + <test name="TabsRemoveSecondTabDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -128,7 +128,7 @@ <dontSeeElement selector="{{TabOnStorefront.tabHeader('2')}}" stepKey="dontSeeSecondTabOnStorefront"/> <seeElement selector="{{TabOnStorefront.tabHeader('1')}}" stepKey="seeFirstTabOnStorefront"/> </test> - <test name="TabsRemoveConfiguredSecondTabWithConfirmationTest"> + <test name="TabsRemoveConfiguredSecondTabWithConfirmation"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -191,7 +191,7 @@ <dontSeeElement selector="{{TabOnStage.tabHeader('2')}}" stepKey="dontSeeSecondTab"/> <seeElement selector="{{TabOnStage.tabHeader('1')}}" stepKey="seeFirstTabOnStage"/> </test> - <test name="TabsRemoveSecondTabContainingTextWithConfirmationTest"> + <test name="TabsRemoveSecondTabContainingTextWithConfirmation"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -259,7 +259,7 @@ <dontSeeElement selector="{{TabOnStage.tabHeader('2')}}" stepKey="dontSeeSecondTabOnStorefront"/> <seeElement selector="{{TabOnStage.tabHeader('1')}}" stepKey="seeFirstTabOnStorefront"/> </test> - <test name="TabsRemoveConfiguredTabsContainerWithConfirmationTest"> + <test name="TabsRemoveConfiguredTabsContainerWithConfirmation"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -304,7 +304,7 @@ <argument name="contentType" value="PageBuilderTabsContentType"/> </actionGroup> </test> - <test name="TabsOnDeleteCorrectTabBecomesActiveAndFocusedTest"> + <test name="TabsOnDeleteCorrectTabBecomesActiveAndFocused"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -355,7 +355,7 @@ <assertElementContainsAttribute selector="{{TabOnStage.tabPanel('1')}}" attribute="aria-hidden" expectedValue="true" stepKey="assertTab1Hidden"/> <assertElementContainsAttribute selector="{{TabOnStage.tabPanel('2')}}" attribute="aria-hidden" expectedValue="false" stepKey="assertTab2Visible"/> </test> - <test name="TabsDismissedCustomizedTabRemovalConfirmationPersistsSessionTest"> + <test name="TabsDismissedCustomizedTabRemovalConfirmationPersistsSession"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml index 5f45511c7e7..bab813e4f30 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTabItemLayoutTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TabItemValidateLayoutSectionDefaultValuesTest"> + <test name="TabItemValidateLayoutSectionDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Tabs"/> @@ -102,7 +102,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyTop"/> </actionGroup> </test> - <test name="TabItemMinHeightInvalidInputsTest"> + <test name="TabItemMinHeightInvalidInputs"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -168,7 +168,7 @@ <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> <waitForElementVisible selector="{{TabOnStage.minHeight('1', PageBuilderTabsMinHeightProperty_500.value)}}" stepKey="seeTabMinHeightAfterSave"/> </test> - <test name="TabItemWithBordersAndPaddingEqualToMinHeightTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="TabItemWithBordersAndPaddingEqualToMinHeight" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -210,7 +210,7 @@ <argument name="content" value="{{TabOnStorefront.tabContentCSS}}"/> </actionGroup> </test> - <test name="TabItemWithBordersPaddingAndLargeContentsGreaterThanMinHeightTest" extends="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeightTest"> + <test name="TabItemWithBordersPaddingAndLargeContentsGreaterThanMinHeight" extends="RowWithBordersPaddingAndLargeContentsGreaterThanMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -270,7 +270,7 @@ <argument name="height" value="PageBuilderTabMinimumHeight200Property"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedTopTest"> + <test name="TabContentIsVerticallyAlignedTop"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -348,7 +348,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyTop"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedCenterTest"> + <test name="TabContentIsVerticallyAlignedCenter"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -426,7 +426,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyCenter"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedBottomTest"> + <test name="TabContentIsVerticallyAlignedBottom"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -504,7 +504,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyBottom"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedTopWithMinimumHeightTest"> + <test name="TabContentIsVerticallyAlignedTopWithMinimumHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -588,7 +588,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyTop"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedCenterWithMinimumHeightTest"> + <test name="TabContentIsVerticallyAlignedCenterWithMinimumHeight"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> @@ -672,7 +672,7 @@ <argument name="verticalAlignContainer" value="PageBuilderTabVerticalAlignmentPropertyCenter"/> </actionGroup> </test> - <test name="TabContentIsVerticallyAlignedBottomWithMinimumHeightsTest"> + <test name="TabContentIsVerticallyAlignedBottomWithMinimumHeights"> <annotations> <features value="PageBuilder"/> <stories value="Tab"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml index 53bb9377528..5ee552f9bbf 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="TextDataConsistencyBetweenTextEditorTest"> + <test name="TextDataConsistencyBetweenTextEditor"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -144,7 +144,7 @@ <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage4_2"/> <seeElement selector="{{TextOnStage.tinymce('1')}}{{CmsWYSIWYGSection.imageSource(ImageUpload3.fileName)}}" stepKey="assertMediaSourceOnStage2"/> </test> - <test name="TextAreaInitalStatusTest"> + <test name="TextAreaInitalStatus"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -187,7 +187,7 @@ <dontSeeElement selector="{{TextOnStorefront.empty('1')}}" stepKey="dontSeeEmptyTextContentTypeOnStorefront"/> <seeElementInDOM selector="{{TextOnStorefront.noCssClasses('1')}}" stepKey="dontSeeCSSClassOnEmptyTextarea"/> </test> - <test name="TextVerifyTextAreaOnTextContentTypeTest"> + <test name="TextVerifyTextAreaOnTextContentType"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -257,7 +257,7 @@ <amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/> <waitForElementVisible selector="{{TextOnStorefront.textAreaText('1', PageBuilderTextProperty.value)}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextTinyMCE3OnTextContentTypeTest"> + <test name="TextTinyMCE3OnTextContentType"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -342,7 +342,7 @@ <seeElement selector="{{TextOnStorefront.textAreaText('1', '$grabBaseURL')}}" stepKey="waitForVariableStorefront"/> <see userInput="$$createCMSPageB.title$$" stepKey="waitForWidgetStorefront"/> </test> - <test name="TextAddWYSIWYGContentTypeToTabOnStageTest"> + <test name="TextAddWYSIWYGContentTypeToTabOnStage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -469,7 +469,7 @@ <seeElement selector="{{TextOnStorefront.text('1', _ENV.MAGENTO_BASE_URL)}}" stepKey="waitForVariableStorefront"/> <seeElement selector="{{TextOnStorefront.textWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="waitForWidgetStorefront"/> </test> - <test name="TextSaveEmptyTextContentTypeTest"> + <test name="TextSaveEmptyTextContentType"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -510,7 +510,7 @@ <seeElementInDOM selector="{{TextOnStorefront.empty('1')}}" stepKey="seeEmptyTextContentType"/> <dontSeeElement selector="{{TextOnStorefront.empty('1')}}" stepKey="dontSeeEmptyTextContentTypeOnStorefront"/> </test> - <test name="TextInlineTextEditingTest"> + <test name="TextInlineTextEditing"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -567,7 +567,7 @@ <amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/> <dontSeeElement selector="{{TextOnStorefront.base('1')}}" stepKey="doneSeeTextOnStorefront"/> </test> - <test name="TextInlineImageEditingTest"> + <test name="TextInlineImageEditing"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -642,7 +642,7 @@ <amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/> <waitForElementVisible selector="{{TextOnStorefront.image('1',ImageUpload3.fileName)}}" stepKey="assertMediaSource"/> </test> - <test name="TextInlineVariableEditingTest"> + <test name="TextInlineVariableEditing"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -712,7 +712,7 @@ <amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/> <waitForElementVisible selector="{{TextOnStorefront.text('1', _ENV.MAGENTO_BASE_URL)}}" stepKey="waitForVariableStorefront"/> </test> - <test name="TextInlineWidgetEditingTest"> + <test name="TextInlineWidgetEditing"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -784,7 +784,7 @@ <amOnPage url="$$createCMSPageA.identifier$$" stepKey="amOnPageTestPage"/> <seeElement selector="div.block-cms-link a[href='{{_ENV.MAGENTO_BASE_URL}}$$createCMSPageB.identifier$$']" stepKey="waitForWidgetStorefront"/> </test> - <test name="TextVerifyTinyMCE4ToolbarOnPageBuilderStageTest"> + <test name="TextVerifyTinyMCE4ToolbarOnPageBuilderStage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -888,7 +888,7 @@ <waitForPageLoad stepKey="waitForPageLoad3"/> <seeElement selector="{{TextOnStorefront.textInImportantStyle(PageBuilderTextProperty.value)}}" stepKey="seeTextInImportantStyleOnStorefront" /> </test> - <test name="TextAddTextWithCustomTinyMCETest"> + <test name="TextAddTextWithCustomTinyMCE"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -945,7 +945,7 @@ <waitForPageLoad stepKey="waitForPageLoad3"/> <seeElement selector="{{TextOnStorefront.emptyTextInImportantStyle('1')}}" stepKey="seeTextInImportantStyleOnStorefrontWithEmptyContent" /> </test> - <test name="TextAddTextWithTinyMCETest"> + <test name="TextAddTextWithTinyMCE"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1015,7 +1015,7 @@ <waitForElementVisible selector="div.block-cms-link a[href='{{_ENV.MAGENTO_BASE_URL}}text{{PageBuilderPageTitle.pageName}}']" stepKey="waitForWidgetStorefront"/> <waitForElementVisible selector="{{TextOnStorefront.text('1', PageBuilderTextProperty.value)}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextDeleteTest"> + <test name="TextDelete"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1047,7 +1047,7 @@ </actionGroup> <dontSeeElement selector="{{PageBuilderStage.contentTypeInStage(PageBuilderTextContentType.role)}}" stepKey="dontSeeContentTypeInStage"/> </test> - <test name="TextValidateAdvancedConfigurationDefaultValuesTest"> + <test name="TextValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1182,7 +1182,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="TextUpdateAdvancedConfigurationValuesTest"> + <test name="TextUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1353,7 +1353,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="TextDuplicateTest"> + <test name="TextDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1566,7 +1566,7 @@ </actionGroup> <waitForElementVisible selector="{{TextOnStorefront.text('2', PageBuilderTextProperty.value)}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextValidateGeneralDefaultSettingsTest"> + <test name="TextValidateGeneralDefaultSettings"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1626,7 +1626,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <waitForElementNotVisible selector="{{TextOnStorefront.base('1')}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextHasNoRequiredTest"> + <test name="TextHasNoRequired"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1667,7 +1667,7 @@ <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> <seeElement selector="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" stepKey="waitForCmsPageSaveButton"/> </test> - <test name="TextDisabledWYSIWYGAddImageTest"> + <test name="TextDisabledWYSIWYGAddImage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1743,7 +1743,7 @@ </actionGroup> <waitForElementVisible selector="{{TextOnStorefront.image('1', ImageUpload3.fileName)}}" stepKey="waitForImageStorefront"/> </test> - <test name="TextDisabledWYSIWYGAddTextTest"> + <test name="TextDisabledWYSIWYGAddText"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1818,7 +1818,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <waitForElementVisible selector="{{TextOnStorefront.textAreaText('1', PageBuilderTextProperty.value)}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextDisabledWYSIWYGAddWidgetTest"> + <test name="TextDisabledWYSIWYGAddWidget"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1904,7 +1904,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <waitForElementVisible selector="{{TextOnStorefront.textAreaWidget('1', _ENV.MAGENTO_BASE_URL, 'text', PageBuilderPageTitle.pageName)}}" stepKey="waitForTextStorefront"/> </test> - <test name="TextDisabledWYSIWYGAddVariableTest"> + <test name="TextDisabledWYSIWYGAddVariable"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -1991,7 +1991,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <waitForElementVisible selector="{{TextOnStorefront.textAreaText('1', '$grabBaseURL')}}" stepKey="waitForVariableStorefront"/> </test> - <test name="TextCannotAddToStageTest"> + <test name="TextCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2021,7 +2021,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{TextOnStage.base('1')}}" stepKey="dontSeeText"/> </test> - <test name="TextCanAddToColumnTest"> + <test name="TextCanAddToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2089,7 +2089,7 @@ <argument name="containerTargetIndex" value="2"/> </actionGroup> </test> - <test name="TextAddWYSIWYGContentTypeToColumnOnStageTextTest"> + <test name="TextAddWYSIWYGContentTypeToColumnOnStageText"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2211,7 +2211,7 @@ <seeElement selector="{{TextOnStorefront.text('1', _ENV.MAGENTO_BASE_URL)}}" stepKey="waitForVariableStorefront"/> <seeElement selector="{{TextOnStorefront.textWidget('1', _ENV.MAGENTO_BASE_URL, $$createCMSPageB.identifier$$)}}" stepKey="waitForWidgetStorefront"/> </test> - <test name="ValidateShowHideOnTextDefaultStateTest"> + <test name="ValidateShowHideOnTextDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2266,7 +2266,7 @@ </actionGroup> <seeElement selector="{{TextOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnTextTest"> + <test name="ValidateShowHideOnText"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2345,7 +2345,7 @@ <dontSeeElementInDOM selector="{{TextOnStorefront.hidden('1')}}" stepKey="dontSeeHiddenElement"/> <seeElement selector="{{TextOnStorefront.base('1')}}" stepKey="waitForContentTypeVisible" /> </test> - <test name="TextVariableCanWrapTest"> + <test name="TextVariableCanWrap"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2422,7 +2422,7 @@ <actualResult type="variable">columnOneTextHeight</actualResult> </assertGreaterThan> </test> - <test name="TextInlineWYSIWYGWidgetAndVariableStyleTest"> + <test name="TextInlineWYSIWYGWidgetAndVariableStyle"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2515,7 +2515,7 @@ <expectedResult type="variable">currentUrl</expectedResult> </assertEquals> </test> - <test name="TextInlineWysiwygUploadImageTest" extends="SlideItemInlineWysiwygUploadImageTest"> + <test name="TextInlineWysiwygUploadImage" extends="SlideItemInlineWysiwygUploadImage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2547,7 +2547,7 @@ <!-- Validate Image Editor On Storefront --> <seeElement selector="{{TextOnStorefront.messageContentTextAreaImage('1', PageBuilderBackgroundImage_JPG.value)}}" stepKey="validateImageFrontEnd"/> </test> - <test name="TextDisabledWYSIWYGUpdateAdvancedConfigurationValuesTest" extends="TextUpdateAdvancedConfigurationValuesTest"> + <test name="TextDisabledWYSIWYGUpdateAdvancedConfigurationValues" extends="TextUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2568,7 +2568,7 @@ <waitForElementVisible selector="{{TextOnConfiguration.textArea}}" stepKey="waitForTextOnEditPanel" before="enterText"/> <fillField selector="{{TextOnConfiguration.textArea}}" userInput="{{PageBuilderTextProperty.value}}" stepKey="enterText"/> </test> - <test name="TextDisabledByDefaultWYSIWYGUpdateAdvancedConfigurationValuesTest" extends="TextUpdateAdvancedConfigurationValuesTest"> + <test name="TextDisabledByDefaultWYSIWYGUpdateAdvancedConfigurationValues" extends="TextUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2589,7 +2589,7 @@ <waitForElementVisible selector="{{TextOnConfiguration.textArea}}" stepKey="waitForTextOnEditPanel" before="enterText"/> <fillField selector="{{TextOnConfiguration.textArea}}" userInput="{{PageBuilderTextProperty.value}}" stepKey="enterText"/> </test> - <test name="TextAlignmentInheritanceTest"> + <test name="TextAlignmentInheritance"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2677,7 +2677,7 @@ <actualResult type="variable">grabComputedTextAlignStoreFront</actualResult> </assertEquals> </test> - <test name="TextHeightConsistencyBetweenStageAndStorefrontTest"> + <test name="TextHeightConsistencyBetweenStageAndStorefront"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2726,7 +2726,7 @@ <actualResult type="variable">getStageAndStorefrontHeightDifference</actualResult> </assertLessThanOrEqual> </test> - <test name="TextTooltipMenusAreNotCutOffInFullScreenModeTest" extends="HeadingLiveEditToolbarNotCutOffInFullScreenModeTest"> + <test name="TextTooltipMenusAreNotCutOffInFullScreenMode" extends="HeadingLiveEditToolbarNotCutOffInFullScreenMode"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2777,7 +2777,7 @@ <executeJS function="return document.evaluate(`{{PageBuilderStage.inlineWYSIWYGEditorPanel(PageBuilderTextContentType.role, '1')}}`, document.body).iterateNext().getBoundingClientRect().top" stepKey="toolbarTopPositionAfterExitFullScreen"/> <executeJS function="return document.evaluate(`{{PageBuilderStage.inlineWYSIWYGEditorPanel(PageBuilderTextContentType.role, '1')}}`, document.body).iterateNext().getBoundingClientRect().bottom" stepKey="toolbarBottomPositionAfterExitFullScreen"/> </test> - <test name="TextContainingPageBuilderMarkupWontBreakStageTest"> + <test name="TextContainingPageBuilderMarkupWontBreakStage"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2806,7 +2806,7 @@ <seeElement selector="{{TextOnStage.base('1')}}" stepKey="seeText" /> <seeElement selector="{{TextOnStage.text('1', PageBuilderTextProperty.value)}}" stepKey="seeTestStringInText"/> </test> - <test name="TextAddVariableWithinStringInlineWYSWIYGTest"> + <test name="TextAddVariableWithinStringInlineWYSWIYG"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2873,7 +2873,7 @@ <argument name="labelValue" value="TinyMCEVariableBaseURL.editPanelValue" /> </actionGroup> </test> - <test name="TextAddWidgetWithinStringInlineWYSIWYGTest"> + <test name="TextAddWidgetWithinStringInlineWYSIWYG"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2943,7 +2943,7 @@ <argument name="labelValue" value="TinyMCEWidgetCMSPageLink.editPanelValue" /> </actionGroup> </test> - <test name="TextCopyAndPasteAllTextInlineWYSIWYGTest"> + <test name="TextCopyAndPasteAllTextInlineWYSIWYG"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> @@ -2992,7 +2992,7 @@ <waitForPageLoad stepKey="waitForTextPaste2"/> <seeNumberOfElements selector="{{TextOnStage.textWithTag('1', 'p', PageBuilderVariableWidgetText.value)}}" userInput="1" stepKey="seeOnlyOneParagraph"/> </test> - <test name="TextAddLinkToTextInlineWYSIWYGTest"> + <test name="TextAddLinkToTextInlineWYSIWYG"> <annotations> <features value="PageBuilder"/> <stories value="Text"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml index 8b54e83350b..992446a5b45 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="VideoAddToCMSPageTest"> + <test name="VideoAddToCMSPage"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -83,7 +83,7 @@ <argument name="width" value="PageBuilderVideoWidth_500"/> </actionGroup> </test> - <test name="VideoNonEmbeddedUrlTest"> + <test name="VideoNonEmbeddedUrl"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -136,7 +136,7 @@ <argument name="url" value="PageBuilderVideoUrl_NonEmbedded"/> </actionGroup> </test> - <test name="VideoDeleteTest"> + <test name="VideoDelete"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -201,7 +201,7 @@ <dontSeeElementInDOM selector="{{VideoOnStorefront.base('1')}}" stepKey="dontSeeContentTypeInStorefront"/> <dontSeeElementInDOM selector="{{VideoOnStorefront.empty('1')}}" stepKey="dontSeeEmptyContentTypeInStorefront"/> </test> - <test name="VideoValidateGeneralDefaultValuesTest"> + <test name="VideoValidateGeneralDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -286,7 +286,7 @@ <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/> <seeElementInDOM selector="{{VideoOnStorefront.empty}}" stepKey="seeVideo"/> </test> - <test name="VideoValidateAdvancedConfigurationDefaultValuesTest"> + <test name="VideoValidateAdvancedConfigurationDefaultValues"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -420,7 +420,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="VideoUpdateAdvancedConfigurationValuesTest"> + <test name="VideoUpdateAdvancedConfigurationValues"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -589,7 +589,7 @@ <argument name="index" value="1"/> </actionGroup> </test> - <test name="VideoWithBordersAndPaddingEqualToMaxWidthTest"> + <test name="VideoWithBordersAndPaddingEqualToMaxWidth"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -661,7 +661,7 @@ <argument name="content" value="{{VideoOnStorefront.wrapperCSS}}"/> </actionGroup> </test> - <test name="VideoHeightRendersCorrectlyBasedOnMaxWidthAndAspectRatioTest" extends="RowWithBordersAndPaddingEqualToMinHeightTest"> + <test name="VideoHeightRendersCorrectlyBasedOnMaxWidthAndAspectRatio" extends="RowWithBordersAndPaddingEqualToMinHeight"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -717,7 +717,7 @@ <argument name="pixelBuffer" value="2"/> </actionGroup> </test> - <test name="VideoValidateURLTest"> + <test name="VideoValidateURL"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -856,7 +856,7 @@ <argument name="url" value="PageBuilderVideoUrl_Mp4_URL_Insecure"/> </actionGroup> </test> - <test name="VideoCannotAddToStageTest"> + <test name="VideoCannotAddToStage"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -886,7 +886,7 @@ </actionGroup> <dontSeeElementInDOM selector="{{VideoOnStage.base('1')}}" stepKey="dontSeeVideo"/> </test> - <test name="CanAddVideoToColumnTest"> + <test name="CanAddVideoToColumn"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -964,7 +964,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="VideoMoveVideoTest"> + <test name="VideoMoveVideo"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -1083,7 +1083,7 @@ <argument name="containerTargetIndex" value="1"/> </actionGroup> </test> - <test name="VideoDuplicateTest"> + <test name="VideoDuplicate"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -1327,7 +1327,7 @@ <argument name="index" value="2"/> </actionGroup> </test> - <test name="ValidateShowHideOnVideoDefaultStateTest"> + <test name="ValidateShowHideOnVideoDefaultState"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> @@ -1381,7 +1381,7 @@ </actionGroup> <seeElement selector="{{VideoOnStorefront.notHidden('1')}}" stepKey="seeContentTypeNotHiddenStorefront"/> </test> - <test name="ValidateShowHideOnVideoTest"> + <test name="ValidateShowHideOnVideo"> <annotations> <features value="PageBuilder"/> <stories value="Video"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml similarity index 99% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml index af3d441081b..102773aa92d 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderColumnGridTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="StoreConfigurationGridSettingsValidationInSystemConfigTest"> + <test name="StoreConfigurationGridSettingsValidationInSystemConfig"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Column Grid Size"/> @@ -156,7 +156,7 @@ <actionGroup ref="SaveStoreConfigurationActionGroup" stepKey="saveStoreConfiguration6"/> <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage3"/> </test> - <test name="StoreConfigurationDefaultColumnGridSizeFieldAppearanceTest"> + <test name="StoreConfigurationDefaultColumnGridSizeFieldAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Column Grid Size"/> @@ -188,7 +188,7 @@ <waitForElementVisible selector="{{ContentManagementSection.ColumnGridDefaultHelperText}}" stepKey="waitForHelperText"/> <see selector="{{ContentManagementSection.ColumnGridDefaultHelperText}}" userInput="Grid size determines the default number of columns available." stepKey="seeHelperText"/> </test> - <test name="StoreConfigurationMaximumColumnGridSizeFieldAppearanceTest"> + <test name="StoreConfigurationMaximumColumnGridSizeFieldAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Column Grid Size"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml index 0650209f30a..7c25d52fb39 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderEnableTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="VerifyPageBuilderSwitcherAndDisclaimerMessageTest"> + <test name="VerifyPageBuilderSwitcherAndDisclaimerMessage"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Enable PageBuilder"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml index 9f4b10ec079..df231a574f2 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsAPIKeyTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="StoreConfigurationGoogleMapsCanSaveValidAPIKeyTest"> + <test name="StoreConfigurationGoogleMapsCanSaveValidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -41,7 +41,7 @@ <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage"/> <seeInField selector="{{ContentManagementSection.GoogleMapsAPIKeyInputField}}" userInput="{{googleMapsAPIKey.valid}}" stepKey="seeKeyValid"/> </test> - <test name="StoreConfigurationGoogleMapsCanSaveInvalidAPIKeyTest"> + <test name="StoreConfigurationGoogleMapsCanSaveInvalidAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -70,7 +70,7 @@ <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage"/> <seeInField selector="{{ContentManagementSection.GoogleMapsAPIKeyInputField}}" userInput="{{googleMapsAPIKey.invalidOneCharacter}}" stepKey="seeKeyInvalid"/> </test> - <test name="StoreConfigurationGoogleMapsCanSaveEmptyAPIKeyTest"> + <test name="StoreConfigurationGoogleMapsCanSaveEmptyAPIKey"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -99,7 +99,7 @@ <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage"/> <seeInField selector="{{ContentManagementSection.GoogleMapsAPIKeyInputField}}" userInput="{{googleMapsAPIKey.empty}}" stepKey="seeKeyEmpty"/> </test> - <test name="StoreConfigurationGoogleMapsAPIKeyFieldAppearanceTest"> + <test name="StoreConfigurationGoogleMapsAPIKeyFieldAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -143,7 +143,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="https://developers.google.com/maps/documentation/javascript/get-api-key" stepKey="validateURL"/> </test> - <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonValidKeyTest"> + <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonValidKey"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -175,7 +175,7 @@ <argument name="buttonText" value="{{googleMapsAPIKey.validKeyButtonText}}"/> </actionGroup> </test> - <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonInvalidKeysTest"> + <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonInvalidKeys"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> @@ -221,7 +221,7 @@ </actionGroup> <waitForElementVisible selector="{{ContentManagementSection.GoogleMapsAPIKeyTestKeyButton}}[disabled='disabled']" stepKey="waitForTestKeyButtonDisabled"/> </test> - <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonChangesStateAndMessagesCorrectlyTest"> + <test name="StoreConfigurationGoogleMapsAPIKeyTestKeyButtonChangesStateAndMessagesCorrectly"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps API Key"/> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml similarity index 98% rename from app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml rename to app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml index a7f58d7e965..1c9d6506fa9 100644 --- a/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTest.xml +++ b/app/code/Magento/PageBuilder/Test/Mftf/Test/AdminStoreConfigurationPageBuilderGoogleMapsStyleTests.xml @@ -8,7 +8,7 @@ <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> - <test name="StoreConfigurationGoogleMapsStyleFieldAppearanceTest"> + <test name="StoreConfigurationGoogleMapsStyleFieldAppearance"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps Style"/> @@ -48,7 +48,7 @@ <switchToNextTab stepKey="switchToNextTab"/> <seeCurrentUrlEquals url="https://mapstyle.withgoogle.com/" stepKey="validateURL"/> </test> - <test name="StoreConfigurationGoogleMapsCanSaveEmptyStyleTest"> + <test name="StoreConfigurationGoogleMapsCanSaveEmptyStyle"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps Style"/> @@ -80,7 +80,7 @@ <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage"/> <seeInField selector="{{ContentManagementSection.GoogleMapsStyleInputField}}" userInput="{{googleMapsStyle.empty}}" stepKey="seeStyle"/> </test> - <test name="StoreConfigurationGoogleMapsCanSaveValidStyleTest"> + <test name="StoreConfigurationGoogleMapsCanSaveValidStyle"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps Style"/> @@ -121,7 +121,7 @@ <see selector="{{ContentManagementSection.StoreConfigurationPageSuccessMessage}}" userInput="You saved the configuration." stepKey="seeSuccessMessage2"/> <seeInField selector="{{ContentManagementSection.GoogleMapsStyleInputField}}" userInput="{{googleMapsStyle.validNoContent}}" stepKey="seeStyle2"/> </test> - <test name="StoreConfigurationGoogleMapsCannotSaveInvalidStyleTest"> + <test name="StoreConfigurationGoogleMapsCannotSaveInvalidStyle"> <annotations> <features value="PageBuilder"/> <stories value="Store Configuration - Google Maps Style"/> From 183b29ab712526006355c430c17ab5b2631bf6f3 Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk <kolesnyk@adobe.com> Date: Fri, 17 Apr 2020 13:51:05 -0500 Subject: [PATCH 18/20] MQE-2081: Functional Tests builds will only pass when MFTF and MTF are selected --- .../AdminDisableWYSIWYGActionGroup.xml | 14 ++++++++++++++ .../AdminEnableWYSIWYGActionGroup.xml | 14 ++++++++++++++ .../Mftf/Suite/PageBuilderDisabledSuite.xml | 17 ----------------- 3 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminDisableWYSIWYGActionGroup.xml create mode 100644 app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminEnableWYSIWYGActionGroup.xml delete mode 100644 app/code/Magento/PageBuilder/Test/Mftf/Suite/PageBuilderDisabledSuite.xml diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminDisableWYSIWYGActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminDisableWYSIWYGActionGroup.xml new file mode 100644 index 00000000000..2c6ba7401c3 --- /dev/null +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminDisableWYSIWYGActionGroup.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> + <actionGroup name="AdminDisableWYSIWYGActionGroup"> + <magentoCLI command="config:set cms/pagebuilder/enabled 0" stepKey="disablePageBuilder"/> + </actionGroup> +</actionGroups> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminEnableWYSIWYGActionGroup.xml b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminEnableWYSIWYGActionGroup.xml new file mode 100644 index 00000000000..1c5b811bb94 --- /dev/null +++ b/app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/AdminEnableWYSIWYGActionGroup.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> + <actionGroup name="AdminEnableWYSIWYGActionGroup"> + <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder"/> + </actionGroup> +</actionGroups> diff --git a/app/code/Magento/PageBuilder/Test/Mftf/Suite/PageBuilderDisabledSuite.xml b/app/code/Magento/PageBuilder/Test/Mftf/Suite/PageBuilderDisabledSuite.xml deleted file mode 100644 index a4871fd8fc0..00000000000 --- a/app/code/Magento/PageBuilder/Test/Mftf/Suite/PageBuilderDisabledSuite.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - /** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<suites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Suite/etc/suiteSchema.xsd"> - <suite name="WYSIWYGDisabledSuite"> - <before> - <magentoCLI command="config:set cms/pagebuilder/enabled 0" stepKey="disablePageBuilder"/> - </before> - <after> - <magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder"/> - </after> - </suite> -</suites> From d8a5a2c85e059b289f1e2c98ab1879bdc7ad7272 Mon Sep 17 00:00:00 2001 From: Bruce Denham <bdenham@adobe.com> Date: Mon, 27 Apr 2020 12:48:18 -0500 Subject: [PATCH 19/20] PB-518: Docs housework for 1.3 release Moved upgrade content doc and updated content to reflect other changes --- .../how-to/how-to-use-upgrade-library.md | 82 +++++++++++------- .../upgrade-framework-additional-entities.png | Bin 0 -> 16446 bytes .../upgrade-framework-example-custom.png | Bin 0 -> 48619 bytes docs/images/upgrade-framework-example-pb.png | Bin 0 -> 43643 bytes .../upgrade-framework-example-custom.png | Bin 35051 -> 0 bytes .../images/upgrade-framework-example-pb.png | Bin 32898 -> 0 bytes 6 files changed, 51 insertions(+), 31 deletions(-) rename {docs_drafts => docs}/how-to/how-to-use-upgrade-library.md (69%) create mode 100644 docs/images/upgrade-framework-additional-entities.png create mode 100644 docs/images/upgrade-framework-example-custom.png create mode 100644 docs/images/upgrade-framework-example-pb.png delete mode 100644 docs_drafts/images/upgrade-framework-example-custom.png delete mode 100644 docs_drafts/images/upgrade-framework-example-pb.png diff --git a/docs_drafts/how-to/how-to-use-upgrade-library.md b/docs/how-to/how-to-use-upgrade-library.md similarity index 69% rename from docs_drafts/how-to/how-to-use-upgrade-library.md rename to docs/how-to/how-to-use-upgrade-library.md index c001e3cc18a..4ae05f73c38 100644 --- a/docs_drafts/how-to/how-to-use-upgrade-library.md +++ b/docs/how-to/how-to-use-upgrade-library.md @@ -4,22 +4,28 @@ Before version 1.3, changes to a content-type configuration could (and usually w To fix this limitation for versions 1.3+, Page Builder uses Magento's native upgrade mechanism, coupled with our content upgrade helpers. These helpers convert existing content so that it maps to new configurations and displays correctly. -## Example usage for Row +## Example: Updating the Row content type -The Page Builder team recently had to change the configuration of the Row's full-width appearance to fix a layout issue. The fix was simple. We moved a style attribute from one element in the Row's full-width appearance to another element. But without the upgrade helpers, our change to the Row's configuration would have broken all previously saved Page Builder content with Rows. And because all Page Builder content starts with a Row, all Page Builder content would be broken! +Let's imagine that the Page Builder team needs to change the configuration of the Row's full-width appearance to fix a layout issue. The fix is simple. We need to move a style attribute from one element in the Row's full-width appearance to another element. But without the upgrade helpers, our change to the Row's configuration would break all previously saved Page Builder content that uses Rows. And because all Page Builder content is wrapped in a Row, changing the Row would break all Page Builder content! -To fix this issue, we used the Page Builder DOM helper classes (`Magento\PageBuilder\Model\Dom\*`) to create a converter and a data patch for the native Row content type: +To fix this issue, we created a set of Page Builder DOM helper classes (`Magento\PageBuilder\Model\Dom\*`) that we can use to update all our native content types (including the Row) that have already been stored in the database. -1. **Converter** (See `FixFullWidthRowPadding.php`) -2. **Data Patch** (See `UpgradeFullWidthPadding.php`) +## Steps overview +There are three steps to upgrading a content type when changing its configuration: - ![Example converter and upgrader classes](../images/upgrade-framework-example-pb.png) +1. Create a Converter (Example: `FixFullWidthRowPadding.php`) +2. Create a Data Patch (Example: `UpgradeFullWidthPadding.php`) +3. Update the UpgradableEntitiesPool (for custom entities)(`Magento\PageBuilder\Model\UpgradableEntitiesPool`) -### Converter class example +For our Row example, the Page Builder team would add the following files to the `Magento/PageBuilder/Setup` directories: -The converter class implements the `DataConverterInterface`. Specifically, it implements the `convert` function where it uses Page Builder's DOM helper classes to change the DOM of the Row content type within each master format it receives. +![Example converter and upgrader classes](../images/upgrade-framework-example-pb.png) -Page Builder's `FixFullWidthRowPadding` converter class is provided here as an example implementation: +### Step 1: Create a Converter + +For our Row example, the first task is to create a converter class that implements the `DataConverterInterface`. Specifically, it implements the `convert` function where it uses Page Builder's DOM helper classes to change the DOM of the Row content type within each master format it receives. + +Our converter class for fixing a row padding problem might be called `FixFullWidthRowPadding`, with the following example implementation: ```php <?php @@ -82,11 +88,11 @@ class FixFullWidthRowPadding implements DataConverterInterface } ``` -### Data patch class example +### Step 2: Create a Data Patch -The data patch class implements the `DataPatchInterface`. Specifically, it uses the Page Builder `UpgradeContentHelper` class to apply the converter class to all the database entities where Page Builder content exists. These locations are provided by the `UpgradableEntitiesPool`, described later in this topic. +Our second task for updating our example Row content type is to create a Data Patch class that implements the `DataPatchInterface`. Specifically, we need to use the Page Builder `UpgradeContentHelper` class to apply the converter class to all the database entities where Page Builder content exists. These locations are provided by the `UpgradableEntitiesPool`, described later in this topic. -Page Builder's `UpgradeFullWidthPadding` class is provided here as an example implementation: +For our Data Patch, we'll create a class called `UpgradeFullWidthPadding`, which fixes our row padding problem with the following example implementation: ```php <?php @@ -151,9 +157,40 @@ class UpgradeFullWidthPadding implements DataPatchInterface } ``` -## UpgradableEntitiesPool +### Step 3: Update the UpgradableEntitiesPool (for custom entities) + +The `Magento\PageBuilder\Model\UpgradableEntitiesPool` provides the locations in the database where Page Builder content exists by default. These entities include: + +- `cms_block` +- `cms_page` +- `catalog_category_entity_text` +- `catalog_product_entity_text` +- `pagebuilder_template` + +If your Magento installation does not have any additional entities for Page Builder content (beyond the defaults), you do not need to update the `UpgradableEntitiesPool`. -The `UpgradableEntitiesPool` provides the locations in the database where Page Builder content exists. By default, these entities include: `cms_block`, `cms_page`, `catalog_category_entity_text`, `catalog_product_entity_text`, and `pagebuilder_template`. Page Builder defines these entities in `Magento/PageBuilder/etc/di.xml`, as shown here: +However, if you have created additional database entities for storing Page Builder content, you _must_ add those entities to the `UpgradableEntitiesPool` type in your module's `etc/di.xml`. If you do not, the Page Builder content stored in your entity will not be updated, causing potential data-loss and display issues. + +![Additional entities](../images/upgrade-framework-additional-entities.png) + +For example, if you have created a blog entity that stores Page Builder content, you must add your blog entity to your `etc/di.xml` file as an `UpgradableEntitiesPool` type. This entry ensures that the upgrade library can update the Page Builder content types used in your blog. An entry for our blog example might look like this: + +```xml +<type name="Magento\PageBuilder\Model\UpgradableEntitiesPool"> + <arguments> + <argument name="entities" xsi:type="array"> + <item name="cms_blog" xsi:type="array"> + <item name="identifier" xsi:type="string">blog_id</item> + <item name="fields" xsi:type="array"> + <item name="content" xsi:type="boolean">true</item> + </item> + </item> + </argument> + </arguments> +</type> +``` + +In such cases, your additional entity will be merged with the default entities from `Magento/PageBuilder/etc/di.xml`: ```xml <type name="Magento\PageBuilder\Model\UpgradableEntitiesPool"> @@ -194,23 +231,6 @@ The `UpgradableEntitiesPool` provides the locations in the database where Page B </type> ``` -If you have created additional database entities for storing Page Builder content, you need to add your custom entity to your `etc/di.xml` as shown in the following example: - -```xml -<type name="Magento\PageBuilder\Model\UpgradableEntitiesPool"> - <arguments> - <argument name="entities" xsi:type="array"> - <item name="my_custom_block" xsi:type="array"> - <item name="identifier" xsi:type="string">custom_block_id</item> - <item name="fields" xsi:type="array"> - <item name="content" xsi:type="boolean">true</item> - </item> - </item> - </argument> - </arguments> -</type> -``` - ## How to upgrade your custom content types To use Page Builder's content upgrade helpers for your own content-type configuration changes, follow these steps: diff --git a/docs/images/upgrade-framework-additional-entities.png b/docs/images/upgrade-framework-additional-entities.png new file mode 100644 index 0000000000000000000000000000000000000000..6c2bbdf3bc9a4f261d082d2355ada98095fa2fff GIT binary patch literal 16446 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 NBcUK(DQf8Ve*kB}$nyXI literal 0 HcmV?d00001 diff --git a/docs/images/upgrade-framework-example-custom.png b/docs/images/upgrade-framework-example-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..24271a9c39c3711655bdd660193e2395c04d94ff GIT binary patch literal 48619 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 Slp5UtkB9PVa-U>OgZ>XoyFz#X literal 0 HcmV?d00001 diff --git a/docs/images/upgrade-framework-example-pb.png b/docs/images/upgrade-framework-example-pb.png new file mode 100644 index 0000000000000000000000000000000000000000..dc95365798a186c93d504b850a8ca80491d8226b GIT binary patch literal 43643 zcmeEuRahL|wrwCdA-Fpv!66~R-QC?SxVyUsPtf4OwQ+Y6+@WzA_r`)dr}+2T`|RiY zd>{IwtGavDs<mcK8DmVoDauQrp%9_Gdi4rTN>Wt$)hk%<SFd1rkPv_~1tAh<z#lks zAvvK}ud3rvAB^CEV@^{|DKj~_SM<Ppq*pNEmapJ|cQC+<2zUV_<iP&>46Jv~>wmw8 z;d%M6#Jb_+)hoeQQldht9x#WQh(4-n(|y?&f?mRslou;e(kEgCnwS^3xQduK<;6G* z^lo%i^SC(GepIlLkvTZH@QHZbAwS~d1-&R-JI^y5Qsm}syp~2zhmRrN3XiL%?ru9H zB!~%E5lAqU6mTH{7#Og^f=Ki4VI*2Jl4PZk{`)jGhN;2|67ccAPga@0<{mEm9Zf1h z{;yvr@_C~F`y0S$U9rd!HRk;s8igPJGd>cG($yB<|6LCWhUWvtP!{Q`?$5M;Ð_ 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 literal 0 HcmV?d00001 diff --git a/docs_drafts/images/upgrade-framework-example-custom.png b/docs_drafts/images/upgrade-framework-example-custom.png deleted file mode 100644 index 6aeee8319ea7b359ae9747e5c8d2b7d6bc847bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35051 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 diff --git a/docs_drafts/images/upgrade-framework-example-pb.png b/docs_drafts/images/upgrade-framework-example-pb.png deleted file mode 100644 index c18b55b8692c72bf1207f0dd23cabbe4a094915d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32898 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 AJpcdz From 019951c06a74484583582af0541ad0fea9bd5816 Mon Sep 17 00:00:00 2001 From: Bruce Denham <bdenham@adobe.com> Date: Mon, 27 Apr 2020 20:55:45 -0500 Subject: [PATCH 20/20] PB-518: Docs housework for 1.3 release Changed upgrade topic name --- docs/how-to/how-to-use-upgrade-library.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how-to/how-to-use-upgrade-library.md b/docs/how-to/how-to-use-upgrade-library.md index 4ae05f73c38..fd835963b20 100644 --- a/docs/how-to/how-to-use-upgrade-library.md +++ b/docs/how-to/how-to-use-upgrade-library.md @@ -1,4 +1,4 @@ -# How to use the content type upgrade library +# How to upgrade content types Before version 1.3, changes to a content-type configuration could (and usually would) break the existing content that was saved with the previous configuration. Why? Because a content type's configuration maps data from its source (the master format) to its display templates. So when the configuration mapping changes, the display of existing content might also change. With significant configuration changes, data (such as styles, attributes, and html) is lost. Such changes cause existing content to appear incorrectly, or not at all.