From e561f260bf1be6096926678db97d18d9b063c7e1 Mon Sep 17 00:00:00 2001 From: tomasz szopinski Date: Mon, 15 Nov 2021 15:07:27 +0100 Subject: [PATCH] IBX-1289 admin-ui backport cs fix additional cs-fixes --- .../BusinessContext/AdminUpdateContext.php | 21 ++++++++++++++++ src/lib/Behat/PageElement/AdminUpdateForm.php | 24 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/src/lib/Behat/BusinessContext/AdminUpdateContext.php b/src/lib/Behat/BusinessContext/AdminUpdateContext.php index d3019a04ac..f4a3dd429c 100644 --- a/src/lib/Behat/BusinessContext/AdminUpdateContext.php +++ b/src/lib/Behat/BusinessContext/AdminUpdateContext.php @@ -75,4 +75,25 @@ public function iSelectOptionsFrom(string $selectName, TableNode $options): void $this->utilityContext->additionallySelectOption($selectName, $optionsHash[$i]['option']); } } + + /** + * @Given I check :blockName block in ezlandingpage field blocks section + */ + public function iCheckBlockInField(string $blockName): void + { + $updateItemPage = PageObjectFactory::createPage($this->utilityContext, AdminUpdateItemPage::PAGE_NAME); + $updateItemPage->adminUpdateForm->expandFieldDefinition('Landing Page'); + $updateItemPage->adminUpdateForm->expandDefaultBlocksOption(); + $updateItemPage->adminUpdateForm->selectBlock($blockName); + } + + /** + * @Given I select :viewMode editor launch mode in ezlandingpage field options + */ + public function iCheckEditorLaunchModeOption(string $viewMode): void + { + $updateItemPage = PageObjectFactory::createPage($this->utilityContext, AdminUpdateItemPage::PAGE_NAME); + $updateItemPage->adminUpdateForm->expandFieldDefinition('Landing Page'); + $updateItemPage->adminUpdateForm->selectEditorLaunchMode($viewMode); + } } diff --git a/src/lib/Behat/PageElement/AdminUpdateForm.php b/src/lib/Behat/PageElement/AdminUpdateForm.php index 379d746a0d..d0c5679edc 100644 --- a/src/lib/Behat/PageElement/AdminUpdateForm.php +++ b/src/lib/Behat/PageElement/AdminUpdateForm.php @@ -36,6 +36,11 @@ public function __construct(UtilityContext $context) 'fieldDefinitionToggler' => '.ez-card__body-display-toggler', 'closeButton' => '.ez-content-edit-container__close', 'button' => 'button', + 'ezlandingpageSelectBlocksToggle' => 'div:nth-child(9) > div > .ez-page-select-items__toggler', + 'ezlandingpageSelectBlocksDefaultToggle' => 'div:nth-child(9) > div > div > div > .ez-page-select-items__toggler', + 'ezlandingpageSelectBlocksBlockContainer' => '.ez-page-select-items__item .ez-page-select-items__item-label', + 'ezlandingpageSelectBlocksBlockLabel' => '.ez-page-select-items__group-list--blocks .ez-page-select-items__item:nth-child(%s) .form-check .form-check-input', + 'ezlandingpageSelectEditorLaunchModeToggle' => '.form-check-label .ez-input--radio[value=%s]', ]; } @@ -162,4 +167,23 @@ public function getFieldDefinitionContainerLocator(string $containerName): strin return sprintf($this->fields['fieldDefinitionContainer'], $containerIndex); } + + public function expandDefaultBlocksOption(): void + { + $this->context->findElement($this->fields['ezlandingpageSelectBlocksToggle'], $this->defaultTimeout)->click(); + $this->context->findElement($this->fields['ezlandingpageSelectBlocksDefaultToggle'], $this->defaultTimeout)->click(); + } + + public function selectBlock(string $blockName): void + { + $blockIndex = $this->context->getElementPositionByText($blockName, $this->fields['ezlandingpageSelectBlocksBlockContainer']); + $elementWithBlockIndex = sprintf($this->fields['ezlandingpageSelectBlocksBlockLabel'], $blockIndex); + $this->context->findElement($elementWithBlockIndex)->click(); + } + + public function selectEditorLaunchMode(string $viewMode): void + { + $selectedEditorLaunchMode = sprintf($this->fields['ezlandingpageSelectEditorLaunchModeToggle'], $viewMode); + $this->context->findElement($selectedEditorLaunchMode)->click(); + } }