Description
Story
As a developer I want to easily create themes and customizations to existing Page Builder content types to enable me align their visual output with my desired theme
Business Value
ability to style content with CSS classes not using !important
Acceptance Criteria
- Developers are no longer required to use !important to style CSS properties
Technical Vision
- Remove the usage of style attributes
- Utilize style block generation and include a single block per instance
- Consider including an optimizer to further decrease the size of the payload: https://github.com/css/csso
Test Plan
Manual Testing Scenarios
- Migration of Existing Page Builder Content
- Create a Magento Commerce Cloud instance on the
develop
branch of Page Builder - Create various combinations of Page Builder content (Block, Dynamic Block, Page, Categories, Product) including all possible content types:
- Row
- Column
- Tabs (incl. Tab)
- Text
- Heading
- Buttons (incl. Button)
- Divider
- HTML Code
- Image
- Video
- Banner
- Slider (incl. Slide)
- Map
- Block Dynamic Block
- Products
- Create screenshots of each instance of Page Builder that will be tested
- Update the Magento Commerce Cloud instance to the
csso-alternative
branch of Page Builder - Run
bin/magento setup:upgrade
and re-deploy - Verify that all instances of Page Builder are working as expected; in content editing, content staging, and on the storefront
- Create screenshots of each instance of Page Builder
- Compare "before" and "after" screenshots to ensure no visual defects
- Ensure instances of Page Builder contain no inline styles (except for HTML Code content types where inline styles have been defined)
Update working as expected.
No visual differences, and no inline styles after conversion to csso-alternative
branch.
Page:
https://588-manual-tests-dg3iscy-vzsrtettsztvg.us-4.magentosite.cloud/issue-558
Ghost Inspector:
https://ghostinspector-prod.s3.amazonaws.com/screenshots/bdf4afb7-bf2b-40f7-81d3-2c74cfa143a3-compareOriginal.png
- CSS Specificity
-
Create a new Page (Content » Pages » Add New Page)
-
Click Edit with Page Builder
-
Add Heading and HTML Code content types, and configure with the following:
Content Type Label Value Heading Heading Type H2 Heading Text CSS Specificity Alignment Left Border None Border Color Default Border Width Default Border Radius Default CSS Classes css__specificity Margins and Padding Default HTML Code WYSIWYG See Below Alignment Default Border Default Border Color Default Border Width Default Border Radius Default CSS Classes Default Margins and Padding Default <!-- WYSIWYG Content --> <style type="text/css"> .css__specificity { text-align: center; } </style>
-
Click Save
-
Browse to your newly created CMS Page
-
Confirm Heading ("CSS Specificity") is aligned to the left
-
Edit the Page created in Step 1.
-
Click Edit with Page Builder
-
Replace HTML Code contents with:
<!-- WYSIWYG Content --> <style type="text/css"> #html-body .css__specificity { text-align: center; } </style>
-
Click Save
-
Browse to your newly created CMS Page again
-
Confirm Heading ("CSS Specificity") is aligned to the center
Page:
https://588-manual-tests-dg3iscy-vzsrtettsztvg.us-4.magentosite.cloud/css-specificity
- CSS Responsive Styling
-
Create a new Page (Content » Pages » Add New Page)
-
Click Edit with Page Builder
-
Add Heading and HTML Code content types, and configure with the following:
Content Type Label Value Heading Heading Type H2 Heading Text CSS Responsive Styling Alignment Default Border None Border Color Default Border Width Default Border Radius Default CSS Classes css__responsive-styling Margins and Padding Default HTML Code WYSIWYG See Below Alignment Default Border Default Border Color Default Border Width Default Border Radius Default CSS Classes Default Margins and Padding Default <!-- WYSIWYG Content --> <style type="text/css"> #html-body .css__responsive-styling { color: #0af; font-weight: 700; } #html-body .css__responsive-styling:after { color: #fa0; content: ' for XS'; } @media (min-width: 576px) { #html-body .css__responsive-styling:after { content: ' for SM'; } } @media (min-width: 768px) { #html-body .css__responsive-styling:after { content: ' for MD'; } } @media (min-width: 992px) { #html-body .css__responsive-styling:after { content: ' for LG'; } } @media (min-width: 1200px) { #html-body .css__responsive-styling:after { content: ' for XL'; } } </style>
-
Click Save
-
Browse to your newly created CMS Page
-
Confirm Heading ("CSS Responsive Styling") is:
- Blue
#00aaff
- Bold
- Blue
-
Confirm that Heading ("CSS Responsive Styling") has been appended with a viewport indicator:
- Content: "for XS", "for SM", "for MD", "for LG", or "for XL"
- Orange
#ffaa00
-
Resize the browser window below (or use device emulation to achieve the same result)
-
Confirm that Heading ("CSS Responsive Styling") appended viewport indicator changes according to the viewport size
Page:
https://588-manual-tests-dg3iscy-vzsrtettsztvg.us-4.magentosite.cloud/css-responsive-styling
- Custom Content Types
-
Install Page Builder Examples
-
Create a new Page (Content » Pages » Add New Page)
-
Click Edit with Page Builder
-
Add Heading and HTML Code content types, and configure with the following:
Content Type Label Value Heading Heading Type H2 Heading Text Custom Content Types Alignment Left Border None Border Color Default Border Width Default Border Radius Default CSS Classes Default Margins and Padding Default Quote Quote Use the Force, Harry Quote Color Blue Author Gandalf WYSIWYG Default Background Image Select from Gallery Background Mobile Image Select from Gallery Background Size Contain Background Position Center Background Attachment Default Background Repeat Default Alignment Center Border Default Border Color Default Border Width Default Border Radius Default CSS Classes Default Margins and Padding Default -
Click Save
-
Browse to your newly created CMS Page
-
Confirm Quote appears centred, converted styles (to internal CSS)
- Inline Styles in PWA Studio (Requires PWA Studio)
-
Create a new Page (Content » Pages » Add New Page)
-
Click Edit with Page Builder
-
Add Heading and HTML Code content types, and configure with the following:
Content Type Label Value Heading Heading Type H2 Heading Text Inline Styles in PWA Studio Alignment Center Border Solid Border Color 00aaff
Border Width 1 Border Radius Default CSS Classes Default Margins and Padding 20 20 20 20 10 10 10 10 -
Click Save
-
Browse to your newly created CMS Page within PWA Studio
-
Confirm Heading appears centred, and contains inline styles (not internal CSS)
-
Copy database field from Migration of Existing Page Builder Content Manual Test and verify each content type in Venia
Automated MFTF Tests
- Created Tests
N/A
- Amended Tests
Note: This list doesn't include modifications to existing Data, Action Groups, or Sections.
- PageBuilderCmsBlockAddAndEditRowColumnSlideTest
- PageBuilderCmsBlockVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest
- PageBuilderCmsBlockVerifyCanEditContentTypesFromOnHoverOptionMenusTest
- PageBuilderCatalogProductAddAndEditRowColumnSlideTest
- PageBuilderCatalogProductVerifyCanDuplicateContentTypesFromOnHoverOptionMenusTest
- PageBuilderCatalogProductVerifyCanEditContentTypesFromOnClickOptionMenusTest
- PageBuilderCatalogProductVerifyCanEditContentTypesFromOnHoverOptionMenusTest
- PageBuilderWorksForEachCatalogProductAttributeTest
- AdvancedConfigurationFunctionalAlignmentTest
- AdvancedConfigurationFunctionalAllAttributesTest
- AdvancedConfigurationFunctionalBorder1Test
- AdvancedConfigurationFunctionalBorder2Test
- AdvancedConfigurationFunctionalBorderColorTest
- AdvancedConfigurationFunctionalBorderRadiusTest
- AdvancedConfigurationFunctionalBorderWidth500Test
- AdvancedConfigurationFunctionalBorderWidthTest
- AdvancedConfigurationFunctionalCSSClassesTest
- AdvancedConfigurationFunctionalMargins500Test
- AdvancedConfigurationFunctionalMarginsTest
- AdvancedConfigurationFunctionalPadding500Test
- AdvancedConfigurationFunctionalPaddingTest
- AdvancedConfigurationInvalidBorderRadiusTest
- AdvancedConfigurationInvalidBorderWidthTest
- AdvancedConfigurationInvalidMarginsTest
- AdvancedConfigurationInvalidPaddingTest
- BackgroundAttachmentFixedTest
- BackgroundAttachmentScrollTest
- BackgroundColorEmptyTest
- BackgroundColorHSLTest
- BackgroundColorHSVTest
- BackgroundColorHexTest
- BackgroundColorInvalidTest
- BackgroundColorPlainTextTest
- BackgroundColorRGBTest
- BackgroundColorRGBaTest
- BackgroundImageGIFTest
- BackgroundImageInvalidFileSizeTest
- BackgroundImageInvalidFileTypeTest
- BackgroundImageJPGTest
- BackgroundImagePNGTest
- BackgroundImageSelectFromGalleryJPGTest
- BackgroundImageSpecialCharactersTest
- BackgroundMobileImageGIFTest
- BackgroundMobileImageInvalidFileSizeTest
- BackgroundMobileImageInvalidFileTypeTest
- BackgroundMobileImageJPGTest
- BackgroundMobileImagePNGTest
- BackgroundMobileImageSelectFromGalleryJPGTest
- BackgroundMobileImageSpecialCharactersTest
- BackgroundPositionBottomCenterTest
- BackgroundPositionBottomLeftTest
- BackgroundPositionBottomRightTest
- BackgroundPositionCenterLeftTest
- BackgroundPositionCenterRightTest
- BackgroundPositionCenterTest
- BackgroundPositionTopCenterTest
- BackgroundPositionTopLeftTest
- BackgroundPositionTopRightTest
- BackgroundRepeatDisabledTest
- BackgroundRepeatEnabledTest
- BackgroundSizeAutoTest
- BackgroundSizeContainTest
- BackgroundSizeCoverTest
- BannerContentBlockDeleteImageTest
- ValidateShowHideOnBannerTest
- BlockRenderDividerThroughBlockContentTypeTest
- TextHeightConsistencyBetweenContentTypeAndBlockOnStorefrontTest
- BlockRenderColumnFullHeightAppearanceThroughBlockContentTypeTest
- BlockRenderContainedRowMinHeightThroughBlockContentTypeTest
- BlockRenderFullBleedRowMinHeightThroughBlockContentTypeTest
- BlockRenderFullWidthRowMinHeightThroughBlockContentTypeTest
- BlockRenderRowContainedAppearanceThroughBlockContentTypeTest
- BlockRenderRowContainedAppearanceWithParallaxThroughBlockContentTypeTest
- BlockRenderRowFullBleedAppearanceThroughBlockContentTypeTest
- BlockRenderRowFullBleedAppearanceWithParallaxThroughBlockContentTypeTest
- BlockRenderRowFullWidthAppearanceThroughBlockContentTypeTest
- BlockRenderRowFullWidthAppearanceWithParallaxThroughBlockContentTypeTest
- BlockRenderTabsThroughBlockContentTypeTest
- BlockRowContentIsVerticallyAlignedTest
- BlockImageIsRightAlignedTest
- BlockRenderBannerCollageCenterMinHeightThroughBlockContentTypeTest
- BlockRenderBannerCollageCenteredAppearanceThroughBlockContentTypeTest
- BlockRenderBannerCollageLeftAppearanceThroughBlockContentTypeTest
- BlockRenderBannerCollageLeftMinHeightThroughBlockContentTypeTest
- BlockRenderBannerCollageRightAppearanceThroughBlockContentTypeTest
- BlockRenderBannerCollageRightMinHeightThroughBlockContentTypeTest
- BlockRenderBannerPosterAppearanceThroughBlockContentTypeTest
- BlockRenderBannerPosterMinHeightThroughBlockContentTypeTest
- BlockRenderSlideItemCollageCenterAppearanceThroughBlockContentTypeTest
- BlockRenderSlideItemCollageLeftAppearanceThroughBlockContentTypeTest
- BlockRenderSlideItemCollageRightAppearanceThroughBlockContentTypeTest
- BlockRenderSlideItemPosterAppearanceThroughBlockContentTypeTest
- BlockRenderSliderMinHeightWithCollageCenterSlideMinHeightThroughBlockContentTypeTest
- BlockRenderSliderMinHeightWithCollageLeftSlideMinHeightThroughBlockContentTypeTest
- BlockRenderSliderMinHeightWithCollageRightSlideMinHeightThroughBlockContentTypeTest
- BlockRenderSliderMinHeightWithPosterSlideMinHeightThroughBlockContentTypeTest
- BlockRenderSliderThroughBlockContentTypeTest
- BlockDuplicateTest
- BlockUpdateAdvancedConfigurationValuesTest
- BlockValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnBlockTest
- ButtonGroupDuplicateTest
- ButtonGroupUpdateAdvancedConfigurationValuesTest
- ButtonGroupUpdateAllAttributesTest
- ButtonGroupValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnButtonsOnStackedAppearanceTest
- ValidateShowHideOnButtonsTest
- ButtonItemDuplicateTest
- ButtonItemUpdateAdvancedConfigurationValuesTest
- ButtonItemValidateAdvancedConfigurationDefaultValuesTest
- ColumnValidateBackgroundFormTest
- ColumnValidateBackgroundSectionDefaultValuesTest
- ColumnAppearanceSettingsShowOnFrontendTest
- ColumnBackgroundColorPreservedTest
- ColumnContentIsVerticallyAlignedTest
- ColumnContentIsVerticallyAlignedWithAppearanceAndDifferentMinimumHeightsTest
- ColumnFullHeightShowsOnFrontendTest
- ColumnSettingsAppearInAdminTest
- ColumnValidateDefaultAndUpdateAdvancedConfigurationDefaultValuesTest
- RemovingColumnDistributesWidthTest
- ValidateColumnChildHideShowTest
- DividerEmptyLineColorTest
- DividerEmptyLineThicknessTest
- DividerHSLALineColorTest
- DividerHSLLineColorTest
- DividerHexLineColorTest
- DividerInvalidLineColorTest
- DividerNegativeLineThicknessTest
- DividerNormalLineThicknessTest
- DividerRGBALineColorTest
- DividerRGBLineColorTest
- DividerYellowLineColorTest
- DividerZeroLineThicknessTest
- DividerAddToCMSPageTest
- DividerDuplicateTest
- DividerNoRequiredTest
- DividerUpdateAdvancedConfigurationValuesTest
- DividerValidateAdvancedConfigurationDefaultValuesTest
- DividerValidateGeneralDefaultValuesTest
- ValidateShowHideOnDividerTest
- HeadingDuplicateTest
- HeadingUpdateAdvancedConfigurationValuesTest
- HeadingValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnHeadingTest
- HtmlDuplicateTest
- HtmlUpdateAdvancedConfigurationValuesTest
- HtmlValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnHtmlTest
- ImageAddImageContentTypeToCMSPageTest
- ImageUpdateAdvancedConfigurationValuesTest
- ImageValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnImageTest
- MapAddAllAttributesTest
- MapDefaultStateTest
- MapDuplicateTest
- MapUpdateAdvancedConfigurationValuesTest
- MapValidateAdvancedConfigurationDefaultValuesTest
- MapHeightValidCharacterSetsTest
- MapShowControlsEnabledAndDisabledTest
- AdminPageBuilderProductsCarouselUpdateAdvancedConfigurationValuesTest
- ProductsValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnProductsTest
- ProductsUpdateAdvancedConfigurationValuesTest
- RowValidateBackgroundFormTest
- RowValidateBackgroundSectionDefaultValuesTest
- RowContentIsVerticallyAlignedTest
- RowContentIsVerticallyAlignedWithDifferentMinimumHeightsTest
- RowMinHeightInvalidInputsTest
- RowValidateLayoutSectionDefaultValuesTest
- RowAddAdditionalRowAboveInitialRowTest
- RowAddAdditionalRowBelowInitialRowTest
- RowDuplicateTest
- RowMinimumHeightIsObeyedWhenParallaxIsEnabledTest
- RowUpdateAdvancedConfigurationValuesTest
- RowValidateAdvancedConfigurationDefaultValuesTest
- RowValidateBorderOnAppearanceChangeTest
- RowWithParallaxEnabledStillShowsBackgroundImageAfterAddingColumnToItTest
- ValidateShowHideOnRowTest
- SlideCollageCenteredMobileWithoutMobileImageValuesTest
- SlideItemCollageCenterUpdateAdvancedConfigurationValuesTest
- SlideItemCollageCenterUpdateAllAttributesTest
- SlideItemCollageLeftUpdateAdvancedConfigurationValuesTest
- SlideItemCollageLeftUpdateAllAttributesTest
- SlideItemCollageRightUpdateAdvancedConfigurationValuesTest
- SlideItemCollageRightUpdateAllAttributesTest
- SlideItemPosterButtonNeverShowTest
- SlideItemPosterButtonOnHoverTest
- SlideItemPosterOverlayAndButtonOnHoverTest
- SlideItemPosterOverlayNeverShowTest
- SlideItemPosterOverlayOnHoverTest
- SlideItemPosterUpdateAdvancedConfigurationValuesTest
- SlideItemPosterUpdateAllAttributesTest
- SliderPosterValidatePaddingOnAppearanceChangeTest
- SlideItemBackgroundColorAlwaysDisplayedTest
- SlideItemBackgroundSectionDefaultsTest
- SlideItemContentSectionDefaultsTest
- SlideItemDeleteImageTest
- SlideItemUploadImageFromStageTest
- SlideItemValidateAdvancedConfigurationDefaultValuesTest
- SlideItemVerifyEmptySlideDefaultStateTest
- SliderAllAttributesTest
- SliderDuplicateTest
- SliderMoveSliderTest
- SliderSettingsSectionDefaultsTest
- SliderUpdateAdvancedConfigurationValuesTest
- SliderValidateAdvancedConfigurationDefaultValuesTest
- SliderValidateShowHideOnSliderTest
- TabsAdvancedSettingsApplyInAdminPreviewAndStorefrontTest
- TabsDuplicateTabWithCustomizedTabSettingsTest
- TabsMinHeightAppliesInAdminPreviewAndStorefrontTest
- TabsNavAlignCenterAppliesInAdminPreviewAndStorefrontTest
- TabsNavAlignRightAppliesInAdminPreviewAndStorefrontTest
- TabsValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnTabsTest
- ValidateTabChildHideShowTest
- TabItemValidateBackgroundFormTest
- TabItemValidateBackgroundSectionDefaultValuesTest
- AddTabsWithBackgroundColorAndMinHeightTest
- AddTabsWithBackgroundGifBottomAutoContainScrollFixedYesBackgroundRepeatAfterSaveTest
- AddTabsWithBackgroundGifCenterAutoContainFixedNoBackgroundRepeatTest
- AddTabsWithBackgroundJpgBottomCoverScrollFixedNoBackgroundRepeatTest
- AddTabsWithBackgroundJpgCenterAutoContainScrollFixedNoBackgroundRepeatTest
- AddTabsWithBackgroundJpgCenterCoverScrollFixedNoBackgroundRepeatTest
- AddTabsWithBackgroundJpgCenterCoverScrollFixedYesBackgroundRepeatTest
- AddTabsWithBackgroundJpgTopCoverScrollFixedNoBackgroundRepeatTest
- AddTabsWithBackgroundJpgTopCoverScrollFixedYesBackgroundRepeatTest
- AddTabsWithBackgroundPngBottomAutoContainScrollNoBackgroundRepeatAfterSaveTest
- AddTabsWithBackgroundPngTopAutoContainScrollFixedYesBackgroundRepeatTest
- DefaultTabItemStateOnAddingNewTabTest
- TabItemUpdateAdvancedConfigurationValuesTest
- CanAddColumnToTabTest
- CanAddDividerToTabTest
- CanAddSliderToSecondaryTabTest
- CanAddSliderToTabTest
- TabsRemoveConfiguredTabsContainerWithConfirmationTest
- TabContentIsVerticallyAlignedBottomTest
- TabContentIsVerticallyAlignedBottomWithMinimumHeightsTest
- TabContentIsVerticallyAlignedCenterTest
- TabContentIsVerticallyAlignedCenterWithMinimumHeightTest
- TabContentIsVerticallyAlignedTopTest
- TabContentIsVerticallyAlignedTopWithMinimumHeightTest
- TabItemMinHeightInvalidInputsTest
- TabItemValidateLayoutSectionDefaultValuesTest
- TextDuplicateTest
- TextHeightConsistencyBetweenStageAndStorefrontTest
- TextUpdateAdvancedConfigurationValuesTest
- TextValidateAdvancedConfigurationDefaultValuesTest
- ValidateShowHideOnTextTest
- ValidateShowHideOnVideoTest
- VideoDuplicateTest
- VideoUpdateAdvancedConfigurationValuesTest
- VideoValidateAdvancedConfigurationDefaultValuesTest
Manual Hip Tests
N/A