diff --git a/.php_cs.dist b/.php_cs.dist index 84a5f88bf4355..4c1c9091d54ca 100644 --- a/.php_cs.dist +++ b/.php_cs.dist @@ -10,9 +10,6 @@ $finder = PhpCsFixer\Finder::create() ->name('*.phtml') - ->exclude('dev/tests/functional/generated') - ->exclude('dev/tests/functional/var') - ->exclude('dev/tests/functional/vendor') ->exclude('dev/tests/integration/tmp') ->exclude('dev/tests/integration/var') ->exclude('lib/internal/Cm') diff --git a/app/code/Magento/Backend/Test/Mftf/Test/AdminLoginSuccessfulTest.xml b/app/code/Magento/Backend/Test/Mftf/Test/AdminLoginSuccessfulTest.xml index a8de04f4342de..7bb249e974c31 100644 --- a/app/code/Magento/Backend/Test/Mftf/Test/AdminLoginSuccessfulTest.xml +++ b/app/code/Magento/Backend/Test/Mftf/Test/AdminLoginSuccessfulTest.xml @@ -20,6 +20,7 @@ + diff --git a/app/code/Magento/Customer/Test/Mftf/Section/AdminDeleteUserSection.xml b/app/code/Magento/Customer/Test/Mftf/Section/AdminDeleteUserSection.xml index 0ba197999be6c..f43666a032956 100644 --- a/app/code/Magento/Customer/Test/Mftf/Section/AdminDeleteUserSection.xml +++ b/app/code/Magento/Customer/Test/Mftf/Section/AdminDeleteUserSection.xml @@ -11,7 +11,7 @@
- +
diff --git a/dev/tests/functional/.gitignore b/dev/tests/functional/.gitignore deleted file mode 100644 index 92e3004580b0c..0000000000000 --- a/dev/tests/functional/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -**/var -/composer.lock -/etc/config.xml -/generated -/lib/Magento/Mtf/Util/Generate/testcase.xml -/vendor -phpunit.xml -credentials.xml -.htaccess diff --git a/dev/tests/functional/bootstrap.php b/dev/tests/functional/bootstrap.php deleted file mode 100644 index 04156ca88ea70..0000000000000 --- a/dev/tests/functional/bootstrap.php +++ /dev/null @@ -1,63 +0,0 @@ - 'Error', - E_WARNING => 'Warning', - E_PARSE => 'Parse', - E_NOTICE => 'Notice', - E_CORE_ERROR => 'Core Error', - E_CORE_WARNING => 'Core Warning', - E_COMPILE_ERROR => 'Compile Error', - E_COMPILE_WARNING => 'Compile Warning', - E_USER_ERROR => 'User Error', - E_USER_WARNING => 'User Warning', - E_USER_NOTICE => 'User Notice', - E_STRICT => 'Strict', - E_RECOVERABLE_ERROR => 'Recoverable Error', - E_DEPRECATED => 'Deprecated', - E_USER_DEPRECATED => 'User Deprecated', - ]; - - $errName = isset($errorNames[$errNo]) ? $errorNames[$errNo] : ""; - - throw new \PHPUnit\Framework\Exception( - sprintf("%s: %s in %s:%s.", $errName, $errStr, $errFile, $errLine), - $errNo - ); - } - } - ); -} diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json deleted file mode 100644 index c3ac9079c8e40..0000000000000 --- a/dev/tests/functional/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "config": { - "sort-packages": true - }, - "require": { - "php": "~7.3.0||~7.4.0", - "magento/mtf": "1.0.0-rc64", - "allure-framework/allure-phpunit": "~1.2.0", - "doctrine/annotations": "1.4.*", - "phpunit/phpunit": "~6.5.0", - "phpunit/phpunit-selenium": "~4.1.0" - }, - "suggest": { - "netwing/selenium-server-standalone": "dev-master", - "facebook/webdriver": "dev-master" - }, - "autoload": { - "psr-4": { - "Magento\\": [ - "lib/Magento/", - "testsuites/Magento", - "generated/Magento/", - "tests/app/Magento/" - ], - "Test\\": "generated/Test/" - } - } -} diff --git a/dev/tests/functional/credentials.xml.dist b/dev/tests/functional/credentials.xml.dist deleted file mode 100644 index 99c62395f1f88..0000000000000 --- a/dev/tests/functional/credentials.xml.dist +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/etc/config.xml.dist b/dev/tests/functional/etc/config.xml.dist deleted file mode 100644 index a995fc1b3c355..0000000000000 --- a/dev/tests/functional/etc/config.xml.dist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - testCase - admin - 123123q - http://magento2ce.com/admin/ - admin/auth/login - - - dev/tests/functional/isolation.php - none - none - none - - - 127.0.0.1 - root - 123123q - default - http://magento2ce.com/ - backend - - - - - - - - - integration_token - - - - - diff --git a/dev/tests/functional/etc/config.xsd b/dev/tests/functional/etc/config.xsd deleted file mode 100644 index dd245295c7a44..0000000000000 --- a/dev/tests/functional/etc/config.xsd +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/etc/di.xml b/dev/tests/functional/etc/di.xml deleted file mode 100644 index 8e2953ab1cee4..0000000000000 --- a/dev/tests/functional/etc/di.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - etc/config.xsd - - - - - - - - - Magento\Mtf\Troubleshooting\StorefrontAnalyzer - Magento\Mtf\Troubleshooting\PhpUnitAnalyzer - Magento\Mtf\Troubleshooting\AdminAnalyzer - Magento\Mtf\Troubleshooting\Configuration - Magento\Mtf\Troubleshooting\SeleniumSessionAnalyzer - Magento\Mtf\Troubleshooting\StaticClassesGenerator - Magento\Mtf\Troubleshooting\ConfigAnalyzer - Magento\Mtf\Troubleshooting\HtaccessAnalyzer - Magento\Mtf\Troubleshooting\GlobalAnalyzer - - - - - - - - Magento\Mtf\Troubleshooting\PhpUnitAnalyzer - Magento\Mtf\Troubleshooting\StorefrontAnalyzer - Magento\Mtf\Troubleshooting\ConfigAnalyzer - Magento\Mtf\Troubleshooting\AdminAnalyzer - Magento\Mtf\Troubleshooting\Configuration - Magento\Mtf\Troubleshooting\HtaccessAnalyzer - Magento\Mtf\Troubleshooting\StaticClassesGenerator - Magento\Mtf\Troubleshooting\SeleniumSessionAnalyzer - - - - - - - Magento\Mtf\Util\Troubleshooting\GlobalConfig - Magento\Mtf\Util\Troubleshooting\GlobalConfigDist - - - - - - Magento\Mtf\Config\FileResolver\Primary - Magento\Mtf\Config\Converter - Magento\Mtf\Config\SchemaLocator\Config - - scope - name - - config.xml - etc - - - - - - Magento\Mtf\Util\Troubleshooting\Config - - - - - - Magento\Mtf\Config\FileResolver\ScopeConfig - Magento\Mtf\Config\Converter - Magento\Mtf\Config\SchemaLocator\Config - - scope - name - - config.xml.dist - etc - - - - - - Magento\Mtf\Util\Troubleshooting\ConfigDist - - - - - - \w*?\.csv - - - - - - catalog_product.*?\.csv - - - - - - customer.*?\.csv - - - diff --git a/dev/tests/functional/etc/events.xml b/dev/tests/functional/etc/events.xml deleted file mode 100644 index 677a4c76ba88a..0000000000000 --- a/dev/tests/functional/etc/events.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/etc/events.xsd b/dev/tests/functional/etc/events.xsd deleted file mode 100644 index 79f215648e7e3..0000000000000 --- a/dev/tests/functional/etc/events.xsd +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - Observer class must be unique. - - - - - - - - - - - - Preset name must be unique. - - - - - - - - - - - - - - Tag name must be unique. - - - - - - - - - - - - - - - - Observer node with all attached tags for events inside - - - - - - - - - - - - Tag with name to look for - - - - - - diff --git a/dev/tests/functional/etc/repository_replacer.xml b/dev/tests/functional/etc/repository_replacer.xml deleted file mode 100644 index ca0b90dd158db..0000000000000 --- a/dev/tests/functional/etc/repository_replacer.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - 4 - - - - - - 113 - - - - 172 - - - - - - 1 - 2 - - - - 1 - - - - - - 1 - - - - 3 - - - - 2 - - - - 0 - - - - 0 - - - - 32000 - - - - - - 1 - - - - 1 - - - - 0 - - - - - - 1 - - - - - - 1 - - - - 0 - - - - 1 - - - - - - 2 - 2 - - - - 3 - 3 - - - - 0 - - - - - - 1 - 12 - - - - 23 - - - - 2 - 43 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - diff --git a/dev/tests/functional/isolation.php b/dev/tests/functional/isolation.php deleted file mode 100644 index 0ae43e5ff9c39..0000000000000 --- a/dev/tests/functional/isolation.php +++ /dev/null @@ -1,10 +0,0 @@ -objectManager = $objectManager; - $this->arguments = $arguments; - } - - /** - * @inheritdoc - */ - public function apply() - { - foreach ($this->arguments as $argument) { - $handler = $this->objectManager->get($argument); - $handler->execute($this); - } - if ($this->isCleanInstance) { - $this->clearInstance(); - } - } - - /** - * @inheritdoc - */ - public function clearInstance() - { - // - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/App/State/State1.php b/dev/tests/functional/lib/Magento/Mtf/App/State/State1.php deleted file mode 100644 index fc54e73ff1ac2..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/App/State/State1.php +++ /dev/null @@ -1,87 +0,0 @@ -objectManager = $objectManager; - $this->curlTransport = $curlTransport; - } - - /** - * Apply set up configuration profile. - * - * @return void - * @throws \Exception - */ - public function apply() - { - parent::apply(); - $this->curlTransport->write($_ENV['app_frontend_url'], [], CurlInterface::GET); - $response = $this->curlTransport->read(); - if (strpos($response, 'Home Page') !== false) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->config] - )->run(); - } - - /** @var Cli $cli */ - $cli = $this->objectManager->create(Cli::class); - $cli->execute('setup:config:set', ['--enable-debug-logging=true']); - } - - /** - * Get name of the Application State Profile. - * - * @return string - */ - public function getName() - { - return 'Configuration Profile #1'; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/App/State/StateHandlerInterface.php b/dev/tests/functional/lib/Magento/Mtf/App/State/StateHandlerInterface.php deleted file mode 100644 index 898489671e5f1..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/App/State/StateHandlerInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - '{', - '\}' => '}', - '\[' => '&lbracket;', - '\]' => '&rbracket;', - '\:' => ':', - ]; - - /** - * Map decode special chars. - * - * @var array - */ - protected $decodeChars = [ - '{' => '{', - '}' => '}', - '&lbracket;' => '[', - '&rbracket;' => ']', - ':' => ':', - ]; - - /** - * Latest occurred exception. - * - * @var \Exception - */ - protected $exception; - - /** - * Condition option text selector. - * - * @var string - */ - private $conditionOptionTextSelector = '//option[normalize-space(text())="%s"]'; - - /** - * @inheritdoc - */ - public function setValue($value) - { - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $this->clear(); - $conditions = $this->decodeValue($value); - $context = $this->find($this->mainCondition, Locator::SELECTOR_XPATH); - if (!empty($conditions[0]['TopLevelCondition'])) { - array_unshift($this->mapParams, 'aggregator'); - $condition = $this->parseTopLevelCondition($conditions[0]['TopLevelCondition']); - $this->fillCondition($condition['rules'], $context); - unset($conditions[0]); - array_shift($this->mapParams); - } - $this->addMultipleCondition($conditions, $context); - } - - /** - * Add conditions combination. - * - * @param string $condition - * @param ElementInterface $context - * @return ElementInterface - */ - protected function addConditionsCombination($condition, ElementInterface $context) - { - $condition = $this->parseCondition($condition); - $this->addCondition($condition['type'], $context); - $createdCondition = $context->find($this->created, Locator::SELECTOR_XPATH); - $this->waitForCondition($createdCondition); - if (!empty($condition['rules'])) { - $this->fillCondition($condition['rules'], $createdCondition); - } - return $createdCondition; - } - - /** - * Add conditions. - * - * @param array $conditions - * @param ElementInterface $context - * @return void - */ - protected function addMultipleCondition(array $conditions, ElementInterface $context) - { - foreach ($conditions as $key => $condition) { - $elementContext = is_numeric($key) ? $context : $this->addConditionsCombination($key, $context); - if (is_string($condition)) { - $this->addSingleCondition($condition, $elementContext); - } else { - $this->addMultipleCondition($condition, $elementContext); - } - } - } - - /** - * Add single Condition. - * - * @param string $condition - * @param ElementInterface $context - * @return void - */ - protected function addSingleCondition($condition, ElementInterface $context) - { - $condition = $this->parseCondition($condition); - $this->addCondition($condition['type'], $context); - $createdCondition = $context->find($this->created, Locator::SELECTOR_XPATH); - $this->waitForCondition($createdCondition); - $this->fillCondition($condition['rules'], $createdCondition, $condition['type']); - } - - /** - * Click to add condition button and set type. - * - * @param string $type - * @param ElementInterface $context - * @return void - * @throws \Exception - */ - protected function addCondition($type, ElementInterface $context) - { - $newCondition = $context->find($this->newCondition, Locator::SELECTOR_XPATH); - $count = 0; - - do { - try { - $specificType = $newCondition->find( - sprintf($this->conditionOptionTextSelector, $type), - Locator::SELECTOR_XPATH - )->isPresent(); - $newCondition->find($this->addNew, Locator::SELECTOR_XPATH)->click(); - $condition = $specificType - ? $newCondition->find($this->typeNew, Locator::SELECTOR_XPATH, 'selectcondition') - : $newCondition->find($this->typeNew, Locator::SELECTOR_XPATH, 'select'); - $condition->setValue($type); - $isSetType = true; - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - $isSetType = false; - $this->exception = $e; - $this->eventManager->dispatchEvent(['exception'], [__METHOD__, $this->getAbsoluteSelector()]); - } - $count++; - } while (!$isSetType && $count < self::TRY_COUNT); - - if (!$isSetType) { - $exception = $this->exception ? $this->exception : (new \Exception("Can not add condition: {$type}")); - throw $exception; - } - } - - /** - * Fill single condition. - * - * @param array $rules - * @param ElementInterface $element - * @param string|null $type - * @return void - * @throws \Exception - * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - protected function fillCondition(array $rules, ElementInterface $element, $type = null) - { - $this->resetKeyParam(); - foreach ($rules as $rule) { - /** @var ElementInterface $param */ - $param = $this->findNextParam($element); - $isSet = false; - $count = 0; - - do { - try { - $openParamLink = $param->find('a'); - if ($openParamLink->isVisible()) { - $openParamLink->click(); - } - $this->waitUntil(function () use ($param) { - return $param->find($this->ruleParamInput)->isVisible() ? true : null; - }); - - if ($this->fillGrid($rule, $param)) { - $isSet = true; - } elseif ($this->fillSelect($rule, $param, $type)) { - $isSet = true; - } elseif ($this->fillText($rule, $param)) { - $isSet = true; - } - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - $isSet = false; - $this->exception = $e; - $this->eventManager->dispatchEvent(['exception'], [__METHOD__, $this->getAbsoluteSelector()]); - } - $count++; - } while (!$isSet && $count < self::TRY_COUNT); - - if (!$isSet) { - $exception = $this->exception ? $this->exception : (new \Exception('Can not set value: ' . $rule)); - throw $exception; - } - } - } - - /** - * Fill grid element. - * - * @param string $rule - * @param ElementInterface $param - * @return bool - */ - protected function fillGrid($rule, ElementInterface $param) - { - if (preg_match('`%(.*?)%`', $rule, $chooserGrid)) { - $chooserConfig = explode('#', $chooserGrid[1]); - $rule = preg_replace('`%(.*?)%`', '', $rule); - - $param->find($this->chooserLocator)->click(); - $grid = ObjectManager::getInstance()->create( - str_replace('/', '\\', $chooserConfig[0]), - [ - 'element' => $this->find($this->chooserGridLocator) - ] - ); - $grid->searchAndSelect([$chooserConfig[1] => $rule]); - - $apply = $param->find($this->applyRuleParam, Locator::SELECTOR_XPATH); - if ($apply->isVisible()) { - $apply->click(); - } - - return true; - } - return false; - } - - /** - * Fill select element. - * - * @param string $rule - * @param ElementInterface $param - * @param string|null $type - * @return bool - */ - protected function fillSelect($rule, ElementInterface $param, $type = null) - { - //Avoid confusion between regions like: "Baja California" and "California". - $value = strpos($type, 'State/Province') === false - ? $param->find('select', Locator::SELECTOR_TAG_NAME, 'select') - : $param->find('select', Locator::SELECTOR_TAG_NAME, 'selectstate'); - if ($value->isVisible()) { - $value->setValue($rule); - $this->click(); - - return true; - } - return false; - } - - /** - * Fill text element. - * - * @param string $rule - * @param ElementInterface $param - * @return bool - */ - protected function fillText($rule, ElementInterface $param) - { - $value = $param->find('input', Locator::SELECTOR_TAG_NAME); - if ($value->isVisible()) { - if (!$value->getAttribute('readonly')) { - $value->setValue($rule); - } else { - $datepicker = $param->find( - $this->datepicker, - Locator::SELECTOR_XPATH, - DatepickerElement::class - ); - $datepicker->setValue($rule); - } - - $apply = $param->find('.//*[@class="rule-param-apply"]', Locator::SELECTOR_XPATH); - if ($apply->isVisible()) { - $apply->click(); - } - - return true; - } - return false; - } - - /** - * Decode value. - * - * @param string $value - * @return array - * @throws \Exception - */ - protected function decodeValue($value) - { - $value = str_replace(array_keys($this->encodeChars), $this->encodeChars, $value); - $value = preg_replace('/(\]|})({|\[)/', '$1,$2', $value); - $value = preg_replace('/{([^:]+):/', '{"$1":', $value); - $value = preg_replace('/\[([^\[{])/', '"$1', $value); - $value = preg_replace('/([^\]}])\]/', '$1"', $value); - $value = str_replace(array_keys($this->decodeChars), $this->decodeChars, $value); - $value = "[{$value}]"; - $value = json_decode($value, true); - if (null === $value) { - throw new \Exception('Bad format value.'); - } - return $value; - } - - /** - * Parse condition. - * - * @param string $condition - * @return array - * @throws \Exception - */ - protected function parseCondition($condition) - { - if (!preg_match_all('/([^|]+\|?)/', $condition, $match)) { - throw new \Exception('Bad format condition'); - } - foreach ($match[1] as $key => $value) { - $match[1][$key] = rtrim($value, '|'); - } - - return [ - 'type' => array_shift($match[1]), - 'rules' => array_values($match[1]), - ]; - } - - /** - * Parse top level condition. - * - * @param string $condition - * @return array - * @throws \Exception - */ - protected function parseTopLevelCondition($condition) - { - if (preg_match_all('/([^|]+)\|?/', $condition, $match) === false) { - throw new \Exception('Bad format condition'); - } - - return [ - 'rules' => $match[1], - ]; - } - - /** - * Find next param of condition for fill. - * - * @param ElementInterface $context - * @return ElementInterface - * @throws \Exception - */ - protected function findNextParam(ElementInterface $context) - { - do { - if (!isset($this->mapParams[$this->findKeyParam])) { - throw new \Exception("Empty map of params"); - } - $param = $this->mapParams[$this->findKeyParam]; - $element = $context->find(sprintf($this->param, strlen($param), $param), Locator::SELECTOR_XPATH); - $this->findKeyParam += 1; - } while (!$element->isVisible()); - - return $element; - } - - /** - * Reset key of last find param. - * - * @return void - */ - protected function resetKeyParam() - { - $this->findKeyParam = 0; - } - - /** - * Param wait loader. - * - * @param ElementInterface $element - * @return void - */ - protected function waitForCondition(ElementInterface $element) - { - $this->waitUntil( - function () use ($element) { - return $element->getAttribute('class') == 'rule-param-wait' ? null : true; - } - ); - } - - /** - * Clear conditions. - * - * @return void - */ - protected function clear() - { - $remote = $this->find($this->remove, Locator::SELECTOR_XPATH); - while ($remote->isVisible()) { - $remote->click(); - $remote = $this->find($this->remove, Locator::SELECTOR_XPATH); - } - } - - /** - * Get value from conditions. - * - * @return null - */ - public function getValue() - { - return null; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/DatepickerElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/DatepickerElement.php deleted file mode 100644 index eb277c2cc43dd..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/DatepickerElement.php +++ /dev/null @@ -1,102 +0,0 @@ -parseDate($value); - $date[1] = ltrim($date[1], '0'); - $this->click(); - $datapicker = $this->find($this->datePickerBlock, Locator::SELECTOR_XPATH); - $datepickerClose = $datapicker->find($this->datePickerButtonClose, Locator::SELECTOR_XPATH); - if (!$datepickerClose->isVisible()) { - $this->find($this->datePickerButton, Locator::SELECTOR_XPATH)->click(); - } - $datapicker->find($this->datePickerYear, Locator::SELECTOR_XPATH, 'select')->setValue($date[2]); - $datapicker->find($this->datePickerMonth, Locator::SELECTOR_XPATH, 'select')->setValue($date[0]); - $datapicker->find(sprintf($this->datePickerCalendar, $date[1]), Locator::SELECTOR_XPATH)->click(); - if ($datapicker->isVisible()) { - $datepickerClose->click(); - } - } - - /** - * Parse date from string to array. - * - * @param string $value - * @return array - */ - protected function parseDate($value) - { - $formatDate = '%b %d, %Y %I:%M %p'; - if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { - $formatDate = str_replace('%d', '%#d', $formatDate); - } - - $date = strtotime($value); - $date = strftime($formatDate, $date); - $date = preg_split('/[,\s]/', $date); - array_splice($date, 2, 1); - - return $date; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/DropdownmultiselectElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/DropdownmultiselectElement.php deleted file mode 100644 index 69a6dd804fd76..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/DropdownmultiselectElement.php +++ /dev/null @@ -1,90 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $this->find($this->toggle)->click(); - $this->deselectAll(); - $values = is_array($values) ? $values : [$values]; - foreach ($values as $value) { - $this->find( - sprintf($this->optionByValue, $this->escapeQuotes($value)), - Locator::SELECTOR_XPATH - )->click(); - } - $this->find($this->toggle)->click(); - } - - /** - * Get values. - * - * @return array - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $values = []; - $this->find($this->toggle)->click(); - $options = $this->getElements($this->selectedValue); - foreach ($options as $option) { - $values[] = $option->getText(); - } - $this->find($this->toggle)->click(); - - return $values; - } - - /** - * Deselect all options in the element. - * - * @return void - */ - public function deselectAll() - { - $options = $this->getElements($this->selectedValue); - /** @var SimpleElement $option */ - foreach ($options as $option) { - $option->click(); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/GlobalsearchElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/GlobalsearchElement.php deleted file mode 100644 index 970e8358eaad1..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/GlobalsearchElement.php +++ /dev/null @@ -1,153 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $this->waitInitElement(); - if (!$this->find($this->searchInput)->isVisible()) { - $this->find($this->searchIcon)->click(); - } - $this->find($this->searchInput)->keys(str_split($value)); - $this->waitResult(); - } - - /** - * Wait init search suggest container. - * - * @return void - * @throws \Exception - */ - protected function waitInitElement() - { - $selector = $this->initializedSuggest; - - $browser = $this->driver; - $this->driver->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - } - - /** - * Wait for search result is visible. - * - * @return void - */ - public function waitResult() - { - $selector = $this->searchResult; - $browser = $this->driver; - - $this->driver->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector)->isVisible() ? true : null; - } - ); - } - - /** - * Get value. - * - * @throws \BadMethodCallException - */ - public function getValue() - { - throw new \BadMethodCallException('Not applicable for this class of elements (GlobalSearch)'); - } - - /** - * Checking exist value in search result. - * - * @param string $value - * @return bool - */ - public function isExistValueInSearchResult($value) - { - $searchResult = $this->find($this->searchResult); - if (!$searchResult->isVisible()) { - return false; - } - $searchResults = $this->getSearchResults(); - return in_array($value, $searchResults); - } - - /** - * Get search results. - * - * @return array - */ - protected function getSearchResults() - { - /** @var ElementInterface $searchResult */ - $searchResult = $this->find($this->searchResult); - $resultItems = $searchResult->getElements($this->resultItem); - $resultArray = []; - - /** @var ElementInterface $resultItem */ - foreach ($resultItems as $resultItem) { - $resultItemLink = $resultItem->find('a'); - $resultText = $resultItemLink->isVisible() - ? trim($resultItemLink->getText()) - : trim($resultItem->getText()); - $resultArray[] = $resultText; - } - - return $resultArray; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/JquerytreeElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/JquerytreeElement.php deleted file mode 100644 index a015d0e926044..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/JquerytreeElement.php +++ /dev/null @@ -1,144 +0,0 @@ -find(sprintf($this->openNode, $element), Locator::SELECTOR_XPATH); - if ($element->isVisible()) { - return; - } - $plusButton = $this->find(sprintf($this->closedNode, $element) . $this->input, Locator::SELECTOR_XPATH); - if ($plusButton->isVisible()) { - $plusButton->click(); - $this->waitLoadChildren($element); - } - } - - /** - * Get element label. - * - * @param ElementInterface $element - * @return string - */ - protected function getElementLabel(ElementInterface $element) - { - return trim($element->getText()); - } - - /** - * Get structure. - * - * @param int|null $level - * @return array - */ - public function getStructure($level = null) - { - $nodesSelector = $this->getNodesSelector($level); - $nodes = $this->getElements($nodesSelector, Locator::SELECTOR_XPATH); - - return $this->prepareValues($nodes); - } - - /** - * Get nodes selector. - * - * @param int|null $level - * @return string - */ - protected function getNodesSelector($level) - { - $selector = $this->rootElement; - if ($level !== null) { - for ($i = 1; $i < $level; $i++) { - $selector .= $this->level; - } - $selector .= $this->selectedLabelsByLevel; - } else { - $selector .= $this->selectedLabels; - } - - return $selector; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/LiselectstoreElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/LiselectstoreElement.php deleted file mode 100644 index bc3ae83643d3e..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/LiselectstoreElement.php +++ /dev/null @@ -1,181 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $this->context->find($this->toggleSelector)->click(); - - $value = explode('/', $value); - $optionSelector = []; - foreach ($value as $key => $option) { - $optionSelector[] = sprintf($this->optionMaskElement, $value[$key]); - } - $optionSelector = './/' . implode($this->optionMaskFollowing, $optionSelector) . '/a'; - - $option = $this->context->find($optionSelector, Locator::SELECTOR_XPATH); - if (!$option->isVisible()) { - // phpcs:ignore Magento2.Exceptions.DirectThrow - throw new \Exception('[' . implode('/', $value) . '] option is not visible in store switcher.'); - } - $option->click(); - } - - /** - * Get all li elements from dropdown - * - * @return array - */ - protected function getLiElements() - { - $this->find($this->toggleSelector)->click(); - $elements = $this->driver->getElements($this, 'li', Locator::SELECTOR_TAG_NAME); - $dropdownData = []; - foreach ($elements as $element) { - $class = $element->getAttribute('class'); - $dropdownData[] = [ - 'element' => $element, - 'storeView' => $this->isSubstring($class, "store-switcher-store-view"), - 'store' => $this->isSubstring($class, "store-switcher-store "), - 'website' => $this->isSubstring($class, "store-switcher-website"), - 'current' => $this->isSubstring($class, "current"), - 'default_config' => $this->isSubstring($class, "store-switcher-all"), - ]; - } - return $dropdownData; - } - - /** - * Get all available store views - * - * @return array - */ - public function getValues() - { - $dropdownData = $this->getLiElements(); - $data = []; - foreach ($dropdownData as $key => $dropdownElement) { - if ($dropdownElement['storeView']) { - $data[] = $this->findNearestElement('website', $key, $dropdownData) . "/" - . $this->findNearestElement('store', $key, $dropdownData) . "/" - . $dropdownElement['element']->getText(); - } - } - return $data; - } - - /** - * Check if string contains substring - * - * @param string $haystack - * @param string $pattern - * @return bool - */ - protected function isSubstring($haystack, $pattern) - { - return preg_match("/$pattern/", $haystack) != 0; - } - - /** - * Return nearest elements name according to criteria - * - * @param string $criteria - * @param string $key - * @param array $elements - * @return bool - */ - protected function findNearestElement($criteria, $key, array $elements) - { - $elementText = false; - while ($elementText == false) { - $elementText = $elements[$key][$criteria] == true ? $elements[$key]['element']->getText() : false; - $key--; - } - return $elementText; - } - - /** - * Get selected store value - * - * @return string - * @throws \Exception - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [$this->getAbsoluteSelector()]); - $elements = $this->getLiElements(); - foreach ($elements as $key => $element) { - if ($element['current'] == true) { - if ($element['default_config'] == true) { - return $element['element']->getText(); - } - $path = $this->findNearestElement('website', $key, $elements) . "/" - . $this->findNearestElement('store', $key, $elements) . "/" - . $element['element']->getText(); - return $path; - } - } - - return ''; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectgrouplistElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectgrouplistElement.php deleted file mode 100644 index 0a12b7078c194..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectgrouplistElement.php +++ /dev/null @@ -1,340 +0,0 @@ -deselectAll(); - $values = is_array($values) ? $values : [$values]; - foreach ($values as $value) { - $this->selectOption($value); - } - } - - /** - * Select option - * - * @param string $option - * @return void - * @throws \Exception - */ - protected function selectOption($option) - { - $optionElement = $this->find(sprintf($this->uiOptionText, $option), Locator::SELECTOR_XPATH); - if ($optionElement->isVisible()) { - if (!$optionElement->isSelected()) { - $optionElement->click(); - } - return; - } - - $isOptgroup = false; - $optgroupIndent = ''; - $values = explode('/', $option); - $context = $this; - - foreach ($values as $value) { - $optionIndent = $isOptgroup ? $this->indent : ''; - $optionElement = $context->find(sprintf($this->option, $optionIndent . $value), Locator::SELECTOR_XPATH); - if ($optionElement->isVisible()) { - if (!$optionElement->isSelected()) { - $optionElement->click(); - } - return; - } - - $value = $optgroupIndent . $value; - $optgroupIndent .= $this->indent; - if ($isOptgroup) { - $context = $this->getChildOptgroup($value, $context); - } else { - $context = $this->getOptgroup($value, $context); - $isOptgroup = true; - } - } - throw new \Exception("Can't find option \"{$option}\"."); - } - - /** - * Get optgroup - * - * @param string $value - * @param ElementInterface $context - * @return ElementInterface - * @throws \Exception - */ - protected function getOptgroup($value, ElementInterface $context) - { - $optgroup = $context->find(sprintf($this->optgroupByLabel, $value), Locator::SELECTOR_XPATH); - if (!$optgroup->isVisible()) { - throw new \Exception("Can't find group \"{$value}\"."); - } - - return $optgroup; - } - - /** - * Get child optgroup - * - * @param string $value - * @param ElementInterface $context - * @return ElementInterface - * @throws \Exception - */ - protected function getChildOptgroup($value, ElementInterface $context) - { - $childOptgroup = null; - $count = 1; - while (!$childOptgroup) { - $optgroup = $context->find(sprintf($this->nextOptgroup, $count), Locator::SELECTOR_XPATH); - if (!$optgroup->isVisible()) { - throw new \Exception("Can't find child group \"{$value}\""); - } - - $childOptgroup = $context->find( - sprintf($this->childOptgroup, $count, $value), - Locator::SELECTOR_XPATH - ); - if (!$childOptgroup->isVisible()) { - $childOptgroup = null; - } - ++$count; - } - - return $childOptgroup; - } - - /** - * Get value - * - * @return array - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function getValue() - { - $values = []; - $indentOption = str_repeat(' ', self::INDENT_LENGTH); - - foreach ($this->getSelectedOptions() as $option) { - $value = []; - - /** @var ElementInterface $option */ - $optionText = $option->getText(); - $optionValue = trim($optionText, $this->trim); - $value[] = $optionValue; - if (0 !== strpos($optionText, $indentOption)) { - $values[] = implode('/', $value); - continue; - } - - $pathOptgroup = sprintf($this->parentOptgroup, $this->indent . $optionValue); - $optgroup = $this->find($pathOptgroup, Locator::SELECTOR_XPATH); - $optgroupText = $optgroup->getAttribute('label'); - $optgroupValue = trim($optgroupText, $this->trim); - $amountIndent = strlen($optgroupText) - strlen($optgroupValue); - $amountIndent = $amountIndent ? ($amountIndent / strlen($this->indent)) : 0; - $value[] = $optgroupValue; - if (0 == $amountIndent) { - $values[] = implode('/', $value); - continue; - } - - --$amountIndent; - $indent = $amountIndent ? str_repeat($this->indent, $amountIndent) : ''; - $pathOptgroup .= sprintf($this->precedingOptgroup, $amountIndent * self::INDENT_LENGTH, $indent); - while (0 <= $amountIndent && $this->find($pathOptgroup, Locator::SELECTOR_XPATH)->isVisible()) { - $optgroup = $this->find($pathOptgroup, Locator::SELECTOR_XPATH); - $optgroupText = $optgroup->getAttribute('label'); - $optgroupValue = trim($optgroupText, $this->trim); - $value[] = $optgroupValue; - - --$amountIndent; - $indent = (0 < $amountIndent) ? str_repeat($this->indent, $amountIndent) : ''; - $pathOptgroup .= sprintf($this->precedingOptgroup, $amountIndent * self::INDENT_LENGTH, $indent); - } - - $values[] = implode('/', array_reverse($value)); - } - - return $values; - } - - /** - * Get options - * - * @return ElementInterface[] - */ - protected function getOptions() - { - $options = []; - - $countOption = 1; - $option = $this->find(sprintf($this->optionByNumber, $countOption), Locator::SELECTOR_XPATH); - while ($option->isVisible()) { - $options[] = $option; - ++$countOption; - $option = $this->find(sprintf($this->optionByNumber, $countOption), Locator::SELECTOR_XPATH); - } - - $countOptgroup = 1; - $optgroup = $this->find(sprintf($this->optgroupByNumber, $countOptgroup), Locator::SELECTOR_XPATH); - while ($optgroup->isVisible()) { - $countOption = 1; - $option = $this->find( - sprintf($this->childOptionByNumber, $countOptgroup, $countOption), - Locator::SELECTOR_XPATH - ); - while ($option->isVisible()) { - $options[] = $option; - ++$countOption; - $option = $this->find( - sprintf($this->childOptionByNumber, $countOptgroup, $countOption), - Locator::SELECTOR_XPATH - ); - } - - ++$countOptgroup; - $optgroup = $this->find(sprintf($this->optgroupByNumber, $countOptgroup), Locator::SELECTOR_XPATH); - } - - return $options; - } - - /** - * Get selected options - * - * @return array - */ - protected function getSelectedOptions() - { - $options = []; - foreach ($this->getOptions() as $option) { - if ($option->isSelected()) { - $options[] = $option; - } - } - - return $options; - } - - /** - * {@inheritdoc} - */ - public function deselectAll() - { - $options = $this->getSelectedOptions(); - - /** @var SimpleElement $option */ - foreach ($options as $option) { - $option->click(); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectlistElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectlistElement.php deleted file mode 100644 index 6c0dd1aa4c91f..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultiselectlistElement.php +++ /dev/null @@ -1,129 +0,0 @@ -getOptions(); - $values = is_array($values) ? $values : [$values]; - - foreach ($options as $option) { - /** @var \Magento\Mtf\Client\ElementInterface $option */ - $optionText = $option->getText(); - $isChecked = $option->find($this->optionCheckedElement, Locator::SELECTOR_XPATH)->isVisible(); - $inArray = in_array($optionText, $values); - if (($isChecked && !$inArray) || (!$isChecked && $inArray)) { - $option->click(); - } - } - } - - /** - * Method that returns array with checked options in multiple select list - * - * @return array|string - */ - public function getValue() - { - $checkedOptions = []; - $options = $this->getOptions(); - - foreach ($options as $option) { - /** @var \Magento\Mtf\Client\ElementInterface $option */ - $checkedOption = $option->find($this->optionCheckedElement, Locator::SELECTOR_XPATH); - if ($checkedOption->isVisible()) { - $checkedOptions[] = $checkedOption->getText(); - } - } - - return $checkedOptions; - } - - /** - * Getting all options in multi select list - * - * @return array - */ - protected function getOptions() - { - $options = []; - $counter = 1; - - $newOption = $this->find(sprintf($this->optionElement, $counter), Locator::SELECTOR_XPATH); - while ($newOption->isVisible()) { - $options[] = $newOption; - $counter++; - $newOption = $this->find(sprintf($this->optionElement, $counter), Locator::SELECTOR_XPATH); - } - - return $options; - } - - /** - * Method that returns array with all options in multiple select list - * - * @return array - */ - public function getAllValues() - { - $optionsValue = []; - $options = $this->getOptions(); - - foreach ($options as $option) { - /** @var \Magento\Mtf\Client\ElementInterface $option */ - $optionsValue[] = $option->getText(); - } - - return $optionsValue; - } - - /** - * Check whether value is visible in the list. - * - * @param string $value - * @return bool - */ - public function isValueVisible($value) - { - $option = $this->find(sprintf($this->optionByValue, $this->escapeQuotes($value)), Locator::SELECTOR_XPATH); - return $option->isVisible(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultisuggestElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultisuggestElement.php deleted file mode 100644 index f9e07a8d50902..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/MultisuggestElement.php +++ /dev/null @@ -1,106 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - $this->clear(); - foreach ((array)$values as $value) { - if (!$this->isChoice($value)) { - parent::setValue($value); - } - } - } - - /** - * Get value - * - * @return array - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [(string) $this->getAbsoluteSelector()]); - - $categoryChoice = $this->find($this->categoryChoice, Locator::SELECTOR_XPATH); - $choices = $categoryChoice->getElements($this->choiceValue, Locator::SELECTOR_XPATH); - $values = []; - - foreach ($choices as $choice) { - /** @var \Magento\Mtf\Client\ElementInterface $choice */ - $values[] = $choice->getText(); - } - return $values; - } - - /** - * Check exist selected item - * - * @param string $value - * @return bool - */ - protected function isChoice($value) - { - return $this->find(sprintf($this->choice, $value), Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Clear element - * - * @return void - */ - protected function clear() - { - $choiceClose = $this->find($this->choiceClose); - while ($choiceClose->isVisible()) { - $choiceClose->click(); - $choiceClose = $this->find($this->choiceClose); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/OptgroupselectElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/OptgroupselectElement.php deleted file mode 100644 index c7930ffb91181..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/OptgroupselectElement.php +++ /dev/null @@ -1,90 +0,0 @@ -eventManager->dispatchEvent(['get_value'], [(string)$this->getAbsoluteSelector()]); - - $selectedLabel = parent::getValue(); - if ($selectedLabel == '') { - throw new \Exception('Selected value has not been found in optgroup select.'); - } - - $element = $this->find(sprintf($this->optGroup, $selectedLabel), Locator::SELECTOR_XPATH); - $value = $this->getData($element); - $value .= '/' . $selectedLabel; - - return $value; - } - - /** - * Get element data. - * - * @param ElementInterface $element - * @return string - */ - protected function getData(ElementInterface $element) - { - return trim($element->getAttribute('label'), chr(0xC2) . chr(0xA0)); - } - - /** - * Select value in dropdown which has option groups. - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $option = $this->prepareSetValue($value); - $option->click(); - } - - /** - * Prepare setValue. - * - * @param string $value - * @return ElementInterface - */ - protected function prepareSetValue($value) - { - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - list($group, $option) = explode('/', $value); - $xpath = sprintf($this->optGroupValue, $group, $option); - $option = $this->find($xpath, Locator::SELECTOR_XPATH); - return $option; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/RadiobuttonElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/RadiobuttonElement.php deleted file mode 100644 index a8aaf9561274f..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/RadiobuttonElement.php +++ /dev/null @@ -1,57 +0,0 @@ -eventManager->dispatchEvent(['get_value'], [$this->getAbsoluteSelector()]); - - return $this->find($this->selectedLabelSelector)->getText(); - } - - /** - * Select radio button based on label value. - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - $radioButtonLabel = $this->find(sprintf($this->labelSelector, $value), Locator::SELECTOR_XPATH); - if (!$this->isSelected()) { - $radioButtonLabel->click(); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SelectconditionElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/SelectconditionElement.php deleted file mode 100644 index 15a799eac5188..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SelectconditionElement.php +++ /dev/null @@ -1,20 +0,0 @@ -find(sprintf($this->website, $selectedLabel), Locator::SELECTOR_XPATH); - $value = trim($element->getAttribute('label')); - $element = $this->find(sprintf($this->storeGroup, $selectedLabel), Locator::SELECTOR_XPATH); - $value .= '/' . trim($element->getAttribute('label'), chr(0xC2) . chr(0xA0)); - $value .= '/' . $selectedLabel; - return $value; - } - - /** - * Select value in dropdown which has option groups. - * - * @param string $value - * @throws \Exception - * @return void - */ - public function setValue($value) - { - $pieces = explode('/', $value); - - if (1 == count($pieces)) { - $optionLocator = './/option[contains(text(),"' . $pieces[0] . '")]'; - } else { - $optionLocator = './/optgroup[contains(@label,"' - . $pieces[0] . '")]/following-sibling::optgroup[contains(@label,"' - . $pieces[1] . '")]/option[contains(text(), "' - . $pieces[2] . '")]'; - } - - $option = $this->context->find($optionLocator, Locator::SELECTOR_XPATH); - if (!$option->isVisible()) { - throw new \Exception('[' . implode('/', $pieces) . '] option is not visible in store switcher.'); - } - $option->click(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SimplifiedselectElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/SimplifiedselectElement.php deleted file mode 100644 index 3aa7010377fb4..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SimplifiedselectElement.php +++ /dev/null @@ -1,36 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $xpath = sprintf($this->optionGroupValue, $value, $this->escapeQuotes($value)); - $option = $this->find($xpath, Locator::SELECTOR_XPATH); - $option->click(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SuggestElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/SuggestElement.php deleted file mode 100644 index 94d4142626b24..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SuggestElement.php +++ /dev/null @@ -1,174 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - $this->clear(); - - if ($value == '') { - return; - } - $this->keys([$value]); - $searchedItem = $this->find(sprintf($this->resultItem, $value), Locator::SELECTOR_XPATH); - $searchedCountElements = $this->find($this->searchedCount); - $this->waitUntil( - function () use ($searchedCountElements) { - return $searchedCountElements->isVisible() ? true : null; - } - ); - $searchedItem->click(); - $closeButton = $this->find($this->closeButton); - if ($closeButton->isVisible()) { - $closeButton->click(); - } - } - - /** - * Send keys. - * - * @param array $keys - * @return void - */ - public function keys(array $keys) - { - if (!$this->find($this->selectInput)->isVisible()) { - $this->find($this->advancedSelect)->click(); - } - $input = $this->find($this->selectInput); - $input->click(); - $input->keys($keys); - $this->searchResult(); - } - - /** - * Clear value of element. - * - * @return void - */ - protected function clear() - { - $element = $this->find($this->advancedSelect); - while ($element->getValue() != '') { - $element->keys([self::BACKSPACE]); - } - } - - /** - * Search category result. - * - * @return void - */ - public function searchResult() - { - $this->find($this->searchLabel)->click(); - } - - /** - * Get value. - * - * @return string - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - return $this->find($this->advancedSelect)->getValue(); - } - - /** - * Checking exist value in search result. - * - * @param string $value - * @return bool - */ - public function isExistValueInSearchResult($value) - { - $needle = $this->find($this->searchResult)->find(sprintf($this->resultItem, $value), Locator::SELECTOR_XPATH); - $keys = str_split($value); - $this->keys($keys); - if ($needle->isVisible()) { - try { - return true; - } catch (\Exception $e) { - // In parallel run on windows change the focus is lost on element - // that causes disappearing of attribute suggest list. - } - } - - return false; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SwitcherElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/SwitcherElement.php deleted file mode 100644 index 36a203bb057e1..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/SwitcherElement.php +++ /dev/null @@ -1,67 +0,0 @@ -getValue()) { - $this->find($this->labelText, Locator::SELECTOR_XPATH)->click(); - } - } - - /** - * Get the current value. - * - * @return string 'Yes'|'No' - * @throws \Exception - */ - public function getValue() - { - if ($this->find($this->parentContainer, 'xpath')->find('input:checked')->isVisible()) { - return 'Yes'; - } elseif ($this->find($this->parentContainer, 'xpath')->find('input')->isVisible()) { - return 'No'; - } else { - throw new \Exception( - sprintf('Element %s not found on page', $this->getLocator()) - ); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/Tree.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/Tree.php deleted file mode 100644 index 17baaae4d1c26..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/Tree.php +++ /dev/null @@ -1,200 +0,0 @@ -eventManager->dispatchEvent(['set_value'], [(string)$this->getAbsoluteSelector()]); - $elementSelector = $this->prepareElementSelector($path); - $elements = $this->getElements('.' . $elementSelector . $this->input, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $element->click(); - } - } - - /** - * Get the value. - * - * @return array - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [(string)$this->getAbsoluteSelector()]); - $checkboxes = $this->getElements($this->selectedLabels, Locator::SELECTOR_XPATH); - - return $this->prepareValues($checkboxes); - } - - /** - * Prepare values for checked checkboxes. - * - * @param ElementInterface[] $checkboxes - * @return array - */ - protected function prepareValues(array $checkboxes) - { - $values = []; - foreach ($checkboxes as $checkbox) { - $fullPath = $this->getFullPath($checkbox); - $values[] = implode('/', array_reverse($fullPath)); - } - - return $values; - } - - /** - * Prepare element selector. - * - * @param string $path - * @return string - */ - protected function prepareElementSelector($path) - { - $pathArray = explode('/', $path); - $elementSelector = ''; - foreach ($pathArray as $itemElement) { - $this->displayChildren($itemElement); - $elementSelector .= sprintf($this->pattern, $itemElement); - } - - return $elementSelector; - } - - /** - * Check visible element. - * - * @param string $path - * @return bool - */ - public function isElementVisible($path) - { - $elementSelector = $this->prepareElementSelector($path); - return $this->find($elementSelector, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Waiter for load children. - * - * @param ElementInterface $element - * @return void - */ - protected function waitLoadChildren(ElementInterface $element) - { - $selector = $this->childLoader; - $this->waitUntil( - function () use ($element, $selector) { - return $element->find($selector)->isVisible() ? true : null; - } - ); - } - - /** - * Get full path for element. - * - * @param ElementInterface $element - * @return string[] - */ - protected function getFullPath(ElementInterface $element) - { - $fullPath[] = $this->getElementLabel($element); - $parentElement = $element->find($this->parentElement, Locator::SELECTOR_XPATH); - if ($parentElement->isVisible()) { - $fullPath = array_merge($fullPath, $this->getFullPath($parentElement)); - } - - return $fullPath; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Client/Element/TreeElement.php b/dev/tests/functional/lib/Magento/Mtf/Client/Element/TreeElement.php deleted file mode 100644 index 846379e7bc307..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Client/Element/TreeElement.php +++ /dev/null @@ -1,108 +0,0 @@ -getElements($this->selectedCheckboxes, Locator::SELECTOR_XPATH, 'checkbox'); - foreach ($checkboxes as $checkbox) { - $checkbox->setValue('No'); - } - } - - /** - * Display children. - * - * @param string $element - * @return void - */ - protected function displayChildren($element) - { - $element = $this->find(sprintf($this->pattern, $element), Locator::SELECTOR_XPATH); - $plusButton = $element->find($this->imagePlus, Locator::SELECTOR_XPATH); - if ($plusButton->isVisible()) { - $plusButton->click(); - $this->waitLoadChildren($element); - } - } - - /** - * Get element label. - * - * @param ElementInterface $element - * @return string - */ - protected function getElementLabel(ElementInterface $element) - { - $value = $element->getText(); - preg_match($this->regPatternLabel, $value, $matches); - - return trim($matches[1]); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Config/FileResolver/ScopeConfig.php b/dev/tests/functional/lib/Magento/Mtf/Config/FileResolver/ScopeConfig.php deleted file mode 100644 index 7b6918188292c..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Config/FileResolver/ScopeConfig.php +++ /dev/null @@ -1,27 +0,0 @@ - $value) { - if (in_array($key, $this->skippedFields)) { - continue; - } - $formValue = isset($formData[$key]) ? $formData[$key] : null; - if (is_numeric($formValue)) { - $formValue = (float)$formValue; - } - - if (null === $formValue) { - $errors[] = '- field "' . $key . '" is absent in form'; - } elseif (is_array($value) && is_array($formValue)) { - $valueErrors = $this->verifyData($value, $formValue, true, false); - if (!empty($valueErrors)) { - $errors[$key] = $valueErrors; - } - } elseif ($value != $formValue) { - if (is_array($value)) { - $value = $this->arrayToString($value); - } - if (is_array($formValue)) { - $formValue = $this->arrayToString($formValue); - } - $errors[] = sprintf('- %s: "%s" instead of "%s"', $key, $formValue, $value); - } - } - - if ($isStrict) { - $diffData = array_diff(array_keys($formData), array_keys($fixtureData)); - if ($diffData) { - $errors[] = '- fields ' . implode(', ', $diffData) . ' is absent in fixture'; - } - } - - if ($isPrepareError) { - return $this->prepareErrors($errors); - } - return $errors; - } - - /** - * Sort array by value. - * - * @param array $data - * @return array - */ - protected function sortData(array $data) - { - $scalarValues = []; - $arrayValues = []; - - foreach ($data as $key => $value) { - if (is_array($value)) { - $arrayValues[$key] = $this->sortData($value); - } else { - $scalarValues[$key] = $value; - } - } - asort($scalarValues); - foreach (array_keys($arrayValues) as $key) { - if (!is_numeric($key)) { - ksort($arrayValues); - break; - } - } - - return $scalarValues + $arrayValues; - } - - /** - * Sort multidimensional array by paths. - * - * Pattern path: key/subKey::sortKey. - * Example: - * $data = [ - * 'custom_options' => [ - * 'options' => [ - * 0 => [ - * 'title' => 'title_2', - * ], - * 1 => [ - * 'title' => 'title_1' - * ] - * ] - * ] - * ]; - * $paths = ['custom_options/options::title']; - * - * Result: - * $data = [ - * 'custom_options' => [ - * 'options' => [ - * title_1 => [ - * 'title' => 'title_1', - * ], - * title_2 => [ - * 'title' => 'title_2' - * ] - * ] - * ] - * ]; - * - * @param array $data - * @param string $path - * @return array - * @throws \Exception - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - protected function sortDataByPath(array $data, $path) - { - $steps = explode('/', $path); - $key = array_shift($steps); - $order = null; - $nextPath = empty($steps) ? null : implode('/', $steps); - - if (false !== strpos($key, '::')) { - list($key, $order) = explode('::', $key); - } - if ($key && !isset($data[$key])) { - return $data; - } - - if ($key) { - if ($order) { - $data[$key] = $this->sortMultidimensionalArray($data[$key], $order); - } - if ($nextPath) { - $data[$key] = $this->sortDataByPath($data[$key], $nextPath); - } - } else { - $data = $this->sortMultidimensionalArray($data, $order); - if ($nextPath) { - $data = $this->sortDataByPath($data, $nextPath); - } - } - - return $data; - } - - /** - * Sort multidimensional array by key. - * - * @param array $data - * @param string $orderKey - * @return array - */ - protected function sortMultidimensionalArray(array $data, $orderKey) - { - $result = []; - foreach ($data as $key => $value) { - if (isset($value[$orderKey])) { - $key = is_numeric($value[$orderKey]) ? (int)$value[$orderKey] : $value[$orderKey]; - } - $result[$key] = $value; - } - ksort($result); - return $result; - } - - /** - * Convert array to string. - * - * @param array $array - * @return string - */ - protected function arrayToString(array $array) - { - $result = []; - foreach ($array as $key => $value) { - $value = is_array($value) ? $this->arrayToString($value) : $value; - $result[] = "{$key} => {$value}"; - } - - return '[' . implode(', ', $result) . ']'; - } - - /** - * Prepare errors to string. - * - * @param array $errors - * @param string|null $notice - * @param string $indent [optional] - * @return string - */ - protected function prepareErrors(array $errors, $notice = null, $indent = '') - { - if (empty($errors)) { - return ''; - } - - $result = []; - foreach ($errors as $key => $error) { - $result[] = is_array($error) - ? $this->prepareErrors($error, "{$indent}{$key}:\n", $indent . "\t") - : ($indent . $error); - } - - if (null === $notice) { - $notice = $this->notice; - } - return $notice . implode("\n", $result); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/EntryPoint/EntryPoint.php b/dev/tests/functional/lib/Magento/Mtf/EntryPoint/EntryPoint.php deleted file mode 100644 index 836cc486cb0ff..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/EntryPoint/EntryPoint.php +++ /dev/null @@ -1,73 +0,0 @@ -_rootDir = $rootDir; - $this->_parameters = $parameters; - $this->_locator = $objectManager; - } - - /** - * Run a Mtf application - * - * @param string $applicationName - * @param array $arguments - * @return mixed - * @throws \DomainException - */ - public function run($applicationName, array $arguments = []) - { - try { - if (!$this->_locator) { - $locatorFactory = new \Magento\Mtf\ObjectManagerFactory(); - $this->_locator = $locatorFactory->create(); - } - return $this->_locator->create($applicationName, $arguments)->launch(); - } catch (\Exception $exception) { - $message = "Error happened during application run.\n"; - $message .= $exception->getMessage(); - throw new \DomainException($message); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Handler/Webapi.php b/dev/tests/functional/lib/Magento/Mtf/Handler/Webapi.php deleted file mode 100644 index 7674e29977485..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Handler/Webapi.php +++ /dev/null @@ -1,54 +0,0 @@ -configuration = $configuration; - $this->eventManager = $eventManager; - $this->webapiTransport = $webapiTransport; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Page/BackendPage.php b/dev/tests/functional/lib/Magento/Mtf/Page/BackendPage.php deleted file mode 100644 index 86d0fda1c0009..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Page/BackendPage.php +++ /dev/null @@ -1,38 +0,0 @@ -url = $_ENV['app_backend_url'] . static::MCA; - } - - /** - * Open backend page and log in if needed. - * - * @param array $params - * @return $this - */ - public function open(array $params = []) - { - Factory::getApp()->magentoBackendLoginUser(); - return parent::open($params); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php b/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php deleted file mode 100644 index bda514ad9fa85..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/System/Observer/AllureWebapiResponse.php +++ /dev/null @@ -1,30 +0,0 @@ -addAttachment( - json_encode($event->getSubjects()[0]), - 'webapi-response-' . $event->getFileIdentifier(), - 'text/json' - ); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/System/Observer/WebapiResponse.php b/dev/tests/functional/lib/Magento/Mtf/System/Observer/WebapiResponse.php deleted file mode 100644 index 5b1aa6d0e52a7..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/System/Observer/WebapiResponse.php +++ /dev/null @@ -1,35 +0,0 @@ -createDestinationDirectory('webapi-response'); - $this->logger->log( - json_encode($event->getSubjects()[0]), - $directory . '/' . $event->getFileIdentifier() . '.json' - ); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/AdminAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/AdminAnalyzer.php deleted file mode 100644 index 6ba3ca6da5287..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/AdminAnalyzer.php +++ /dev/null @@ -1,140 +0,0 @@ -objectManager = $objectManager; - $this->urlAnalyzer = $urlAnalyzer; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-magento-admin') - ->setDescription('Check that app_backend_url is correct and admin can log in to Admin.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - \PHPUnit\Util\Configuration::getInstance(MTF_PHPUNIT_FILE)->handlePHPConfiguration(); - $this->output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $this->output->writeln("Verifying Magento Admin..."); - $adminUrlAnalyzerMessages = $this->runAdminUrlAnalyzer(); - if (isset($adminUrlAnalyzerMessages['error']) === false) { - $this->output->outputMessages($this->urlAnalyzer->checkDomain($_ENV['app_backend_url'])); - } else { - $this->output->outputMessages($adminUrlAnalyzerMessages); - } - $this->output->writeln("Admin verification finished."); - } - - /** - * Execute Admin url analyzer check. - * - * @return null|array - */ - public function runAdminUrlAnalyzer() - { - if (!isset($_ENV['app_backend_url'])) { - $messages['error'][] = 'app_backend_url parameter is absent in the phpunit.xml file. ' - . 'Please, copy parameter from phpunit.xml.dist.'; - return $messages; - } - $this->output->outputMessages($this->urlAnalyzer->fixLastSlash('app_backend_url')); - $url1 = $_ENV['app_backend_url']; - if (strpos($url1, '/index.php') !== false) { - $url2 = str_replace('/index.php', '', $url1); - } else { - $pattern = '/(\/\w+\/)$/'; - $replacement = '/index.php$1'; - $url2 = str_replace($url1, preg_replace($pattern, $replacement, $url1), $url1); - } - $urls = [$url1, $url2]; - $isUrlValid = false; - foreach ($urls as $url) { - $_ENV['app_backend_url'] = $url; - try { - $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->create( - \Magento\Mtf\Config\DataInterface::class - ); - $curl = new BackendDecorator(new CurlTransport(), $config); - $response = $curl->read(); - if (strpos($response, '404') !== false) { - break; - } - $curl->close(); - $isUrlValid = true; - break; - } catch (\Exception $e) { - continue; - } - } - if ($isUrlValid == false) { - $messages['error'][] = 'Check correctness of app_backend_url in phpunit.xml.'; - return $messages; - } elseif ($url1 != $_ENV['app_backend_url']) { - return $this->urlAnalyzer->resolveIndexPhpProblem($_ENV['app_backend_url']); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/ConfigAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/ConfigAnalyzer.php deleted file mode 100644 index 5e94135aca135..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/ConfigAnalyzer.php +++ /dev/null @@ -1,140 +0,0 @@ -objectManager = $objectManager; - $this->configXml = $configXml->get(); - $this->configXmlDist = $configXmlDist->get(); - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-config-valid') - ->setDescription('Check if config.xml is configured properly.'); - } - - /** - * Execute check if config.xml is configured properly. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $output->writeln("Checking config.xml file configuration..."); - $output->outputMessages($this->checkConfigFileAvailable()); - $output->writeln("config.xml file check is finished."); - } - - /** - * Check if config.xml file is present in MTF_BP/etc folder. - * - * @return array - */ - private function checkConfigFileAvailable() - { - $messages = []; - $configFileExists = false; - if (file_exists($this->configFilePath)) { - $configFileExists = true; - if ($this->recursiveKeys($this->configXml) != $this->recursiveKeys($this->configXmlDist)) { - $messages['error'][] = 'Check your config.xml file to contain all configs from config.xml.dist.'; - } - } else { - if (file_exists($this->configFilePath . '.dist')) { - if (!copy($this->configFilePath . '.dist', $this->configFilePath)) { - $messages['error'][] = 'Failed to copy config.xml.dist to config.xml.'; - return $messages; - } - $messages['info'][] = 'config.xml file has been created based on config.xml.dist.'; - $configFileExists = true; - } - } - if (!$configFileExists) { - $messages['error'][] = 'Cannot define config.xml configuration path.'; - } - return $messages; - } - - /** - * Get array of array keys. - * - * @param array $input - * @return array - */ - private function recursiveKeys(array $input) - { - $output = array_keys($input); - foreach ($input as $sub) { - if (is_array($sub)) { - $output = array_merge($output, $this->recursiveKeys($sub)); - } - } - return $output; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Configuration.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Configuration.php deleted file mode 100644 index 2afd1f600175d..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Configuration.php +++ /dev/null @@ -1,80 +0,0 @@ -objectManager = $objectManager; - $this->state1 = $state1; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:apply-magento-configuration') - ->setDescription('Apply proper Magento configuration to run functional tests.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $output->writeln("Applying Magento configuration..."); - $this->state1->apply(); - $output->outputMessages( - ['info' => ['Magento configuration was updated in order to run functional tests without errors ' - . '(disabled WYSIWYG, enabled admin account sharing etc.).'] - ] - ); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/GlobalAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/GlobalAnalyzer.php deleted file mode 100644 index 68c72627566cb..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/GlobalAnalyzer.php +++ /dev/null @@ -1,61 +0,0 @@ -commandList = $commandList; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-all') - ->setDescription('Perform all available checks.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - foreach ($this->commandList as $command) { - $command->execute($input, $output); - $output->writeln(''); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Helper/UrlAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Helper/UrlAnalyzer.php deleted file mode 100644 index d97cd8e059f38..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/Helper/UrlAnalyzer.php +++ /dev/null @@ -1,70 +0,0 @@ - ['"app_backend_url" has been updated in the phpunit.xml.']]; - } - - /** - * Check if url has subdomains. - * - * @param string $url - * @return array - */ - public function checkDomain($url) - { - $messages = []; - $pattern = '/([-%\w]*?\.\w+)/'; - if (preg_match($pattern, $url) === false) { - $messages['error'][] = - 'Instance should have domain name with at least one subdomain to function correctly. Examples:' - . PHP_EOL . "\tValid: http://magento.dev/, https://mage.local/." - . PHP_EOL . "\tInvalid: http://localhost/, https://magento/."; - } - - return $messages; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/HtaccessAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/HtaccessAnalyzer.php deleted file mode 100644 index 5095c725b87f1..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/HtaccessAnalyzer.php +++ /dev/null @@ -1,97 +0,0 @@ -objectManager = $objectManager; - $this->curl = $curl; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-htaccess') - ->setDescription('Check .htaccess file is present. It is needed to run cli commands via browser url.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - \PHPUnit\Util\Configuration::getInstance(MTF_PHPUNIT_FILE)->handlePHPConfiguration(); - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - try { - $output->writeln("Checking .htaccess file..."); - $this->curl->write($_ENV['app_frontend_url'] . $this->commandPath, [], CurlInterface::GET); - $this->curl->read(); - $responseCode = $this->curl->getInfo(CURLINFO_HTTP_CODE); - if ($responseCode != 200) { - $message['error'][] = 'Your .htaccess file doesn\'t exist. ' - . 'Please, create it from to .htaccess.sample.'; - $output->outputMessages($message); - } - $this->curl->close(); - } catch (\Exception $e) { - $output->outputMessages(['error' => [$e->getMessage()]]); - } - $output->writeln(".htaccess check finished."); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/PhpUnitAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/PhpUnitAnalyzer.php deleted file mode 100644 index bd7e0b9ed08fd..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/PhpUnitAnalyzer.php +++ /dev/null @@ -1,82 +0,0 @@ -objectManager = $objectManager; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-phpunit-config-file') - ->setDescription('Check if phpunit file is available.'); - } - - /** - * Execute command for checkout phpunit.xml config file availability. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $output->writeln("Checking phpunit.xml file availability..."); - $messages = []; - $configFileExists = false; - if (file_exists(MTF_PHPUNIT_FILE)) { - $configFileExists = true; - } else { - if (file_exists(MTF_PHPUNIT_FILE . '.dist')) { - if (!copy(MTF_PHPUNIT_FILE . '.dist', MTF_PHPUNIT_FILE)) { - $messages['error'][] = 'Failed to copy phpunit.xml.dist to phpunit.xml.'; - } else { - $messages['info'][] = 'phpunit.xml file has been created based on phpunit.xml.dist. ' - . 'Please, adjust your PHPUnit configuration to use new file.'; - $configFileExists = true; - } - } - } - if (!$configFileExists) { - $messages['error'][] = 'Cannot define phpunit configuration path.'; - } - $output->outputMessages($messages); - $output->writeln("phpunit.xml check finished."); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/SeleniumSessionAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/SeleniumSessionAnalyzer.php deleted file mode 100644 index 3afbe3b836ebc..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/SeleniumSessionAnalyzer.php +++ /dev/null @@ -1,79 +0,0 @@ -objectManager = $objectManager; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-selenium-session-connection') - ->setDescription('Check that Selenium session connection is established.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $output->writeln("Verifying selenium server session..."); - try { - $driver = $this->objectManager->create(Driver::class); - $driver->closeWindow(); - } catch (\Exception $e) { - $output->outputMessages(['error' => - [ - 'The Selenium Server session cannot be established. Check if:' - . PHP_EOL . "\tSelenium server is launched." - . PHP_EOL . "\tSelenium server host and port configuration are correct in etc/config.xml." - . PHP_EOL . "\tThere is a valid browser name in etc/config.xml." - . PHP_EOL . "\tSelenium server is run with appropriate driver." - . PHP_EOL . "\tSelenium server version is compatible with web browser version." - ] - ]); - } - $output->writeln('Verification of selenium server session is finished.'); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StaticClassesGenerator.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StaticClassesGenerator.php deleted file mode 100644 index be019e52990a4..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StaticClassesGenerator.php +++ /dev/null @@ -1,68 +0,0 @@ -objectManager = $objectManager; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:generate-static-classes') - ->setDescription('Generate static classes (Blocks, Pages, Repositories etc.).'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output = $this->objectManager->create( - Output::class, - ['output' => $output] - ); - $output->writeln("Generating static classes..."); - exec('php ' . MTF_BP . DIRECTORY_SEPARATOR . 'utils' . DIRECTORY_SEPARATOR . 'generate.php', $error, $exitCode); - if ($exitCode) { - $output->outputMessages(['error' => $error]); - } - $output->writeln('Static classes generation is finished.'); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StorefrontAnalyzer.php b/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StorefrontAnalyzer.php deleted file mode 100644 index 990482d77bd20..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Troubleshooting/StorefrontAnalyzer.php +++ /dev/null @@ -1,123 +0,0 @@ -objectManager = $objectManager; - $this->urlAnalyzer = $urlAnalyzer; - $this->curlTransport = $curlTransport; - } - - /** - * Configure command. - * - * @return void - */ - protected function configure() - { - parent::configure(); - $this->setName('troubleshooting:check-magento-storefront') - ->setDescription('Check that app_frontend_url config is correct and Magento installed.'); - } - - /** - * Execute command. - * - * @param InputInterface $input - * @param OutputInterface $output - * @return void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - \PHPUnit\Util\Configuration::getInstance(MTF_PHPUNIT_FILE)->handlePHPConfiguration(); - $output = $this->objectManager->create( - \Magento\Mtf\Console\Output::class, - ['output' => $output] - ); - $output->writeln("Verifying Magento Storefront..."); - $storefrontUrlAnalyzerMessages = $this->runStorefrontUrlAnalyzer(); - if (isset($storefrontUrlAnalyzerMessages['error']) === false) { - $output->outputMessages($this->urlAnalyzer->fixLastSlash('app_frontend_url')); - $output->outputMessages($this->urlAnalyzer->checkDomain($_ENV['app_frontend_url'])); - } else { - $output->outputMessages($storefrontUrlAnalyzerMessages); - } - $output->writeln("Storefront verification finished."); - } - - /** - * Run Storefront url analyzer check. - * - * @return array - */ - private function runStorefrontUrlAnalyzer() - { - $messages = []; - if (!isset($_ENV['app_frontend_url'])) { - $messages['error'][] = 'app_frontend_url parameter is absent in the phpunit.xml file. ' - . 'Please, copy file from phpunit.xml.dist.'; - return $messages; - } - $url = $_ENV['app_frontend_url']; - try { - $this->curlTransport->write($url, [], CurlInterface::GET); - $response = $this->curlTransport->read(); - if (strpos($response, 'Home Page') === false) { - $messages['error'][] = 'Magento seems not installed. Check your Magento instance.'; - } - } catch (\Exception $e) { - $messages['error'][] = $e->getMessage(); - } - $this->curlTransport->close(); - - return $messages; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli.php deleted file mode 100644 index f0abd280f3ebc..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli.php +++ /dev/null @@ -1,83 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Run command. - * - * @param string $command - * @param array $options [optional] - * @return void - */ - public function execute($command, $options = []) - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray($command, $options), - CurlInterface::POST, - [] - ); - $this->transport->read(); - $this->transport->close(); - } - - /** - * Prepare parameter array. - * - * @param string $command - * @param array $options [optional] - * @return array - */ - private function prepareParamArray($command, $options = []) - { - if (!empty($options)) { - $command .= ' ' . implode(' ', $options); - } - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'command' => urlencode($command) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Cache.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Cache.php deleted file mode 100644 index 9ba6bb5b49e9c..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Cache.php +++ /dev/null @@ -1,81 +0,0 @@ -cli = $cli; - } - - /** - * Parameter for flush cache command. - */ - const PARAM_CACHE_FLUSH = 'cache:flush'; - - /** - * Parameter for cache disable command. - */ - const PARAM_CACHE_DISABLE = 'cache:disable'; - - /** - * Parameter for cache enable command. - */ - const PARAM_CACHE_ENABLE = 'cache:enable'; - - /** - * Flush Cache. - * If no parameters are set, all cache types are flushed. - * - * @param array $cacheTypes - * @return void - */ - public function flush(array $cacheTypes = []) - { - $options = empty($cacheTypes) ? '' : ' ' . implode(' ', $cacheTypes); - $this->cli->execute(Cache::PARAM_CACHE_FLUSH . $options); - } - - /** - * Disable all cache or one cache type. - * - * @param string $cacheType [optional] - * @return void - */ - public function disableCache($cacheType = null) - { - $this->cli->execute(Cache::PARAM_CACHE_DISABLE . ($cacheType ? " $cacheType" : '')); - } - - /** - * Enable all cache or one cache type. - * - * @param string $cacheType [optional] - * @return void - */ - public function enableCache($cacheType = null) - { - $this->cli->execute(Cache::PARAM_CACHE_ENABLE . ($cacheType ? " $cacheType" : '')); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Config.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Config.php deleted file mode 100644 index e7ce89a2c4ce9..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Config.php +++ /dev/null @@ -1,45 +0,0 @@ - ['indexer' => 'category_flat_data', 'mode' => 'schedule'], - * [1] => ['indexer' => 'catalogrule_product', 'mode' => 'realtime'] - * ] - * - * @param array $indexers - * @return void - */ - public function setMode(array $indexers) - { - foreach ($indexers as $indexer) { - parent::execute(Indexer::PARAM_SET_MODE . ' ' . $indexer['mode'] . ' ' . $indexer['indexer']); - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Queue.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Queue.php deleted file mode 100644 index c7bbb2eae426f..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Cli/Queue.php +++ /dev/null @@ -1,23 +0,0 @@ -objectManager = $objectManager; - $this->adminExportIndex = $adminExportIndex; - $this->reader = $this->getReader($type); - } - - /** - * Get reader for export files. - * - * @param string $type - * @return ReaderInterface - * @throws \ReflectionException - */ - private function getReader($type) - { - $readerPath = sprintf($this->readerPath, ucfirst($type)); - try { - return $this->objectManager->create($readerPath); - } catch (\ReflectionException $e) { - throw new \ReflectionException("Virtual type '$readerPath' does not exist. Please, check it in di.xml."); - } - } - - /** - * Get the export file by name. - * - * @param string $name - * @return Data|null - * @throws \Exception - */ - public function getByName($name) - { - $this->downloadFile(); - $this->reader->getData(); - foreach ($this->reader->getData() as $file) { - if ($file->getName() === $name) { - return $file; - } - } - - return null; - } - - /** - * Get latest created the export file. - * - * @return Data|null - * @throws \Exception - */ - public function getLatest() - { - $this->downloadFile(); - $max = 0; - $latest = null; - foreach ($this->reader->getData() as $file) { - if ($file->getDate() > $max) { - $max = $file->getDate(); - $latest = $file; - } - } - - return $latest; - } - - /** - * Get all export files by date range using unix time stamp. - * - * @param string $start - * @param string $end - * @return Data[] - * @throws \Exception - */ - public function getByDateRange($start, $end) - { - $this->downloadFile(); - $files = []; - foreach ($this->reader->getData() as $file) { - if ($file->getDate() > $start && $file->getDate() < $end) { - $files[] = $file; - } - } - - return $files; - } - - /** - * Get all export files. - * - * @return Data[] - * @throws \Exception - */ - public function getAll() - { - $this->downloadFile(); - return $this->reader->getData(); - } - - /** - * Download exported file - * - * @return void - * @throws \Exception - */ - private function downloadFile() - { - $this->adminExportIndex->open(); - /** @var \Magento\ImportExport\Test\Block\Adminhtml\Export\ExportedGrid $exportedGrid */ - $exportedGrid = $this->adminExportIndex->getExportedGrid(); - $exportedGrid->downloadFirstFile(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Data.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Data.php deleted file mode 100644 index ecae7b0744526..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Data.php +++ /dev/null @@ -1,58 +0,0 @@ -data = $data; - } - - /** - * Get file name. - * - * @return string - */ - public function getName() - { - return $this->data['name']; - } - - /** - * Get file content. - * - * @return string - */ - public function getContent() - { - return $this->data['content']; - } - - /** - * Get file creation date. - * - * @return string - */ - public function getDate() - { - return $this->data['date']; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Reader.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Reader.php deleted file mode 100644 index f5b6d681e4f6c..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/Reader.php +++ /dev/null @@ -1,110 +0,0 @@ -objectManager = $objectManager; - $this->template = $template; - $this->transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Exporting files as Data object from Magento. - * - * @return Data[] - */ - public function getData() - { - $data = []; - foreach ($this->getFiles() as $file) { - $data[] = $this->objectManager->create(Data::class, ['data' => $file]); - } - - return $data; - } - - /** - * Get files by template from the Magento. - * - * @return array - */ - private function getFiles() - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray(), - CurlInterface::POST, - [] - ); - $serializedFiles = $this->transport->read(); - $this->transport->close(); - // phpcs:ignore Magento2.Security.InsecureFunction - return unserialize($serializedFiles); - } - - /** - * Prepare parameter array. - * - * @return array - */ - private function prepareParamArray() - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'template' => urlencode($this->template) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/ReaderInterface.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/ReaderInterface.php deleted file mode 100644 index 3666e8643efa3..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/File/Export/ReaderInterface.php +++ /dev/null @@ -1,25 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Get content of log file in var/log folder by file name. - * - * @param string $name - * @return array - */ - public function getFileContent($name) - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray($name), - CurlInterface::POST, - [] - ); - $data = $this->transport->read(); - $this->transport->close(); - // phpcs:ignore Magento2.Security.InsecureFunction - return unserialize($data); - } - - /** - * Prepare parameter array. - * - * @param string $name - * @return array - */ - private function prepareParamArray($name) - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'name' => urlencode($name) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/GeneratedCode.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/GeneratedCode.php deleted file mode 100644 index a9fefa25ffa24..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/GeneratedCode.php +++ /dev/null @@ -1,74 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Remove generated code. - * - * @return void - */ - public function delete() - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray(), - CurlInterface::POST, - [] - ); - $this->transport->read(); - $this->transport->close(); - } - - /** - * Prepare parameter array. - * - * @return array - */ - private function prepareParamArray() - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Locales.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Locales.php deleted file mode 100644 index a55d803f43087..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Locales.php +++ /dev/null @@ -1,88 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Returns array of locales depends on fetching type. - * - * @param string $type locales fetching type - * @return array of locale codes, for example: ['en_US', 'fr_FR'] - */ - public function getList($type = self::TYPE_ALL) - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray($type), - CurlInterface::POST, - [] - ); - $result = $this->transport->read(); - $this->transport->close(); - return explode('|', $result); - } - - /** - * Prepare parameter array. - * - * @param string $type - * @return array - */ - private function prepareParamArray($type) - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'type' => urlencode($type) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/PathChecker.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/PathChecker.php deleted file mode 100644 index 4b12f6eec87aa..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/PathChecker.php +++ /dev/null @@ -1,79 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Check that $path exists. - * - * @param string $path - * @return bool - */ - public function pathExists($path) - { - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray($path), - CurlInterface::POST, - [] - ); - $result = $this->transport->read(); - $this->transport->close(); - return strpos($result, 'path exists: true') !== false; - } - - /** - * Prepare parameter array. - * - * @param string $path - * @return array - */ - private function prepareParamArray($path) - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'path' => urlencode($path) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Website.php b/dev/tests/functional/lib/Magento/Mtf/Util/Command/Website.php deleted file mode 100644 index fec20bb2a8715..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Command/Website.php +++ /dev/null @@ -1,79 +0,0 @@ -transport = $transport; - $this->webapiHandler = $webapiHandler; - } - - /** - * Creates Website folder in root directory. - * - * @param string $websiteCode - * @throws \Exception - */ - public function create($websiteCode) - { - $this->transport->addOption(CURLOPT_HEADER, 1); - $this->transport->write( - rtrim(str_replace('index.php', '', $_ENV['app_frontend_url']), '/') . self::URL, - $this->prepareParamArray($websiteCode), - CurlInterface::POST, - [] - ); - $this->transport->read(); - $this->transport->close(); - } - - /** - * Prepare parameter array. - * - * @param string $websiteCode - * @return array - */ - private function prepareParamArray($websiteCode) - { - return [ - 'token' => urlencode($this->webapiHandler->getWebapiToken()), - 'website_code' => urlencode($websiteCode) - ]; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Filesystem/FileHelper.php b/dev/tests/functional/lib/Magento/Mtf/Util/Filesystem/FileHelper.php deleted file mode 100644 index c5f1027fff66d..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Filesystem/FileHelper.php +++ /dev/null @@ -1,103 +0,0 @@ -realpath($ds, $path); - } - - /** - * Returns canonicalized pathname. - * - * @param string $ds - * @param string $path - * @return string - */ - private function realpath($ds, $path) - { - $parts = []; - foreach (explode($ds, $path) as $part) { - if ($part === '..' && !empty($parts) && end($parts) !== '..') { - array_pop($parts); - } elseif ($part === '.' || $part === '' && !empty($parts)) { - continue; - } else { - $parts[] = $part; - } - } - - $path = implode($ds, $parts); - - return $path === '' ? '.' : $path; - } - - /** - * Creates a new directory. - * - * @param string $path - * @param int $mode - * @param bool $recursive - * @return bool - * @throws \Exception - */ - public function createDirectory($path, $mode = 0775, $recursive = true) - { - if (is_dir($path)) { - return true; - } - $parentDir = dirname($path); - - if ($recursive && !is_dir($parentDir) && $parentDir !== $path) { - $this->createDirectory($parentDir, $mode, true); - } - - try { - if (!mkdir($path, $mode)) { - return false; - } - } catch (\Exception $e) { - if (!is_dir($path)) { - throw new \Exception("Failed to create directory \"$path\""); - } - } - - try { - return chmod($path, $mode); - } catch (\Exception $e) { - throw new \Exception("Failed to change permissions for directory \"$path\""); - } - } - - /** - * Create a new file with content. - * - * @param string $filename - * @param string $content - * @return bool - */ - public function createFile($filename, $content) - { - return file_put_contents($filename, $content) !== false; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory.php deleted file mode 100644 index 192cab5751986..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory.php +++ /dev/null @@ -1,43 +0,0 @@ -objectManager->create(\Magento\Mtf\Util\Generate\Factory\Block::class)->launch(); - $this->objectManager->create(\Magento\Mtf\Util\Generate\Factory\Fixture::class)->launch(); - $this->objectManager->create(\Magento\Mtf\Util\Generate\Factory\Handler::class)->launch(); - $this->objectManager->create(\Magento\Mtf\Util\Generate\Factory\Page::class)->launch(); - $this->objectManager->create(\Magento\Mtf\Util\Generate\Factory\Repository::class)->launch(); - - return true; - } - - /** - * Generate single class. - * - * @param string $className - * @return bool - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function generate($className) - { - return false; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php deleted file mode 100644 index e48366f9a3645..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php +++ /dev/null @@ -1,342 +0,0 @@ -startFactory($this->type); - - $this->generateContent(); - - $this->endFactory($this->type); - - \Magento\Mtf\Util\Generate\GenerateResult::addResult($this->type, $this->cnt); - } - - abstract protected function generateContent(); - - /** - * Add header content - * - * @param string $type - */ - protected function startFactory($type) - { - $this->factoryContent = "factoryContent .= "namespace Magento\Mtf\\{$type}; \n\n"; - $this->factoryContent .= "use Magento\Mtf\\Fixture\\FixtureInterface; \n\n"; - $this->factoryContent .= "class {$type}FactoryDeprecated\n"; - $this->factoryContent .= "{\n"; - - $this->factoryContent .= " /** - * Object Manager - * - * @var \\Magento\Mtf\\ObjectManager - */ - protected \$objectManager; - - /** - * Constructor - * - */ - public function __construct() - { - \$this->objectManager = \\Magento\Mtf\\ObjectManager::getInstance(); - }\n"; - } - - /** - * Add header content - * - * @param $type - * @return $this - * @throws \RuntimeException - */ - protected function endFactory($type) - { - if (!$this->cnt) { - return $this; - } - - $this->checkAndCreateFolder(MTF_BP . "/generated/Magento/Mtf/{$type}"); - - $this->factoryContent .= "}\n"; - - $file = MTF_BP . "/generated/Magento/Mtf/{$type}/{$type}FactoryDeprecated.php"; - if (false === file_put_contents($file, $this->factoryContent)) { - throw new \RuntimeException("Can't write content to {$file} file"); - } - } - - /** - * Create directory if not exist - * - * @param string $folder - * @param int $mode - * @return bool - * @throws \Exception - */ - protected function checkAndCreateFolder($folder, $mode = 0777) - { - if (is_dir($folder)) { - return true; - } - if (!is_dir(dirname($folder))) { - $this->checkAndCreateFolder(dirname($folder), $mode); - } - if (!is_dir($folder) && !$this->mkDir($folder, $mode)) { - throw new \Exception("Unable to create directory '{$folder}'. Access forbidden."); - } - return true; - } - - /** - * Create directory - * - * @param string $dir - * @param int $mode - * @param bool $recursive - * @return bool - */ - protected function mkDir($dir, $mode = 0777, $recursive = true) - { - return @mkdir($dir, $mode, $recursive); - } - - /** - * Search collect files - * - * @param string $type - * @return array - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - protected function collectItems($type) - { - $items = []; - $rewrites = []; - - $fallbacks = [ - ['path' => 'tests/app'], - ['path' => 'generated'], - ]; - - while ($fallback = array_pop($fallbacks)) { - $path = isset($fallback['path']) ? $fallback['path'] : ''; - $ns = isset($fallback['namespace']) ? $fallback['namespace'] : ''; - $location = $path . ($ns ? ('/' . str_replace('\\', '/', $ns)) : ''); - - $pattern = $this->_getPattern($type, $location); - - $filesIterator = Glob::glob($pattern, Glob::GLOB_BRACE); - - foreach ($filesIterator as $filePath) { - if (!is_dir($filePath)) { - $this->_processItem($items, $rewrites, $filePath, $location, $path); - } else { - $dirIterator = new \RegexIterator( - new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator( - $filePath, - \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS - ) - ), - '/.php$/i' - ); - foreach ($dirIterator as $info) { - /** @var $info \SplFileInfo */ - $realPath = $info->getPathname(); - if (is_link($realPath)) { - $realPath = readlink($realPath); - } - $this->_processItem($items, $rewrites, $realPath, $location, $path); - } - } - } - } - return $items; - } - - /** - * Handling file - * - * @param array $items - * @param array $rewrites - * @param string $filename - * @param string $location - * @param string $path - * @throws \Exception - * @SuppressWarnings(PHPMD.CyclomaticComplexity) - */ - protected function _processItem(& $items, & $rewrites, $filename, $location, $path) - { - $filename = str_replace('\\', '/', $filename); - - $posTestsPath = strpos($filename, $path); - $posClassName = $posTestsPath + strlen($path); - $classPath = str_replace('.php', '', $filename); - $className = str_replace('/', '\\', substr($classPath, $posClassName)); - - $reflectionClass = new \ReflectionClass($className); - if ($reflectionClass->isAbstract()) { - return; - } - $annotations = \PHPUnit\Util\Test::parseTestMethodAnnotations($className); - - list(, $targetClassName) = explode($location . '/', $filename); - $targetClassName = str_replace('.php', '', $targetClassName); - $targetClassName = str_replace('/', '\\', $targetClassName); - - if (isset($this->_checkList[$targetClassName])) { - $annotations['class']['rewrite'][0] = $this->_checkList[$targetClassName]; - $this->_checkList[$targetClassName] = $className; - } else { - $this->_checkList[$targetClassName] = $className; - } - - if (isset($annotations['class']['rewrite'])) { - $original = $annotations['class']['rewrite'][0]; - - if (isset($items[$original])) { - if (isset($items[$original]['fallback'])) { - $message = "Class '{$className}' rewrites class '{$original}'.\n"; - $prevClass = key($items[$original]['fallback']); - $message .= "Class '{$prevClass}' also rewrites class '$original'"; - throw new \Exception("Multiple rewrites detected:\n" . $message); - } - - if (isset($items[$className])) { - $items[$original]['fallback'][$className] = $items[$className]; - } else { - $items[$original]['fallback'][$className]['class'] = $className; - } - - $rewrites[$className] = &$items[$original]['fallback'][$className]; - - if (isset($items[$className])) { - unset($items[$className]); - } - } elseif (isset($rewrites[$original])) { - if (isset($rewrites[$original]['fallback'])) { - $message = "Class '{$className}' rewrites class '{$original}'.\n"; - $prevClass = key($rewrites[$original]['fallback']); - $message .= "Class '{$prevClass}' also rewrites class '$original'"; - throw new \Exception("Multiple rewrites detected:\n" . $message); - } - - if (isset($items[$className])) { - $rewrites[$original]['fallback'][$className] = $items[$className]; - } else { - $rewrites[$original]['fallback'][$className]['class'] = $className; - } - - $rewrites[$className] = &$rewrites[$original]['fallback'][$className]; - - if (isset($items[$className])) { - unset($items[$className]); - } - } else { - $items[$original]['class'] = $original; - if (isset($items[$className])) { - $items[$original]['fallback'][$className] = $items[$className]; - } else { - $items[$original]['fallback'][$className]['class'] = $className; - } - - $rewrites[$className] = &$items[$original]['fallback'][$className]; - - if (isset($items[$className])) { - unset($items[$className]); - } - } - } else { - $items[$className]['class'] = $className; - } - } - - /** - * Convert class name to camel-case - * - * @param string $class - * @return string - */ - protected function _toCamelCase($class) - { - $class = str_replace('_', ' ', $class); - $class = str_replace('\\', ' ', $class); - $class = str_replace('/', ' ', $class); - - return str_replace(' ', '', ucwords($class)); - } - - /** - * Find class depends on fallback configuration - * - * @param array $item - * @return string - */ - protected function _resolveClass(array $item) - { - if (isset($item['fallback'])) { - return $this->_resolveClass(reset($item['fallback'])); - } - return $item['class']; - } - - /** - * Return comment text for item - * - * @param array $item - * @param string $arguments - * @return string - */ - protected function _buildFallbackComment(array $item, $arguments = '') - { - if (isset($item['fallback'])) { - $returnComment = "\n //return new \\" . $item['class'] . "({$arguments});"; - return $this->_buildFallbackComment(reset($item['fallback']), $arguments) . $returnComment; - } - } - - /** - * Return pattern depends on configuration - * - * @param string $type - * @param string $location - * @throws \RuntimeException - * @return string - */ - protected function _getPattern($type, $location) - { - $globPath = MTF_BP . '/' . $location . '/*/*/Test/' . $type; - return $globPath; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Block.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Block.php deleted file mode 100644 index 85f86b74ee8d2..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Block.php +++ /dev/null @@ -1,64 +0,0 @@ -collectItems('Block'); - foreach ($blocks as $block) { - $this->addBlockToFactory($block); - } - } - - /** - * Add Block to content - * - * @param array $item - */ - protected function addBlockToFactory(array $item) - { - list($module, $name) = explode('Test\\Block', $item['class']); - $methodNameSuffix = $module . $name; - $methodNameSuffix = $this->_toCamelCase($methodNameSuffix); - - $realClass = $this->_resolveClass($item); - $fallbackComment = $this->_buildFallbackComment($item, '$element'); - $params = "\$element, \$driver = null, \$config = []"; - - $this->factoryContent .= "\n /**\n"; - $this->factoryContent .= " * @return {$item['class']}\n"; - $this->factoryContent .= " */\n"; - $this->factoryContent .= " public function get{$methodNameSuffix}({$params})\n"; - $this->factoryContent .= " {"; - - if (!empty($fallbackComment)) { - $this->factoryContent .= $fallbackComment . "\n"; - } else { - $this->factoryContent .= "\n"; - } - - $this->factoryContent .= " return \$this->objectManager->create('{$realClass}', " - . "array('element' => \$element, 'driver' => \$driver, 'config' => \$config));"; - $this->factoryContent .= "\n }\n"; - - $this->cnt++; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Fixture.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Fixture.php deleted file mode 100644 index 3b132db32e028..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Fixture.php +++ /dev/null @@ -1,63 +0,0 @@ -collectItems('Fixture'); - foreach ($items as $item) { - $this->addFixtureToFactory($item); - } - } - - /** - * Add Fixture content - * - * @param array $item - */ - protected function addFixtureToFactory($item) - { - list($module, $name) = explode('Test\\Fixture', $item['class']); - $methodNameSuffix = $module . $name; - $methodNameSuffix = $this->_toCamelCase($methodNameSuffix); - $realClass = $this->_resolveClass($item); - $fallbackComment = $this->_buildFallbackComment($item); - - $this->factoryContent .= "\n"; - $this->factoryContent .= " /**\n"; - $this->factoryContent .= " * @return {$item['class']}\n"; - $this->factoryContent .= " */\n"; - $this->factoryContent .= " public function get{$methodNameSuffix}(array \$placeholders = [])\n"; - $this->factoryContent .= " {"; - - if (!empty($fallbackComment)) { - $this->factoryContent .= $fallbackComment . "\n"; - } else { - $this->factoryContent .= "\n"; - } - - $this->factoryContent .= " return \$this->objectManager->create( - {$realClass}::class, " - . "array('placeholders' => \$placeholders));\n"; - $this->factoryContent .= " }\n"; - - $this->cnt++; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Handler.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Handler.php deleted file mode 100644 index 649ee6ec30d87..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Handler.php +++ /dev/null @@ -1,90 +0,0 @@ -collectItems('Handler'); - - $fallback = [ - 0 => 'Curl', - 1 => 'Ui', - ]; - - $byTypes = []; - foreach ($items as $item) { - preg_match('/(\w*)\\\(\w*)\\\Test\\\Handler\\\(\w*)\\\(\w*)/', $item['class'], $matches); - if (5 === count($matches)) { - $methodNameSuffix = strtolower($matches[1]) . $matches[2] . $matches[4]; - foreach ($fallback as $pos => $type) { - if ($matches[3] === $type) { - if (!isset($byTypes[$methodNameSuffix])) { - $item['_fallback_position_'] = $pos; - $byTypes[$methodNameSuffix] = $item; - } else { - $_item = $byTypes[$methodNameSuffix]; - $_pos = $_item['_fallback_position_']; - if ($_pos > $pos) { - $item['_fallback_position_'] = $pos; - $byTypes[$methodNameSuffix] = $item; - } - } - break; - } - } - } - } - - foreach ($byTypes as $methodNameSuffix => $item) { - $this->_addHandlerToFactory($methodNameSuffix, $item); - } - } - - /** - * Add Handler content - * - * @param string $methodNameSuffix - * @param array $item - */ - protected function _addHandlerToFactory($methodNameSuffix, $item) - { - $fallbackComment = $this->_buildFallbackComment($item); - $realClass = $this->_resolveClass($item); - - $this->factoryContent .= "\n /**\n"; - $this->factoryContent .= " * @return \\{$item['class']}\n"; - $this->factoryContent .= " */\n"; - $this->factoryContent .= " public function {$methodNameSuffix}(FixtureInterface \$fixture = null)\n"; - $this->factoryContent .= " {"; - - if (!empty($fallbackComment)) { - $this->factoryContent .= $fallbackComment . "\n"; - } else { - $this->factoryContent .= "\n"; - } - - $this->factoryContent .= " \$handler = \$this->objectManager->get({$realClass}::class);\n"; - $this->factoryContent .= " return \$handler->persist(\$fixture);"; - $this->factoryContent .= "\n }\n"; - - $this->cnt++; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Page.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Page.php deleted file mode 100644 index 6f2af42234463..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Page.php +++ /dev/null @@ -1,73 +0,0 @@ -collectItems('Page'); - - foreach ($items as $item) { - $this->_addPageToFactory($item); - } - } - - /** - * Convert class name to camel-case. - * - * @param string $class - * @return string - */ - private function toCamelCase($class) - { - $classNameExcessSymbols = ['_', '\\', '/', 'https:', 'http:', 'com', 'www', '.', '-']; - $class = str_replace($classNameExcessSymbols, ' ', $class); - return str_replace(' ', '', ucwords($class)); - } - - /** - * Add Page to content. - * - * @param array $item - */ - protected function _addPageToFactory($item) - { - $realClass = $this->_resolveClass($item); - $reflectionClass = new \ReflectionClass($realClass); - $mca = $reflectionClass->getConstant('MCA'); - $methodNameSuffix = $this->toCamelCase($mca); - - $fallbackComment = $this->_buildFallbackComment($item); - - $this->factoryContent .= "\n /**\n"; - $this->factoryContent .= " * @return {$item['class']}\n"; - $this->factoryContent .= " */\n"; - $this->factoryContent .= " public function get{$methodNameSuffix}()\n"; - $this->factoryContent .= " {"; - - if (!empty($fallbackComment)) { - $this->factoryContent .= $fallbackComment . "\n"; - } else { - $this->factoryContent .= "\n"; - } - - $this->factoryContent .= " return \$this->objectManager->create({$realClass}::class);"; - $this->factoryContent .= "\n }\n"; - - $this->cnt++; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Repository.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Repository.php deleted file mode 100644 index 28016849446b6..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/Repository.php +++ /dev/null @@ -1,65 +0,0 @@ -collectItems('Repository'); - - foreach ($items as $item) { - $this->_addToFactory($item); - } - } - - /** - * Add Fixture Repository - * - * @param array $item - */ - protected function _addToFactory($item) - { - list($module, $name) = explode('Test\\Repository', $item['class']); - $methodNameSuffix = $module . $name; - $methodNameSuffix = $this->_toCamelCase($methodNameSuffix); - - $realClass = $this->_resolveClass($item); - $fallbackComment = $this->_buildFallbackComment($item); - - $this->factoryContent .= "\n /**\n"; - $this->factoryContent .= " * @return {$item['class']}\n"; - $this->factoryContent .= " */\n"; - $this->factoryContent .= " public function get{$methodNameSuffix}(array \$defaultConfig = [], " - . "array \$defaultData = [])\n"; - $this->factoryContent .= " {"; - - if (!empty($fallbackComment)) { - $this->factoryContent .= $fallbackComment . "\n"; - } else { - $this->factoryContent .= "\n"; - } - - $this->factoryContent .= " return \$this->objectManager->create( - {$realClass}::class, " - . "array('defaultConfig' => \$defaultConfig, 'defaultData' => \$defaultData));\n"; - $this->factoryContent .= " }\n"; - - $this->cnt++; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/Generator.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/Generator.php deleted file mode 100644 index ed64df2172386..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/Generator.php +++ /dev/null @@ -1,64 +0,0 @@ -fileHelper = $fileHelper; - $this->directory = $this->fileHelper->normalizePath(MTF_BP . static::ROOT_DIRECTORY . $directory); - } - - /** - * Method is generate file by template. - * - * @param TemplateInterface $template - * @return string Full path to the generated file. - * @throws \Exception - */ - public function generate(TemplateInterface $template) - { - $filename = $this->fileHelper->normalizePath($this->directory . '/' . $template->getName()); - if (!$this->fileHelper->createDirectory($this->directory) - || !$this->fileHelper->createFile($filename, $template->render()) - ) { - throw new \Exception( - 'Can’t create file with "' . get_class($template) .'" (file "' . $filename . '").' - ); - } - - return $filename; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/TemplateInterface.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/TemplateInterface.php deleted file mode 100644 index f72a2ba56d8b9..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/File/TemplateInterface.php +++ /dev/null @@ -1,26 +0,0 @@ -eavConfig = $objectManager->create(\Magento\Eav\Model\Config::class); - $this->resource = $objectManager->create(\Magento\Framework\App\ResourceConnection::class); - } - - /** - * Check connection to DB. - * - * @return bool - */ - public function checkConnection() - { - $this->connection = $this->getConnection('core'); - if (!$this->connection || $this->connection instanceof \Zend_Db_Adapter_Exception) { - echo ('Connection to Magento 2 database is absent. Fixture data has not been fetched.' . PHP_EOL); - return false; - } - - return true; - } - - /** - * Collect fields for the entity based on its type. - * - * @param array $fixture - * @return array - */ - public function getFields(array $fixture) - { - $method = $fixture['type'] . 'CollectFields'; - if (!method_exists($this, $method)) { - return []; - } - - return $this->$method($fixture); - } - - /** - * Collect fields for the entity with eav type. - * - * @param array $fixture - * @return array - */ - protected function eavCollectFields(array $fixture) - { - $entityType = $fixture['entity_type']; - $collection = $this->eavConfig->getEntityType($entityType)->getAttributeCollection(); - $attributes = []; - foreach ($collection as $attribute) { - if (isset($fixture['product_type'])) { - $applyTo = $attribute->getApplyTo(); - if (!empty($applyTo) && !in_array($fixture['product_type'], $applyTo)) { - continue; - } - } - /** @var $attribute \Magento\Eav\Model\Entity\Attribute */ - $code = $attribute->getAttributeCode(); - $attributes[$code] = [ - 'attribute_code' => $code, - 'backend_type' => $attribute->getBackendType(), - 'is_required' => $attribute->getIsRequired(), - 'default_value' => $attribute->getDefaultValue(), - 'input' => $attribute->getFrontendInput(), - ]; - } - - return $attributes; - } - - /** - * Collect fields for the entity with table type. - * - * @param array $fixture - * @return array - */ - protected function tableCollectFields(array $fixture) - { - return $this->flatCollectFields($fixture); - } - - /** - * Collect fields for the entity with flat type. - * - * @param array $fixture - * @return array - */ - protected function flatCollectFields(array $fixture) - { - $entityType = $fixture['entity_type']; - - /** @var $connection \Magento\Framework\DB\Adapter\AdapterInterface */ - $fields = $this->connection->describeTable($entityType); - - $attributes = []; - foreach ($fields as $code => $field) { - $attributes[$code] = [ - 'attribute_code' => $code, - 'backend_type' => $field['DATA_TYPE'], - 'is_required' => ($field['PRIMARY'] || $field['IDENTITY']), - 'default_value' => $field['DEFAULT'], - 'input' => '', - ]; - } - - return $attributes; - } - - /** - * Collect fields for the entity with composite type. - * - * @param array $fixture - * @return array - */ - protected function compositeCollectFields(array $fixture) - { - $entityTypes = $fixture['entities']; - - $fields = []; - foreach ($entityTypes as $entityType) { - $fields = array_merge($fields, $this->connection->describeTable($entityType)); - } - - $attributes = []; - foreach ($fields as $code => $field) { - $attributes[$code] = [ - 'attribute_code' => $code, - 'backend_type' => $field['DATA_TYPE'], - 'is_required' => ($field['PRIMARY'] || $field['IDENTITY']), - 'default_value' => $field['DEFAULT'], - 'input' => '', - ]; - } - - return $attributes; - } - - /** - * Retrieve connection to resource specified by $resourceName. - * - * @param string $resourceName - * @return \Exception|false|\Magento\Framework\DB\Adapter\AdapterInterface - */ - protected function getConnection($resourceName) - { - try { - $connection = $this->resource->getConnection($resourceName); - return $connection; - } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; - return $e; - } - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/SchemaXml.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/SchemaXml.php deleted file mode 100644 index 6d1d5b6f4b349..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/SchemaXml.php +++ /dev/null @@ -1,176 +0,0 @@ -objectManager = $objectManager; - $this->fieldsProvider = $this->objectManager->create(\Magento\Mtf\Util\Generate\Fixture\FieldsProvider::class); - $this->dom = new \DOMDocument('1.0'); - $this->dom->load(dirname(__FILE__) . '/template.xml'); - $this->dom->preserveWhiteSpace = false; - $this->dom->formatOutput = true; - } - - /** - * Launch Fixture generators. - * - * @return void - */ - public function launch() - { - $options = getopt('', ['type:', 'name:', 'entity_type:', 'collection:', 'help']); - $checkKeyExists = count(array_diff($this->requiredFields, array_keys($options))); - - if (empty($options) || isset($options['help']) || $checkKeyExists > 0) { - $this->getHelp(); - } - $config['type'] = empty($options['type']) ? 'flat' : $options['type']; - if ($config['type'] === 'composite') { - $options['entities'] = explode(',', $options['entity_type']); - unset($options['entity_type']); - } - $config = array_merge($config, $options); - - $this->generate($config); - } - - /** - * Generate Fixtures XML. - * - * @param array $config - * @return void - */ - public function generate(array $config) - { - if (!$this->fieldsProvider->checkConnection()) { - return; - } - - $this->generateFixtureXml($config); - } - - /** - * Generate fixtures XML definition files. - * - * @param array $config - * @return void - */ - protected function generateFixtureXml(array $config) - { - $classShortName = ucfirst($config['name']); - $fileName = $classShortName . '.xml'; - $collection = explode('\\', $config['collection']); - $collection = array_values(array_filter($collection)); - $path = $collection[0] . '\\' . $collection[1] . '\Test\Fixture\\'; - $module = $collection[0] . '_' . $collection[1]; - $repositoryClass = $collection[0] . '\\' . $collection[1] . '\Test\Repository\\' . $classShortName; - $handlerInterface = $collection[0] . '\\' . $collection[1] . '\Test\Handler\\'; - $handlerInterface .= $classShortName . '\\' . $classShortName . 'Interface'; - $fixtureClass = $path . $classShortName; - $folderName = MTF_TESTS_PATH . $path; - $pathToFile = str_replace('\\', DIRECTORY_SEPARATOR, $folderName . $fileName); - if (file_exists($pathToFile)) { - echo "Fixture with name ($pathToFile) already exists.\n"; - return; - } - if (!is_dir($folderName)) { - mkdir($folderName, 0777, true); - } - - /** @var \DOMElement $root */ - $root = $this->dom->getElementsByTagName('config')->item(0); - - $fixture = $this->dom->createElement('fixture'); - $fixture->setAttribute('name', $config['name']); - $fixture->setAttribute('module', $module); - $fixture->setAttribute('type', $config['type']); - $fixture->setAttribute('collection', implode('\\', $collection)); - $fixture->setAttribute('repository_class', $repositoryClass); - $fixture->setAttribute('handler_interface', $handlerInterface); - $fixture->setAttribute('class', $fixtureClass); - if (isset($config['entity_type'])) { - $fixture->setAttribute('entity_type', $config['entity_type']); - } - $root->appendChild($fixture); - - $fields = $this->fieldsProvider->getFields($config); - foreach ($fields as $fieldName => $fieldValue) { - $field = $this->dom->createElement('field'); - $field->setAttribute('name', $fieldName); - $field->setAttribute('is_required', (int)$fieldValue['is_required']); - $fixture->appendChild($field); - } - - file_put_contents($pathToFile, str_replace(' ', ' ', $this->dom->saveXML())); - } - - /** - * Prints help info and stops code execution. - * - * @SuppressWarnings(PHPMD) - */ - protected function getHelp() - { - echo <<|||\t\tTable type for the entity\tDefault: flat - --name\t\t\t\t\t\t\tName of generated class - --entity_type\t|\tDatabase table name where entity data is stored - --collection\t\t\t\t\tCollection to generate data sets\tNOTE: All backslashes must be escaped - --help\t\tThis help - - name, entity_type, collection - required fields - -TAG; - exit(0); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/template.xml b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/template.xml deleted file mode 100644 index 9c03c3f6236ba..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Fixture/template.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/RepositoryResource.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/RepositoryResource.php deleted file mode 100644 index ccf7b0bb26dcc..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/RepositoryResource.php +++ /dev/null @@ -1,46 +0,0 @@ -_mainTable = $fixture['entity_type']; - } - - /** - * Load an object - * - * @param \Magento\Framework\Model\AbstractModel $object - * @param mixed $value - * @param null $field - * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb|void - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function load(\Magento\Framework\Model\AbstractModel $object, $value, $field = null) - { - // forbid using resource model - } - - /** - * Resource initialization - */ - protected function _construct() - { - // - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/TableCollection.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/TableCollection.php deleted file mode 100644 index 0fba35232886b..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Repository/TableCollection.php +++ /dev/null @@ -1,59 +0,0 @@ -setModel(\Magento\Framework\DataObject::class); - $this->setResourceModel(\Magento\Mtf\Util\Generate\Repository\RepositoryResource::class); - - $resource = $this->getResource(); - $resource->setFixture($fixture); - - parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager, $connection, $resource); - } - - /** - * Get resource instance - * - * @return \Magento\Mtf\Util\Generate\Repository\RepositoryResource - */ - public function getResource() - { - return parent::getResource(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/ModuleResolver/SequenceSorter.php b/dev/tests/functional/lib/Magento/Mtf/Util/ModuleResolver/SequenceSorter.php deleted file mode 100644 index 507d6bd362c81..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/ModuleResolver/SequenceSorter.php +++ /dev/null @@ -1,48 +0,0 @@ -getModuleSequence()); - foreach ($modules as $module) { - foreach ($paths as $key => $path) { - $modulePath = realpath(MTF_TESTS_PATH . str_replace('_', DIRECTORY_SEPARATOR, $module)); - $path = realpath($path); - if (!empty($modulePath) && strpos($path, $modulePath) !== false) { - $sortedPaths[] = $path; - unset($paths[$key]); - } - } - } - $sortedPaths = array_merge($sortedPaths, $paths); - - return $sortedPaths; - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php deleted file mode 100644 index 5999b52141f05..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php +++ /dev/null @@ -1,189 +0,0 @@ -transport = $transport; - $this->configuration = $configuration; - $this->authorize(); - } - - /** - * Authorize customer on backend. - * - * @throws \Exception - * @return void - */ - protected function authorize() - { - // There are situations where magento application backend url could be slightly different from the environment - // variable we know. It could be intentionally (e.g. InstallTest) or unintentionally. We would still want tests - // to run in this case. - // When the original app_backend_url does not work, we will try 4 variants of the it. i.e. with and without - // url rewrite, http and https. - $urls = []; - $originalUrl = rtrim($_ENV['app_backend_url'], '/') . '/'; - $urls[] = $originalUrl; - // It could be the case that the page needs a refresh, so we will try the original one twice. - $urls[] = $originalUrl; - if (strpos($originalUrl, '/index.php') !== false) { - $url2 = str_replace('/index.php', '', $originalUrl); - } else { - $url2 = $originalUrl . 'index.php/'; - } - $urls[] = $url2; - if (strpos($originalUrl, 'https') !== false) { - $urls[] = str_replace('https', 'http', $originalUrl); - $urls[] = str_replace('https', 'http', $url2); - } else { - $urls[] = str_replace('http', 'https', $originalUrl); - $urls[] = str_replace('http', 'https', $url2); - } - - $isAuthorized = false; - foreach ($urls as $url) { - try { - // Perform GET to backend url so form_key is set - $this->transport->write($url, [], CurlInterface::GET); - $this->read(); - - $authUrl = $url . $this->configuration->get('application/0/backendLoginUrl/0/value'); - $data = [ - 'login[username]' => $this->configuration->get('application/0/backendLogin/0/value'), - 'login[password]' => $this->configuration->get('application/0/backendPassword/0/value'), - 'form_key' => $this->formKey, - ]; - - $this->transport->write($authUrl, $data, CurlInterface::POST); - $response = $this->read(); - if (strpos($response, 'login-form') !== false) { - continue; - } - $isAuthorized = true; - $_ENV['app_backend_url'] = $url; - break; - } catch (\Exception $e) { - continue; - } - } - if ($isAuthorized == false) { - // phpcs:ignore Magento2.Exceptions.DirectThrow - throw new \Exception('Admin user cannot be logged in by curl handler!'); - } - } - - /** - * Init Form Key from response. - * - * @return void - */ - protected function initFormKey() - { - preg_match('!var FORM_KEY = \'(\w+)\';!', $this->response, $matches); - if (!empty($matches[1])) { - $this->formKey = $matches[1]; - } - } - - /** - * Send request to the remote server. - * - * @param string $url - * @param mixed $params - * @param string $method - * @param mixed $headers - * @return void - * @throws \Exception - */ - public function write($url, $params = [], $method = CurlInterface::POST, $headers = []) - { - if ($this->formKey) { - $params['form_key'] = $this->formKey; - } else { - // phpcs:ignore Magento2.Exceptions.DirectThrow - throw new \Exception(sprintf('Form key is absent! Url: "%s" Response: "%s"', $url, $this->response)); - } - $this->transport->write($url, http_build_query($params), $method, $headers); - } - - /** - * Read response from server. - * - * @return string - */ - public function read() - { - $this->response = $this->transport->read(); - $this->initFormKey(); - return $this->response; - } - - /** - * Add additional option to cURL. - * - * @param int $option the CURLOPT_* constants - * @param mixed $value - * @return void - */ - public function addOption($option, $value) - { - $this->transport->addOption($option, $value); - } - - /** - * Close the connection to the server. - * - * @return void - */ - public function close() - { - $this->transport->close(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/FrontendDecorator.php b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/FrontendDecorator.php deleted file mode 100644 index 0a8db19afe971..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/FrontendDecorator.php +++ /dev/null @@ -1,161 +0,0 @@ -transport = $transport; - $this->authorize($customer); - } - - /** - * Authorize customer on frontend. - * - * @param Customer $customer - * @throws \Exception - * @return void - */ - protected function authorize(Customer $customer) - { - $url = $_ENV['app_frontend_url'] . 'customer/account/login/'; - $this->transport->write($url, [], CurlInterface::GET); - $this->read(); - $url = $_ENV['app_frontend_url'] . 'customer/account/loginPost/'; - $data = [ - 'login[username]' => $customer->getEmail(), - 'login[password]' => $customer->getPassword(), - 'form_key' => $this->formKey, - ]; - $this->transport->write($url, $data, CurlInterface::POST, ['Set-Cookie:' . $this->cookies]); - $response = $this->read(); - if (strpos($response, 'customer/account/login') !== false) { - throw new \Exception($customer->getFirstname() . ', cannot be logged in by curl handler!'); - } - } - - /** - * Init Form Key from response. - * - * @return void - */ - protected function initFormKey() - { - $str = substr($this->response, strpos($this->response, 'form_key')); - preg_match('/value="(.*)" \/>/', $str, $matches); - if (!empty($matches[1])) { - $this->formKey = $matches[1]; - } - } - - /** - * Init Cookies from response. - * - * @return void - */ - protected function initCookies() - { - preg_match_all('|Set-Cookie: (.*);|U', $this->response, $matches); - if (!empty($matches[1])) { - $this->cookies = implode('; ', $matches[1]); - } - } - - /** - * Send request to the remote server. - * - * @param string $url - * @param mixed $params - * @param string $method - * @param mixed $headers - * @return void - */ - public function write($url, $params = [], $method = CurlInterface::POST, $headers = []) - { - if ($this->formKey) { - $params['form_key'] = $this->formKey; - } - $headers = ['Set-Cookie:' . $this->cookies]; - $this->transport->write($url, http_build_query($params), $method, $headers); - } - - /** - * Read response from server. - * - * @return string - */ - public function read() - { - $this->response = $this->transport->read(); - $this->initCookies(); - $this->initFormKey(); - return $this->response; - } - - /** - * Add additional option to cURL. - * - * @param int $option the CURLOPT_* constants - * @param mixed $value - * @return void - */ - public function addOption($option, $value) - { - $this->transport->addOption($option, $value); - } - - /** - * Close the connection to the server. - * - * @return void - */ - public function close() - { - $this->transport->close(); - } -} diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/WebapiDecorator.php b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/WebapiDecorator.php deleted file mode 100644 index df5ab45a3f96d..0000000000000 --- a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/WebapiDecorator.php +++ /dev/null @@ -1,252 +0,0 @@ -objectManager = $objectManager; - $this->transport = $transport; - $this->configuration = $configuration; - $this->fixtureFactory = $fixtureFactory; - - $this->init(); - } - - /** - * Init integration account. - * - * @return void - */ - protected function init() - { - $integrationToken = $this->configuration->get(self::CONFIG_TOKEN_PATH); - - if (null === $integrationToken || !$this->isValidIntegration()) { - $this->disableSecretKey(); - /** @var \Magento\Integration\Test\Fixture\Integration $integration */ - $integration = $this->fixtureFactory->create( - \Magento\Integration\Test\Fixture\Integration::class, - ['dataset' => 'default_active'] - ); - $integration->persist(); - - $this->setConfiguration($integration); - $this->webapiToken = $integration->getToken(); - } else { - $this->webapiToken = $integrationToken; - } - } - - /** - * Disable secret key before creating and activating integration. - * - * @return void - */ - protected function disableSecretKey() - { - $config = $this->fixtureFactory->create( - \Magento\Config\Test\Fixture\ConfigData::class, - ['dataset' => 'secret_key_disable'] - ); - $config->persist(); - } - - /** - * Set integration data to configuration file. - * - * @param Integration $integration - * @return void - */ - protected function setConfiguration(Integration $integration) - { - $fileConfig = MTF_BP . '/etc/config.xml'; - $dom = new \DOMDocument(); - if (!file_exists($fileConfig)) { - copy(MTF_BP . '/etc/config.xml.dist', $fileConfig); - } - $dom->load($fileConfig); - - $webapiToken = (new \DOMXPath($dom))->query('//config/handler/webapi/token')->item(0); - if ($webapiToken) { - $webapiToken->nodeValue = $integration->getToken(); - } else { - $webapi = (new \DOMXPath($dom))->query('//config/handler/webapi')->item(0); - $webapi->appendChild($dom->createElement('token', $integration->getToken())); - } - - $dom->save($fileConfig); - $this->configuration = $this->objectManager->create(\Magento\Mtf\Config\DataInterface::class); - } - - /** - * Check ability access to webapi. - * - * @return bool - */ - protected function isValidIntegration() - { - $url = rtrim($_ENV['app_frontend_url'], '/'); - if (strpos($url, 'index.php') === false) { - $url .= '/index.php/rest/V1/modules'; - } else { - $url .= '/rest/V1/modules'; - } - $this->write($url, [], CurlInterface::GET); - $response = json_decode($this->read(), true); - - return (null !== $response) && !isset($response['message']); - } - - /** - * Send request to the remote server. - * - * @param string $url - * @param array $params - * @param string $method - * @param array $headers - * @return void - */ - public function write($url, $params = [], $method = CurlInterface::POST, $headers = []) - { - $headers = array_merge( - ['Authorization: Bearer ' . $this->configuration->get(self::CONFIG_TOKEN_PATH)], - $this->headers, - $headers - ); - - $this->transport->write($url, json_encode($params), $method, $headers); - } - - /** - * Read response from server. - * - * @return string - */ - public function read() - { - $this->response = $this->transport->read(); - return $this->response; - } - - /** - * Add additional option to cURL. - * - * @param int $option the CURLOPT_* constants - * @param mixed $value - * @return void - */ - public function addOption($option, $value) - { - $this->transport->addOption($option, $value); - } - - /** - * Close the connection to the server. - * - * @return void - */ - public function close() - { - $this->transport->close(); - } - - /** - * Return webapiToken. - * - * @return string - */ - public function getWebapiToken() - { - // Request token if integration is no longer valid - if (!$this->isValidIntegration()) { - $this->init(); - } - return $this->webapiToken; - } -} diff --git a/dev/tests/functional/phpunit.xml.dist b/dev/tests/functional/phpunit.xml.dist deleted file mode 100644 index 9db6a0f22a9b1..0000000000000 --- a/dev/tests/functional/phpunit.xml.dist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - tests - - - - - - - - - - - - - - var/allure-results - false - - - ZephyrId - - - Group - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages.php b/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages.php deleted file mode 100644 index 8aed964e7b005..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages.php +++ /dev/null @@ -1,52 +0,0 @@ -_rootElement->isVisible()) { - $this->_rootElement->find($this->closePopup)->click(); - } - } - - /** - * Get pop up text. - * - * @return string - */ - public function getPopupText() - { - return $this->_rootElement->find($this->popupText, Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages/System.php b/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages/System.php deleted file mode 100644 index 4817a4fbf25e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/Block/System/Messages/System.php +++ /dev/null @@ -1,25 +0,0 @@ -_rootElement->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/AdminNotification/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 99bd9c6d9d220..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdminNotification/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - System > Notifications - Notifications - - - - diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertExportAdvancedPricing.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertExportAdvancedPricing.php deleted file mode 100644 index c92563c1ca5bd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertExportAdvancedPricing.php +++ /dev/null @@ -1,121 +0,0 @@ -adminExportIndex = $adminExportIndex; - $this->adminExportIndex->open(); - $this->exportData = $export->getLatest(); - foreach ($products as $product) { - $regexps = $this->prepareRegexpsForCheck($exportedFields, $product); - \PHPUnit\Framework\Assert::assertTrue( - $this->isProductDataExists($regexps), - 'A product with name ' . $product->getName() . ' was not found in exported file.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'A product(s) with correct data was found in exported file.'; - } - - /** - * Prepare regular expressions for product data in exported file. - * - * @param array $fields - * @param InjectableFixture $product - * @return array - */ - private function prepareRegexpsForCheck( - array $fields, - InjectableFixture $product - ) { - $regexpsForCheck = []; - $tierPrices = count($product->getData()['tier_price']); - for ($i = 0; $i < $tierPrices; $i++) { - $regexp = '/'; - foreach ($fields as $field) { - if (strpos($field, 'tier_price') !== false) { - $replace = ($field == 'tier_price' || $field == 'tier_price_qty') ? 'tier_' : 'tier_price_'; - $regexp .= preg_replace( - '/[\[\]]/', - '.*', - '.*(' . $product->getData()['tier_price'][$i][str_replace($replace, '', $field)] . ')' - ); - } else { - $regexp .= '.*(' . $product->getData($field) . ').*'; - } - } - $regexp .= '/U'; - - $regexpsForCheck[] = $regexp; - } - - return $regexpsForCheck; - } - - /** - * Check product data existing in exported file. - * - * @param array $data - * @return bool - */ - private function isProductDataExists(array $data) - { - foreach ($data as $regexp) { - preg_match($regexp, $this->exportData->getContent(), $matches); - if (empty($matches)) { - return false; - } - } - - return true; - } -} diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertImportAdvancedPricing.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertImportAdvancedPricing.php deleted file mode 100644 index 6119dd0cbc891..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Constraint/AssertImportAdvancedPricing.php +++ /dev/null @@ -1,133 +0,0 @@ - 'sku', - 'tier_price' => 'price', - 'tier_price_qty' => 'price_qty', - 'tier_price_website' => 'website', - 'tier_price_customer_group' => 'customer_group', - 'tier_price_value_type' => 'value_type' - ]; - - /** - * Edit page on backend. - * - * @var CatalogProductEdit - */ - private $catalogProductEdit; - - /** - * Import fixture. - * - * @var ImportData - */ - private $import; - - /** - * Assert imported advanced prices are correct. - * - * @param CatalogProductEdit $catalogProductEdit - * @param ImportData $import - * @return void - */ - public function processAssert( - CatalogProductEdit $catalogProductEdit, - ImportData $import - ) { - $this->catalogProductEdit = $catalogProductEdit; - $this->import = $import; - - $resultArrays = $this->getPreparePrices(); - - \PHPUnit\Framework\Assert::assertEquals( - $resultArrays['pageData'], - $resultArrays['csvData'], - 'Tier prices from page and csv are not match.' - ); - } - - /** - * Prepare arrays for compare. - * - * @return array - */ - private function getPreparePrices() - { - $products = $this->import->getDataFieldConfig('import_file')['source']->getEntities(); - - // Prepare tier prices data from page form. - $resultProductArray = []; - foreach ($products as $product) { - $this->catalogProductEdit->open(['id' => $product->getId()]); - $advancedPricing = $this->catalogProductEdit->getProductForm()->openSection('advanced-pricing') - ->getSection('advanced-pricing'); - $tierPrices = $advancedPricing->getTierPriceForm()->getFieldsData(); - $productSku = $product->getSku(); - foreach ($tierPrices as $tierPrice) { - $resultProductArray[$productSku][] = $tierPrice; - } - } - - // Prepare tier prices data from csv file. - $resultCsvArray = []; - if ($this->import->getBehavior() !== 'Delete') { - $resultCsvArray = $this->getResultCsv(); - } - - return ['pageData' => $resultProductArray, 'csvData' => $resultCsvArray]; - } - - /** - * Prepare array from csv file. - * - * @return array - */ - private function getResultCsv() - { - $csvData = $this->import->getDataFieldConfig('import_file')['source']->getCsv(); - - $csvKeys = []; - foreach (array_shift($csvData) as $csvKey) { - $csvKeys[] = isset($this->mappingData[$csvKey]) ? $this->mappingData[$csvKey] : $csvKey; - } - - $resultCsvData = []; - foreach ($csvData as $csvRowData) { - $csvRowData = array_combine($csvKeys, $csvRowData); - $sku = $csvRowData['sku']; - unset($csvRowData['sku']); - $resultCsvData[$sku][] = $csvRowData; - } - return $resultCsvData; - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Imported advanced prices are correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Repository/ExportData.xml b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Repository/ExportData.xml deleted file mode 100644 index 53af040cac9e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/Repository/ExportData.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Advanced Pricing - CSV - - - diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.php deleted file mode 100644 index 2e4ffed6ab717..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.php +++ /dev/null @@ -1,263 +0,0 @@ - Export. - * 3. Select Entity Type = Advanced Pricing. - * 4. Fill Entity Attributes data. - * 5. Click "Continue". - * 6. Verify exported *.csv file. - * - * @group ImportExport - * @ZephyrId MAGETWO-46147, MAGETWO-46120, MAGETWO-46152, MAGETWO-48298 - */ -class ExportAdvancedPricingTest extends Injectable -{ - /** - * Test step factory. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Admin export index page. - * - * @var AdminExportIndex - */ - private $adminExportIndex; - - /** - * Configuration data. - * - * @var string - */ - private $configData; - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - private $catalogProductIndex; - - /** - * Cron command - * - * @var Cron - */ - private $cron; - - /** - * Run cron before tests running - * - * @param Cron $cron - * @return void - */ - public function __prepare( - Cron $cron - ) { - $cron->run(); - $cron->run(); - } - - /** - * Injection data. - * - * @param TestStepFactory $stepFactory - * @param FixtureFactory $fixtureFactory - * @param AdminExportIndex $adminExportIndex - * @param CatalogProductIndex $catalogProductIndexPage - * @param Cron $cron - * @return void - */ - public function __inject( - TestStepFactory $stepFactory, - FixtureFactory $fixtureFactory, - AdminExportIndex $adminExportIndex, - CatalogProductIndex $catalogProductIndexPage, - Cron $cron - ) { - $this->stepFactory = $stepFactory; - $this->fixtureFactory = $fixtureFactory; - $this->adminExportIndex = $adminExportIndex; - $this->catalogProductIndex = $catalogProductIndexPage; - $this->cron = $cron; - } - - /** - * Runs Export Advanced Pricing test. - * - * @param string $exportData - * @param array $products - * @param string|null $configData - * @param Website|null $website - * @param array $advancedPricingAttributes - * @param string|null $currencyCustomWebsite - * @return array - */ - public function test( - $exportData, - array $products = [], - $configData = null, - Website $website = null, - array $advancedPricingAttributes = [], - $currencyCustomWebsite = null - ) { - $this->configData = $configData; - - if ($this->configData) { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - } - - if ($website) { - $website->persist(); - $this->setupCurrencyForCustomWebsite($website, $currencyCustomWebsite); - } - $this->cron->run(); - $this->cron->run(); - $products = $this->prepareProducts($products, $website); - $this->cron->run(); - $this->cron->run(); - $this->adminExportIndex->open(); - $this->adminExportIndex->getExportedGrid()->deleteAllExportedFiles(); - $exportData = $this->fixtureFactory->createByCode( - 'exportData', - [ - 'dataset' => $exportData, - 'data' => [ - 'data_export' => $products[0] - ] - ] - ); - $exportData->persist(); - - $this->adminExportIndex->getExportForm()->fill($exportData, null, $advancedPricingAttributes); - $this->adminExportIndex->getFilterExport()->clickContinue(); - - if (!empty($advancedPricingAttributes)) { - $products = [$products[0]]; - } - $this->cron->run(); - $this->cron->run(); - return [ - 'products' => $products - ]; - } - - /** - * Setup currency of custom website. - * - * @param Website $website - * @param string $currencyDataset - * @return void - */ - private function setupCurrencyForCustomWebsite($website, $currencyDataset) - { - $configFixture = $this->fixtureFactory->createByCode( - 'configData', - [ - 'dataset' => $currencyDataset, - 'data' => [ - 'scope' => [ - 'fixture' => $website, - 'scope_type' => 'website', - 'website_id' => $website->getWebsiteId(), - 'set_level' => 'website', - ] - ] - ] - ); - $configFixture->persist(); - } - - /** - * Prepare products for test. - * - * @param array $products - * @param Website|null $website - * @return array|null - */ - public function prepareProducts(array $products, Website $website = null) - { - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->massaction([], 'Delete', true, 'Select All'); - - if (empty($products)) { - return null; - } - $createdProducts = []; - foreach ($products as $product) { - $data = [ - 'website_ids' => [ - ['websites' => $website] - ] - ]; - if ($website) { - $data['tier_price'] = [ - 'data' => [ - 'website' => $website - ] - ]; - } - - if (isset($product['data'])) { - $data = array_merge($data, $product['data']); - } - - $product = $this->fixtureFactory->createByCode( - $product['fixture'], - [ - 'dataset' => $product['dataset'], - 'data' => $data - ] - ); - $product->persist(); - $createdProducts[] = $product; - } - - return $createdProducts; - } - - /** - * Revert settings to the default value. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'price_scope_website', 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.xml b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.xml deleted file mode 100644 index 07646c2aceda8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ExportAdvancedPricingTest.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - csv_with_advanced_pricing - - - - - csv_with_advanced_pricing - - catalogProductSimple - simple_with_tier_price - - - sku - tier_price_website - tier_price_customer_group - tier_price_qty - tier_price - - - - - csv_with_advanced_pricing - - catalogProductSimple - simple_with_tier_price - - - catalogProductSimple - simple_with_tier_price - - - sku - - - sku - tier_price_website - tier_price_customer_group - tier_price_qty - tier_price - - - - - price_scope_website - csv_with_advanced_pricing - - catalogProductSimple - simple_with_tier_price - - custom_website - config_currency_custom_website_eur - - $ - - - - sku - tier_price_website - tier_price_customer_group - tier_price_qty - tier_price - - - - - diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataNegativeTest.xml b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataNegativeTest.xml deleted file mode 100644 index db992e662d817..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataNegativeTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - severity:S1 - - - Value for 'tier_price' attribute - in row(s): 1 - - - - Advanced Pricing - Add/Update - Stop on Error - 1 - , - , - - - catalogProductSimple::default - - - Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_incorrect - 1 - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataTest.xml b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataTest.xml deleted file mode 100644 index bb8eb2049d11d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/TestCase/ImportDataTest.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - MAGETWO-66134: [Export/Import] Advanced Pricing import works incorrect - - Advanced Pricing - Add/Update - Stop on Error - 10 - , - , - - - catalogProductSimple::johndoe_with_addresses - - - Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_1 - 2 - - - - - - - - MAGETWO-66134: [Export/Import] Advanced Pricing import works incorrect - - Advanced Pricing - Replace - Stop on Error - 10 - , - , - - - catalogProductSimple::simple_with_tier_price_and_qty_10 - - - Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_2 - 1 - - - - - - - - MAGETWO-66134: [Export/Import] Advanced Pricing import works incorrect - - Advanced Pricing - Delete - Stop on Error - 10 - , - , - - - catalogProductSimple::simple_with_one_fixed_tier_price - - - Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_3 - 1 - - - - - - - - MAGETWO-66134: [Export/Import] Advanced Pricing import works incorrect - true - price_scope_website - true - - Advanced Pricing - Replace - Stop on Error - 10 - , - , - - - catalogProductSimple::default_in_custom_website_and_main_website - - - Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_4 - 2 - EUR - USD - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_incorrect.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_incorrect.php deleted file mode 100644 index e728a87616392..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_incorrect.php +++ /dev/null @@ -1,26 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '3', - 'tier_price' => 'text', - 'tier_price_value_type' => 'Fixed', - ], - 'data_1' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '3', - 'tier_price' => 'text', - 'tier_price_value_type' => 'Fixed', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_1.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_1.php deleted file mode 100644 index f5a0d58980b5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_1.php +++ /dev/null @@ -1,26 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => "NOT LOGGED IN", - 'tier_price_qty' => '10', - 'tier_price' => '9.00', - 'tier_price_value_type' => 'Fixed', - ], - 'data_1' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => 'General', - 'tier_price_qty' => '10', - 'tier_price' => '8.00', - 'tier_price_value_type' => 'Fixed', - ] - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_2.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_2.php deleted file mode 100644 index 1bcaebeb9ac3a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_2.php +++ /dev/null @@ -1,18 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '10', - 'tier_price' => '8.00', - 'tier_price_value_type' => 'Fixed', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_3.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_3.php deleted file mode 100644 index bbefd72c05fa9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_3.php +++ /dev/null @@ -1,18 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'tier_price_website' => "All Websites [USD]", - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '95', - 'tier_price' => '5.00', - 'tier_price_value_type' => 'Fixed', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_4.php b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_4.php deleted file mode 100644 index b0d60e3d5617e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/_files/template/pricing/advanced_price_variation_4.php +++ /dev/null @@ -1,27 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'tier_price_website' => 'base', - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '95', - 'tier_price' => '5.00', - 'tier_price_value_type' => 'Fixed', - - ], - 'data_1' => [ - 'sku' => '%sku%', - 'tier_price_website' => '%code%', - 'tier_price_customer_group' => 'ALL GROUPS', - 'tier_price_qty' => '95', - 'tier_price' => '5.00', - 'tier_price_value_type' => 'Fixed', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/etc/di.xml deleted file mode 100644 index baaeaf1586d63..0000000000000 --- a/dev/tests/functional/tests/app/Magento/AdvancedPricingImportExport/Test/etc/di.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - S1 - - - - - - advancedPricing - - - - - - Magento\Mtf\Util\Command\File\AdvancedPricingExport - - - - - - advanced_pricing.*?\.csv - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/Adminhtml/Dashboard/AdvancedReporting/ReportsSectionBlock.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/Adminhtml/Dashboard/AdvancedReporting/ReportsSectionBlock.php deleted file mode 100644 index 1c7edaaac86f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/Adminhtml/Dashboard/AdvancedReporting/ReportsSectionBlock.php +++ /dev/null @@ -1,31 +0,0 @@ -_rootElement->find($this->advancedReportingButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/System/Config/AnalyticsForm.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/System/Config/AnalyticsForm.php deleted file mode 100644 index 07b62a9518ae4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Block/System/Config/AnalyticsForm.php +++ /dev/null @@ -1,158 +0,0 @@ - td.value > p > span'; - - /** - * @var string - */ - private $submitButton = '#save'; - - /** - * @var string - */ - private $analyticsVertical = '#analytics_general_vertical'; - - /** - * @var string - */ - private $analyticsVerticalScope = '#row_analytics_general_vertical span[data-config-scope="[WEBSITE]"]'; - - /** - * @var string - */ - private $sendDataTimeHh = '#row_analytics_general_collection_time > td.value > select:nth-child(2)'; - - /** - * @var string - */ - private $sendDataTimeMm = '#row_analytics_general_collection_time > td.value > select:nth-child(3)'; - - /** - * @var string - */ - private $sendDataTimeSs = '#row_analytics_general_collection_time > td.value > select:nth-child(4)'; - - /** - * @var string - */ - private $timeZone = - '#row_analytics_general_collection_time > td.value > p > span'; - - /** - * @return array|string - */ - public function isAnalyticsEnabled() - { - return $this->_rootElement->find($this->analyticsStatus, Locator::SELECTOR_CSS)->getValue(); - } - - /** - * @param string $state - * @return array|string - */ - public function analyticsToggle($state = 'Enable') - { - return $this->_rootElement->find($this->analyticsStatus, Locator::SELECTOR_CSS, 'select')->setValue($state); - } - - /** - * @return array|string - */ - public function saveConfig() - { - return $this->browser->find($this->submitButton)->click(); - } - - /** - * @return array|string - */ - public function getAnalyticsStatus() - { - return $this->_rootElement->find($this->analyticsStatusLabel, Locator::SELECTOR_CSS)->getText(); - } - - /** - * @param string $vertical - * @return array|string - */ - public function setAnalyticsVertical($vertical) - { - return $this->_rootElement->find($this->analyticsVertical, Locator::SELECTOR_CSS, 'select') - ->setValue($vertical); - } - - /** - * @param string $hh - * @param string $mm - * @return $this - */ - public function setTimeOfDayToSendData($hh, $mm) - { - $this->_rootElement->find($this->sendDataTimeHh, Locator::SELECTOR_CSS, 'select') - ->setValue($hh); - $this->_rootElement->find($this->sendDataTimeMm, Locator::SELECTOR_CSS, 'select') - ->setValue($mm); - return $this; - } - - /** - * @return string - */ - public function getTimeOfDayToSendDate() - { - $hh = $this->_rootElement->find($this->sendDataTimeHh, Locator::SELECTOR_CSS, 'select') - ->getValue(); - $mm = $this->_rootElement->find($this->sendDataTimeMm, Locator::SELECTOR_CSS, 'select') - ->getValue(); - $ss = $this->_rootElement->find($this->sendDataTimeSs, Locator::SELECTOR_CSS, 'select') - ->getValue(); - return sprintf('%s, %s, %s', $hh, $mm, $ss); - } - - /** - * @return mixed - */ - public function getTimeZone() - { - return $this->_rootElement->find($this->timeZone, Locator::SELECTOR_CSS) - ->getText(); - } - - /** - * @return array|string - */ - public function getAnalyticsVertical() - { - return $this->_rootElement->find($this->analyticsVertical, Locator::SELECTOR_CSS)->getValue(); - } - - /** - * @return array|string - */ - public function getAnalyticsVerticalScope() - { - return $this->_rootElement->find($this->analyticsVerticalScope, Locator::SELECTOR_CSS)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertAdvancedReportingPage.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertAdvancedReportingPage.php deleted file mode 100644 index 01617cd1dcc80..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertAdvancedReportingPage.php +++ /dev/null @@ -1,53 +0,0 @@ -browser = $browser; - $this->browser->selectWindow(); - \PHPUnit\Framework\Assert::assertTrue( - $this->browser->waitUntil( - function () use ($advancedReportingLink) { - return ($this->browser->getUrl() === $advancedReportingLink) ? true : null; - } - ), - 'Advanced Reporting Sign Up page was not opened by link.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Advanced Reporting Sign Up page is opened by link'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertBIEssentialsLink.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertBIEssentialsLink.php deleted file mode 100644 index dbeea7083d4f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertBIEssentialsLink.php +++ /dev/null @@ -1,87 +0,0 @@ -browser = $browser; - $count = 0; - $isVisible = false; - do { - try { - $this->browser->selectWindow(); - $isVisible = $this->browser->waitUntil(function () use ($businessIntelligenceLink) { - return ($this->browser->getUrl() === $businessIntelligenceLink) ?: null; - }); - break; - } catch (\Throwable $e) { - $dashboard->open(); - $dashboard->getMenuBlock()->navigate($menuItem, $waitMenuItemNotVisible); - $count++; - } - } while ($count < self::MAX_TRY_COUNT); - - \PHPUnit\Framework\Assert::assertTrue( - $isVisible, - "BI Essentials Sign Up page was not opened by link.\n - Actual link is '{$this->browser->getUrl()}'\n - Expected link is '$businessIntelligenceLink'" - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'BI Essentials Sign Up page is opened by link'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsDisabled.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsDisabled.php deleted file mode 100644 index e793091a819eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsDisabled.php +++ /dev/null @@ -1,48 +0,0 @@ -run(); - - \PHPUnit\Framework\Assert::assertFalse( - (bool)$configAnalytics->getAnalyticsForm()->isAnalyticsEnabled(), - 'Magento Advanced Reporting service is not disabled.' - ); - \PHPUnit\Framework\Assert::assertEquals( - $configAnalytics->getAnalyticsForm()->getAnalyticsStatus(), - 'Subscription status: Disabled', - 'Magento Advanced Reporting service subscription status is not disabled.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Magento Advanced Reporting service is disabled and has Disabled status.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsEnabled.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsEnabled.php deleted file mode 100644 index b26b01477940f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Constraint/AssertConfigAnalyticsEnabled.php +++ /dev/null @@ -1,49 +0,0 @@ -run(); - - \PHPUnit\Framework\Assert::assertTrue( - (bool)$configAnalytics->getAnalyticsForm()->isAnalyticsEnabled(), - 'Magento Advanced Reporting service is not enabled.' - ); - - \PHPUnit\Framework\Assert::assertEquals( - $configAnalytics->getAnalyticsForm()->getAnalyticsStatus(), - 'Subscription status: Pending', - 'Magento Advanced Reporting service subscription status is not pending.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Magento Advanced Reporting service is enabled and has Pending status'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/ConfigAnalytics.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/ConfigAnalytics.xml deleted file mode 100644 index d4a96e588261f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/ConfigAnalytics.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/Dashboard.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/Dashboard.xml deleted file mode 100644 index 8c8e75c03d24d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Page/Adminhtml/Dashboard.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/DefaultTimeZone.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/DefaultTimeZone.xml deleted file mode 100644 index 80d142f8abd60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/DefaultTimeZone.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - 0 - Timezone - Europe/Kiev - - - 0 - Time of day to send data - 01,00,00 - - - - - 0 - Timezone - UTC - - - 0 - Time of day to send data - 02,00,00 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Integration.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Integration.xml deleted file mode 100644 index 0b4f80512f197..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Integration.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - Analytics - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Role.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Role.xml deleted file mode 100644 index 77cc8b5fac038..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/Role.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - RoleName%isolation% - Custom - %current_password% - - Magento_Backend::dashboard - Magento_Backend::stores - Magento_Config::config - Magento_Config::config_general - Magento_Backend::system - Magento_Backend::system_other_settings - Magento_AdminNotification::adminnotification - Magento_AdminNotification::show_list - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/User.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/User.xml deleted file mode 100644 index 13bbb4d1306c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/Repository/User.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - - role::role_without_subscription_permissions - - %current_password% - Active - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.php deleted file mode 100644 index 970ce59ceb5bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.php +++ /dev/null @@ -1,36 +0,0 @@ -open(); - $dashboard->getReportsSectionBlock()->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.xml deleted file mode 100644 index 89c9d9168921f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/AdvancedReportingButtonTest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - mftf_migrated:yes - https://advancedreporting.rjmetrics.com/report - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 8f7b07c8c14c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - mftf_migrated:yes - MAGETWO-97261: Magento\Backend\Test\TestCase\NavigateMenuTest fails on Jenkins - Reports > BI Essentials - false - https://dashboard.rjmetrics.com/v2/magento/signup - - - - mftf_migrated:yes - Reports > Advanced Reporting - false - https://advancedreporting.rjmetrics.com/report - - - - diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestStep/OpenAnalyticsConfigStep.php b/dev/tests/functional/tests/app/Magento/Analytics/Test/TestStep/OpenAnalyticsConfigStep.php deleted file mode 100644 index 1f0a8ff4804a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/TestStep/OpenAnalyticsConfigStep.php +++ /dev/null @@ -1,54 +0,0 @@ -Configuration->General->Analytics->General menu. - */ -class OpenAnalyticsConfigStep implements TestStepInterface -{ - /** - * Dashboard page. - * - * @var Dashboard - */ - private $dashboard; - - /** - * System Config page. - * - * @var SystemConfigEdit - */ - private $systemConfigPage; - - /** - * @param Dashboard $dashboard - * @param SystemConfigEdit $systemConfigPage - */ - public function __construct(Dashboard $dashboard, SystemConfigEdit $systemConfigPage) - { - $this->dashboard = $dashboard; - $this->systemConfigPage = $systemConfigPage; - } - - /** - * Navigate to Stores->Configuration->General->Analytics->General menu. - * - * @return void - */ - public function run() - { - $this->dashboard->open(); - $this->dashboard->getMenuBlock()->navigate('Stores > Configuration'); - $this->systemConfigPage->getForm()->getGroup('analytics', 'general'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Analytics/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Analytics/Test/etc/di.xml deleted file mode 100644 index ac51a3e2b6dd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Analytics/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.php deleted file mode 100644 index 5238ef7601f90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.php +++ /dev/null @@ -1,46 +0,0 @@ -_rootElement->find($this->submit, Locator::SELECTOR_CSS)->click(); - } - - /** - * Wait for Login form is not visible in the page. - * - * @return void - */ - public function waitFormNotVisible() - { - $form = $this->_rootElement; - $this->browser->waitUntil( - function () use ($form) { - return $form->isVisible() ? null : true; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.xml deleted file mode 100644 index e3108e445cadd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Admin/Login.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - login - - - #username - - - #login - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.php deleted file mode 100644 index 4eadc5fbae0fe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.php +++ /dev/null @@ -1,27 +0,0 @@ -_rootElement->find($this->refreshData)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.xml deleted file mode 100644 index e57e70d62b6e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/StoreStats.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Dashboard\Tab\Products - #grid_tab_ordered_products - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products.php deleted file mode 100644 index 98f7e167afd76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products.php +++ /dev/null @@ -1,33 +0,0 @@ -blockFactory->create( - \Magento\Backend\Test\Block\Dashboard\Tab\Products\Ordered::class, - ['element' => $this->browser->find($this->orderedProductsGrid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products/Ordered.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products/Ordered.php deleted file mode 100644 index 0a6d5dd78abdb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Dashboard/Tab/Products/Ordered.php +++ /dev/null @@ -1,53 +0,0 @@ -getName(), - $product->getPrice(), - $product->getCheckoutData()['qty'], - ]; - $rows = []; - foreach ($filter as $value) { - $rows[] = sprintf($this->rowTemplate, $value); - } - $location = $this->location . '[' . implode(' and ', $rows) . ']'; - - return $this->_rootElement->find($location, Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Denied.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Denied.php deleted file mode 100644 index 5b48b5817f4e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Denied.php +++ /dev/null @@ -1,35 +0,0 @@ -_rootElement->find($this->accessDeniedText, Locator::SELECTOR_CSS)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/FormPageActions.php deleted file mode 100644 index af23b6350b37b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/FormPageActions.php +++ /dev/null @@ -1,136 +0,0 @@ -_rootElement->find($this->backButton)->click(); - } - - /** - * Click "Reset" button. - */ - public function reset() - { - $this->waitForElementVisible($this->resetButton); - $this->_rootElement->find($this->resetButton)->click(); - } - - /** - * Click "Save and Continue Edit" button. - */ - public function saveAndContinue() - { - $this->waitForElementVisible($this->saveAndContinueButton); - $this->_rootElement->find($this->saveAndContinueButton)->click(); - $this->waitForElementNotVisible('.popup popup-loading'); - $this->waitForElementNotVisible('.loader'); - } - - /** - * Click "Save" button. - */ - public function save() - { - $this->waitForElementVisible($this->saveButton); - $this->_rootElement->find($this->saveButton)->click(); - $this->waitForElementNotVisible($this->spinner); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $this->waitForElementNotVisible($this->loaderOld, Locator::SELECTOR_XPATH); - } - - /** - * Click "Delete" button. - */ - public function delete() - { - $this->waitForElementNotVisible($this->spinner); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $this->waitForElementNotVisible($this->loaderOld, Locator::SELECTOR_XPATH); - $this->waitForElementVisible($this->deleteButton); - $this->_rootElement->find($this->deleteButton)->click(); - } - - /** - * Check 'Delete' button availability. - * - * @return bool - */ - public function checkDeleteButton() - { - return $this->_rootElement->find($this->deleteButton)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/GridPageActions.php deleted file mode 100644 index aeac61573fe78..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/GridPageActions.php +++ /dev/null @@ -1,48 +0,0 @@ -_rootElement->find($this->addNewButton)->click(); - } - - /** - * Click on "Create Store" button - * - * @return void - */ - public function createStoreGroup() - { - $this->_rootElement->find($this->createStoreButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Menu.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Menu.php deleted file mode 100644 index 9d1a8b18584bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Menu.php +++ /dev/null @@ -1,133 +0,0 @@ -_rootElement; - $menuItems = []; - $counter = 1; - $textSelector = 'a span'; - while ($navigationMenu->find(sprintf($this->parentMenuLevel, $counter))->isVisible()) { - $menuItems[] = strtolower( - $navigationMenu->find(sprintf($this->parentMenuLevel, $counter)) - ->find($textSelector) - ->getText() - ); - $counter++; - } - return $menuItems; - } - - /** - * Open backend page via menu. - * - * @param string $menuItem - * @param bool $waitMenuItemNotVisible - * @return void - * @throws \Exception - */ - public function navigate($menuItem, $waitMenuItemNotVisible = true) - { - $menuChain = array_map('trim', explode('>', $menuItem)); - $mainMenu = $menuChain[0]; - $subMenu = isset($menuChain[1]) ? $menuChain[1] : null; - - // Click on element in main menu - $mainMenuElement = $this->_rootElement->find(sprintf($this->mainMenu, $mainMenu), Locator::SELECTOR_XPATH); - if (!$mainMenuElement->isVisible()) { - throw new \Exception('Main menu item "' . $mainMenu . '" is not visible.'); - } - $mainMenuElement->click(); - - // Click on element in submenu - if ($subMenu === null) { - return; - } - $subMenuSelector = sprintf($this->subMenu, $mainMenu); - $this->waitForElementVisible($subMenuSelector, Locator::SELECTOR_XPATH); - $subMenuItem = $subMenuSelector . sprintf($this->subMenuItem, $subMenu); - $this->waitForElementVisible($subMenuItem, Locator::SELECTOR_XPATH); - // Resolve an issue on with "Offset within element cannot be scrolled into view" on low screen resolution - try { - $this->_rootElement->find($subMenuItem, Locator::SELECTOR_XPATH)->hover(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - } - $this->_rootElement->find($subMenuItem, Locator::SELECTOR_XPATH)->click(); - if ($waitMenuItemNotVisible) { - $this->waitForElementNotVisible($subMenuSelector, Locator::SELECTOR_XPATH); - } - } - - /** - * Check if menu item is visible. - * - * @param string $menuItem - * @return bool - */ - public function isMenuItemVisible($menuItem) - { - $menuChain = array_map('trim', explode('>', $menuItem)); - $mainMenu = $menuChain[0]; - $subMenu = isset($menuChain[1]) ? $menuChain[1] : null; - - $mainMenuElement = $this->_rootElement->find(sprintf($this->mainMenu, $mainMenu), Locator::SELECTOR_XPATH); - if (!$mainMenuElement->isVisible()) { - return false; - } - if ($subMenu === null) { - return true; - } - $mainMenuElement->click(); - - $subMenuSelector = sprintf($this->subMenu, $mainMenu); - $this->waitForElementVisible($subMenuSelector, Locator::SELECTOR_XPATH); - $subMenuItem = $subMenuSelector . sprintf($this->subMenuItem, $subMenu); - return $this->_rootElement->find($subMenuItem, Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Messages.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Messages.php deleted file mode 100644 index 97cbd835de433..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Messages.php +++ /dev/null @@ -1,228 +0,0 @@ -waitForElementVisible($this->successMessage, Locator::SELECTOR_CSS); - } - - /** - * Get all success messages which are present on the page. - * - * @return array - */ - public function getSuccessMessages() - { - $this->waitForElementVisible($this->successMessage); - $elements = $this->_rootElement->getElements($this->successMessage); - - $messages = []; - foreach ($elements as $element) { - $messages[] = $element->getText(); - } - - return $messages; - } - - /** - * Get last success message which is present on the page. - * - * @return string - */ - public function getSuccessMessage() - { - $this->waitForElementVisible($this->successMessage); - - return $this->_rootElement->find($this->lastSuccessMessage)->getText(); - } - - /** - * Wait for element is visible in the page. - * - * @param string $selector - * @param string $strategy - * @return bool|null - */ - public function waitForElementVisible($selector, $strategy = Locator::SELECTOR_CSS) - { - $browser = $this->browser; - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $message = $browser->find($selector, $strategy); - return $message->isVisible() ? true : null; - } - ); - } - - /** - * Get all error message which is present on the page. - * - * @return string - */ - public function getErrorMessage() - { - $this->waitForElementVisible($this->errorMessage); - - return $this->_rootElement->find($this->errorMessage)->getText(); - } - - /** - * Click on link in the message which is present on the page. - * - * @param string $messageType - * @param string $linkText - * @return void - */ - public function clickLinkInMessage($messageType, $linkText) - { - if ($this->isVisibleMessage($messageType)) { - $this->_rootElement - ->find($this->{$messageType . 'Message'}, Locator::SELECTOR_CSS) - ->find(sprintf($this->messageLink, $linkText), Locator::SELECTOR_XPATH) - ->click(); - } - } - - /** - * Check is visible messages. - * - * @param string $messageType - * @return bool - */ - public function isVisibleMessage($messageType) - { - return $this->_rootElement - ->find($this->{$messageType . 'Message'}, Locator::SELECTOR_CSS) - ->isVisible(); - } - - /** - * Check for error message. - * - * @return bool - */ - public function assertErrorMessage() - { - return $this->waitForElementVisible($this->errorMessage, Locator::SELECTOR_CSS); - } - - /** - * Check for success message. - * - * @return bool - */ - public function assertSuccessMessage() - { - return $this->waitForElementVisible($this->successMessage, Locator::SELECTOR_CSS); - } - - /** - * Check for notice message. - * - * @return bool - */ - public function assertNoticeMessage() - { - return $this->waitForElementVisible($this->noticeMessage, Locator::SELECTOR_CSS); - } - - /** - * Get notice message which is present on the page. - * - * @return string - */ - public function getNoticeMessage() - { - $this->waitForElementVisible($this->noticeMessage); - return $this->_rootElement->find($this->noticeMessage)->getText(); - } - - /** - * Get all notice messages which are present on the page. - * - * @return array - */ - public function getNoticeMessages() - { - $this->waitForElementVisible($this->noticeMessage); - $elements = $this->_rootElement->getElements($this->noticeMessage); - - $messages = []; - foreach ($elements as $element) { - $messages[] = $element->getText(); - } - - return $messages; - } - - /** - * Get warning message which is present on the page. - * - * @return string - */ - public function getWarningMessage() - { - $this->waitForElementVisible($this->warningMessage); - return $this->_rootElement->find($this->warningMessage)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Error.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Error.php deleted file mode 100644 index bdd185b21ffb9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Error.php +++ /dev/null @@ -1,25 +0,0 @@ -_rootElement->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Header.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Header.php deleted file mode 100644 index 0c30c7120db5f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Header.php +++ /dev/null @@ -1,112 +0,0 @@ -isLoggedIn()) { - $this->_rootElement->find($this->adminAccountLink)->click(); - $this->_rootElement->find($this->signOutLink)->click(); - $this->waitForElementNotVisible($this->signOutLink); - } - } - - /** - * Get admin account link visibility. - * - * @return bool - */ - public function isLoggedIn() - { - return $this->_rootElement->find($this->adminAccountLink)->isVisible(); - } - - /** - * Search the query text. - * - * @param string $query - * @return void - */ - public function search($query) - { - /** @var GlobalsearchElement $search */ - $search = $this->_rootElement->find($this->searchSelector, Locator::SELECTOR_CSS, 'globalsearch'); - $search->setValue($query); - } - - /** - * Is search result is visible in suggestion dropdown. - * - * @param string $query - * @return bool - */ - public function isSearchResultVisible($query) - { - /** @var GlobalsearchElement $search */ - $search = $this->_rootElement->find($this->searchSelector, Locator::SELECTOR_CSS, 'globalsearch'); - return $search->isExistValueInSearchResult($query); - } - - /** - * Is admin search preview visible in suggestion dropdown. - * - * @param string $query - * @param string $type - * @return bool - */ - public function isAdminSearchPreviewVisible($query, $type) - { - /** @var GlobalsearchElement $search */ - $search = $this->_rootElement->find('searchPreview' . $type, Locator::SELECTOR_ID); - return $search->getText() === $query; - } - - /** - * Navigate to grid of specified type - * - * @param string $type - */ - public function navigateToGrid($type) - { - $this->_rootElement->find('searchPreview' . $type, Locator::SELECTOR_ID)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Main.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Main.php deleted file mode 100644 index 1b9ec5eff42d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Page/Main.php +++ /dev/null @@ -1,73 +0,0 @@ -_rootElement->find($this->revenuePriceBlock)->getText(); - } - - /** - * Get orders report from dashboard. - * - * @param array $argumentsList - * @return array - */ - public function getDashboardOrder(array $argumentsList) - { - $order = []; - foreach ($argumentsList as $argument) { - $selector = sprintf($this->itemSelector, $argument); - $order[strtolower($argument)] = $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText(); - } - return $order; - } - - /** - * Return visibility of graph image on admin dashboard. - * - * @return bool - */ - public function isGraphImageVisible() - { - return $this->_rootElement->find($this->graphImage)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/PageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/PageActions.php deleted file mode 100644 index c7728e3aeb1f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/PageActions.php +++ /dev/null @@ -1,19 +0,0 @@ -baseUrl = $this->getBrowserUrl(); - if (substr($this->baseUrl, -1) !== '/') { - $this->baseUrl = $this->baseUrl . '/'; - } - - $tabUrl = $this->getTabUrl($tabName); - - if ($this->getBrowserUrl() !== $tabUrl) { - $this->browser->open($tabUrl); - } - $this->waitForElementNotVisible($this->tabReadiness); - - $groupElement = $this->_rootElement->find( - sprintf($this->groupBlock, $tabName, $groupName), - Locator::SELECTOR_CSS - ); - - if (!$groupElement->isVisible()) { - $this->_rootElement->find( - sprintf($this->groupBlockLink, $tabName, $groupName), - Locator::SELECTOR_CSS - )->click(); - - $this->waitForElementNotVisible($this->tabReadiness); - - $groupElement = $this->_rootElement->find( - sprintf($this->groupBlock, $tabName, $groupName), - Locator::SELECTOR_CSS - ); - } - - $blockFactory = Factory::getBlockFactory(); - return $blockFactory->getMagentoBackendSystemConfigFormGroup($groupElement); - } - - /** - * Retrieve url associated with the form. - */ - public function getBrowserUrl() - { - return $this->browser->getUrl(); - } - - /** - * Save store configuration. - */ - public function save() - { - $this->_rootElement->find($this->saveButton, Locator::SELECTOR_CSS)->click(); - } - - /** - * Checks whether secret key is presented in base url and returns menu tab url. - * - * @param string $tabName - * @return string - */ - private function getTabUrl($tabName) - { - $tabIndex = 'index/section/' . $tabName; - if (strpos($this->baseUrl, $tabIndex) !== false) { - return $this->baseUrl; - } - if (strpos($this->baseUrl, '/key/') !== false) { - /* - * Slashes are concatenated to cover case when string 'index' presented in domain name - * or somewhere else in url additionally. - */ - $tabUrl = str_replace('/index/', '/' . $tabIndex . '/', $this->baseUrl); - } elseif (strpos($this->baseUrl, '/edit/') !== false) { - $tabUrl = str_replace('/edit/', '/' . $tabIndex . '/', $this->baseUrl); - } else { - $tabUrl = $this->baseUrl . $tabIndex; - } - - return $tabUrl; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Form/Group.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Form/Group.php deleted file mode 100644 index 686850f506715..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Form/Group.php +++ /dev/null @@ -1,149 +0,0 @@ -_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS - )->getAttribute('data-ui-id'); - - $parts = explode('-', $attribute, 2); - if (in_array($parts[0], ['select', 'text', 'checkbox'])) { - $input = $parts[0]; - } - - $element = $this->_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS, - $input - ); - - if ($element->isDisabled()) { - $checkbox = $this->_rootElement->find( - sprintf($this->defaultCheckbox, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS, - 'checkbox' - ); - $checkbox->setValue('No'); - } - - $element->setValue($value); - } - - /** - * Set store configuration value by element data-ui-id. - * - * @param string $tabName - * @param string $groupName - * @param string $fieldName - * @return array/string - */ - public function getValue($tabName, $groupName, $fieldName) - { - $input = null; - $attribute = $this->_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS - )->getAttribute('data-ui-id'); - - $parts = explode('-', $attribute, 2); - if (in_array($parts[0], ['select', 'text', 'checkbox'])) { - $input = $parts[0]; - } - - $element = $this->_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS, - $input - ); - - if ($element->isDisabled()) { - $checkbox = $this->_rootElement->find( - sprintf($this->defaultCheckbox, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS, - 'checkbox' - ); - $checkbox->setValue('No'); - } - - return $element->getValue(); - } - - /** - * Check if a field is visible in a given group. - * - * @param string $tabName - * @param string $groupName - * @param string $fieldName - * @return bool - */ - public function isFieldVisible($tabName, $groupName, $fieldName) - { - return $this->_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS - )->isVisible(); - } - - /** - * Check if a field is disabled in a given group. - * - * @param string $tabName - * @param string $groupName - * @param string $fieldName - * @return bool - */ - public function isFieldDisabled($tabName, $groupName, $fieldName) - { - return $this->_rootElement->find( - sprintf($this->field, $tabName, $groupName, $fieldName), - Locator::SELECTOR_CSS - )->isDisabled(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/PageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/PageActions.php deleted file mode 100644 index f4729510611a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/PageActions.php +++ /dev/null @@ -1,54 +0,0 @@ -_rootElement->find($this->scopeSelector, Locator::SELECTOR_CSS, 'liselectstore') - ->setValue($websiteScope); - - return $this; - } - - /** - * Check if store is visible in scope dropdown - * - * @param Store $store - * @return bool - */ - public function isStoreVisible($store) - { - $storeViews = $this->_rootElement->find($this->scopeSelector, Locator::SELECTOR_CSS, 'liselectstore') - ->getValues(); - return in_array($store->getGroupId() . "/" . $store->getName(), $storeViews); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Payments.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Payments.php deleted file mode 100644 index 543d44de74295..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Payments.php +++ /dev/null @@ -1,128 +0,0 @@ - Configuration > Sales > Payment Methods page - */ -class Payments extends Block -{ - /** - * Merchant Country selector. - * - * @var string - */ - protected $merchantCountrySelector = "select[id$='_account_merchant_country'] > option[value='%s']"; - - /** - * Solution title(e.g. PayPal Express Checkout, Payments Advanced, etc.) selector - * - * @var string - */ - protected $solutionTitle = './strong[contains(text(), "%s")]'; - - /** - * 'Save Config' button. - * - * @var string - */ - protected $save = "#save"; - - /** - * @param string $countryCode - * @return void - */ - public function switchMerchantCountry($countryCode) - { - $this->_rootElement->find(sprintf($this->merchantCountrySelector, $countryCode))->click(); - } - - /** - * Expand payment methods sections. - * - * @param $sectionId - * @return void - */ - private function expandSection($sectionId) - { - $sectionName = "a[id*={$sectionId}]"; - $section = $this->_rootElement->find($sectionName . '.open'); - if (!$section->isVisible()) { - $this->_rootElement->find($sectionName)->click(); - } - } - - /** - * Find solution in section. - * - * @param $solution - * @return bool - */ - public function findSolution($solution) - { - if ($this->_rootElement->find(sprintf($this->solutionTitle, $solution))) { - return true; - } - return false; - } - - /** - * Check if field is disabled. - * - * @param $fieldId - * @return bool - */ - public function isFieldDisabled($fieldId) - { - $field = $this->_rootElement->find($fieldId); - return $field->isDisabled(); - } - - /** - * Check if field is visible. - * - * @param $fieldId - * @return bool - */ - public function isFieldPresent($fieldId) - { - $field = $this->_rootElement->find($fieldId); - return $field->isVisible(); - } - - /** - * Check if field value is Yes. - * - * @param $fieldId - * @return bool - */ - public function isFieldEnabled($fieldId) - { - return (bool)$this->_rootElement->find($fieldId)->getValue(); - } - - /** - * Expand payment methods sections. - * - * @param array $sections - * @return void - */ - public function expandPaymentSections(array $sections) - { - foreach ($sections as $key => $section) { - $this->expandSection($key); - foreach ($section as $id => $value) { - if (is_array($value)) { - $this->expandSection($id); - } - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Tabs.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Tabs.php deleted file mode 100644 index ba9617db1b502..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Config/Tabs.php +++ /dev/null @@ -1,60 +0,0 @@ - Settings > Configuration page. - */ -class Tabs extends Block -{ - /** - * Top tab selector. - * - * @var string - */ - private $topTab = ".//div[@role='tab' and *[contains(.,'%s')]]"; - - /** - * Selector of block with sub tabs. - * - * @var string - */ - private $subTabs = "./following-sibling::ul"; - - /** - * Selector of specific sub tab name. - * - * @var string - */ - private $subTabName = 'li a span'; - - /** - * Get list of sub tabs names of tab. - * - * @param string $tab - * @return array - */ - public function getSubTabsNames($tab) - { - $subTabsNames = []; - - $topTab = $this->_rootElement->find(sprintf($this->topTab, $tab), Locator::SELECTOR_XPATH); - $subTabsBlock = $topTab->find($this->subTabs, Locator::SELECTOR_XPATH); - - if (!$subTabsBlock->isVisible()) { - $topTab->click(); - } - - foreach ($subTabsBlock->getElements($this->subTabName) as $elements) { - $subTabsNames[] = $elements->getText(); - } - - return $subTabsNames; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.php deleted file mode 100644 index 95216d1de05bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.php +++ /dev/null @@ -1,30 +0,0 @@ -dataMapping($data); - $this->_fill($mapping, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.xml deleted file mode 100644 index 6e0a9091cbc07..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Delete/Form.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - [name="create_backup"] - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.php deleted file mode 100644 index c87a9074fc935..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.php +++ /dev/null @@ -1,35 +0,0 @@ -_rootElement->find(sprintf($this->website, $websiteName), Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.xml deleted file mode 100644 index 17fbf10a18db7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/GroupForm.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - group - - - select - - - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.php deleted file mode 100644 index 65fe273292dc2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.php +++ /dev/null @@ -1,54 +0,0 @@ -_rootElement->find(sprintf($this->store, $name), Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Select store view by name from dropdown - * - * @param string $name - * @return bool - */ - public function selectStore($name) - { - return $this->_rootElement->find($this->storeGroupId, Locator::SELECTOR_XPATH, 'optgroupselect') - ->setValue($name); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.xml deleted file mode 100644 index a6e47f5603515..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/StoreForm.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - store - - - optgroupselect - - - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/WebsiteForm.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/WebsiteForm.php deleted file mode 100644 index 7fc25a1daaf11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/Edit/Form/WebsiteForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - website - - - - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/FormPageActions.php deleted file mode 100644 index 9f8842515620f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/FormPageActions.php +++ /dev/null @@ -1,26 +0,0 @@ -_rootElement->find($this->deleteButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/GridPageActions.php deleted file mode 100644 index 985850949384f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/GridPageActions.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->addStoreViewButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/StoreGrid.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/StoreGrid.php deleted file mode 100644 index 87a3ed048dbb9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/System/Store/StoreGrid.php +++ /dev/null @@ -1,139 +0,0 @@ - a'; - - /** - * Secondary part of row locator template for getRow() method with strict option. - * - * @var string - */ - protected $rowTemplateStrict = '//*[text()[normalize-space()="%s"]]'; - - /** - * Filters array mapping. - * - * @var array - */ - protected $filters = [ - 'store_title' => [ - 'selector' => '#storeGrid_filter_store_title', - ], - 'group_title' => [ - 'selector' => '#storeGrid_filter_group_title', - ], - 'website_title' => [ - 'selector' => '#storeGrid_filter_website_title', - ], - ]; - - /** - * Store title format for XPATH. - * - * @var string - */ - protected $titleFormat = '//td[a[.="%s"]]'; - - /** - * Store name link selector. - * - * @var string - */ - protected $storeName = '//a[.="%s"]'; - - /** - * Check if store exists. - * - * @param string $title - * @return bool - */ - public function isStoreExists($title) - { - $element = $this->_rootElement->find(sprintf($this->titleFormat, $title), Locator::SELECTOR_XPATH); - return $element->isVisible(); - } - - /** - * Check if website exists. - * - * @param Website $website - * @return bool - */ - public function isWebsiteExists($website) - { - return $this->_rootElement->find(sprintf($this->titleFormat, $website->getName()), Locator::SELECTOR_XPATH) - ->isVisible(); - } - - /** - * Search and open appropriate Website. - * - * @param Website $website - * @return void - */ - public function searchAndOpenWebsite(Website $website) - { - $websiteName = $website->getName(); - $this->search(['website_title' => $websiteName]); - $this->_rootElement->find(sprintf($this->storeName, $websiteName), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Search and open appropriate Website by name. - * - * @param string $websiteName - * @return void - */ - public function searchAndOpenWebsiteByName($websiteName) - { - $this->search(['website_title' => $websiteName]); - $this->_rootElement->find(sprintf($this->storeName, $websiteName), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Search and open appropriate Store View. - * - * @param Store $store - * @return void - */ - public function searchAndOpenStore(Store $store) - { - $storeName = $store->getName(); - $this->search(['store_title' => $storeName]); - $this->_rootElement->find(sprintf($this->storeName, $storeName), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Search and open appropriate Store. - * - * @param StoreGroup $storeGroup - * @return void - */ - public function searchAndOpenStoreGroup(StoreGroup $storeGroup) - { - $storeGroupName = $storeGroup->getName(); - $this->search(['group_title' => $storeGroupName]); - $this->_rootElement->find(sprintf($this->storeName, $storeGroupName), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Template.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Template.php deleted file mode 100644 index 3ecbe9afc9e33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Template.php +++ /dev/null @@ -1,49 +0,0 @@ -waitForElementNotVisible($this->spinner); - $this->waitForElementNotVisible($this->loader); - $this->waitForElementNotVisible($this->loaderOld); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Version.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Version.php deleted file mode 100644 index 32c530d2bd01d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Version.php +++ /dev/null @@ -1,28 +0,0 @@ -_rootElement->find($this->backendVersion, Locator::SELECTOR_CLASS_NAME)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/FormTabs.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/FormTabs.php deleted file mode 100644 index d2bff4e5bc9f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/FormTabs.php +++ /dev/null @@ -1,122 +0,0 @@ -containers; - } - - /** - * Get Tab class. - * - * @param string $tabName - * @return Tab - * @throws \Exception - */ - public function getTab($tabName) - { - return $this->getContainer($tabName); - } - - /** - * Fill data into tabs. - * - * @param array $tabsData - * @param SimpleElement $element - * @return $this - */ - protected function fillTabs($tabsData, $element) - { - return $this->fillContainers($tabsData, $element); - } - - /** - * Update form with tabs. - * - * @param FixtureInterface $fixture - * @return FormTabs - */ - public function update(FixtureInterface $fixture) - { - $tabs = $this->getFixtureFieldsByContainers($fixture); - foreach ($tabs as $tab => $tabFields) { - $this->openTab($tab)->setFieldsData($tabFields, $this->_rootElement); - } - return $this; - } - - /** - * {@inheritdoc} - */ - protected function openContainer($tabName) - { - return $this->openTab($tabName); - } - - /** - * Open tab. - * - * @param string $tabName - * @return $this - * @throws \Exception - */ - public function openTab($tabName) - { - $this->browser->find($this->header)->hover(); - if (!$this->isTabVisible($tabName)) { - throw new \Exception( - 'Tab "' . $tabName . '" is not visible.' - ); - } - $this->browser->find($this->header)->hover(); - $this->clickOnTabName($tabName); - $this->browser->find($this->header)->hover(); - - return $this; - } - - /** - * Click on tab name. - * - * @param string $tabName - * @return void - */ - protected function clickOnTabName($tabName) - { - $this->getContainerElement($tabName)->click(); - } - - /** - * Check whether tab is visible. - * - * @param string $tabName - * @return bool - */ - public function isTabVisible($tabName) - { - return $this->getContainerElement($tabName)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Grid.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Grid.php deleted file mode 100644 index 84bbbab5160cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Grid.php +++ /dev/null @@ -1,502 +0,0 @@ -getMagentoBackendTemplate( - $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH) - ); - } - - /** - * Prepare data to perform search, fill in search filter - * - * @param array $filters - * @throws \Exception - */ - protected function prepareForSearch(array $filters) - { - foreach ($filters as $key => $value) { - if (isset($this->filters[$key])) { - $selector = $this->filters[$key]['selector']; - $strategy = isset($this->filters[$key]['strategy']) - ? $this->filters[$key]['strategy'] - : Locator::SELECTOR_CSS; - $typifiedElement = isset($this->filters[$key]['input']) - ? $this->filters[$key]['input'] - : null; - $this->_rootElement->find($selector, $strategy, $typifiedElement)->setValue($value); - } else { - throw new \Exception("Column $key is absent in the grid or not described yet."); - } - } - } - - /** - * Search item via grid filter - * - * @param array $filter - */ - public function search(array $filter) - { - $this->resetFilter(); - $this->prepareForSearch($filter); - $this->_rootElement->find($this->searchButton, Locator::SELECTOR_CSS)->click(); - $this->waitLoader(); - } - - /** - * Search item and open it - * - * @param array $filter - * @throws \Exception - */ - public function searchAndOpen(array $filter) - { - $this->search($filter); - $rowItem = $this->getRow($filter); - if ($rowItem->isVisible()) { - $rowItem->find($this->editLink, Locator::SELECTOR_CSS)->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - $this->waitLoader(); - } - - /** - * Wait loader - * - * @return void - */ - protected function waitLoader() - { - $this->waitForElementNotVisible($this->loader); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Search for item and select it - * - * @param array $filter - * @throws \Exception - */ - public function searchAndSelect(array $filter) - { - $this->search($filter); - $selectItem = $this->getRow($filter)->find($this->selectItem); - if ($selectItem->isVisible()) { - $selectItem->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } - - /** - * Press 'Reset' button - */ - public function resetFilter() - { - $this->waitLoader(); - $this->_rootElement->find($this->resetButton)->click(); - $this->waitLoader(); - } - - /** - * Perform selected massaction over checked items. - * - * @param array $items - * @param array|string $action [array -> key = value from first select; value => value from subselect] - * @param bool $acceptAlert [optional] - * @param string $massActionSelection [optional] - * @return void - */ - public function massaction(array $items, $action, $acceptAlert = false, $massActionSelection = '') - { - if ($this->_rootElement->find($this->noRecords)->isVisible()) { - return; - } - if (!is_array($action)) { - $action = [$action => '-']; - } - foreach ($items as $item) { - $this->searchAndSelect($item); - } - if ($massActionSelection) { - $this->_rootElement->find($this->massactionAction, Locator::SELECTOR_CSS, 'select') - ->setValue($massActionSelection); - } - $actionType = key($action); - $this->_rootElement->find($this->massactionSelect, Locator::SELECTOR_CSS, 'select')->setValue($actionType); - if (isset($action[$actionType]) && $action[$actionType] != '-') { - $this->_rootElement->find($this->option, Locator::SELECTOR_CSS, 'select')->setValue($action[$actionType]); - } - $this->massActionSubmit($acceptAlert); - } - - /** - * Submit mass actions - * - * @param bool $acceptAlert - * @return void - */ - protected function massActionSubmit($acceptAlert) - { - $this->_rootElement->find($this->massactionSubmit, Locator::SELECTOR_CSS)->click(); - if ($acceptAlert) { - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $element] - ); - $modal->acceptAlert(); - } - } - - /** - * Obtain specific row in grid - * - * @param array $filter - * @param bool $isStrict - * @return SimpleElement - */ - protected function getRow(array $filter, $isStrict = true) - { - $rowTemplate = ($isStrict) ? $this->rowTemplateStrict : $this->rowTemplate; - $rows = []; - foreach ($filter as $value) { - if (strpos($value, '"') !== false) { - $rowTemplate = str_replace('"', '', $rowTemplate); - $value = $this->xpathEscape($value); - } - $rows[] = sprintf($rowTemplate, $value); - } - $location = sprintf($this->rowPattern, implode(' and ', $rows)); - return $this->_rootElement->find($location, Locator::SELECTOR_XPATH); - } - - /** - * Get rows data - * - * @param array $columns - * @return array - */ - public function getRowsData(array $columns) - { - $data = []; - do { - $rows = $this->_rootElement->getElements($this->rowItem); - foreach ($rows as $row) { - $rowData = []; - foreach ($columns as $columnName) { - $rowData[$columnName] = trim($row->find('.col-' . $columnName)->getText()); - } - - $data[] = $rowData; - } - } while ($this->nextPage()); - - return $data; - } - - /** - * Check if specific row exists in grid - * - * @param array $filter - * @param bool $isSearchable - * @param bool $isStrict - * @return bool - */ - public function isRowVisible(array $filter, $isSearchable = true, $isStrict = true) - { - $this->waitLoader(); - if ($isSearchable) { - $this->search($filter); - } - - return $this->getRow($filter, $isStrict)->isVisible(); - } - - /** - * Sort grid by field - * - * @param $field - * @param string $sort - */ - public function sortGridByField($field, $sort = "desc") - { - $sortBlock = $this->_rootElement->find(sprintf($this->sortLink, $field, $sort)); - if ($sortBlock->isVisible()) { - $sortBlock->click(); - $this->waitLoader(); - } - } - - /** - * Click to next page action link - * - * @return bool - */ - protected function nextPage() - { - if ($this->_rootElement->find($this->actionNextPageDisabled)->isVisible()) { - return false; - } - $this->_rootElement->find($this->actionNextPage)->click(); - $this->waitLoader(); - return true; - } - - /** - * Check whether first row is visible - * - * @return bool - */ - public function isFirstRowVisible() - { - return $this->_rootElement->find($this->firstRowSelector, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Open first item in grid - * - * @return void - */ - public function openFirstRow() - { - $this->waitLoader(); - $this->_rootElement->find($this->firstRowSelector, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Escape single and/or double quotes in XPath selector by concat() - * - * @param string $query - * @param string $defaultDelim [optional] - * @return string - */ - protected function xpathEscape($query, $defaultDelim = '"') - { - if (strpos($query, $defaultDelim) === false) { - return $defaultDelim . $query . $defaultDelim; - } - preg_match_all("#(?:('+)|[^']+)#", $query, $matches); - list($parts, $apos) = $matches; - $delim = ''; - foreach ($parts as $i => &$part) { - $delim = $apos[$i] ? '"' : "'"; - $part = $delim . $part . $delim; - } - if (count($parts) == 1) { - $parts[] = $delim . $delim; - } - - return 'concat(' . implode(',', $parts) . ')'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Tab.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Tab.php deleted file mode 100644 index 214042ece62cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Block/Widget/Tab.php +++ /dev/null @@ -1,58 +0,0 @@ - js error text. - * - * @return array - */ - public function getJsErrors() - { - $data = []; - $elements = $this->_rootElement->getElements($this->mageErrorField, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $error = $element->find($this->mageErrorText, Locator::SELECTOR_XPATH); - if ($error->isVisible()) { - $label = $element->find($this->mageErrorLabel, Locator::SELECTOR_XPATH)->getText(); - $data[$label] = $error->getText(); - } - } - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertAdminLoginPageIsAvailable.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertAdminLoginPageIsAvailable.php deleted file mode 100644 index 52a498e13e515..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertAdminLoginPageIsAvailable.php +++ /dev/null @@ -1,41 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $adminAuthLogin->getLoginBlock()->isVisible(), - 'Admin session does not expire properly.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Admin session expires properly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBackendPageIsAvailable.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBackendPageIsAvailable.php deleted file mode 100644 index 40048e8cc646c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBackendPageIsAvailable.php +++ /dev/null @@ -1,49 +0,0 @@ -getTitleBlock()->getTitle(), - 'Invalid page title is displayed.' - ); - \PHPUnit\Framework\Assert::assertNotContains( - self::ERROR_TEXT, - $dashboard->getErrorBlock()->getContent(), - "404 Error is displayed on '$pageTitle' page." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Backend has correct title and 404 page content is absent.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBestsellersOnDashboard.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBestsellersOnDashboard.php deleted file mode 100644 index 4e792cd3aedf8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertBestsellersOnDashboard.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - $dashboard->getStoreStatsBlock()->refreshData(); - /** @var \Magento\Backend\Test\Block\Dashboard\Tab\Products\Ordered $bestsellersGrid */ - $bestsellersGrid = $dashboard->getStoreStatsBlock()->getTab('bestsellers')->getBestsellersGrid(); - $products = $order->getEntityId()['products']; - foreach ($products as $product) { - \PHPUnit\Framework\Assert::assertTrue( - $bestsellersGrid->isProductVisible($product), - 'Bestseller ' . $product->getName() . ' is not present in report grid after refresh data.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Bestsellers successfully updated after Refreshing data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertDeveloperSectionVisibility.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertDeveloperSectionVisibility.php deleted file mode 100644 index 4cff4b2a90c17..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertDeveloperSectionVisibility.php +++ /dev/null @@ -1,46 +0,0 @@ -getTabs()->getSubTabsNames('Advanced')), - 'Developer section should be hidden in production mode.' - ); - } else { - \PHPUnit\Framework\Assert::assertTrue( - in_array('Developer', $configEdit->getTabs()->getSubTabsNames('Advanced')), - 'Developer section should be not hidden in developer or default mode.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Developer section has correct visibility.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchCustomerName.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchCustomerName.php deleted file mode 100644 index 842043a585024..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchCustomerName.php +++ /dev/null @@ -1,60 +0,0 @@ -getDataFieldConfig('query')['source']->getEntity(); - $customerName = $customer->getFirstname() . " " . $customer->getLastname(); - $isVisibleInResult = $dashboard->getAdminPanelHeader()->isSearchResultVisible($customerName); - \PHPUnit\Framework\Assert::assertTrue( - $isVisibleInResult, - 'Customer name ' . $customerName . ' is absent in search results' - ); - - $dashboard->getAdminPanelHeader()->navigateToGrid("Customers"); - $isCustomerGridVisible = $customerIndex->getCustomerGridBlock()->isVisible(); - \PHPUnit\Framework\Assert::assertTrue( - $isCustomerGridVisible, - 'Customer grid is not visible' - ); - \PHPUnit\Framework\Assert::assertContains( - (string) $customer->getId(), - $customerIndex->getCustomerGridBlock()->getAllIds(), - 'Customer grid does not have ' . $customerName . ' in search results' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer name is present in search results'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchNoRecordsFound.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchNoRecordsFound.php deleted file mode 100644 index c7cd0f19131ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchNoRecordsFound.php +++ /dev/null @@ -1,47 +0,0 @@ -getAdminPanelHeader()->isSearchResultVisible(self::EXPECTED_RESULT); - \PHPUnit\Framework\Assert::assertTrue( - $isVisibleInResult, - 'Expected text ' . self::EXPECTED_RESULT . ' is absent in search results' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '"No records found." is present in search results'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchOrderId.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchOrderId.php deleted file mode 100644 index 63bf2c9c3a019..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchOrderId.php +++ /dev/null @@ -1,61 +0,0 @@ -getDataFieldConfig('query')['source']->getEntity(); - $orderId = "Order #" . $order->getId(); - $isVisibleInResult = $dashboard->getAdminPanelHeader()->isSearchResultVisible($orderId); - \PHPUnit\Framework\Assert::assertTrue( - $isVisibleInResult, - 'Order Id ' . $order->getId() . ' is absent in search results' - ); - - $dashboard->getAdminPanelHeader()->navigateToGrid("Orders"); - $isOrderGridVisible = $orderIndex->getSalesOrderGrid()->isVisible(); - - \PHPUnit\Framework\Assert::assertTrue( - $isOrderGridVisible, - 'Order grid is not visible' - ); - \PHPUnit\Framework\Assert::assertContains( - (string) $order->getId(), - $orderIndex->getSalesOrderGrid()->getAllIds(), - 'Order grid does not have ' . $order->getId() . ' in search results' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order Id is present in search results'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchPreview.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchPreview.php deleted file mode 100644 index 4f1445cf4e180..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchPreview.php +++ /dev/null @@ -1,60 +0,0 @@ -adminSearchAssert($dashboard, $search, $type); - } - } - - /** - * Assert value of item in admin search preview - * - * @param Dashboard $dashboard - * @param GlobalSearch $search - * @param string $type - */ - private function adminSearchAssert($dashboard, $search, $type) - { - $adminSearchPreview = '"' . $search->getQuery() . '" in '. $type; - $isVisibleInResult = $dashboard->getAdminPanelHeader()->isAdminSearchPreviewVisible($adminSearchPreview, $type); - \PHPUnit\Framework\Assert::assertTrue( - $isVisibleInResult, - 'Search Preview for ' . $type . ' is not in search results' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Search preview is present in search results'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchProductName.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchProductName.php deleted file mode 100644 index 29df5cf456517..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertGlobalSearchProductName.php +++ /dev/null @@ -1,51 +0,0 @@ -getDataFieldConfig('query')['source']->getEntity(); - $product = $entity instanceof OrderInjectable - ? $entity->getEntityId()['products'][0] - : $entity; - $productName = $product->getName(); - $isVisibleInResult = $dashboard->getAdminPanelHeader()->isSearchResultVisible($productName); - - \PHPUnit\Framework\Assert::assertTrue( - $isVisibleInResult, - 'Product name ' . $productName . ' is absent in search results' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product name is present in search results'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpUsedOnFrontend.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpUsedOnFrontend.php deleted file mode 100644 index 7d75db5f0368c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpUsedOnFrontend.php +++ /dev/null @@ -1,91 +0,0 @@ -browser = $browser; - $this->customer = $customer; - $this->customer->persist(); - - // Log in to Customer Account on Storefront to assert that http is used indeed. - $this->objectManager->create(LogInCustomerOnStorefront::class, ['customer' => $this->customer])->run(); - $this->assertUsedProtocol(self::SCHEME_HTTP); - - // Log out from Customer Account on Storefront to assert that JS is deployed validly as a part of statics. - $this->objectManager->create(LogOutCustomerOnStorefront::class)->run(); - $this->assertUsedProtocol(self::SCHEME_HTTP); - } - - /** - * Assert that specified protocol is used on current page. - * - * @param string $expectedProtocol - * @return void - */ - protected function assertUsedProtocol($expectedProtocol) - { - if (substr($expectedProtocol, -3) !== "://") { - $expectedProtocol .= '://'; - } - - \PHPUnit\Framework\Assert::assertStringStartsWith( - $expectedProtocol, - $this->browser->getUrl(), - "$expectedProtocol is not used." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Unsecured URLs are used for Storefront pages.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsAvailable.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsAvailable.php deleted file mode 100644 index 5dd43604408cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsAvailable.php +++ /dev/null @@ -1,77 +0,0 @@ -verifyConfiguration($systemConfigEdit, $hsts); - $this->verifyConfiguration($systemConfigEdit, $upgradeInsecure); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'HTTPS headers configuration verification successfully.'; - } - - /** - * Verify configurations. - * - * @param SystemConfigEdit $systemConfigEdit - * @param ConfigData $config - * @return void - */ - private function verifyConfiguration(SystemConfigEdit $systemConfigEdit, ConfigData $config) - { - $section = $config->getSection(); - $keys = array_keys($section); - foreach ($keys as $key) { - $parts = explode('/', $key, 3); - $tabName = $parts[0]; - $groupName = $parts[1]; - $fieldName = $parts[2]; - try { - $group = $systemConfigEdit->getForm()->getGroup($tabName, $groupName); - $group->setValue($tabName, $groupName, $fieldName, 'Yes'); - $group->setValue($tabName, $groupName, $fieldName, 'No'); - \PHPUnit\Framework\Assert::assertTrue( - true, - $fieldName . " configuration is enabled with options Yes & No." - ); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - \PHPUnit\Framework\Assert::assertFalse( - true, - $fieldName . " configuration is not enabled with options Yes & No." - ); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsNotAvailable.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsNotAvailable.php deleted file mode 100644 index ef6a5821733cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsHeaderOptionsNotAvailable.php +++ /dev/null @@ -1,71 +0,0 @@ -verifyConfiguration($systemConfigEdit, $hsts); - $this->verifyConfiguration($systemConfigEdit, $upgradeInsecure); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'HTTPS headers not visible verification successfully.'; - } - - /** - * Verify configurations. - * - * @param SystemConfigEdit $systemConfigEdit - * @param ConfigData $config - * @return void - */ - private function verifyConfiguration( - SystemConfigEdit $systemConfigEdit, - ConfigData $config - ) { - $section = $config->getSection(); - $keys = array_keys($section); - foreach ($keys as $key) { - $parts = explode('/', $key, 3); - $tabName = $parts[0]; - $groupName = $parts[1]; - $fieldName = $parts[2]; - $isVisible = $systemConfigEdit->getForm()->getGroup($tabName, $groupName) - ->isFieldVisible($tabName, $groupName, $fieldName); - \PHPUnit\Framework\Assert::assertTrue( - !$isVisible, - $fieldName . " configuration is not visible." - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsUsedOnBackend.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsUsedOnBackend.php deleted file mode 100644 index cc64e4a4c7299..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertHttpsUsedOnBackend.php +++ /dev/null @@ -1,93 +0,0 @@ -browser = $browser; - - // Open specified Admin page using Navigation Menu to assert that JS is deployed validly as a part of statics. - $adminDashboardPage->open()->getMenuBlock()->navigate($navMenuPath); - $this->assertUsedProtocol(self::SCHEME_HTTPS); - $this->assertDirectHttpUnavailable(); - } - - /** - * Assert that specified protocol is used on current page. - * - * @param string $expectedProtocol - * @return void - */ - protected function assertUsedProtocol($expectedProtocol) - { - if (substr($expectedProtocol, -3) !== "://") { - $expectedProtocol .= '://'; - } - - \PHPUnit\Framework\Assert::assertStringStartsWith( - $expectedProtocol, - $this->browser->getUrl(), - "$expectedProtocol is not used." - ); - } - - /** - * Assert that Merchant is redirected to https if trying to access the page directly via http. - * - * @return void - */ - protected function assertDirectHttpUnavailable() - { - $fakeUrl = str_replace(self::SCHEME_HTTPS, self::SCHEME_HTTP, $this->browser->getUrl()); - $this->browser->open($fakeUrl); - \PHPUnit\Framework\Assert::assertStringStartsWith( - self::SCHEME_HTTPS, - $this->browser->getUrl(), - 'Merchant is not redirected to https if tries to access the Admin panel page directly via http.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Secured URLs are used for Admin panel pages.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertInterfaceLocaleAvailableOptions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertInterfaceLocaleAvailableOptions.php deleted file mode 100644 index 4ccab6c64567b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertInterfaceLocaleAvailableOptions.php +++ /dev/null @@ -1,51 +0,0 @@ -getList(Locales::TYPE_DEPLOYED), - $dropdownLocales - ); - } else { - \PHPUnit\Framework\Assert::assertEmpty( - array_diff($dropdownLocales, $locales->getList(Locales::TYPE_ALL)) - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Interface locales list has correct values.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertLocaleCodeVisibility.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertLocaleCodeVisibility.php deleted file mode 100644 index 65bf9c3328a1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertLocaleCodeVisibility.php +++ /dev/null @@ -1,46 +0,0 @@ -getForm()->getGroup('general', 'locale')->isFieldDisabled('general', 'locale', 'code'), - 'Locale field should be disabled in production mode.' - ); - } else { - \PHPUnit\Framework\Assert::assertFalse( - $configEdit->getForm()->getGroup('general', 'locale')->isFieldDisabled('general', 'locale', 'code'), - 'Locale field should be not disabled in developer or default mode.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Locale field has correct visibility.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertMenuItemNotVisible.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertMenuItemNotVisible.php deleted file mode 100644 index 9dff907999ca4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertMenuItemNotVisible.php +++ /dev/null @@ -1,43 +0,0 @@ -open(); - - \PHPUnit\Framework\Assert::assertFalse( - $dashboard->getMenuBlock()->isMenuItemVisible($menuItem), - 'Menu item ' . $menuItem . ' is supposed to be not visible.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Menu item is not visible in dashboard menu.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertStoreCanBeLocalized.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertStoreCanBeLocalized.php deleted file mode 100644 index fabf406f9a742..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Constraint/AssertStoreCanBeLocalized.php +++ /dev/null @@ -1,77 +0,0 @@ -open(); - $systemConfig->getPageActions()->selectStore($store->getGroupId() . "/" . $store->getName()); - $systemConfig->getModalBlock()->acceptAlert(); - $configGroup = $systemConfig->getForm()->getGroup('general', 'locale', 'code'); - $configGroup->setValue('general', 'locale', 'code', $locale); - $systemConfig->getPageActions()->save(); - $systemConfig->getMessagesBlock()->waitSuccessMessage(); - - // Flush cache - $adminCache->open(); - $adminCache->getActionsBlock()->flushMagentoCache(); - $adminCache->getMessagesBlock()->waitSuccessMessage(); - - // Check presents income text on index page - $cmsIndex->open(); - if ($cmsIndex->getFooterBlock()->isStoreGroupSwitcherVisible() - && $cmsIndex->getFooterBlock()->isStoreGroupVisible($store) - ) { - $cmsIndex->getFooterBlock()->selectStoreGroup($store); - } - - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($store->getName()); - - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getSearchBlock()->isPlaceholderContains($welcomeText), - "Locale not applied." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store locale has changed successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php deleted file mode 100644 index 8247d3d207f38..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php +++ /dev/null @@ -1,33 +0,0 @@ -_data = [ - 'fields' => [ - 'username' => [ - 'value' => $this->_configuration->get('application/0/backendLogin/0/value'), - ], - 'password' => [ - 'value' => $this->_configuration->get('application/0/backendPassword/0/value'), - ], - ], - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml deleted file mode 100644 index c5d5b80c1a68e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch/Query.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch/Query.php deleted file mode 100644 index 5e5034b8ec099..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch/Query.php +++ /dev/null @@ -1,70 +0,0 @@ -params = $params; - $explodedData = explode('::', $data); - switch (count($explodedData)) { - case 1: - $this->data = $explodedData[0]; - break; - case 3: - list($fixture, $dataset, $field) = $explodedData; - $entity = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - if (!$entity->hasData('id')) { - $entity->persist(); - } - $this->data = $entity->getData($field); - $this->entity = $entity; - break; - case 4: - list($fixture, $dataset, $source, $field) = $explodedData; - $entity = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - if (!$entity->hasData('id')) { - $entity->persist(); - } - $source = $source == 'product' ? $entity->getEntityId()['products'][0] : $entity->getData($source); - $this->data = $source->getData($field); - $this->entity = $entity; - break; - } - } - - /** - * Get entity for global search. - * - * @return InjectableFixture - */ - public function getEntity() - { - return $this->entity; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php deleted file mode 100644 index 228f6ddbe86af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Source/Date.php +++ /dev/null @@ -1,74 +0,0 @@ -params = $params; - if (isset($data['pattern']) && $data['pattern'] !== '-') { - $matches = []; - $delta = ''; - if (preg_match_all('/(\+|-)\d+.+/', $data['pattern'], $matches)) { - $delta = $matches[0][0]; - } - $timestamp = $delta === '' ? time() : strtotime($delta); - if (!$timestamp) { - throw new \Exception('Invalid date format for "' . $this->params['attribute_code'] . '" field'); - } - if (isset($data['apply_timezone']) && $data['apply_timezone'] === true) { - $date = new \DateTime(); - $date->setTimestamp($timestamp); - $date->setTimezone(new \DateTimeZone($_ENV['magento_timezone'])); - $date = $date->format(str_replace($delta, '', $data['pattern'])); - $this->isTimezoneApplied = true; - } else { - $date = date(str_replace($delta, '', $data['pattern']), $timestamp); - $this->isTimezoneApplied = false; - } - if (!$date) { - $date = date('m/d/Y'); - } - $this->data = $date; - } else { - $this->data = $data; - } - } - - /** - * Verifies if timezone setting has been already applied. - * - * @return bool - */ - public function isTimezoneApplied() - { - return $this->isTimezoneApplied; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Conditions.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Conditions.php deleted file mode 100644 index 7ca88709ef181..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Conditions.php +++ /dev/null @@ -1,280 +0,0 @@ - [ - 'is' => '==', - 'is not' => '!=', - 'equal to' => '==', - 'matches' => '==', - 'greater than' => '>', - 'equals or greater than' => '>=', - ], - 'value_type' => [ - 'same_as' => 'the Same as Matched Product Categories', - ], - 'value' => [ - 'California' => '12', - 'United States' => 'US', - '[flatrate] Fixed' => 'flatrate_flatrate', - 'FOUND' => '1', - 'TRUE' => '1', - ], - 'aggregator' => [ - 'ALL' => 'all', - 'ANY' => 'any', - ], - 'attribute'=> [ - 'total quantity' => 'qty', - ], - ]; - - /** - * Map encode special chars - * - * @var array - */ - protected $encodeChars = [ - '\{' => '{', - '\}' => '}', - '\[' => '&lbracket;', - '\]' => '&rbracket;', - '\:' => ':', - ]; - - /** - * Map decode special chars - * - * @var array - */ - protected $decodeChars = [ - '{' => '{', - '}' => '}', - '&lbracket;' => '[', - '&rbracket;' => ']', - ':' => ':', - ]; - - /** - * Prepare conditions to array for send by post request - * - * @param string $conditions - * @return array - */ - protected function prepareCondition($conditions) - { - $decodeConditions = empty($conditions) - ? $this->decodeValue("[Conditions combination]") - : $this->decodeValue("{Conditions combination:[{$conditions}]}"); - return $this->convertMultipleCondition($decodeConditions); - } - - /** - * Convert condition combination - * - * @param string $combination - * @param array|string $conditions - * @param int $nesting - * @return array - */ - private function convertConditionsCombination($combination, $conditions, $nesting) - { - $combination = [$nesting => $this->convertSingleCondition($combination)]; - $conditions = $this->convertMultipleCondition($conditions, $nesting, 1); - return $combination + $conditions; - } - - /** - * Convert multiple condition - * - * @param array $conditions - * @param int $nesting - * @param int $count - * @return array - */ - private function convertMultipleCondition(array $conditions, $nesting = 1, $count = 0) - { - $result = []; - foreach ($conditions as $key => $condition) { - $curNesting = $nesting . ($count ? ('--' . $count) : ''); - - if (!is_numeric($key)) { - $result += $this->convertConditionsCombination($key, $condition, $curNesting); - } elseif (is_string($condition)) { - $result[$curNesting] = $this->convertSingleCondition($condition); - } else { - $result += $this->convertMultipleCondition($condition, $nesting, $count); - } - $count++; - } - return $result; - } - - /** - * Convert single condition - * - * @param string $condition - * @return array - * @throws \Exception - */ - private function convertSingleCondition($condition) - { - $condition = $this->parseCondition($condition); - extract($condition); - - if (isset($param)) { - $typeParam = $this->getTypeParam($param); - $typeParam['attribute'] = $type; - } else { - $typeParam = $this->getTypeParam($type); - } - if (empty($typeParam)) { - throw new \Exception("Can't find type param \"{$type}\"."); - } - - $ruleParam = []; - foreach ($rules as $value) { - $param = $this->getRuleParam($value); - if (empty($param)) { - $ruleParam['value'] = $value; - break; - } - $ruleParam += $param; - } - if (count($ruleParam) != count($rules)) { - throw new \Exception( - "Can't find all params. " - . "\nSearch: " . implode(', ', $rules) . " " - . "\nFind: " . implode(', ', $ruleParam) - ); - } - - return $ruleParam + $typeParam; - } - - /** - * Get type param by name - * - * @param string $name - * @return array - */ - private function getTypeParam($name) - { - return isset($this->mapTypeParams[$name]) ? $this->mapTypeParams[$name] : []; - } - - /** - * Get rule param by name - * - * @param string $name - * @return array - */ - private function getRuleParam($name) - { - foreach ($this->mapRuleParams as $typeParam => &$params) { - if (isset($params[$name])) { - return [$typeParam => $params[$name]]; - } - } - return []; - } - - /** - * Decode value - * - * @param string $value - * @return array - * @throws \Exception - */ - private function decodeValue($value) - { - $value = str_replace(array_keys($this->encodeChars), $this->encodeChars, $value); - $value = preg_replace('/(\]|})({|\[)/', '$1,$2', $value); - $value = preg_replace('/{([^:]+):/', '{"$1":', $value); - $value = preg_replace('/\[([^\[{])/', '"$1', $value); - $value = preg_replace('/([^\]}])\]/', '$1"', $value); - $value = str_replace(array_keys($this->decodeChars), $this->decodeChars, $value); - - $value = "[{$value}]"; - $value = json_decode($value, true); - if (null === $value) { - throw new \Exception('Bad format value.'); - } - return $value; - } - - /** - * Parse condition - * - * @param string $condition - * @return array - * @throws \Exception - */ - private function parseCondition($condition) - { - if (!preg_match_all('/([^|]+\|?)/', $condition, $match)) { - throw new \Exception('Bad format condition'); - } - foreach ($match[1] as $key => $value) { - $match[1][$key] = rtrim($value, '|'); - } - $param = $match[1][0]; - $type = array_shift($match[1]); - if (count($match[1]) == 3) { - $type = array_shift($match[1]); - } else { - $param = null; - } - - return [ - 'type' => $type, - 'rules' => array_values($match[1]), - 'param' => $param - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php deleted file mode 100644 index b8c11ec324189..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php +++ /dev/null @@ -1,84 +0,0 @@ -url = $url; - $this->regExpPattern = $regExpPattern; - $this->isAll = $isAll; - } - - /** - * Retrieves data from cURL response - * - * @throws \Exception - * @return array - */ - public function getData() - { - /** @var \Magento\Mtf\Config\DataInterface $config */ - $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->get(\Magento\Mtf\Config\DataInterface::class); - $url = $_ENV['app_backend_url'] . $this->url; - $curl = new BackendDecorator(new CurlTransport(), $config); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - if ($this->isAll) { - preg_match_all($this->regExpPattern, $response, $matches); - } else { - preg_match($this->regExpPattern, $response, $matches); - } - - $countMatches = $this->isAll ? count($matches[1]) : count($matches); - if ($countMatches == 0) { - throw new \Exception('Matches array can\'t be empty.'); - } - return $matches; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LoginUser.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LoginUser.php deleted file mode 100644 index 39f5866a3c2ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LoginUser.php +++ /dev/null @@ -1,53 +0,0 @@ -getMagentoBackendAdminSuperAdmin(); - } - - /** @var AdminAuthLogin $loginPage */ - $loginPage = Factory::getPageFactory()->getAdminAuthLogin(); - $loginForm = $loginPage->getLoginBlock(); - $adminHeaderPanel = $loginPage->getHeaderBlock(); - if (!$loginForm->isVisible() && !$adminHeaderPanel->isVisible()) { - //We are currently not in the admin area. - $loginPage->open(); - } - - if (!$adminHeaderPanel || !$adminHeaderPanel->isVisible()) { - $loginPage->open(); - if ($adminHeaderPanel->isVisible()) { - return; - } - $loginForm->fill($fixture); - $loginForm->submit(); - $loginPage->waitForHeaderBlock(); - $loginPage->dismissAdminUsageNotification(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LogoutUser.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LogoutUser.php deleted file mode 100644 index 6aac7e6d81cab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Ui/LogoutUser.php +++ /dev/null @@ -1,34 +0,0 @@ -getAdminDashboard(); - $headerBlock = $homePage->getAdminPanelHeader(); - $headerBlock->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/AdminAuthLogin.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/AdminAuthLogin.php deleted file mode 100644 index 4b72bb836523a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/AdminAuthLogin.php +++ /dev/null @@ -1,127 +0,0 @@ -url = $_ENV['app_backend_url'] . self::MCA; - } - - /** - * Get the login form block. - * - * @return \Magento\Backend\Test\Block\Admin\Login - */ - public function getLoginBlock() - { - return Factory::getBlockFactory()->getMagentoBackendAdminLogin( - $this->browser->find($this->loginBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Get the header panel block of admin dashboard. - * - * @return \Magento\Backend\Test\Block\Page\Header - */ - public function getHeaderBlock() - { - return Factory::getBlockFactory()->getMagentoBackendPageHeader( - $this->browser->find($this->headerBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Get global messages block. - * - * @return \Magento\Ui\Test\Block\Adminhtml\Modal - - */ - public function getMessagesBlock() - { - return Factory::getBlockFactory()->getMagentoBackendMessages($this->browser->find($this->messagesBlock)); - } - - /** - * Get modal block - * - * @return void - */ - public function getModalBlock() - { - return Factory::getBlockFactory()->getMagentoUiAdminhtmlModal($this->browser->find($this->adminUsageSelector)); - } - - /** - * Wait for Header block is visible in the page. - * - * @return void - */ - public function waitForHeaderBlock() - { - $browser = $this->browser; - $selector = $this->headerBlock; - $browser->waitUntil( - function () use ($browser, $selector) { - $item = $browser->find($selector); - return $item->isVisible() ? true : null; - } - ); - } - - /** - * Dismiss admin usage notification - * - * @return void - */ - public function dismissAdminUsageNotification() - { - $this->getModalBlock()->dismissIfModalAppears(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/Dashboard.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/Dashboard.xml deleted file mode 100644 index 799f9e30fd972..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/Dashboard.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteGroup.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteGroup.xml deleted file mode 100644 index 26178cd21da1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteGroup.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteWebsite.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteWebsite.xml deleted file mode 100644 index 728b5e700802c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/DeleteWebsite.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditGroup.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditGroup.xml deleted file mode 100644 index 815588256530f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditGroup.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditStore.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditStore.xml deleted file mode 100644 index 6568551def3ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditStore.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditWebsite.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditWebsite.xml deleted file mode 100644 index 1ef4e3f01678a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/EditWebsite.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewGroupIndex.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewGroupIndex.xml deleted file mode 100644 index 6f5720c65d043..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewGroupIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewWebsiteIndex.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewWebsiteIndex.xml deleted file mode 100644 index 4134e2a03533c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/NewWebsiteIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreDelete.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreDelete.xml deleted file mode 100644 index 57698cf063735..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreDelete.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreIndex.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreIndex.xml deleted file mode 100644 index 0491106412fe5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreNew.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreNew.xml deleted file mode 100644 index b487085c28921..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/StoreNew.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemAccount.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemAccount.xml deleted file mode 100644 index 5e7daa0b260be..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemAccount.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfig.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfig.xml deleted file mode 100644 index a112b04fde829..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfig.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEdit.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEdit.xml deleted file mode 100644 index ba7cccd500332..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEdit.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml deleted file mode 100644 index 327f74089a95c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Repository/ConfigData.xml deleted file mode 100644 index 9985e962b04eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - general - 1 - - Store 1 - - - general - 1 - - 1234-123-123 - - - general - 1 - - Mon - Fri, 8AM - 5PM - - - general - 1 - United States - US - - - general - 1 - California - 12 - - - general - 1 - - 90322 - - - general - 1 - - Culver City - - - general - 1 - - 10441 Jefferson Blvd - - - general - 1 - - Suite 200 - - - - - - general - 1 - - DE Store - - - general - 1 - - 630-371-7008 - - - general - 1 - Germany - DE - - - general - 1 - Berlin - 82 - - - general - 1 - - 10789 - - - general - 1 - - Berlin - - - general - 1 - - Augsburger Strabe 41 - - - general - 1 - - 111607872 - - - - - - default - 0 - 3600 - 3600 - - - - - - default - 0 - 60 - 60 - - - - - - default - 0 - 3600 - 3600 - - - - - - - 60 - - - - - - - 3600 - - - - - - default - 0 - Yes - 1 - - - - - - default - 0 - No - 0 - - - - - - default - 0 - Yes - 1 - - - - - - default - 0 - Yes - 1 - 1 - - - default - 0 - Yes - 1 - 1 - - - - - - default - 0 - No - 0 - - - default - 0 - No - 0 - - - - - - default - 0 - Yes - 1 - - - default - 0 - Yes - 1 - - - default - 0 - {{basic_url_to_secure}} - - - default - 0 - {{basic_url_to_secure}} - - - - - - default - 0 - No - 0 - - - default - 0 - No - 0 - - - default - 0 - {{basic_url_to_unsecure}} - - - default - 0 - {{basic_url_to_unsecure}} - - - - - - default - 0 - Yes - 1 - - - - - default - 0 - Yes - 1 - - - - - default - 0 - Yes - 1 - - - default - 0 - No - 0 - - - - - - default - 0 - No - 0 - - - default - 0 - No - 0 - - - - - - default - 0 - - AL - US - - - - - - - default - 0 - 1 - - - - - - default - 0 - Yes - 1 - - - - - - default - 0 - No - 0 - - - - - - default - 0 - - DE - ES - GB - - - - - - - default - 0 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.php deleted file mode 100644 index d026c6fd8b2ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.php +++ /dev/null @@ -1,49 +0,0 @@ -configurationAdminPage = $configurationAdminPage; - } - - /** - * Test execution. - * - * @return void - */ - public function test() - { - $this->configurationAdminPage->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.xml deleted file mode 100644 index 0694966c7eaa5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigPageVisibilityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S1 - mftf_migrated:yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.php deleted file mode 100644 index 1c008f72d9008..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.php +++ /dev/null @@ -1,158 +0,0 @@ - Configuration" page. - * 3. Select needed scope. - * 4. Go to "General > Web > Base URLs (Secure)" section. - * 5. Specify Base URL with Secure protocol in the same format as a Secure Base URL. - * (i) Make sure that Secure Base URL ends with a "/". - * 6. Enable Secure URLs for Storefront if there is a need. - * 7. Enable Secure URLs for Admin if there is a need. - * 8. Save the Config & refresh invalidated caches (Configuration, Page Cache). - * 9. Deploy static view files. - * - * 10. If Secure URLs for Storefront were enabled: - * 1. Assert that https is used all over the Storefront. - * 2. Assert that static content is deployed validly (ex: JS functionality works on Storefront). - * 3. Assert that Customer is redirected to https if trying to access the page directly via http. - * 11. If secure URLs for Storefront were disabled: - * 1. Assert that http is used all over the Storefront. - * 2. Assert that static content is deployed validly (ex: JS functionality works on Storefront). - * - * 12. If secure URLs for Admin were enabled: - * 1. Assert that https is used all over the Admin panel. - * 2. Assert that static content is deployed validly (ex: JS functionality works in Admin panel). - * 3. Assert that Merchant is redirected to https if trying to access the page directly via http. - * 13. If secure URLs for Admin were disabled: - * 1. Assert that http is used all over the Admin panel. - * 2. Assert that static content is deployed validly (ex: JS functionality works in Admin panel). - * 3. Assert that Merchant is redirected to http if trying to access the page directly via https. - * - * Postconditions: - * 1. Turn the Secure URLs usage off (with further cache refreshing & static content deploying). - * - * @ZephyrId MAGETWO-35408 - */ -class ConfigureSecureUrlsTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * "Configuration" page in Admin panel. - * - * @var SystemConfigEdit - */ - protected $configurationAdminPage; - - /** - * Cache CLI. - * - * @var Cache - */ - protected $cache; - - /** - * Static content CLI. - * - * @var StaticContent - */ - protected $staticContent; - - /** - * Prepare data for further test execution. - * - * @param FixtureFactory $fixtureFactory - * @param SystemConfigEdit $configurationAdminPage - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - SystemConfigEdit $configurationAdminPage - ) { - $this->fixtureFactory = $fixtureFactory; - $this->configurationAdminPage = $configurationAdminPage; - } - - /** - * Test execution. - * - * @param string $configData - * @return void - */ - public function test($configData) - { - $data = [ - 'web/secure/base_url' => [ - 'scope' => 'default', - 'scope_id' => 0, - 'value' => str_replace(['http', 'index.php/'], ['https', ''], $_ENV['app_frontend_url']) - ] - ]; - $config = $this->fixtureFactory->createByCode('configData', ['dataset' => $configData, 'data' => $data]); - $config->persist(); - - // Workaround until MTA-3879 is delivered. - $this->configurationAdminPage->open(); - $this->configurationAdminPage->getForm() - ->getGroup('web', 'secure') - ->setValue('web', 'secure', 'use_in_adminhtml', 'Yes'); - $this->configurationAdminPage->getPageActions()->save(); - $_ENV['app_backend_url'] = str_replace('http', 'https', $_ENV['app_backend_url']); - - $this->configurationAdminPage = $this->objectManager->create( - \Magento\Backend\Test\Page\Adminhtml\SystemConfigEdit::class - ); - - $this->cache = $this->objectManager->create(\Magento\Mtf\Util\Command\Cli\Cache::class); - $this->cache->flush(['config', 'full_page']); - - $this->staticContent = $this->objectManager->create(\Magento\Mtf\Util\Command\Cli\StaticContent::class); - $this->staticContent->deploy(); - } - - /** - * Revert all applied high-level changes. - * - * @return void - */ - public function tearDown(): void - { - $this->configurationAdminPage->open(); - $this->configurationAdminPage->getForm() - ->getGroup('web', 'secure') - ->setValue('web', 'secure', 'use_in_adminhtml', 'No'); - $this->configurationAdminPage->getPageActions()->save(); - $this->cache->flush(['config', 'full_page']); - $this->staticContent->deploy(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.xml deleted file mode 100644 index 790c02abda2f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ConfigureSecureUrlsTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - disable_https_frontend_admin - Marketing>Catalog Price Rule - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.php deleted file mode 100644 index f4f3eb7a91f5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.php +++ /dev/null @@ -1,101 +0,0 @@ -stepFactory = $stepFactory; - } - - /** - * Runs test. - * - * @param int $sessionLifetimeInSeconds - * @param string $configData - * @param Customer|null $customer - * @return void - */ - public function test( - $sessionLifetimeInSeconds, - $configData, - Customer $customer = null - ) { - $this->configData = $configData; - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - if ($customer != null) { - $customer->persist(); - $this->stepFactory->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } - - /** - * Wait admin session to expire. - */ - sleep($sessionLifetimeInSeconds); - } - - /** - * Restore default configuration settings. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.xml deleted file mode 100644 index 195d1330ae78a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/ExpireSessionTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - mftf_migrated:yes - default_cookie_lifetime_60_seconds - default - 60 - - - - mftf_migrated:yes - admin_session_lifetime_60_seconds - 60 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.php deleted file mode 100644 index 9cb5cfa690549..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.php +++ /dev/null @@ -1,64 +0,0 @@ -dashboard = $dashboard; - } - - /** - * Run Global Search Entity Test. - * - * @param GlobalSearch $search - * @return void - */ - public function test(GlobalSearch $search) - { - // Steps: - $this->dashboard->open(); - $this->dashboard->getAdminPanelHeader()->search($search->getQuery()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.xml deleted file mode 100644 index 6d9c50b4317c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/GlobalSearchEntityTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - search shows admin preview - Some search term - - - - search with 2 sign return no results - :) - - - - search product by sku - orderInjectable::default::product::sku - - - - search existed customer - customer::johndoe_unique::lastname - - - - search order (by order id) - orderInjectable::default::id - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.php deleted file mode 100644 index d08ce621a7896..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.php +++ /dev/null @@ -1,51 +0,0 @@ - Configuration -> General -> Web. - * 3. Set "Use Secure URLs on Storefront" to Yes. - * 4. Set "Use Secure URLs in Admin" to No. - * 5. Perform asserts. - * - * @ZephyrId MAGETWO-46903 - */ -class HttpsHeadersDisableTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Open backend system config and set configuration values. - * - * @param SystemConfigEdit $systemConfigEdit - * @param ConfigData $httpsConfig - * @return void - */ - public function test(SystemConfigEdit $systemConfigEdit, ConfigData $httpsConfig) - { - $systemConfigEdit->open(); - $section = $httpsConfig->getSection(); - $keys = array_keys($section); - foreach ($keys as $key) { - $parts = explode('/', $key, 3); - $tabName = $parts[0]; - $groupName = $parts[1]; - $fieldName = $parts[2]; - $systemConfigEdit->getForm()->getGroup($tabName, $groupName) - ->setValue($tabName, $groupName, $fieldName, $section[$key]['label']); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.xml deleted file mode 100644 index 32ac9cf55cbe0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersDisableTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - enable_https_frontend_only - enable_hsts - enable_upgrade_insecure - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.php deleted file mode 100644 index b5bcaae21af85..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.php +++ /dev/null @@ -1,51 +0,0 @@ - Configuration -> General -> Web. - * 3. Set "Use Secure URLs on Storefront" to Yes. - * 4. Set "Use Secure URLs in Admin" to Yes. - * 5. Perform asserts. - * - * @ZephyrId MAGETWO-46903 - */ -class HttpsHeadersEnableTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Open backend system config and set configuration values. - * - * @param SystemConfigEdit $systemConfigEdit - * @param ConfigData $httpsConfig - * @return void - */ - public function test(SystemConfigEdit $systemConfigEdit, ConfigData $httpsConfig) - { - $systemConfigEdit->open(); - $section = $httpsConfig->getSection(); - $keys = array_keys($section); - foreach ($keys as $key) { - $parts = explode('/', $key, 3); - $tabName = $parts[0]; - $groupName = $parts[1]; - $fieldName = $parts[2]; - $systemConfigEdit->getForm()->getGroup($tabName, $groupName) - ->setValue($tabName, $groupName, $fieldName, $section[$key]['label']); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.xml deleted file mode 100644 index fe5475216283e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/HttpsHeadersEnableTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - enable_https_frontend_admin - enable_hsts - enable_upgrade_insecure - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.php deleted file mode 100644 index 855ff6e3709df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.php +++ /dev/null @@ -1,92 +0,0 @@ -adminDashboardPage = $adminDashboardPage; - $this->stepFactory = $stepFactory; - } - - /** - * Admin login test after JS minification is turned on in production mode. - * - * @param DeployMode $cli - * @param null $configData - * - * @return void - */ - public function test( - DeployMode $cli, - $configData = null - ) { - $this->configData = $configData; - - //Pre-conditions - $cli->setDeployModeToDeveloper(); - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Steps - $cli->setDeployModeToProduction(); - $this->stepFactory->create(LoginUserOnBackendStep::class)->run(); - } - - /** - * @inheritdoc - */ - protected function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->cleanup(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.xml deleted file mode 100644 index e63efd4db9900..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/LoginAfterJSMinificationTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - severity:S1,mftf_migrated:yes - minify_js_files - Dashboard - Dashboard - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.php deleted file mode 100644 index 457dccecded68..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.php +++ /dev/null @@ -1,39 +0,0 @@ -open(); - $dashboard->getMenuBlock()->navigate($menuItem, $waitMenuItemNotVisible); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index afdf70704a984..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - mftf_migrated:yes - Dashboard - Dashboard - - - - mftf_migrated:yes - Content > Schedule - Store Design Schedule - - - - mftf_migrated:yes - Stores > All Stores - Stores - - - - mftf_migrated:yes - Stores > Configuration - Configuration - - - - mftf_migrated:yes - System > Cache Management - Cache Management - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.php deleted file mode 100644 index 21503dfb60e27..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.php +++ /dev/null @@ -1,85 +0,0 @@ -systemAccountPage = $systemAccountPage; - $this->userEditPage = $userEdit; - } - - /** - * Test execution. - * - * @param AssertInterfaceLocaleAvailableOptions $assertInterfaceLocaleAvailableOptions assert that check - * interface locales - * @param Locales $locales utility for work with locales - */ - public function test( - AssertInterfaceLocaleAvailableOptions $assertInterfaceLocaleAvailableOptions, - Locales $locales - ) { - $this->systemAccountPage->open(); - $userForm = $this->systemAccountPage->getForm(); - $assertInterfaceLocaleAvailableOptions->processAssert( - $locales, - $userForm->getInterfaceLocales() - ); - - $this->userEditPage->open(); - $userForm = $this->userEditPage->getUserForm(); - $assertInterfaceLocaleAvailableOptions->processAssert( - $locales, - $userForm->getInterfaceLocales() - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.xml deleted file mode 100644 index 142a93ba815e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestCase/VerifyInterfaceLocaleTest.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - severity:S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/GetDashboardOrderStep.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/GetDashboardOrderStep.php deleted file mode 100644 index 3a2e4b30fbfa6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/GetDashboardOrderStep.php +++ /dev/null @@ -1,57 +0,0 @@ -dashboard = $dashboard; - $this->argumentsList = $argumentsList; - } - - /** - * Return order information from admin dashboard. - * - * @return array - */ - public function run() - { - $dashboardOrder = []; - if (isset($this->argumentsList)) { - $this->dashboard->open(); - $dashboardOrder = $this->dashboard->getMainBlock()->getDashboardOrder($this->argumentsList); - } - return ['dashboardOrder' => $dashboardOrder]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/OpenDashboardStep.php b/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/OpenDashboardStep.php deleted file mode 100644 index 014d801a32c55..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/TestStep/OpenDashboardStep.php +++ /dev/null @@ -1,40 +0,0 @@ -dashboard = $dashboard; - } - - /** - * Run step flow. - * - * @return void - */ - public function run() - { - $this->dashboard->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/etc/di.xml deleted file mode 100644 index ae1292dc7ee5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backend/Test/etc/di.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - high - - - - - high - - - - - middle - - - - - high - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Backup/Test/Block/Adminhtml/BackupGrid.php b/dev/tests/functional/tests/app/Magento/Backup/Test/Block/Adminhtml/BackupGrid.php deleted file mode 100644 index 7dde581b9679e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backup/Test/Block/Adminhtml/BackupGrid.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->backupRow)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backup/Test/Constraint/AssertBackupInGrid.php b/dev/tests/functional/tests/app/Magento/Backup/Test/Constraint/AssertBackupInGrid.php deleted file mode 100644 index 91163465aa963..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backup/Test/Constraint/AssertBackupInGrid.php +++ /dev/null @@ -1,41 +0,0 @@ -open()->getBackupGrid()->isBackupRowVisible(), - 'Backup is not present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Backup is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Backup/Test/Page/Adminhtml/BackupIndex.xml b/dev/tests/functional/tests/app/Magento/Backup/Test/Page/Adminhtml/BackupIndex.xml deleted file mode 100644 index f09b4f9e53d53..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backup/Test/Page/Adminhtml/BackupIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Backup/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Backup/Test/Repository/ConfigData.xml deleted file mode 100644 index c8b19aa2bd32b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Backup/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - Yes - 1 - - - - - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle.php deleted file mode 100644 index 71e8f2058acd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle.php +++ /dev/null @@ -1,206 +0,0 @@ -blockFactory->create( - \Magento\Bundle\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Bundle\Option::class, - [ - 'element' => $element->find(sprintf($this->bundleOptionRow, $rowNumber), Locator::SELECTOR_XPATH) - ] - ); - } - - /** - * Fill bundle options. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - if (!isset($fields['bundle_selections'])) { - return $this; - } - - $context = $this->_rootElement->find($this->bundleOptions, Locator::SELECTOR_XPATH); - - if (isset($fields['bundle_selections']['value']['bundle_options'])) { - foreach ($fields['bundle_selections']['value']['bundle_options'] as $key => $bundleOption) { - $count = $key + 1; - $itemOption = $context->find(sprintf($this->openOption, $count), Locator::SELECTOR_XPATH); - $isContent = $context->find(sprintf($this->optionContent, $count), Locator::SELECTOR_XPATH) - ->isVisible(); - if ($itemOption->isVisible() && !$isContent) { - $itemOption->click(); - } elseif (!$itemOption->isVisible()) { - $this->_rootElement->find($this->addNewOption)->click(); - } - $this->getBundleOptionBlock($count, $context)->fillOption($bundleOption); - } - } - - if (isset($fields['bundle_selections']['value']['bundle_options_delete'])) { - $this->deleteFieldsData($fields['bundle_selections']['value']['bundle_options_delete']); - } - - return $this; - } - - /** - * Delete some bundle options. - * - * @param array $fields - * @return $this - */ - public function deleteFieldsData(array $fields) - { - $context = $this->_rootElement->find($this->bundleOptions, Locator::SELECTOR_XPATH); - foreach (array_keys($fields) as $key) { - $bundleOptionIndex = $key + 1; - $deleteOption = $context->find( - sprintf($this->deleteOption, $bundleOptionIndex), - Locator::SELECTOR_XPATH - ); - if ($deleteOption->isVisible()) { - $deleteOption->click(); - } - } - return $this; - } - - /** - * Get data to fields on downloadable tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $newFields = []; - if (!isset($fields['bundle_selections'])) { - return $this; - } - $index = 1; - $context = $this->_rootElement->find($this->bundleOptions, Locator::SELECTOR_XPATH); - foreach ($fields['bundle_selections']['value']['bundle_options'] as $key => &$bundleOption) { - if (!$context->find(sprintf($this->optionContent, $index), Locator::SELECTOR_XPATH)->isVisible()) { - $context->find(sprintf($this->openOption, $index), Locator::SELECTOR_XPATH)->click(); - } - foreach ($bundleOption['assigned_products'] as &$product) { - $product['data']['getProductName'] = $product['search_data']['name']; - } - $newFields['bundle_selections'][$key] = - $this->getBundleOptionBlock($index, $context)->getOptionData($bundleOption); - $index++; - } - - return $newFields; - } - - /** - * Get attribute sku. - * - * @return string - */ - public function getAttributeSku() - { - return $this->_rootElement->find($this->attributeSku)->getText(); - } - - /** - * Change option title - * - * @param string $optionTitle - * @param string $optionNumber - * @return void - */ - public function changeOptionTitle($optionTitle, $optionNumber) - { - $context = $this->_rootElement->find(sprintf($this->optionTitle, $optionNumber)); - $context->setValue($optionTitle); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.php deleted file mode 100644 index 40a8376ca5c1b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.php +++ /dev/null @@ -1,113 +0,0 @@ - tbody > tr:nth-child(%d)'; - - /** - * Selector for 'Add Products to Option' button. - * - * @var string - */ - protected $addProducts = 'button[data-index="modal_set"]'; - - /** - * Remove selection button selector. - * - * @var string - */ - protected $removeSelection = 'button[data-action="remove_row"]'; - - /** - * Get grid for assigning products for bundle option. - * - * @return Grid - */ - protected function getSearchGridBlock() - { - return $this->blockFactory->create( - \Magento\Bundle\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Bundle\Option\Search\Grid::class, - ['element' => $this->browser->find($this->searchGridBlock)] - ); - } - - /** - * Get product row assigned to bundle option. - * - * @param int $rowIndex - * @return Selection - */ - protected function getSelectionBlock($rowIndex) - { - return $this->blockFactory->create( - \Magento\Bundle\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Bundle\Option\Selection::class, - ['element' => $this->_rootElement->find(sprintf($this->selectionBlock, ++$rowIndex))] - ); - } - - /** - * Fill bundle option. - * - * @param array $fields - * @return void - */ - public function fillOption(array $fields) - { - $mapping = $this->dataMapping($fields); - $this->_fill($mapping); - $selections = $this->_rootElement->getElements($this->removeSelection); - if (count($selections)) { - foreach (array_reverse($selections) as $itemSelection) { - $itemSelection->click(); - } - } - foreach ($fields['assigned_products'] as $key => $field) { - $this->_rootElement->find($this->addProducts)->click(); - $searchBlock = $this->getSearchGridBlock(); - $searchBlock->searchAndSelect($field['search_data']); - $searchBlock->addProducts(); - $this->getSelectionBlock($key)->fillProductRow($field['data']); - } - } - - /** - * Get data bundle option. - * - * @param array $fields - * @return array - */ - public function getOptionData(array $fields) - { - $mapping = $this->dataMapping($fields); - $newField = $this->_getData($mapping); - foreach ($fields['assigned_products'] as $key => $field) { - $newField['assigned_products'][$key] = $this->getSelectionBlock($key)->getProductRow($field['data']); - } - return $newField; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.xml deleted file mode 100644 index 5aa5d8d96050f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - <selector>[name$="[title]"]</selector> - <strategy>css selector</strategy> - - - [name$='[type]'] - css selector - select - - - [name$='[required]'] - css selector - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Search/Grid.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Search/Grid.php deleted file mode 100644 index a20d2a8c8570a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Search/Grid.php +++ /dev/null @@ -1,46 +0,0 @@ - [ - 'selector' => 'input[name=name]', - ], - 'sku' => [ - 'selector' => 'input[name=sku]', - ], - ]; - - /** - * Press 'Add Selected Products' button. - * - * @return void - */ - public function addProducts() - { - $this->_rootElement->find($this->addProducts)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.php deleted file mode 100644 index 8103580539c98..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.php +++ /dev/null @@ -1,47 +0,0 @@ -dataMapping($fields); - $this->_fill($mapping); - } - - /** - * Get data item selection. - * - * @param array $fields - * @return array - */ - public function getProductRow(array $fields) - { - $mapping = $this->dataMapping($fields); - $newFields = $this->_getData($mapping); - if (isset($mapping['getProductName'])) { - $newFields['getProductName'] = $this->_rootElement->find( - $mapping['getProductName']['selector'], - $mapping['getProductName']['strategy'] - )->getText(); - } - return $newFields; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.xml deleted file mode 100644 index 18be8b4ca194f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Bundle/Option/Selection.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - [name$="[is_default]"] - checkbox - - - [name$='[selection_price_value]'] - - - [name$='[selection_price_type]'] - select - - - [name$='[selection_qty]'] - - - [name$='[selection_can_change_qty]'] - checkbox - - - span[data-index="name"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.php deleted file mode 100644 index ccbc2167492c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.php +++ /dev/null @@ -1,113 +0,0 @@ -prepareData($product->getData()); - $this->_fill($data); - } - - /** - * Prepare data. - * - * @param array $fields - * @return array - */ - protected function prepareData(array $fields) - { - $productOptions = []; - if (!empty($fields['checkout_data']['options']['bundle_options'])) { - foreach ($fields['checkout_data']['options']['bundle_options'] as $key => $option) { - $productOptions['option_' . $key] = $this->prepareOptionMapping($option); - } - } - - return $productOptions; - } - - /** - * Prepare option mapping. - * - * @param array $option - * @return array - */ - protected function prepareOptionMapping(array $option) - { - $type = $this->prepareOptionType($option['type']); - $mapping = $this->dataMapping([$type => '']); - $mapping[$type]['selector'] = $this->prepareOptionSelector($option, $mapping[$type]['selector']); - $mapping[$type]['value'] = $this->isCheckbox($type) ? 'Yes' : $option['value']['name']; - - return $mapping[$type]; - } - - /** - * Prepare option type. - * - * @param string $optionType - * @return string - */ - protected function prepareOptionType($optionType) - { - return strtolower(preg_replace('/[^a-zA-Z]/', '', $optionType)); - } - - /** - * Check element of checkbox type. - * - * @param string $type - * @return bool - */ - protected function isCheckbox($type) - { - return $type == 'checkbox' || $type == 'radiobutton'; - } - - /** - * Prepare selector for option. - * - * @param array $option - * @param string $selector - * @return string - */ - protected function prepareOptionSelector(array $option, $selector) - { - return $this->bundleFieldsRootElement . str_replace( - '%selector%', - str_replace('%product_name%', $option['value']['name'], $selector), - str_replace('%option_name%', $option['title'], $this->option) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.xml deleted file mode 100644 index 18aedfa97f9eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/Composite/Configure.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - div[contains(@class,"field choice") and label[contains(.,"%product_name%")]]//input - xpath - checkbox - - - select - xpath - select - - - select - xpath - multiselect - - - div[contains(@class,"field choice") and label[contains(.,"%product_name%")]]//input - xpath - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 27cc63eeef1a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - select - - - switcher - - - switcher - - - switcher - - - - - \Magento\Bundle\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Bundle - [data-index="bundle-items"] - css selector - product - - - switcher - - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedPricing - [data-index="advanced_pricing_button"] - css selector - product - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View.php deleted file mode 100644 index 9d76e7dd50705..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View.php +++ /dev/null @@ -1,152 +0,0 @@ -blockFactory->create( - \Magento\Bundle\Test\Block\Catalog\Product\View\Type\Bundle::class, - ['element' => $this->_rootElement->find($this->bundleBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get bundle Summary block. - * - * @return Summary - */ - public function getBundleSummaryBlock() - { - return $this->blockFactory->create( - Summary::class, - ['element' => $this->_rootElement->find($this->summaryBlockSelector)] - ); - } - - /** - * Click "Customize and add to cart button". - * - * @return void - */ - public function clickCustomize() - { - $browser = $this->browser; - $selector = $this->newsletterFormSelector; - $this->browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() ? true : null; - } - ); - $this->_rootElement->find($this->customizeButton)->click(); - $this->waitForElementVisible($this->addToCart); - $this->waitForElementVisible($this->visibleOptions, Locator::SELECTOR_XPATH); - } - - /** - * Return product options. - * - * @param FixtureInterface $product [optional] - * @return array - */ - public function getOptions(FixtureInterface $product = null) - { - $options = []; - - $this->clickCustomize(); - $options['bundle_options'] = $this->getBundleBlock()->getOptions($product); - $options += parent::getOptions($product); - - return $options; - } - - /** - * Fill in the option specified for the product. - * - * @param FixtureInterface $product - * @return void - */ - public function fillOptions(FixtureInterface $product) - { - /** @var \Magento\Bundle\Test\Fixture\BundleProduct $product */ - $checkoutData = $product->getCheckoutData(); - $bundleCheckoutData = isset($checkoutData['options']['bundle_options']) - ? $checkoutData['options']['bundle_options'] - : []; - - if (!$this->getBundleBlock()->isVisible()) { - $this->clickCustomize(); - } - $this->getBundleBlock()->fillBundleOptions($bundleCheckoutData); - } - - /** - * Fill in the custom option data. - * - * @param array $optionsData - * @return void - */ - public function fillOptionsWithCustomData(array $optionsData = []) - { - if (!$this->getBundleBlock()->isVisible()) { - $this->clickCustomize(); - } - - $this->getBundleBlock()->fillBundleOptions($optionsData); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary.php deleted file mode 100644 index a951e8226184b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary.php +++ /dev/null @@ -1,52 +0,0 @@ -blockFactory->create( - ConfiguredPrice::class, - ['element' => $this->_rootElement->find($this->configuredPriceBlockSelector)] - ); - } - - /** - * Get Bundle Summary row items. - * - * @return \Magento\Mtf\Client\ElementInterface[] - */ - public function getSummaryItems() - { - return $this->_rootElement->getElements($this->summaryItemsSelector); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary/ConfiguredPrice.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary/ConfiguredPrice.php deleted file mode 100644 index 6e2ecce212501..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Summary/ConfiguredPrice.php +++ /dev/null @@ -1,35 +0,0 @@ - [ - 'selector' => '.price', - ] - ]; - - /** - * This method returns the price represented by the block. - * - * @param string $currency - * @return string|null - */ - public function getPrice($currency = '$') - { - return $this->getTypePrice('configured_price', $currency); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Bundle.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Bundle.php deleted file mode 100644 index a06ee2332704a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Bundle.php +++ /dev/null @@ -1,377 +0,0 @@ -getViewBlock()->fillOptions($product); - $catalogProductView->getViewBlock()->clickAddToCart(); - } - - /** - * Get product options - * - * @param FixtureInterface $product - * @return array - * @throws \Exception - */ - public function getOptions(FixtureInterface $product) - { - /** @var BundleProduct $product */ - $this->product = $product; - $bundleSelections = $product->getBundleSelections(); - $bundleOptions = isset($bundleSelections['bundle_options']) ? $bundleSelections['bundle_options'] : []; - - $listFormOptions = $this->getListOptions(); - $formOptions = []; - - foreach ($bundleOptions as $index => $option) { - $title = $option['title']; - if (!isset($listFormOptions[$title])) { - throw new \Exception("Can't find option: \"{$title}\""); - } - $this->optionIndex = $index; - - /** @var SimpleElement $optionElement */ - $optionElement = $listFormOptions[$title]; - $getTypeData = 'get' . $this->optionNameConvert($option['frontend_type']) . 'Data'; - - $optionData = $this->$getTypeData($optionElement); - $optionData['title'] = $title; - $optionData['type'] = $option['frontend_type']; - $optionData['is_require'] = $optionElement->find($this->required, Locator::SELECTOR_XPATH)->isVisible() - ? 'Yes' - : 'No'; - - $formOptions[] = $optionData; - } - return $formOptions; - } - - /** - * Check if bundle option is visible. - * - * @param string $optionTitle - * @return bool - */ - public function isOptionVisible($optionTitle) - { - return isset($this->getListOptions()[$optionTitle]); - } - - /** - * Get list options - * - * @return array - */ - protected function getListOptions() - { - $options = []; - - $count = 1; - $optionElement = $this->_rootElement->find(sprintf($this->optionElement, $count), Locator::SELECTOR_XPATH); - while ($optionElement->isVisible()) { - $title = $optionElement->find($this->title, Locator::SELECTOR_XPATH)->getText(); - $options[$title] = $optionElement; - - ++$count; - $optionElement = $this->_rootElement->find(sprintf($this->optionElement, $count), Locator::SELECTOR_XPATH); - } - return $options; - } - - /** - * Get data of "Drop-down" option - * - * @param SimpleElement $option - * @return array - */ - protected function getDropdownData(SimpleElement $option) - { - if ($this->isOneProductInStock($this->product)) { - return ['options' => $this->getFlatTextData()]; - } - $select = $option->find($this->selectOption, Locator::SELECTOR_XPATH, 'select'); - // Skip "Choose option ..."(option #1) - return $this->getSelectOptionsData($select, 2); - } - - /** - * Get data of "Multiple select" option - * - * @param SimpleElement $option - * @return array - */ - protected function getMultipleselectData(SimpleElement $option) - { - $multiselect = $option->find($this->selectOption, Locator::SELECTOR_XPATH, 'multiselect'); - $data = $this->getSelectOptionsData($multiselect, 1); - - foreach ($data['options'] as $key => $option) { - $option['title'] = trim(preg_replace('/^[\d]+ x/', '', $option['title'])); - $data['options'][$key] = $option; - } - - return $data; - } - - /** - * Get data of "Radio buttons" option - * - * @param SimpleElement $option - * @return array - */ - protected function getRadiobuttonsData(SimpleElement $option) - { - $listOptions = []; - $optionLabels = $option->getElements($this->optionLabel, Locator::SELECTOR_XPATH); - - foreach ($optionLabels as $optionLabel) { - if ($optionLabel->isVisible()) { - $listOptions[] = $this->parseOptionText($optionLabel->getText()); - } - } - - return ['options' => $listOptions]; - } - - /** - * Get data of "Checkbox" option - * - * @param SimpleElement $option - * @return array - */ - protected function getCheckboxData(SimpleElement $option) - { - $data = $this->getRadiobuttonsData($option); - - foreach ($data['options'] as $key => $option) { - $option['title'] = trim(preg_replace('/^[\d]+ x/', '', $option['title'])); - $data['options'][$key] = $option; - } - - return $data; - } - - /** - * Get data from option of select and multiselect - * - * @param SimpleElement $element - * @param int $firstOption - * @return array - */ - protected function getSelectOptionsData(SimpleElement $element, $firstOption = 1) - { - $listOptions = []; - - $count = $firstOption; - $selectOption = $element->find(sprintf($this->option, $count), Locator::SELECTOR_XPATH); - while ($selectOption->isVisible()) { - $option = $this->parseOptionText($selectOption->getText()); - $selected = $selectOption->getAttribute('selected'); - if ($selected) { - $option['selected'] = $selected; - } - $listOptions[] = $option; - ++$count; - $selectOption = $element->find(sprintf($this->option, $count), Locator::SELECTOR_XPATH); - } - - return ['options' => $listOptions]; - } - - /** - * Parse option text to title and price - * - * @param string $optionText - * @return array - */ - protected function parseOptionText($optionText) - { - preg_match('`^(.*?)\+ ?\$(\d.*?)$`sim', $optionText, $match); - $optionPrice = isset($match[2]) ? str_replace(',', '', $match[2]) : 0; - $optionTitle = isset($match[1]) ? trim($match[1]) : $optionText; - - return [ - 'title' => $optionTitle, - 'price' => $optionPrice - ]; - } - - /** - * Fill bundle options - * - * @param array $bundleOptions - * @return void - */ - public function fillBundleOptions($bundleOptions) - { - foreach ($bundleOptions as $option) { - $selector = sprintf($this->bundleOptionBlock, $option['title']); - $useDefault = isset($option['use_default']) && strtolower($option['use_default']) == 'true'; - if (!$useDefault) { - /** @var Option $optionBlock */ - $optionBlock = $this->blockFactory->create( - 'Magento\Bundle\Test\Block\Catalog\Product\View\Type\Option\\' - . $this->optionNameConvert($option['frontend_type']), - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - $optionBlock->fillOption($option['value']); - } - } - } - - /** - * Convert option name - * - * @param string $optionType - * @return string - */ - protected function optionNameConvert($optionType) - { - $trimmedOptionType = preg_replace('/[^a-zA-Z]/', '', $optionType); - return ucfirst(strtolower($trimmedOptionType)); - } - - /** - * Check count products with 'In Stock' status. - * - * @param BundleProduct $products - * @return bool - */ - private function isOneProductInStock(BundleProduct $products) - { - $result = []; - $products = $products->getBundleSelections()['products'][$this->optionIndex]; - foreach ($products as $product) { - $status = $product->getData()['quantity_and_stock_status']['is_in_stock']; - if ($status == 'In Stock') { - $result[] = $product; - } - } - if (count($result) == 1) { - return true; - } - return false; - } - - /** - * Return list options. - * - * @return array - */ - private function getFlatTextData() - { - $productPrice = $this->_rootElement->find($this->assignedProductPrice)->getText(); - $productPrice = preg_replace("/[^0-9.,]/", '', $productPrice); - $productName = $this->_rootElement->find($this->assignedProductName)->getText(); - $options[$productName] = [ - 'title' => $productName, - 'price' => number_format($productPrice, 2) - ]; - return $options; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option.php deleted file mode 100644 index c9addfb314c00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option.php +++ /dev/null @@ -1,31 +0,0 @@ -dataMapping($data); - $this->_fill($mapping); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Checkbox.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Checkbox.php deleted file mode 100644 index 46cfa8db83efd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Checkbox.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - .//div[label[//span[contains(text(), "%product_name%")]]]/input - xpath - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Dropdown.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Dropdown.php deleted file mode 100644 index c4ace793758c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Dropdown.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - select - select - - - //input[@class = "qty"] - xpath - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Element/Qty.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Element/Qty.php deleted file mode 100644 index 76e523649b19f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Element/Qty.php +++ /dev/null @@ -1,37 +0,0 @@ -keys([self::RIGHT, self::BACKSPACE, $value]); - $this->context->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Hidden.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Hidden.php deleted file mode 100644 index dccc66a4ab367..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Hidden.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - input.qty - Magento\Bundle\Test\Block\Catalog\Product\View\Type\Option\Element\Qty - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Multiple.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Multiple.php deleted file mode 100644 index 26b41647e4fcf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Multiple.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - select - multiselect - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.php deleted file mode 100644 index 9640216ecb84e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.php +++ /dev/null @@ -1,30 +0,0 @@ -dataMapping($data); - $mapping['name']['selector'] = str_replace('%product_name%', $data['name'], $mapping['name']['selector']); - $mapping['name']['value'] = 'Yes'; - $this->_fill($mapping); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.xml deleted file mode 100644 index e5fa7a06d6bc3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Block/Catalog/Product/View/Type/Option/Radiobuttons.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - //div[label[//span[contains(text(), "%product_name%")]]]/input - xpath - checkbox - - - //input[@class = "qty"] - xpath - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleInCategory.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleInCategory.php deleted file mode 100644 index 5042eb2a2c3aa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleInCategory.php +++ /dev/null @@ -1,65 +0,0 @@ -getDataFieldConfig('price')['source']->getPriceData(); - //Price from/to verification - $priceBlock = $catalogCategoryView->getListProductBlock()->getProductItem($bundle)->getPriceBlock(); - - if ($bundle->hasData('special_price')) { - $priceLow = $priceBlock->getPrice(); - } else { - $priceLow = ($bundle->getPriceView() == 'Price Range') - ? $priceBlock->getPriceFrom() - : $priceBlock->getPrice(); - } - - \PHPUnit\Framework\Assert::assertEquals( - $priceData['price_from'], - $priceLow, - 'Bundle price From on category page is not correct.' - ); - if ($bundle->getPriceView() == 'Price Range') { - \PHPUnit\Framework\Assert::assertEquals( - $priceData['price_to'], - $priceBlock->getPriceTo(), - 'Bundle price To on category page is not correct.' - ); - } - } - - /** - * Text of Visible in category assert. - * - * @return string - */ - public function toString() - { - return 'Bundle price on category page is not correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsOnProductPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsOnProductPage.php deleted file mode 100644 index eb0f2bed954a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsOnProductPage.php +++ /dev/null @@ -1,115 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $productOptions = $this->prepareBundleOptions($product); - $productOptions = $this->sortDataByPath($productOptions, '::title'); - foreach ($productOptions as $key => $productOption) { - $productOptions[$key] = $this->sortDataByPath($productOption, 'options::title'); - } - $formOptions = $catalogProductView->getViewBlock()->getOptions($product)['bundle_options']; - $formOptions = $this->sortDataByPath($formOptions, '::title'); - foreach ($formOptions as $key => $formOption) { - $formOptions[$key] = $this->sortDataByPath($formOption, 'options::title'); - } - - $error = $this->verifyData($productOptions, $formOptions); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Prepare bundle options. - * - * @param BundleProduct $product - * @return array - */ - protected function prepareBundleOptions(BundleProduct $product) - { - $bundleSelections = $product->getBundleSelections(); - $bundleOptions = isset($bundleSelections['bundle_options']) ? $bundleSelections['bundle_options'] : []; - $result = []; - - foreach ($bundleOptions as $optionKey => $bundleOption) { - $optionData = [ - 'title' => $bundleOption['title'], - 'type' => $bundleOption['frontend_type'], - 'is_require' => $bundleOption['required'], - ]; - - $key = 0; - foreach ($bundleOption['assigned_products'] as $productKey => $assignedProduct) { - if ($this->isInStock($product, $key++)) { - $price = isset($assignedProduct['data']['selection_price_value']) - ? $assignedProduct['data']['selection_price_value'] - : $bundleSelections['products'][$optionKey][$productKey]->getPrice(); - - $optionData['options'][$productKey] = [ - 'title' => $assignedProduct['search_data']['name'], - 'price' => number_format($price, 2), - ]; - } - } - - $result[$optionKey] = $optionData; - } - - return $result; - } - - /** - * Check product attribute 'is_in_stock'. - * - * @param BundleProduct $product - * @param int $key - * @return bool - */ - private function isInStock(BundleProduct $product, $key) - { - $assignedProducts = $product->getBundleSelections()['products'][0]; - $status = $assignedProducts[$key]->getData()['quantity_and_stock_status']['is_in_stock']; - - if ($status == 'In Stock') { - return true; - } - return false; - } - - /** - * Return Text if displayed on frontend equals with fixture. - * - * @return string - */ - public function toString() - { - return 'Bundle options data on product page equals to passed from fixture dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsSummaryOnProductPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsSummaryOnProductPage.php deleted file mode 100644 index b769d9b75722c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleItemsSummaryOnProductPage.php +++ /dev/null @@ -1,102 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $bundleOptions = $product->getData()['bundle_selections']['bundle_options']; - $bundleViewBlock = $catalogProductView->getBundleViewBlock(); - $configuredPriceBlock = $bundleViewBlock->getBundleSummaryBlock()->getConfiguredPriceBlock(); - foreach ($bundleOptions as $bundleOption) { - foreach ($bundleOption['assigned_products'] as $assignedProduct) { - $bundleViewBlock->fillOptionsWithCustomData([ - [ - 'title' => $bundleOption['title'], - 'type' => $bundleOption['type'], - 'frontend_type' => $bundleOption['type'], - 'value' => [ - 'name' => $assignedProduct['search_data']['name'] - ] - ] - ]); - $assignedProductPrice = (double)$assignedProduct['data']['selection_price_value']; - $assignedProductQty = (double)$assignedProduct['data']['selection_qty']; - - foreach ($bundleViewBlock->getBundleSummaryBlock()->getSummaryItems() as $bundleSummaryItem) { - $bundleSummaryItemText = $bundleSummaryItem->getText(); - if (strpos($bundleSummaryItemText, $assignedProduct['search_data']['name']) !== false) { - $optionData = $this->getBundleOptionData($bundleSummaryItemText); - $optionData['price'] = (double)$configuredPriceBlock->getPrice(); - $actualResult[] = $optionData; - } - } - - $expectedResult[] = [ - 'qty' => $assignedProduct['data']['selection_qty'], - 'name' => $assignedProduct['search_data']['name'], - 'price' => $assignedProductQty * $assignedProductPrice + (double)$product->getPrice() - ]; - } - } - - \PHPUnit\Framework\Assert::assertEquals( - $expectedResult, - $actualResult, - 'Bundle Summary Section does not contain correct bundle options data.' - ); - } - - /** - * Extract Bundle summary item Qty and Name from row text. - * - * @param string $rowItem - * @return array - */ - private function getBundleOptionData($rowItem) - { - // Row item must be displayed like "1 x Simple Product". - $rowItem = explode(' x ', $rowItem); - return [ - 'qty' => $rowItem[0], - 'name' => $rowItem[1] - ]; - } - - /** - * Return Text if displayed on frontend equals with fixture. - * - * @return string - */ - public function toString() - { - return 'Bundle options are displayed correctly in the summary section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionTitleOnStorefront.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionTitleOnStorefront.php deleted file mode 100644 index 2b9db50362de6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionTitleOnStorefront.php +++ /dev/null @@ -1,68 +0,0 @@ -open(); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - foreach ($stores as $store) { - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($store->getName()); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - $browser->open($_ENV['app_frontend_url'] . $originalProduct->getUrlKey() . '.html'); - $catalogProductView->getBundleViewBlock()->clickCustomize(); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getBundleViewBlock()->getBundleBlock()->isOptionVisible( - $optionTitles[$store->getStoreId()] - ), - sprintf( - 'Option with title \'%s\' is missing in \'%s\' store view.', - $optionTitles[$store->getStoreId()], - $store->getName() - ) - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Option title is correct on product view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionsDeleted.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionsDeleted.php deleted file mode 100644 index 0fb3786c24de7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleOptionsDeleted.php +++ /dev/null @@ -1,78 +0,0 @@ - $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - - $productData = $product->getData()['bundle_selections']['bundle_options']; - $originalProductData = $originalProduct->getData()['bundle_selections']['bundle_options']; - $formData = $productPage->getProductForm()->getData($product)['bundle_selections']; - - $productDataLength = count($productData); - $formDataLength = count($productData); - \PHPUnit\Framework\Assert::assertEquals($productDataLength, $formDataLength); - - foreach ($productData as $index => $option) { - $productAssociatedDataLength = count($option['assigned_products']); - $formAssociatedDataLength = count($formData[$index]['assigned_products']); - \PHPUnit\Framework\Assert::assertEquals($productAssociatedDataLength, $formAssociatedDataLength); - - foreach ($option['assigned_products'] as $productIndex => $associatedProduct) { - $associatedProduct['data']['getProductName'] = - $originalProductData[$index+1]['assigned_products'][$productIndex]['search_data']['name']; - $associatedProduct = $associatedProduct['data']; - $errorAssociatedProducts = array_diff( - $associatedProduct, - $formData[$index]['assigned_products'][$productIndex] - ); - \PHPUnit\Framework\Assert::assertCount(0, $errorAssociatedProducts); - } - - unset($option['assigned_products']); - unset($formData[$index]['assigned_products']); - $errorFields = array_diff($option, $formData[$index]); - \PHPUnit\Framework\Assert::assertCount(0, $errorFields); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Bundle options were not deleted correctly. There is difference with expected options'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceCalculatedOnProductPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceCalculatedOnProductPage.php deleted file mode 100644 index 39e01c09bc43c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceCalculatedOnProductPage.php +++ /dev/null @@ -1,64 +0,0 @@ -create(ConfigureProductOnProductPageStep::class, ['product' => $product])->run(); - - //Process assertions - $this->assertPrice($product, $catalogProductView); - } - - /** - * Assert prices on the product view Page. - * - * @param BundleProduct $product - * @param CatalogProductView $productView - * @return void - */ - protected function assertPrice(BundleProduct $product, CatalogProductView $productView) - { - $checkoutData = $product->getCheckoutData(); - \PHPUnit\Framework\Assert::assertEquals( - $checkoutData['cartItem']['configuredPrice'], - $productView->getBundleViewBlock()->getBundleSummaryBlock()->getConfiguredPriceBlock()->getPrice(), - 'Bundle price calculated is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Bundle price calculates right on product view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceType.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceType.php deleted file mode 100644 index 6826bb5fc8277..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceType.php +++ /dev/null @@ -1,129 +0,0 @@ -open()->getCartBlock()->clearShoppingCart(); - //Open product view page - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - //Process assertions - $this->assertPrice($product, $catalogProductView, $checkoutCartView, $originalProduct); - } - - /** - * Assert prices on the product view page and shopping cart page. - * - * @param BundleProduct $product - * @param CatalogProductView $catalogProductView - * @param CheckoutCart $checkoutCartView - * @param BundleProduct $originalProduct [optional] - * @return void - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - protected function assertPrice( - BundleProduct $product, - CatalogProductView $catalogProductView, - CheckoutCart $checkoutCartView, - BundleProduct $originalProduct = null - ) { - $bundleData = $product->getData(); - $this->productPriceType = $originalProduct !== null - ? $originalProduct->getPriceType() - : $product->getPriceType(); - $catalogProductView->getViewBlock()->addToCart($product); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $checkoutCartView->open(); - $cartItem = $checkoutCartView->getCartBlock()->getCartItem($product); - $specialPrice = 0; - - $optionPrice = []; - $fillData = $product->getCheckoutData(); - foreach ($fillData['options']['bundle_options'] as $key => $data) { - $subProductPrice = 0; - foreach ($bundleData['bundle_selections']['products'][$key] as $productKey => $itemProduct) { - if (strpos($itemProduct->getName(), $data['value']['name']) !== false) { - $data['value']['key'] = $productKey; - $subProductPrice = $itemProduct->getPrice(); - } - } - - $optionPrice[$key]['price'] = $this->productPriceType == 'No' - ? number_format( - $bundleData['bundle_selections']['bundle_options'][$key]['assigned_products'][$data['value']['key']] - ['data']['selection_price_value'], - 2 - ) - : number_format($subProductPrice, 2); - } - - foreach ($optionPrice as $index => $item) { - $item['price'] -= $item['price'] * $specialPrice; - \PHPUnit\Framework\Assert::assertEquals( - number_format($item['price'], 2), - $cartItem->getPriceBundleOptions($index + 1), - 'Bundle item ' . ($index + 1) . ' options on frontend don\'t equal to fixture.' - ); - } - $sumOptionsPrice = $product->getDataFieldConfig('price')['source']->getPriceData()['cart_price']; - - $subTotal = number_format($cartItem->getPrice(), 2); - \PHPUnit\Framework\Assert::assertEquals( - $sumOptionsPrice, - $subTotal, - 'Bundle unit price on frontend doesn\'t equal to fixture.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Bundle price on shopping cart page is not correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceView.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceView.php deleted file mode 100644 index b89fda9c97bb8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundlePriceView.php +++ /dev/null @@ -1,82 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - //Process assertions - $this->assertPrice($product, $catalogProductView); - } - - /** - * Assert prices on the product view Page. - * - * @param BundleProduct $product - * @param CatalogProductView $catalogProductView - * @return void - */ - protected function assertPrice(BundleProduct $product, CatalogProductView $catalogProductView) - { - $priceData = $product->getDataFieldConfig('price')['source']->getPriceData(); - $priceView = $product->getPriceView(); - $priceBlock = $catalogProductView->getViewBlock()->getPriceBlock(); - - if ($product->hasData('special_price')) { - $priceLow = $priceBlock->getPrice(); - } else { - $priceLow = ($priceView == 'Price Range') ? $priceBlock->getPriceFrom() : $priceBlock->getPrice(); - } - - \PHPUnit\Framework\Assert::assertEquals( - $priceData['price_from'], - $priceLow, - 'Bundle price From on product view page is not correct.' - ); - - if ($priceView == 'Price Range') { - \PHPUnit\Framework\Assert::assertEquals( - $priceData['price_to'], - $priceBlock->getPriceTo(), - 'Bundle price To on product view page is not correct.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Bundle price on product view page is not correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductForm.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductForm.php deleted file mode 100644 index 62d0a09fbfc1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductForm.php +++ /dev/null @@ -1,64 +0,0 @@ - [ - 'type' => 'date', - ], - 'special_to_date' => [ - 'type' => 'date', - ], - ]; - - /** - * Prepares fixture data for comparison. - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFixtureData(array $data, array $sortFields = []) - { - $data['bundle_selections'] = $this->prepareBundleOptions( - $data['bundle_selections']['bundle_options'] - ); - - return parent::prepareFixtureData($data, $sortFields); - } - - /** - * Prepare Bundle Options array from dataset. - * - * @param array $bundleSelections - * @return array - */ - protected function prepareBundleOptions(array $bundleSelections) - { - foreach ($bundleSelections as &$item) { - unset($item['frontend_type']); - foreach ($item['assigned_products'] as &$selection) { - $selection['data']['getProductName'] = $selection['search_data']['name']; - $selection = $selection['data']; - } - } - - return $bundleSelections; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCart.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCart.php deleted file mode 100644 index 0df3772c52bfa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCart.php +++ /dev/null @@ -1,44 +0,0 @@ -countSubItemPrice($product); - } - - /** - * Count subItem price. - * - * @param FixtureInterface $product - * @return void - */ - private function countSubItemPrice(FixtureInterface $product) - { - $checkoutData = $product->getCheckoutData(); - if (isset($checkoutData['cartItem']['subItemPrice'])) { - $this->fixtureActualPrice += $checkoutData["cartItem"]["subItemPrice"]; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCustomerWishlistOnBackendGrid.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCustomerWishlistOnBackendGrid.php deleted file mode 100644 index 52db227fa4cc5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductInCustomerWishlistOnBackendGrid.php +++ /dev/null @@ -1,41 +0,0 @@ -getCheckoutData()['options']; - if (!empty($checkoutData['bundle_options'])) { - foreach ($checkoutData['bundle_options'] as $optionData) { - $productOptions[] = [ - 'option_name' => $optionData['title'], - 'value' => $optionData['value']['name'], - ]; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductOnConfigureCartPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductOnConfigureCartPage.php deleted file mode 100644 index b97a954a981b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductOnConfigureCartPage.php +++ /dev/null @@ -1,118 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - foreach ($cart->getItems() as $key => $item) { - $product = $products[$key]; - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - $cartItem->edit(); - $formOptions = $catalogProductView->getBundleViewBlock()->getBundleBlock()->getOptions($product); - $this->checkOptions($product, $formOptions, $item->getData()['options']); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Bundle options data on cart configuration page is correct.'; - } - - /** - * Compare bundle product options from fixture with product form. - * - * @param BundleProduct $product - * @param array $formOptions - * @param array $cartItemOptions - * @return void - */ - private function checkOptions(BundleProduct $product, array $formOptions, array $cartItemOptions) - { - $productOptions = $this->prepareBundleOptions($product, $cartItemOptions); - $productOptions = $this->sortDataByPath($productOptions, '::title'); - foreach ($productOptions as $key => $productOption) { - $productOptions[$key] = $this->sortDataByPath($productOption, 'options::title'); - } - $formOptions = $this->sortDataByPath($formOptions, '::title'); - foreach ($formOptions as $key => $formOption) { - $formOptions[$key] = $this->sortDataByPath($formOption, 'options::title'); - } - - $error = $this->verifyData($productOptions, $formOptions); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Prepare bundle options. - * - * @param BundleProduct $product - * @param array $cartItemOptions - * @return array - */ - private function prepareBundleOptions(BundleProduct $product, array $cartItemOptions) - { - $bundleSelections = $product->getBundleSelections(); - $bundleOptions = $bundleSelections['bundle_options'] ?? []; - $result = []; - foreach ($bundleOptions as $optionKey => $bundleOption) { - $optionData = [ - 'title' => $bundleOption['title'], - 'type' => $bundleOption['frontend_type'], - 'is_require' => $bundleOption['required'], - ]; - foreach ($bundleOption['assigned_products'] as $productKey => $assignedProduct) { - $price = $assignedProduct['data']['selection_price_value'] - ?? $bundleSelections['products'][$optionKey][$productKey]->getPrice(); - $title = $assignedProduct['search_data']['name']; - $optionData['options'][$productKey] = [ - 'title' => $title, - 'price' => number_format($price, 2), - ]; - foreach ($cartItemOptions as $option) { - if (strpos($option['value'], $title) !== false) { - $optionData['options'][$productKey]['selected'] = true; - } - } - } - $result[$optionKey] = $optionData; - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductPage.php deleted file mode 100644 index fa9f93f2ebace..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertBundleProductPage.php +++ /dev/null @@ -1,84 +0,0 @@ -product->getDataFieldConfig('price')['source']->getPriceData(); - $priceView = $this->product->getPriceView(); - $priceBlock = $this->productView->getPriceBlock(); - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - - if ($this->product->hasData('special_price')) { - $priceLow = $priceBlock->getPrice(); - } else { - $priceLow = ($priceView == 'Price Range') ? $priceBlock->getPriceFrom() : $priceBlock->getPrice(); - } - - $errors = []; - - if ($priceData['price_from'] != $priceLow) { - $errors[] = 'Bundle price "From" on product view page is not correct.'; - } - if ($priceView == 'Price Range' && $priceData['price_to'] != $priceBlock->getPriceTo()) { - $errors[] = 'Bundle price "To" on product view page is not correct.'; - } - - return empty($errors) ? null : implode("\n", $errors); - } - - /** - * Verify product special price is displayed on product page(front-end). - * - * @return string|null - */ - protected function verifySpecialPrice() - { - if (!$this->product->hasData('special_price')) { - return null; - } - - $priceBlock = $this->productView->getPriceBlock(); - - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - - if (!$priceBlock->isOldPriceVisible()) { - return 'Bundle special price is not set.'; - } - - $regularPrice = $priceBlock->getOldPrice(); - $priceData = $this->product->getDataFieldConfig('price')['source']->getPriceData(); - - if (!isset($priceData['regular_from'])) { - return 'Regular from price not set.'; - } - - if ($priceData['regular_from'] != $regularPrice) { - return 'Bundle regular price on product view page is not correct.'; - } - - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertProductCustomOptionsOnBundleProductPage.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertProductCustomOptionsOnBundleProductPage.php deleted file mode 100644 index 2ed92df058fd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Constraint/AssertProductCustomOptionsOnBundleProductPage.php +++ /dev/null @@ -1,22 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $viewBlock = $catalogProductView->getBundleViewBlock(); - $viewBlock->clickCustomize(); - - //Process assertions - $this->assertPrice($product, $viewBlock); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml deleted file mode 100644 index 70a364017c563..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - bundle - - bundle - 4 - - product - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/BundleSelections.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/BundleSelections.php deleted file mode 100644 index 128722f394a99..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct/BundleSelections.php +++ /dev/null @@ -1,111 +0,0 @@ -repositoryFactory = $repositoryFactory; - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->data = !isset($data['dataset']) ? $data : []; - $this->getDataset($data); - $this->prepareProducts(); - } - - /** - * Get dataset for a field. - * - * @param array $data - * @return void - */ - protected function getDataset(array $data) - { - if (isset($data['dataset']) && isset($this->params['repository'])) { - $this->data = $this->repositoryFactory->get($this->params['repository'])->get($data['dataset']); - if (!empty($data['products'])) { - $this->data['products'] = []; - $this->data['products'] = explode('|', $data['products']); - foreach ($this->data['products'] as $key => $products) { - $this->data['products'][$key] = explode(',', $products); - } - } - } - } - - /** - * Prepare products for bundle items. - * - * @return void - */ - protected function prepareProducts() - { - if (!empty($this->data['products'])) { - $productsSelections = $this->data['products']; - $this->data['products'] = []; - foreach ($productsSelections as $index => $products) { - $productSelection = []; - foreach ($products as $key => $product) { - if ($product instanceof FixtureInterface) { - $productSelection[$key] = $product; - continue; - } - list($fixture, $dataset) = explode('::', $product); - $productSelection[$key] = $this->fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - $productSelection[$key]->persist(); - $this->data['bundle_options'][$index]['assigned_products'][$key]['search_data']['name'] = - $productSelection[$key]->getName(); - } - $this->data['products'][] = $productSelection; - } - } - } - - /** - * Get products from bundle items. - * - * @return array - */ - public function getProducts() - { - return $this->data['products']; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/Cart/Item.php deleted file mode 100644 index 4d6d06ac6e625..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,98 +0,0 @@ -product->getBundleSelections(); - $checkoutData = $this->product->getCheckoutData(); - $checkoutBundleOptions = isset($checkoutData['options']['bundle_options']) - ? $checkoutData['options']['bundle_options'] - : []; - - $productSku = [$this->product->getSku()]; - foreach ($checkoutBundleOptions as $checkoutOptionKey => $checkoutOption) { - $keys = $this->getKeys($bundleSelection['bundle_options'], $checkoutOption); - $attributeKey = $keys['attribute']; - $optionKey = $keys['option']; - // Prepare option data - $bundleSelectionAttribute = $bundleSelection['products'][$attributeKey]; - $bundleOptions = $bundleSelection['bundle_options'][$attributeKey]; - $value = $bundleSelectionAttribute[$optionKey]->getName(); - $this->product->getSkuType() == 'No' ?: $productSku[] = $bundleSelectionAttribute[$optionKey]->getSku(); - $qty = $bundleOptions['assigned_products'][$optionKey]['data']['selection_qty']; - $price = $this->product->getPriceType() == 'Yes' - ? number_format($bundleSelectionAttribute[$optionKey]->getPrice(), 2) - : number_format($bundleOptions['assigned_products'][$optionKey]['data']['selection_price_value'], 2); - $optionData = [ - 'title' => $checkoutOption['title'], - 'value' => "{$qty} x {$value} {$price}", - 'sku' => "{$value}" - ]; - - $checkoutBundleOptions[$checkoutOptionKey] = $optionData; - } - - $this->data['sku'] = implode('-', $productSku); - $this->data['options'] += $checkoutBundleOptions; - - return $this->data; - } - - /** - * Get option key. - * - * @param array $assignedProducts - * @param string $checkoutOption - * @return null|string - */ - private function getOptionKey(array $assignedProducts, $checkoutOption) - { - foreach ($assignedProducts as $key => $value) { - if (false !== strpos($value['search_data']['name'], $checkoutOption)) { - return $key; - } - } - - return null; - } - - /** - * Find option and attribute keys. - * - * @param array $bundleOptions - * @param string $checkoutOption - * @return array - */ - private function getKeys(array $bundleOptions, $checkoutOption) - { - $keys = []; - foreach ($bundleOptions as $key => $option) { - if ($option['title'] == $checkoutOption['title']) { - $keys['attribute'] = $key; - $keys['option'] = $this->getOptionKey($option['assigned_products'], $checkoutOption['value']['name']); - } - } - - return $keys; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/BundleProductInterface.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/BundleProductInterface.php deleted file mode 100644 index 1977df1033fc0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/BundleProductInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -mappingData += [ - 'selection_can_change_qty' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'sku_type' => [ - 'Yes' => 0, - 'No' => 1, - ], - 'price_type' => [ - 'Yes' => 0, - 'No' => 1, - ], - 'weight_type' => [ - 'Yes' => 0, - 'No' => 1, - ], - 'shipment_type' => [ - 'Together' => 0, - 'Separately' => 1, - ], - 'type' => [ - 'Drop-down' => 'select', - 'Radio Buttons' => 'radio', - 'Checkbox' => 'checkbox', - 'Multiple Select' => 'multi', - ], - 'selection_price_type' => [ - 'Fixed' => 0, - 'Percent' => 1, - ], - 'price_view' => [ - 'Price Range' => 0, - 'As Low as' => 1, - ], - 'use_config_gift_message_available' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'gift_message_available' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'user_defined' => [ - 'Yes' => 1, - 'No' => 0 - ] - ]; - } - - /** - * Prepare POST data for creating product request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $this->fields = parent::prepareData($fixture); - - $this->prepareBundleItems(); - $this->fields = $this->replaceMappingData($this->fields); - - return $this->fields; - } - - /** - * Preparation of "Product Details" tab data. - * - * @return void - */ - protected function prepareProductDetails() - { - parent::prepareProductDetails(); - - if (!isset($this->fields['product']['price_type'])) { - $this->fields['product']['price_type'] = 'Yes'; - } - } - - /** - * Preparation of "Advanced Pricing" tab data. - * - * @return void - */ - protected function prepareAdvancedPricing() - { - parent::prepareAdvancedPricing(); - - if (!isset($this->fields['product']['price_view'])) { - $this->fields['product']['price_view'] = 'Price Range'; - } - } - - /** - * Preparation of selections data. - * - * @return void - */ - protected function prepareBundleItems() - { - $selections = []; - $bundleSelections = []; - - if (!empty($this->fields['product']['bundle_selections'])) { - $selections = $this->fields['product']['bundle_selections']; - $products = $selections['products']; - unset($this->fields['product']['selections'], $selections['products']); - - foreach ($selections['bundle_options'] as $key => &$option) { - $option['delete'] = ''; - $option['position'] = $key; - foreach ($option['assigned_products'] as $productKey => $assignedProduct) { - $assignedProduct['data'] += [ - 'product_id' => $products[$key][$productKey]->getId(), - 'delete' => '', - 'position' => $productKey - ]; - $bundleSelections[$key][] = $assignedProduct['data']; - } - unset($option['assigned_products']); - } - } - - $this->fields = array_merge($this->fields, $selections); - $this->fields['bundle_selections'] = $bundleSelections; - } - - /** - * Parse response. - * - * @param string $response - * @return array - */ - protected function parseResponse($response) - { - return array_replace_recursive(parent::parseResponse($response), $this->parseResponseSelections($response)); - } - - /** - * Parse bundle selections in response. - * - * @param string $response - * @return array - */ - protected function parseResponseSelections($response) - { - $selectionIdKey = 1; - $optionIdKey = 2; - $productNameKey = 3; - $responseSelections = []; - $bundleSelections = $this->fixture->getBundleSelections(); - - preg_match_all( - '/{.*"selection_id":"(\d+)".*"option_id":"(\d+)".*"name":"([^"]+)".*}/', - $response, - $matches, - PREG_SET_ORDER - ); - foreach ($matches as $match) { - $productName = $match[$productNameKey]; - $responseSelections[$productName] = [ - 'selection_id' => $match[$selectionIdKey], - 'option_id' => $match[$optionIdKey], - ]; - } - - foreach ($bundleSelections['bundle_options'] as $optionKey => $option) { - foreach ($option['assigned_products'] as $assignedKey => $optionValue) { - $productName = $optionValue['search_data']['name']; - $bundleSelections['bundle_options'][$optionKey]['assigned_products'][$assignedKey] += - $responseSelections[$productName]; - } - } - - return ['bundle_selections' => $bundleSelections]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Webapi.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Webapi.php deleted file mode 100644 index 89a5b52c2a879..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Webapi.php +++ /dev/null @@ -1,143 +0,0 @@ -prepareBundleItems(); - } - - /** - * Preparation of bundle items data. - * - * @return void - */ - protected function prepareBundleItems() - { - $bundleSelections = isset($this->fields['product']['bundle_selections']) - ? $this->fields['product']['bundle_selections'] - : []; - $bundleProductOptions = []; - - if (!empty($bundleSelections)) { - foreach ($bundleSelections['bundle_options'] as $key => $bundleOption) { - $bundleProductOptions[$key] = [ - 'sku' => $this->fixture->getSku(), - 'title' => $bundleOption['title'], - 'type' => $bundleOption['type'], - 'required' => $bundleOption['required'], - 'position' => isset($bundleOption['position']) ? (int)$bundleOption['position'] : $key, - 'product_links' => $this->prepareLinksInfo($bundleSelections, $key) - ]; - } - } - - $this->fields['product']['extension_attributes']['bundle_product_options'] = $bundleProductOptions; - unset($this->fields['bundle_options']); - unset($this->fields['bundle_selections']); - unset($this->fields['product']['bundle_selections']); - } - - /** - * Prepare links info field. - * - * @param array $bundleSelections - * @param int $key - * @return array - */ - private function prepareLinksInfo(array $bundleSelections, $key) - { - $result = []; - $productLinksInfo = $bundleSelections['bundle_options'][$key]['assigned_products']; - $products = $bundleSelections['products'][$key]; - foreach ($productLinksInfo as $linkKey => $productLink) { - $product = $products[$linkKey]; - $result[] = [ - 'sku' => $product->getSku(), - 'qty' => $productLink['data']['selection_qty'], - 'is_default' => false, - 'price' => isset($productLink['data']['selection_price_value']) - ? $productLink['data']['selection_price_value'] - : null, - 'price_type' => isset($productLink['data']['selection_price_type']) - ? $productLink['data']['selection_price_type'] - : null, - 'can_change_quantity' => isset($productLink['data']['user_defined']) - ? $productLink['data']['user_defined'] - : 0, - 'position' => $linkKey, - ]; - } - - return $result; - } - - /** - * Parse response. - * - * @param array $response - * @return array - */ - protected function parseResponse(array $response) - { - return array_replace_recursive(parent::parseResponse($response), $this->parseResponseSelections($response)); - } - - /** - * Parse bundle selections in response. - * - * @param array $response - * @return array - */ - protected function parseResponseSelections(array $response) - { - $bundleSelections = $this->fixture->getBundleSelections(); - - foreach ($response['extension_attributes']['bundle_product_options'] as $optionKey => $option) { - foreach ($option['product_links'] as $assignedKey => $optionValue) { - $bundleSelections['bundle_options'][$optionKey]['assigned_products'][$assignedKey] += [ - 'selection_id' => (int)$optionValue['id'], - 'option_id' => $option['option_id'] - ]; - } - } - - return ['bundle_selections' => $bundleSelections]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/CustomerIndexEdit.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/CustomerIndexEdit.xml deleted file mode 100644 index 2a4d694efa211..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/CustomerIndexEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index f8066a96861ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index 2faa52421c07a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct.xml deleted file mode 100644 index 3d0889baaca52..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct.xml +++ /dev/null @@ -1,605 +0,0 @@ - - - - - - Bundle dynamic product %isolation% - bundle-dynamic-product-%isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - - bundle_dynamic_with_category - - - - default - - - - default_dynamic - - - bundle_default - - - - - Bundle dynamic product %isolation% - bundle-dynamic-product-%isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - Together - - In Stock - - - bundle_dynamic_with_category - - - - default - - - - one_simple_product - - - - - Bundle dynamic product %isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - - default_dynamic - - - In Stock - - Yes - Separately - - taxable_goods - - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-dynamic-product-%isolation% - Catalog, Search - - default_dynamic - - Default - - bundle_default_dynamic - - - - - Bundle fixed product %isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 750 - default_fixed - - - taxable_goods - - - In Stock - - 1 - No - Yes - Together - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-fixed-product-%isolation% - Catalog, Search - - default_fixed - - Default - - bundle_default_fixed - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - - - taxable_goods - - 1 - No - - - default - - - - default_subcategory - - - two_options_with_fixed_and_percent_prices - - - - - Bundle dynamic product %isolation% - bundle-dynamic-product-%isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - - bundle_dynamic_with_category - - - - default - - - - default_subcategory - - - two_options_assigned_products_without_category - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - - - taxable_goods - - 1 - No - - - default - - - Separately - - required_two_fixed_options - - - bundle_required_two_fixed_options - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - - - taxable_goods - - 1 - No - - - default - - - Separately - - required_three_fixed_options_with_qty - - - bundle_required_three_fixed_options_with_qty - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - - - taxable_goods - - 1 - No - - - default - - - Separately - - required_three_fixed_options_with_qty - - - custom_attribute_set_with_textarea - - - bundle_required_three_fixed_options_with_qty - - - - - Bundle fixed product %isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - fixed_100_dollar - - - taxable_goods - - - In Stock - - 1 - No - Yes - Together - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-fixed-product-%isolation% - Catalog, Search - - fixed_100_dollar - - Default - - bundle_fixed_100_dollar - - - - - Bundle fixed product %isolation% - sku_bundle_fixed_product_%isolation% - No - No - - 100 - fixed_100_dollar - - - taxable_goods - - - In Stock - - 1 - No - Yes - Together - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-fixed-product-%isolation% - Catalog, Search - - fixed_100_dollar_buy_all - - Default - - bundle_fixed_100_dollar_buy_all - - - - - Bundle with 3 options %isolation% - with_3_bundle_options-%isolation% - sku_with_3_bundle_options_%isolation% - No - No - - 100 - - - taxable_goods - - - - default - - - - with_3_options - - - - - Bundle low stock product %isolation% - sku_bundle_low_stock_product_%isolation% - No - No - - 750 - default_fixed - - - taxable_goods - - - In Stock - - 1 - No - Yes - Together - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-fixed-product-%isolation% - Catalog, Search - - low_stock_fixed - - Default - - bundle_low_stock_fixed - - - - - Bundle dynamic product %isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - - default_dynamic - - - In Stock - - Yes - Together - - taxable_goods - - - - default - - - - Yes - Yes - Yes - In Stock - - bundle-dynamic-product-%isolation% - Catalog, Search - - default_dynamic - - Default - - bundle_default_dynamic - - - - - Bundle dynamic product %isolation% - bundle-dynamic-product-%isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - Together - - In Stock - - - bundle_dynamic_with_category - - - - default - - - - one_simple_product - - - two_fixed_radio_options - - - default_with_one_simple_product_and_custom_option - - - - - Bundle with multiselect option %isolation% - bundle-with-multiselect-option-%isolation% - sku_bundle_with_multiselect_option_%isolation% - Yes - Yes - - - default - - - - multiselect_option - - - bundle_multiselect_one_option - - - - - Bundle with multiselect option %isolation% - bundle-with-multiselect-option-%isolation% - sku_bundle_with_multiselect_option_%isolation% - Yes - Yes - - - default - - - - multiselect_option - - - bundle_multiselect_two_options - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - Together - 1 - - 110 - default_fixed - - - In Stock - - - - default - - - - default_subcategory - - - simple_product_options_with_percent_price - - - checkbox_with_one_100_percent_price - - - - - Bundle fixed product %isolation% - bundle-fixed-product-%isolation% - sku_bundle_fixed_product_%isolation% - No - No - Together - 1 - - 110 - default_fixed - - - In Stock - - - - default - - - - default_subcategory - - - simple_product_options_with_percent_price - - - checkbox_with_one_100_percent_price - - - - - Bundle dynamic product %isolation% - bundle-dynamic-product-%isolation% - sku_bundle_dynamic_product_%isolation% - Yes - Yes - Together - - In Stock - - - bundle_dynamic_with_category - - - - default - - - - dynamic_with_two_required_options_assigned_products_with_special_price - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/BundleSelections.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/BundleSelections.xml deleted file mode 100644 index c00eeb63188e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/BundleSelections.xml +++ /dev/null @@ -1,1136 +0,0 @@ - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Drop-down Option - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::default - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Custom Option %isolation% - Drop-down - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 10.00 - Fixed - 1 - - - - - %product_name% - - - 560.00 - Fixed - 1 - - - - - - - - catalogProductSimple::product_10_dollar - catalogProductSimple::default - - - - - - - - Drop-down Option - Drop-down - Yes - - - - %product_name% - - - 10.00 - Fixed - 1 - - - - - %product_name% - - - 560.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default_qty_1 - catalogProductSimple::out_of_stock - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 10.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_10_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - Radio Button Option - Radio Buttons - Radio Buttons - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - Checkbox Option - Checkbox - Checkbox - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - Multiple Select Option - Multiple Select - Multiple Select - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - Radio Button Option - Radio Buttons - Radio Buttons - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - Checkbox Option - Checkbox - Checkbox - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - Multiple Select Option - Multiple Select - Multiple Select - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - No - - - - %product_name% - - - 1 - 45 - Fixed - - - - - %product_name% - - - 1 - 43 - Fixed - - - - - - Radio Button Option - Radio Buttons - Radio Buttons - No - - - - %product_name% - - - 1 - 45 - Fixed - - - - - %product_name% - - - 1 - 43 - Fixed - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - 10.00 - Fixed - - - - - %product_name% - - - 1 - 20.00 - Percent - - - - - - - - catalogProductSimple::product_without_category - catalogProductSimple::product_without_category - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::product_without_category - catalogProductSimple::product_without_category - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::simple_big_qty - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 10.00 - Fixed - 1 - - - - - %product_name% - - - 20.00 - Fixed - 1 - - - - - - - - catalogProductSimple::simple - catalogProductSimple::product_15_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 10.00 - Fixed - 1 - - - - - %product_name% - - - 20.00 - Fixed - 2 - - - - - %product_name% - - - 30.00 - Fixed - 3 - - - - - - - - catalogProductSimple::simple - catalogProductSimple::product_15_dollar - catalogProductSimple::product_40_dollar - - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - - - - - %product_name% - - - 1 - - - - - - - - catalogProductSimple::product_10_dollar - catalogProductSimple::product_with_special_price - - - catalogProductSimple::product_10_dollar - catalogProductSimple::product_with_special_price - - - - - - - - Option 1 - Drop-down - No - - - - %product_name% - - - 1 - 1 - Fixed - - - - - - Option 2 - Radio Buttons - No - - - - %product_name% - - - 20 - 20 - Fixed - - - - - %product_name% - - - 21 - 21 - Fixed - - - - - %product_name% - - - 22 - 22 - Fixed - - - - - - Option 3 - Drop-down - No - - - - %product_name% - - - 3 - 3 - Fixed - - - - - - - - catalogProductSimple::default - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - catalogProductSimple::product_without_category - - - catalogProductSimple::default - - - - - - - - Option 1 - Drop-down - No - - - - - Option 2 - Radio Buttons - No - - - - %product_name% - - - 20 - 20 - Fixed - - - - - %product_name% - - - 21 - 21 - Fixed - - - - - %product_name% - - - 22 - 22 - Fixed - - - - - - Option 3 - Drop-down - No - - - - %product_name% - - - 3 - 3 - Fixed - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - catalogProductSimple::product_without_category - - - catalogProductSimple::default - - - - - - - - Drop-down Option - Drop-down - Hidden - Yes - - - - %product_name% - - - 1 - Yes - - - - - - - - catalogProductSimple::default - - - - - - - - Drop-down Option - Drop-down - Yes - - - - %product_name% - - - 5.00 - Fixed - 1 - - - - - %product_name% - - - 6.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::low_stock_product - - - - - - - - Multiple Select Option - Multiple Select - Multiple Select - Yes - - - - %product_name% - - - 560.00 - Fixed - 1 - - - - - %product_name% - - - 100.00 - Fixed - 1 - - - - - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - Drop-down Option - Drop-down - Drop-down - Yes - - - - %product_name% - - - 1 - 20.00 - Percent - - - - - - - - catalogProductSimple::product_with_category - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/CheckoutData.xml deleted file mode 100644 index 8459ce271e4d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/CheckoutData.xml +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - - 2 - - 100 - 2 - 200 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - - 1 - - 756 - 1 - 756 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_10_dollar - - - - - 1 - - 110 - 1 - 110 - - - - - - - - Drop-down Option - Drop-down - true - - default_qty_1 - - - - - 1 - - 110 - 1 - 110 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - Simple Product - - - - - 1 - - 755 - 1 - 755 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - Radio Button Option - Radio Buttons - Radio Buttons - - product_100_dollar - - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - - - attribute_key_0 - option_key_0 - - - attribute_key_1 - option_key_0 - - - attribute_key_2 - Field - - - attribute_key_3 - Field - - - attribute_key_4 - Area - - - attribute_key_6 - option_key_0 - - - attribute_key_7 - option_key_0 - - - attribute_key_8 - option_key_0 - - - attribute_key_9 - option_key_0 - - - attribute_key_10 - 12/12/2017 - - - attribute_key_11 - 12/12/2017/12/30/AM - - - attribute_key_12 - 12/12/AM - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - - - attribute_key_0 - option_key_0 - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_10_dollar - - - - - - attribute_key_0 - option_key_0 - - - attribute_key_1 - option_key_0 - - - - - 100 - 1 - 100 - 10 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - Radio Button Option - Radio Buttons - Radio Buttons - - product_100_dollar - - - - Checkbox Option - Checkbox - Checkbox - - product_100_dollar - - - - Multiple Select Option - Multiple - Multiple - - product_100_dollar - - - - - - attribute_key_0 - Field - - - attribute_key_1 - Area - - - attribute_key_3 - option_key_0 - - - attribute_key_4 - option_key_0 - - - attribute_key_5 - option_key_0 - - - attribute_key_6 - option_key_0 - - - attribute_key_7 - 12/12/2017 - - - attribute_key_8 - 12/12/2017/12/30/AM - - - attribute_key_9 - 12/12/AM - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - product_100_dollar - - - - Radio Button Option - Radio Buttons - Radio Buttons - - product_100_dollar - - - - Checkbox Option - Checkbox - Checkbox - - product_100_dollar - - - - Multiple Select Option - Multiple - Multiple - - product_100_dollar - - - - - - - - - - - Drop-down Option - Drop-down - Drop-down - - Test simple product - - - - - - - - - - - Drop-down Option - Drop-down - Hidden - - Simple Product - 3 - - - - - - 1680 - - - - - - - - Drop-down Option - Drop-down - - low_stock_product - - - - - 1 - - 756 - 1 - 756 - - - - - - - - Drop-down Option - Drop-down - Drop-down - - Test simple product - - - - - - - - - - - attribute_key_0 - option_key_0 - - - - - - - - - - Multiple Select Option - Multiple Select - Multiple - - product_100_dollar - - - - - - 100 - 1 - 100 - - - - - - - - Multiple Select Option - Multiple Select - Multiple - - Simple Product - - - - Multiple Select Option - Multiple Select - Multiple - - product_100_dollar - - - - - - 660 - 1 - 660 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/Price.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/Price.xml deleted file mode 100644 index 66542574f41eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Repository/BundleProduct/Price.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - 755.00 - 756.00 - - - - - 115.00 - 120.00 - 145.00 - - - - 115.00 - 120.00 - 126.00 - - - - 40.00 - 100.00 - 100.00 - - - - 32.00 - 80.00 - 80.00 - - - - 10.00 - 100.00 - 80.00 - - - - 15.00 - 16.00 - 80.00 - - - - 110.00 - 120.00 - - - - 270.00 - 270.00 - - - - 159.00 - 164.00 - 159.00 - - - - 317.00 - 362.00 - 317.00 - - - - 755.00 - 756.00 - 756.00 - - - - 51.00 - 52.00 - 135.00 - - - - 785.00 - 786.00 - 786.00 - - - - 130.00 - 144.00 - - - - - 100.00 - 560.00 - - - - - 8.00 - 20.00 - 80.00 - 40.00 - - - - 18.00 - 20.00 - - - - 32.00 - 80.00 - 80.00 - - - - 40.00 - 100.00 - 100.00 - - - - 50.00 - - - - 100.00 - 560.00 - 100.00 - - - - 200.00 - 500.00 - 400.00 - - - - 560.00 - - - - 100.00 - 100.00 - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.php deleted file mode 100644 index 4f4bcd940ad5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.php +++ /dev/null @@ -1,34 +0,0 @@ -persist(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.xml deleted file mode 100644 index c9cf8905af765..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/BundleOptionsSummaryTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S2 - Bundle Option with Three Drop-Down selections with qty - fixed_with_required_options_and_qty - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.php deleted file mode 100644 index 00c53c5e837d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.php +++ /dev/null @@ -1,39 +0,0 @@ - Orders. - * 3. Open the created order. - * 4. Create partial invoice - * 4. Do cancel Order. - * 5. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-67787 - */ -class CancelPartiallyInvoicedOrderTest extends Scenario -{ - /** - * Runs test for invoice creation for order placed with offline payment method. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.xml deleted file mode 100644 index 23cdf8aa9ae39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CancelPartiallyInvoicedOrderTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - default - bundleProduct::bundle_dynamic_product_shipment_together - - - cashondelivery - - - - - 1 - - - - - cashondelivery - Processing - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.php deleted file mode 100644 index 9af34a74f9ce8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.php +++ /dev/null @@ -1,29 +0,0 @@ -Inventory>Catalog - * 3. Click on "+" dropdown and select Bundle Product type - * 4. Fill in all data according to data set - * 5. Save product - * 6. Verify created product - * - * @group Bundle_Product - * @ZephyrId MAGETWO-24118 - */ -class CreateBundleDynamicProductEntityTest extends CreateBundleProductEntityTest -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - // This blank class is created only to run long variation as a separate test in parallel environment -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.xml deleted file mode 100644 index aa35a482e2f30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleDynamicProductEntityTest.xml +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - stable:no - Create default bundle with dynamic options - bundle-product-%isolation% - BundleProduct %isolation% - bundle_sku_%isolation% - Bundle Product Dynamic Required - No - No - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_default - - - - - - Create offline dynamic bundle with dynamic price and out of stock - bundle-product-%isolation% - BundleProduct %isolation% - No - bundle_sku_%isolation% - No - Yes - Out of Stock - Yes - category_%isolation% - Separately - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_default - Catalog, Search - No - Yes - - - - - test_type:extended_acceptance_test, to_maintain:yes - Create dynamic bundle with price randle and all types options - bundle-product-%isolation% - BundleProduct %isolation% - Yes - bundle_sku_%isolation% - Yes - Yes - dynamic-200 - In Stock - Yes - category_%isolation% - Bundle Product Dynamic - Price Range - Together - all_types_dynamic - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_all_types_bundle_options - - - - - - - - - - - - - to_maintain:yes - bundle-product-%isolation% - BundleProduct %isolation% - Yes - bundle_sku_%isolation% - Yes - dynamic-50 - No - 10 - custom_with_percentage_discount - As Low as - No - No - Together - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_default - Search - - - - - - - - - - to_maintain:yes - Create dynamic bundle with special price - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - dynamic-8 - 20 - m/d/y -1 day - m/d/y +3 days - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - - - - - Create dynamic bundle with group price - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - dynamic-40 - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - - - - - - - Create dynamic bundle - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - dynamic-40 - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - - - - - - - MAGETWO-52788: Dynamic Rows: support status being changed - Create fixed product with checkout first option - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 110 - fixed-115 - second - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_with_custom_options_1 - drop_down_with_one_option_fixed_price - catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option - - - - - - - - Create default dynamic bundle - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - - - - bundle-product-%isolation% - Bundle Dynamic %isolation% - sku_bundle_dynamic_%isolation% - Yes - dynamic-560 - category_%isolation% - Together - one_options_assigned_simple_big_qty - test_type:acceptance_test, stable:no - - - - - - - stable:no - bundle-product-%isolation% - BundleProduct %isolation% - Yes - bundle_sku_%isolation% - Yes - dynamic-50 - No - 10 - custom_with_percentage_discount - As Low as - No - No - Together - default_dynamic - catalogProductSimple::simple_with_tier_price,catalogProductVirtual::product_50_dollar - bundle_default - Search - - - - - - - bundle-product-%isolation% - BundleProduct %isolation% - bundle_sku_%isolation% - Yes - dynamic-50 - default_dynamic - catalogProductSimple::out_of_stock,catalogProductSimple::out_of_stock - bundle_default - - - - - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - dynamic-8 - 20 - default_dynamic - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - - - - - bundle-product-%isolation% - Bundle Dynamic %isolation% - Yes - sku_bundle_dynamic_%isolation% - Yes - dynamic-18 - dynamic_with_two_required_options_assigned_products_with_special_price - - - - - bundle-product-%isolation% - Bundle Dynamic %isolation% - sku_bundle_dynamic_%isolation% - Yes - category_%isolation% - Together - one_required_option_with_one_item - one_required_option_with_one_item - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.php deleted file mode 100644 index 7a80740675aa9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.php +++ /dev/null @@ -1,93 +0,0 @@ -Inventory>Catalog - * 3. Click on "+" dropdown and select Bundle Product type - * 4. Fill in all data according to data set - * 5. Save product - * 6. Verify created product - * - * @group Bundle_Product - * @ZephyrId MAGETWO-24118 - */ -class CreateBundleProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Page product on backend - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * New page on backend - * - * @var CatalogProductNew - */ - protected $catalogProductNew; - - /** - * Persist category - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - - return [ - 'category' => $category - ]; - } - - /** - * Filling objects of the class - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductNew $catalogProductNewPage - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductNew $catalogProductNewPage - ) { - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductNew = $catalogProductNewPage; - } - - /** - * Test create bundle product - * - * @param BundleProduct $product - * @param Category $category - * @return void - */ - public function test(BundleProduct $product, Category $category) - { - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getGridPageActionBlock()->addProduct('bundle'); - $productBlockForm = $this->catalogProductNew->getProductForm(); - $productBlockForm->fill($product, null, $category); - $this->catalogProductNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.xml deleted file mode 100644 index 03999fdd731ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/CreateBundleProductEntityTest.xml +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Create fixed bundle - bundle-product-%isolation% - BundleProduct %isolation% - No - bundle_sku_%isolation% - No - 10 - fixed-15 - None - No - 10 - Bundle Product Fixed Required - default_fixed - catalogProductSimple::product_100_dollar,catalogProductSimple::out_of_stock - bundle_default - - - - - - - - - stable:no - Create fixed bundle with all types options - bundle-product-%isolation% - BundleProduct %isolation% - No - bundle_sku_%isolation% - Yes - No - 100 - fixed-100-custom-options - taxable_goods - In Stock - No - 10 - category_%isolation% - Bundle Product Fixed - As Low as - Separately - all_types_fixed - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_all_types_bundle_fixed_and_custom_options - all_types - Catalog, Search - No - No - - - - - - - - - - - - Create fixed bundle which is out of stock - bundle-product-%isolation% - BundleProduct %isolation% - No - bundle_sku_%isolation% - Yes - No - 10 - fixed-10 - taxable_goods - Out of Stock - No - 10 - category_%isolation% - Price Range - Together - with_not_required_options - catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar|catalogProductSimple::product_100_dollar,catalogProductVirtual::product_50_dollar - bundle_with_not_required_options - Catalog - No - No - - - - - - - - Create fixed product with checkout second option - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 110 - fixed-110 - second - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_with_custom_options_2 - drop_down_with_one_option_percent_price - - - - - - - Create default fixed bundle - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 10 - second - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - - - - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 100 - fixed-100 - taxable_goods - No - 1 - category_%isolation% - Together - two_options_with_fixed_and_percent_prices - test_type:acceptance_test, test_type:extended_acceptance_test - - - - - - - stable:no - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 100 - fixed-100 - No - 10 - custom_with_percentage_discount - As Low as - No - No - Together - second - percent_and_fixed_drop_down_options - bundle_with_custom_options_3 - - - - - - - - - to_maintain:yes - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 10 - second - catalogProductSimple::product_100_dollar,catalogProductSimple::product_40_dollar - bundle_default - custom_store - - - - - bundle-product-%isolation% - Bundle Fixed %isolation% - No - sku_bundle_fixed_%isolation% - No - 100 - fixed-51 - Price Range - 20 - second - drop_down_with_one_option_fixed_price - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductEntityTest.xml deleted file mode 100644 index 157135117fbee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductEntityTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - mftf_migrated:yes - bundleProduct::bundle_dynamic_product - Yes - - - - - - mftf_migrated:yes - bundleProduct::bundle_fixed_product - No - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml deleted file mode 100644 index 3f16c27b6ec79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - bundleProduct::default - 0 - mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml deleted file mode 100644 index e069e7f6dce6d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - bundleProduct::bundle_dynamic_product - bundleProduct::bundle_dynamic_product - true - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.php deleted file mode 100644 index bdcf84ad33b0f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.php +++ /dev/null @@ -1,103 +0,0 @@ -catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductEdit = $catalogProductEditPage; - $this->testStepFactory = $testStepFactory; - } - - /** - * Test update bundle product option title after adding to the shopping cart - * - * @param BundleProduct $originalProduct - * @param string $optionTitle - * @param string $optionNumber - * @return void - */ - public function test(BundleProduct $originalProduct, $optionTitle, $optionNumber) - { - // Create product - $originalProduct->persist(); - // Add product to the shopping cart - $productData = ['products' => $originalProduct]; - $addToCartStep = $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $productData] - ); - $addToCartStep->run(); - // Change bundle option title - $filter = ['sku' => $originalProduct->getSku()]; - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); - $form = $this->catalogProductEdit->getProductForm(); - $form->openSection('bundle'); - /** @var \Magento\Bundle\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Bundle $container */ - $container = $form->getSection('bundle'); - $container->changeOptionTitle($optionTitle, $optionNumber); - $this->catalogProductEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.xml deleted file mode 100644 index 896ae819bc0f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - bundleProduct::default - Option 1 new - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.php deleted file mode 100644 index 41c2d04c53307..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.php +++ /dev/null @@ -1,94 +0,0 @@ -Inventory>Catalog - * 3. Click on Bundle product in the grid to edit it - * 4. Fill in some Bundle Options data according to data set - * 5. Delete some Bundle Options data according to data set - * 6. Save product - * 7. Verify Bundle Options in the updated product - * - * @group Bundle_Product - * @ZephyrId MAGETWO-26195 - */ -class UpdateBundleOptionsTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page product on backend - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Edit page on backend - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Injection data - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductEdit $catalogProductEditPage - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductEdit $catalogProductEditPage - ) { - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductEdit = $catalogProductEditPage; - } - - /** - * Test update bundle product - * - * @param BundleProduct $product - * @param BundleProduct $originalProduct - * @return void - */ - public function test(BundleProduct $product, BundleProduct $originalProduct) - { - // Preconditions - $originalProduct->persist(); - - // Steps - $filter = ['sku' => $originalProduct->getSku()]; - - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); - - $form = $this->catalogProductEdit->getProductForm(); - $form->openSection('bundle'); - $container = $form->getSection('bundle'); - $containerFields = $product->getData()['bundle_selections']['bundle_options_delete']; - $container->deleteFieldsData($containerFields); - - $form->openSection('product-details'); - $container = $form->getSection('product-details'); - $containerFields = $product->getData(); - unset($containerFields['bundle_selections']); - $container->setFieldsData($containerFields); - - $this->catalogProductEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.xml deleted file mode 100644 index 223e02a735a9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleOptionsTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - Update bundle product options - with_3_bundle_options - bundle_3_options_%isolation% - bundle_3_options_%isolation% - with_3_options_delete - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.php deleted file mode 100644 index d36882ea4cfb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.php +++ /dev/null @@ -1,135 +0,0 @@ - Catalog. - * 3. Select a product in the grid. - * 4. Edit test value(s) according to dataset. - * 5. Click "Save". - * 6. Perform asserts - * - * @group Bundle_Product - * @ZephyrId MAGETWO-26195 - */ -class UpdateBundleProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page product on backend - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Edit page on backend - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Injection data. - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductEdit $catalogProductEditPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductEdit $catalogProductEditPage, - FixtureFactory $fixtureFactory - ) { - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductEdit = $catalogProductEditPage; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Test update bundle product. - * - * @param BundleProduct $product - * @param BundleProduct $originalProduct - * @param Store|null $store - * @return array - */ - public function test( - BundleProduct $product, - BundleProduct $originalProduct, - Store $store = null - ) { - // Preconditions - $originalProduct->persist(); - $category = $this->getCategories($originalProduct, $product); - - if ($store) { - $store->persist(); - $optionTitle[$store->getStoreId()] = $product->getBundleSelections()['bundle_options'][0]['title']; - } - - // Steps - $filter = ['sku' => $originalProduct->getSku()]; - - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); - if ($store) { - $this->catalogProductEdit->getFormPageActions()->changeStoreViewScope($store); - } - $this->catalogProductEdit->getProductForm()->fill($product); - $this->catalogProductEdit->getFormPageActions()->save(); - - return [ - 'category' => $category, - 'stores' => isset($store) ? [$store] : [], - 'optionTitles' => isset($optionTitle) ? $optionTitle : [] - ]; - } - - /** - * Get Category instances. - * - * @param BundleProduct $originalProduct - * @param BundleProduct $product - * @return array - */ - protected function getCategories(BundleProduct $originalProduct, BundleProduct $product) - { - $originalCategory = $originalProduct->hasData('category_ids') - ? $originalProduct->getDataFieldConfig('category_ids')['source']->getCategories() - : null; - return $product->hasData('category_ids') - ? $product->getDataFieldConfig('category_ids')['source']->getCategories() - : $originalCategory; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.xml deleted file mode 100644 index 50491ce25df81..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/UpdateBundleProductEntityTest.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Update dynamic bundle product - bundle_dynamic_product - bundle-product-%isolation% - bundle_dynamic_%isolation% - No - bundle_dynamic_%isolation% - dynamic-100 - No - 1 - Bundle Product Fixed Required - Together - default_dynamic - bundle_default - - - - - - - - - - - Update fixed bundle product - bundle_fixed_product - bundle-product-%isolation% - bundle_fixed_%isolation% - Yes - bundle_sku_%isolation% - fixed-756 - Yes - default_subcategory - Separately - default_fixed - bundle_default - Catalog, Search - - - - - - - - - - - - bundle_fixed_with_category - bundle-product-%isolation% - bundle_fixed_%isolation% - bundle_sku_%isolation% - 120.00 - bundle_fixed_with_category - - - - - bundle_dynamic_with_category - bundle-product-%isolation% - bundle_dynamic_%isolation% - bundle_sku_%isolation% - bundle_dynamic_with_category - - - - - bundle_fixed_product - bundle-product-%isolation% - bundle_fixed_%isolation% - bundle_sku_%isolation% - fixed-756-custom-options - drop_down_with_one_option_fixed_price - - - - - bundle_fixed_product - custom - fixed_with_custom_title - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/ValidateOrderOfProductTypeTest.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/ValidateOrderOfProductTypeTest.xml deleted file mode 100644 index cb32742a0ce6b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestCase/ValidateOrderOfProductTypeTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - mftf_migrated:yes - Bundle Product - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestStep/CreatePartialInvoiceStep.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/TestStep/CreatePartialInvoiceStep.php deleted file mode 100644 index 4f6d46dc7842d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/TestStep/CreatePartialInvoiceStep.php +++ /dev/null @@ -1,25 +0,0 @@ -getData()['options']; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/curl/di.xml deleted file mode 100644 index f669759329e3b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/di.xml deleted file mode 100644 index 5d49294f9ae66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/di.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - S2 - - - - - - - - \Magento\Bundle\Test\Block\Adminhtml\Product\Composite\Configure - //ancestor::body//*[contains(@class, "modal-slide") and contains(@class, "_show")] - xpath - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/testcase.xml deleted file mode 100644 index 2ae8cb4285798..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/testcase.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/webapi/di.xml deleted file mode 100644 index e0d217c49da27..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Bundle/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Constraint/AssertImportedBundleProducts.php b/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Constraint/AssertImportedBundleProducts.php deleted file mode 100644 index 45d41d2925d77..0000000000000 --- a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Constraint/AssertImportedBundleProducts.php +++ /dev/null @@ -1,73 +0,0 @@ -getDisplayedOnProductPageData($product); - $bundleSelection = $productData['bundle_selections'][0]; - $assignedProduct = $bundleSelection['assigned_products'][0]; - - $form = $this->catalogProductEdit->getProductForm(); - $form->openSection('bundle'); - $attributeSku = $form->getSection('bundle')->getAttributeSku(); - - $productData['associated_skus'] = $attributeSku; - $productType = ($productData['price_type'] === 'Yes') - ? 'dynamic' - : 'fixed'; - $productData['bundle_values'] = 'name=' . $bundleSelection['title'] . ',type=select,required=1,sku=' - . $attributeSku . ',price=0.0000,default=0,default_qty=' - . $assignedProduct['selection_qty'] .'.0000,price_type=' . $productType; - - return $this->getResultProductsData($productData); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Products data from CSV import file and data from product edit page are correct and match.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Fixture/Import/File.php b/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Fixture/Import/File.php deleted file mode 100644 index 2341874a079ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/Fixture/Import/File.php +++ /dev/null @@ -1,36 +0,0 @@ -createByCode('catalogProductSimple', ['dataset' => 'default']); - $newProduct->persist(); - $newProductData = $newProduct->getData(); - $productData = $product->getData(); - - $productData['bundle_attribute_sku'] = $newProductData['sku']; - $productData['bundle_attribute_name'] = $newProductData['name']; - $productData['bundle_attribute_url_key'] = $newProductData['url_key']; - - return $productData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ExportProductsTest.xml b/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ExportProductsTest.xml deleted file mode 100644 index bfbe233b9dc1b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ExportProductsTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - default - - bundleProduct - bundle_dynamic_product - - - bundleProduct - bundle_fixed_product - - - bundleProduct - fixed_with_required_options_and_qty_and_textarea_attribute - - - sku - name - weight - visibility - price - url_key - - - - diff --git a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ImportProductsTest.xml b/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ImportProductsTest.xml deleted file mode 100644 index d83038dcda59c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/BundleImportExport/Test/TestCase/ImportProductsTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - bundleProduct::default_with_one_simple_product - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.php deleted file mode 100644 index 02034f1c74112..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find($this->captchaImage, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Return captcha reload button element visibility. - * - * @return bool - */ - public function isVisibleCaptchaReloadButton() - { - return $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.xml deleted file mode 100644 index b1b58f211596e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Adminhtml/LoginWithCaptcha.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - login - - - #username - - - #login - - - #captcha - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.php deleted file mode 100644 index 3c3fd9dbb2530..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->captchaImage, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Get captcha reload button element visibility. - * - * @return bool - */ - public function isVisibleCaptchaReloadButton() - { - return $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Click captcha reload button element. - * - * @return void - */ - public function reloadCaptcha() - { - $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.xml deleted file mode 100644 index 411e89f71639f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/ContactUs.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - [name='captcha[contact_us]'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/CustomerForm.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/CustomerForm.xml deleted file mode 100644 index 0972b33a8abe7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/CustomerForm.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - [name='captcha[user_edit]'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.php deleted file mode 100644 index 9184ec1dd41bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->captchaImage, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Get captcha reload button element visibility. - * - * @return bool - */ - public function isVisibleCaptchaReloadButton() - { - return $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Click on reload captcha button. - * - * @return void - */ - public function reloadCaptcha() - { - $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.xml deleted file mode 100644 index ba67979091a62..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/LoginWithCaptcha.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - login - - - [name='login[username]'] - - - - [name='captcha[user_login]'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.php deleted file mode 100644 index bd888ef6681df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->captchaImage, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Get captcha reload button element visibility. - * - * @return bool - */ - public function isVisibleCaptchaReloadButton() - { - return $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Click on captcha reload button. - * - * @return void - */ - public function reloadCaptcha() - { - $this->_rootElement->find($this->captchaReload, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.xml deleted file mode 100644 index 5cc2f2b1c551e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Block/Form/Register.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - [name='captcha[user_create]'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnBackend.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnBackend.php deleted file mode 100644 index f035df7dcc357..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnBackend.php +++ /dev/null @@ -1,45 +0,0 @@ -getLoginBlockWithCaptcha()->isVisibleCaptcha(), - 'Captcha image is not present on backend login page.' - ); - - \PHPUnit\Framework\Assert::assertTrue( - $adminAuthLogin->getLoginBlockWithCaptcha()->isVisibleCaptchaReloadButton(), - 'Captcha reload button is not present on backend login page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Captcha and reload button are presents on backend login page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnContactUsForm.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnContactUsForm.php deleted file mode 100644 index b040397139451..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnContactUsForm.php +++ /dev/null @@ -1,45 +0,0 @@ -getContactUs()->isVisibleCaptcha(), - 'Captcha image is not displayed on the Contact Us page.' - ); - - \PHPUnit\Framework\Assert::assertTrue( - $contactIndex->getContactUs()->isVisibleCaptchaReloadButton(), - 'Captcha reload button is not displayed on the Contact Us page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Captcha and reload button are present on the Contact Us page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnRegisterForm.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnRegisterForm.php deleted file mode 100644 index c5237b8ecc4e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnRegisterForm.php +++ /dev/null @@ -1,45 +0,0 @@ -getRegisterForm()->isVisibleCaptcha(), - 'Captcha image is not displayed on the storefront account register page.' - ); - - \PHPUnit\Framework\Assert::assertTrue( - $createAccountPage->getRegisterForm()->isVisibleCaptchaReloadButton(), - 'Captcha reload button is not displayed on the storefront account register page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Captcha and reload button are displayed on the storefront account register page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnStorefront.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnStorefront.php deleted file mode 100644 index 0074ca284dd3f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Constraint/AssertCaptchaFieldOnStorefront.php +++ /dev/null @@ -1,45 +0,0 @@ -getLoginBlockWithCaptcha()->isVisibleCaptcha(), - 'Captcha image is not present on storefront login page.' - ); - - \PHPUnit\Framework\Assert::assertTrue( - $loginPage->getLoginBlockWithCaptcha()->isVisibleCaptchaReloadButton(), - 'Captcha reload button is not present on storefront login page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Captcha and reload button are presents on storefront login page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Comment.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Comment.xml deleted file mode 100644 index 03689d470c3f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Comment.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Customer.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Customer.xml deleted file mode 100644 index 731130caf7db2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/Customer.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/User.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/User.xml deleted file mode 100644 index c6eef055469e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Fixture/User.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/Adminhtml/AdminAuthLoginWithCaptcha.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/Adminhtml/AdminAuthLoginWithCaptcha.xml deleted file mode 100644 index 376bd3aa8cd73..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/Adminhtml/AdminAuthLoginWithCaptcha.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/ContactIndex.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/ContactIndex.xml deleted file mode 100644 index 742eabb61f371..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/ContactIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountCreate.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountCreate.xml deleted file mode 100644 index ffc3592f4fe9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountCreate.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountLogin.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountLogin.xml deleted file mode 100644 index 572773dd9ea9d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Page/CustomerAccountLogin.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/Repository/ConfigData.xml deleted file mode 100644 index dd43764bbce33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - 0 - Yes - 1 - - - 0 - Login - user_login - - - 0 - Always - always - - - admin - 1 - - 3 - - - admin - 1 - - 1 - - - - - default - 1 - No - 0 - - - - - - 0 - Yes - 1 - - - 0 - Create user - user_create - - - 0 - Always - always - - - admin - 1 - - 3 - - - admin - 1 - - 1 - - - - - default - 1 - No - 0 - - - - - - 0 - Yes - 1 - - - 0 - Contact Us - contact_us - - - 0 - Always - always - - - admin - 1 - - 3 - - - admin - 1 - - 1 - - - - - default - 1 - No - 0 - - - - - - 0 - Yes - 1 - - - 0 - Login - user_login - - - 0 - After number of attempts to login - after_fail - - - customer - 1 - - 3 - - - customer - 1 - - 3 - - - customer - 1 - - 1 - - - - - default - 1 - No - 0 - - - - - - 0 - Yes - 1 - - - 0 - Change password - user_edit - - - 0 - After number of attempts to login - after_fail - - - customer - 1 - - 3 - - - customer - 1 - - 3 - - - customer - 1 - - 1 - - - - - default - 1 - No - 0 - - - - - - 0 - Yes - 1 - - - 0 - Admin Login - backend_login - - - 0 - Always - always - - - admin - 1 - - 3 - - - admin - 1 - - 1 - - - - - default - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.php deleted file mode 100644 index 91e6fa60dd524..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.php +++ /dev/null @@ -1,157 +0,0 @@ -stepFactory = $stepFactory; - $this->fixtureFactory = $fixtureFactory; - $this->customerAccountEdit = $customerAccountEdit; - } - - /** - * Test for checking captcha on the customer account edit page and customer is locked. - * - * @param Customer $customer - * @param Customer $initCustomer - * @param string $configData - * @param string $captcha - * @param int $attempts - * @return void - */ - public function test( - Customer $customer, - Customer $initCustomer, - $configData, - $captcha, - $attempts - ) { - $this->configData = $configData; - - // Preconditions - $customer->persist(); - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $this->stepFactory->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - // Steps - $this->customerAccountEdit->getAccountMenuBlock()->openMenuItem('Account Information'); - - // Update email with incorrect password $attempts times. - $this->customerEdit($initCustomer, $attempts); - - // Update email with incorrect password and captcha $attempts + 1 times. - $data = $initCustomer->getData(); - $data['captcha'] = $captcha; - $data['group_id'] = []; - - /** @var Customer $initCustomer */ - $initCustomer = $this->fixtureFactory->createByCode('customer', ['data' => $data]); - //Add + 1 to attempts to get over maximum attempts count. - $this->customerEdit($initCustomer, $attempts + 1); - } - - /** - * Update email with incorrect password $attempts times. - * - * @param Customer $customer - * @param int $attempts - * @return void - */ - private function customerEdit(Customer $customer, $attempts) - { - $accountInfoForm = $this->customerAccountEdit->getAccountInfoForm(); - for ($i = 0; $i < $attempts; $i++) { - $accountInfoForm->setChangeEmail(true); - $accountInfoForm->fill($customer); - $accountInfoForm->submit(); - } - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.xml deleted file mode 100644 index 0c0e06d63b6c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaEditCustomerTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - default - JaneDoe_%isolation%@example.com - incorrect password - 3 - 111 - captcha_storefront_user_edit_failures_number, customer_max_login_failures_number - mftf_migrated:yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.php deleted file mode 100644 index cf6b2071086dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.php +++ /dev/null @@ -1,175 +0,0 @@ -stepFactory = $stepFactory; - $this->fixtureFactory = $fixtureFactory; - $this->customerAccountLogin = $customerAccountLogin; - $this->customerIndexEdit = $customerIndexEdit; - } - - /** - * Test creation for customer login with captcha on storefront. - * - * @param Customer $customer - * @param string $configData - * @param string $captcha - * @param string $incorrectPassword - * @param int $attempts - * @return void - */ - public function test( - Customer $customer, - $configData, - $captcha, - $incorrectPassword, - $attempts - ) { - $this->configData = $configData; - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customer->persist(); - - $correctData = $customer->getData(); - $correctData['captcha'] = $captcha; - $correctData['group_id'] = [ - 'customerGroup' => $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup() - ]; - - $newData = $customer->getData(); - $newData['captcha'] = $captcha; - $newData['group_id'] = [ - 'customerGroup' => $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup() - ]; - $newData['password'] = $incorrectPassword; - - $incorrectCustomer = $this->fixtureFactory->createByCode('customer', ['data' => $newData]); - - // Steps - $this->customerAccountLogin->open(); - - // Fill incorrect password $attempts times. - $this->customerLogin($incorrectCustomer, $this->customerAccountLogin->getLoginBlock(), $attempts); - - // Fill correct captcha and incorrect password $attempts times. - $this->customerLogin($incorrectCustomer, $this->customerAccountLogin->getLoginBlockWithCaptcha(), $attempts); - - // Log in customer with correct captcha and correct password. - $customer = $this->fixtureFactory->createByCode('customer', ['data' => $correctData]); - $this->customerLogin($customer, $this->customerAccountLogin->getLoginBlockWithCaptcha(), 1); - } - - /** - * Log in customer $attempts times. - * - * @param FixtureInterface $customer - * @param Login $loginForm - * @param int $attempts - * @return void - */ - private function customerLogin(FixtureInterface $customer, Login $loginForm, $attempts) - { - for ($i = 0; $i < $attempts; $i++) { - $loginForm->fill($customer); - $loginForm->submit(); - } - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.xml deleted file mode 100644 index b5e5992ea2fb9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaLockoutCustomerTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - default - incorrect password - 3 - 111 - captcha_storefront_login_failures_number, customer_max_login_failures_number - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.php deleted file mode 100644 index 7af4c56f03494..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.php +++ /dev/null @@ -1,126 +0,0 @@ -systemConfigEditPage = $systemConfigEditPage; - $this->adminAuthWithCaptcha = $adminAuthWithCaptcha; - $this->stepFactory = $stepFactory; - $this->adminAuthLogin = $adminAuthLogin; - $this->assertCaptcha = $assertCaptcha; - } - - /** - * Log in user to Admin. - * - * @param User $customAdmin - * @param string $configData - * @return void - */ - public function test(User $customAdmin, $configData) - { - $customAdmin->persist(); - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $this->adminAuthLogin->open(); - $this->adminAuthWithCaptcha->getLoginBlockWithCaptcha()->fill($customAdmin); - $this->assertCaptcha->processAssert($this->adminAuthWithCaptcha); - $this->adminAuthWithCaptcha->getLoginBlockWithCaptcha()->submit(); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->systemConfigEditPage->open(); - $this->systemConfigEditPage->getForm() - ->getGroup('admin', 'captcha')->setValue('admin', 'captcha', 'enable', 'No'); - $this->systemConfigEditPage->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.xml deleted file mode 100644 index 9242bfbef2374..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnAdminLoginTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - custom_admin_with_default_role - 111 - Dashboard - captcha_backend_login - mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.php deleted file mode 100644 index 7a4d64f3d21ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.php +++ /dev/null @@ -1,112 +0,0 @@ -stepFactory = $stepFactory; - $this->assertCaptcha = $assertCaptcha; - $this->contactIndex = $contactIndex; - } - - /** - * Test creation for send comment using the contact us form with captcha. - * - * @param Comment $comment - * @param string $configData - * @return void - */ - public function test( - Comment $comment, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - $this->contactIndex->open(); - $this->assertCaptcha->processAssertRegisterForm($this->contactIndex); - $this->contactIndex->getContactUs()->fill($comment); - $this->contactIndex->getContactUs()->reloadCaptcha(); - $this->contactIndex->getContactUs()->sendComment(); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.xml deleted file mode 100644 index 1a25afeabc5de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnContactUsTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - some comment - 111 - default - captcha_storefront_contact_us - mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.php deleted file mode 100644 index a75b516cc5664..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.php +++ /dev/null @@ -1,135 +0,0 @@ -stepFactory = $stepFactory; - $this->assertCaptcha = $assertCaptcha; - $this->customerAccountLogin = $customerAccountLogin; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Test creation for customer login with captcha on storefront. - * - * @param Customer $customer - * @param null|string $configData - * @param string $captcha - * @return void - */ - public function test( - Customer $customer, - $configData, - $captcha - ) { - $this->configData = $configData; - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customer->persist(); - - $customerData = $customer->getData(); - $customerData['group_id'] = [ - 'customerGroup' => $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup() - ]; - $customerData['captcha'] = $captcha; - - $customer = $this->fixtureFactory->createByCode('customer', ['data' => $customerData]); - - $this->customerAccountLogin->open(); - $this->assertCaptcha->processAssert($this->customerAccountLogin); - $this->customerAccountLogin->getLoginBlockWithCaptcha()->reloadCaptcha(); - $this->customerAccountLogin->getLoginBlockWithCaptcha()->login($customer); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.xml deleted file mode 100644 index 8068b2cbc050e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontLoginTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - default - 111 - captcha_storefront_login - - - - diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.php b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.php deleted file mode 100644 index 10d3695ad81a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.php +++ /dev/null @@ -1,111 +0,0 @@ -stepFactory = $stepFactory; - $this->assertCaptcha = $assertCaptcha; - $this->customerAccountCreate = $customerAccount; - } - - /** - * Test creation for customer register with captcha on storefront. - * - * @param Customer $customer - * @param string $configData - * @return void - */ - public function test( - Customer $customer, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - $this->customerAccountCreate->open(); - $this->assertCaptcha->processAssertRegisterForm($this->customerAccountCreate); - $this->customerAccountCreate->getRegisterForm()->reloadCaptcha(); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.xml b/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.xml deleted file mode 100644 index b0ce6dfa561ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Captcha/Test/TestCase/CaptchaOnStoreFrontRegisterTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - register_customer - 111 - captcha_storefront_register - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractConfigureBlock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractConfigureBlock.php deleted file mode 100644 index d984d9551d347..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractConfigureBlock.php +++ /dev/null @@ -1,111 +0,0 @@ -blockFactory->create( - \Magento\Catalog\Test\Block\Product\View\CustomOptions::class, - ['element' => $this->_rootElement->find($this->customOptionsSelector)] - ); - } - - /** - * Fill in the option specified for the product - * - * @param FixtureInterface $product - * @return void - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function fillOptions(FixtureInterface $product) - { - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - $checkoutData = null; - - /** @var CatalogProductSimple $product */ - if ($this->hasRender($typeId)) { - $this->callRender($typeId, 'fillOptions', ['product' => $product]); - } - - /** @var CatalogProductSimple $product */ - $checkoutData = $product->getCheckoutData(); - $checkoutCustomOptions = isset($checkoutData['options']['custom_options']) - ? $checkoutData['options']['custom_options'] - : []; - $customOptions = $product->hasData('custom_options') - ? $product->getDataFieldConfig('custom_options')['source']->getCustomOptions() - : []; - - $checkoutCustomOptions = $this->prepareCheckoutData($customOptions, $checkoutCustomOptions); - $this->getCustomOptionsBlock()->fillCustomOptions($checkoutCustomOptions); - } - - /** - * Set quantity - * - * @param int $qty - * @return void - */ - abstract public function setQty($qty); - - /** - * Replace index fields to name fields in checkout data - * - * @param array $options - * @param array $checkoutData - * @return array - */ - protected function prepareCheckoutData(array $options, array $checkoutData) - { - $result = []; - - foreach ($checkoutData as $checkoutOption) { - $attribute = str_replace('attribute_key_', '', $checkoutOption['title']); - $option = str_replace('option_key_', '', $checkoutOption['value']); - - if (isset($options[$attribute])) { - $result[] = [ - 'type' => $options[$attribute]['type'], - 'title' => isset($options[$attribute]['title']) - ? $options[$attribute]['title'] - : $attribute, - 'value' => isset($options[$attribute]['options'][$option]['title']) - ? $options[$attribute]['options'][$option]['title'] - : $option, - ]; - } - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractPriceBlock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractPriceBlock.php deleted file mode 100644 index 88482f8d001e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/AbstractPriceBlock.php +++ /dev/null @@ -1,64 +0,0 @@ -getTypePriceElement($type); - return $typePriceElement->isVisible() ? $this->trimPrice($typePriceElement->getText(), $currency) : null; - } - - /** - * Get specify type price element. - * - * @param string $type - * @return SimpleElement - */ - protected function getTypePriceElement($type) - { - $mapTypePrice = $this->mapTypePrices[$type]; - return $this->_rootElement->find( - $mapTypePrice['selector'], - isset($mapTypePrice['strategy']) ? $mapTypePrice['strategy'] : Locator::SELECTOR_CSS - ); - } - - /** - * Escape currency and separator for price. - * - * @param string $price - * @param string $currency - * @return string - */ - protected function trimPrice($price, $currency = '$') - { - return str_replace([',', $currency], '', $price); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.php deleted file mode 100644 index 009b20ba7fc97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.php +++ /dev/null @@ -1,65 +0,0 @@ -hasData('store_id')) { - $store = $fixture->getStoreId(); - $this->browser->find($this->header)->hover(); - $storeSwitcherBlock = $this->browser->find($this->storeSwitcherBlock); - $storeSwitcherBlock->find($this->dropdownBlock, Locator::SELECTOR_CSS, 'liselectstore')->setValue($store); - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - $modal->waitModalWindowToDisappear(); - } - return parent::fill($fixture, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml deleted file mode 100644 index 8a313a74c60a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="general"] - css selector - - - switcher - input[name='is_active'] - - - switcher - input[name='include_in_menu'] - - - text - input[name='name'] - - - [name="use_default[name]"] - checkbox - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="content"] - css selector - - - textarea - textarea[name='description'] - - - select - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="display_settings"] - css selector - - - select - - - switcher - input[name='is_anchor'] - - - checkbox - input[name='use_config[available_sort_by]'] - - - multiselect - select[name='available_sort_by'] - - - checkbox - input[name='use_config[default_sort_by]'] - - - select - select[name='default_sort_by'] - - - checkbox - input[name='use_config[filter_price_range]'] - - - input - input[name='filter_price_range'] - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="search_engine_optimization"] - css selector - - - input - input[name='url_key'] - - - checkbox - input[name='use_default[url_key]'] - - - input - input[name='meta_title'] - - - - - \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\Section\Products - [data-index="assign_products"] - css selector - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="design"] - css selector - - - switcher - input[name='custom_use_parent_settings'] - - - select - select[name='custom_design'] - - - select - select[name='page_layout'] - - - textarea - textarea[name='custom_layout_update'] - - - switcher - input[name='custom_apply_to_products'] - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="schedule_design_update"] - css selector - - - datepicker - input[name='custom_design_from'] - - - datepicker - input[name='custom_design_to'] - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/PageActions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/PageActions.php deleted file mode 100644 index 3d2c1d835b5e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/PageActions.php +++ /dev/null @@ -1,75 +0,0 @@ -browser->find($this->warningBlock); - if ($warningBlock->isVisible()) { - $warningBlock->click(); - } - } - - /** - * Select Store View. - * - * @param string $name - * @return void - */ - public function selectStoreView($name) - { - $this->browser->find(self::TOP_ELEMENT_TO_SCROLL)->hover(); - $this->_rootElement->find($this->storeChangeButton)->click(); - $this->waitForElementVisible($name, Locator::SELECTOR_LINK_TEXT); - $this->_rootElement->find($name, Locator::SELECTOR_LINK_TEXT)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - $this->waitForElementVisible($this->storeChangeButton); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/ProductGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/ProductGrid.php deleted file mode 100644 index 6dd6c6c863da5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/ProductGrid.php +++ /dev/null @@ -1,48 +0,0 @@ - [ - 'selector' => '#catalog_category_products_filter_in_category', - 'input' => 'select' - ], - 'sku' => [ - 'selector' => '#catalog_category_products_filter_sku', - ], - 'name' => [ - 'selector' => '#catalog_category_products_filter_name', - ], - 'visibility' => [ - 'selector' => '#catalog_category_products_filter_visibility', - 'input' => 'select', - ], - 'status' => [ - 'selector' => '#catalog_category_products_filter_status', - 'input' => 'select', - ], - ]; - - /** - * An element locator which allows to select entities in grid. - * - * @var string - */ - protected $selectItem = 'tbody tr .col-in_category input'; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/Products.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/Products.php deleted file mode 100644 index 8c88e99a5498e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Edit/Section/Products.php +++ /dev/null @@ -1,86 +0,0 @@ -getData() as $productName) { - $this->getProductGrid()->searchAndSelect(['name' => $productName]); - } - } - - /** - * Get data of the Category Products section. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $data = $this->dataMapping($fields); - $result = []; - - if (isset($data['category_products'])) { - $this->getProductGrid()->search(['in_category' => 'Yes']); - $rows = $this->getProductGrid()->getRowsData(['name']); - - foreach ($rows as $row) { - $result['category_products'][] = $row['name']; - } - } - - return $result; - } - - /** - * Returns product grid. - * - * @return \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\Section\ProductGrid - */ - public function getProductGrid() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\Section\ProductGrid::class, - ['element' => $this->_rootElement->find($this->productGrid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Tree.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Tree.php deleted file mode 100644 index 30a323eebb736..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Tree.php +++ /dev/null @@ -1,194 +0,0 @@ -blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Press 'Add Subcategory' button. - * - * @return void - */ - public function addSubcategory() - { - $this->browser->find($this->header)->hover(); - $this->_rootElement->find($this->addSubcategory, Locator::SELECTOR_CSS)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Press 'Add Root Category' button. - * - * @return void - */ - public function addRootCategory() - { - $this->browser->find($this->header)->hover(); - $this->_rootElement->find($this->addRootCategory, Locator::SELECTOR_CSS)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Select Default category. - * - * @param FixtureInterface $category - * @param bool $fullPath - * @return void - */ - public function selectCategory(FixtureInterface $category, $fullPath = true) - { - $parentPath = $this->prepareFullCategoryPath($category); - if (!$fullPath) { - array_pop($parentPath); - } - if (empty($parentPath)) { - return; - } - $path = implode('/', $parentPath); - - $this->expandAllCategories(); - $this->_rootElement->find($this->treeElement, Locator::SELECTOR_CSS, 'tree')->setValue($path); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Prepare category path. - * - * @param Category $category - * @return array - */ - protected function prepareFullCategoryPath(Category $category) - { - $path = []; - $parentCategory = $category->hasData('parent_id') - ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() - : null; - - if ($parentCategory !== null) { - $path = $this->prepareFullCategoryPath($parentCategory); - } - return array_filter(array_merge($path, [$category->getPath(), $category->getName()])); - } - - /** - * Check category in category tree. - * - * @param Category $category - * @return bool - */ - public function isCategoryVisible(Category $category) - { - $categoryPath = $this->prepareFullCategoryPath($category); - $categoryPath = implode('/', $categoryPath); - return $this->_rootElement->find($this->treeElement, Locator::SELECTOR_CSS, 'tree') - ->isElementVisible($categoryPath); - } - - /** - * Assign child category to the parent. - * - * @param string $parentCategoryName - * @param string $childCategoryName - * - * @return void - */ - public function assignCategory($parentCategoryName, $childCategoryName) - { - $this->_rootElement->find(sprintf($this->categoryInTree, $childCategoryName), Locator::SELECTOR_XPATH)->hover(); - $this->getTemplateBlock()->waitLoader(); - $targetElement = $this->_rootElement->find( - sprintf($this->categoryInTree, $parentCategoryName), - Locator::SELECTOR_XPATH - ); - $targetElement->hover(); - $this->_rootElement->find(sprintf($this->categoryInTree, $childCategoryName), Locator::SELECTOR_XPATH) - ->dragAndDrop($targetElement); - } - - /** - * Expand all categories tree. - * - * @return void - */ - public function expandAllCategories() - { - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->find($this->expandAll)->click(); - $this->getTemplateBlock()->waitLoader(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Widget/Chooser.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Widget/Chooser.php deleted file mode 100644 index d5d6366fdbbf9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Category/Widget/Chooser.php +++ /dev/null @@ -1,35 +0,0 @@ -_rootElement->find(sprintf($this->categoryNameSelector, $name), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php deleted file mode 100644 index 8c97ed691c3c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php +++ /dev/null @@ -1,54 +0,0 @@ -browser; - $selector = $this->saveButton; - $this->browser->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector)->isVisible() ? true : null; - } - ); - parent::fill($fixture, $element); - } - - /** - * Click on "Save" button. - * - * @return void - */ - public function saveAttributeForm() - { - $this->browser->find($this->saveButton)->click(); - $this->browser->switchToFrame(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.xml deleted file mode 100644 index 609fbcbad1d6f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - .product_form_product_form_add_attribute_modal_create_new_attribute_modal_product_attribute_add_form - css selector - - - [name^='frontend_label'] - - - select - - - switcher - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Options - [data-index="attribute_options_select_container"] - css selector - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="advanced_fieldset"] - css selector - - - - select - - - switcher - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="manage-titles"] - css selector - - - [name^='frontend_label'] - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="front_fieldset"] - css selector - - - switcher - - - switcher - - - switcher - - - select - - - switcher - - - switcher - - - switcher - - - switcher - - - switcher - - - switcher - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/CustomAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/CustomAttribute.php deleted file mode 100644 index 49f81ee906165..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/CustomAttribute.php +++ /dev/null @@ -1,138 +0,0 @@ -classReferences = $classReferences; - } - - /** - * Set attribute value. - * - * @param array|string $data - * @return void - */ - public function setValue($data) - { - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $code = isset($data['code']) ? $data['code'] : $this->getAttributeCode($this->getAbsoluteSelector()); - $element = $this->getElementByClass($this->getElementClass($code)); - $value = is_array($data) ? $data['value'] : $data; - if ($value !== null) { - $this->find( - str_replace('%code%', $code, $element['selector']), - Locator::SELECTOR_CSS, - $element['type'] - )->setValue($value); - } - } - - /** - * Get custom attribute value. - * - * @return string|array - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [__METHOD__, $this->getAbsoluteSelector()]); - $code = $this->getAttributeCode($this->getAbsoluteSelector()); - $inputType = $this->getElementByClass($this->getElementClass($code)); - return $this->find(sprintf($this->inputSelector, $code), Locator::SELECTOR_CSS, $inputType)->getValue(); - } - - /** - * Get element by class. - * - * @param string $class - * @return array|null - */ - private function getElementByClass($class) - { - $element = null; - foreach (array_keys($this->classReferences) as $key) { - if ($class == $key) { - return $this->classReferences[$class]; - } - } - return $element; - } - - /** - * Get element class. - * - * @param string $code - * @return string - */ - private function getElementClass($code) - { - return $this->find($this->dataGrid)->isVisible() - ? 'dynamicRows' - : $this->find(sprintf($this->inputSelector, $code), Locator::SELECTOR_CSS)->getAttribute('class'); - } - - /** - * Get attribute code. - * - * @param string $attributeSelector - * @return string - */ - private function getAttributeCode($attributeSelector) - { - preg_match('/data-index="(.*)"/', $attributeSelector, $matches); - $code = !empty($matches[1]) ? $matches[1] : ''; - - return $code; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.php deleted file mode 100644 index 59399faf67012..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.php +++ /dev/null @@ -1,127 +0,0 @@ -waitForElementVisible($this->propertiesTab); - $data = []; - if (null === $fixture) { - foreach ($this->getTabs() as $tabName => $tab) { - if ($this->isTabVisible($tabName)) { - $this->openTab($tabName); - $this->expandAllToggles(); - $tabData = $this->getTab($tabName)->getFieldsData(); - $data = array_merge($data, $tabData); - } - } - } else { - $isHasData = ($fixture instanceof InjectableFixture) ? $fixture->hasData() : true; - $tabsFields = $isHasData ? $this->getFixtureFieldsByContainers($fixture) : []; - foreach ($tabsFields as $tabName => $fields) { - if ($this->isTabVisible($tabName)) { - $this->openTab($tabName); - $this->expandAllToggles(); - $tabData = $this->getTab($tabName)->getFieldsData($fields, $this->_rootElement); - $data = array_merge($data, $tabData); - } - } - } - - return $this->removeEmptyValues($data); - } - - /** - * Remove recursive all empty values in array. - * - * @param mixed $input - * @return mixed - */ - protected function removeEmptyValues($input) - { - if (!is_array($input)) { - return $input; - } - $filteredArray = []; - foreach ($input as $key => $value) { - if ($value) { - $filteredArray[$key] = $this->removeEmptyValues($value); - } - } - - return $filteredArray; - } - - /** - * Expand all toggles. - * - * @return void - */ - protected function expandAllToggles() - { - $closedToggles = $this->_rootElement->getElements($this->closedToggle); - foreach ($closedToggles as $toggle) { - $toggle->click(); - } - } - - /** - * Open tab. - * - * @param string $tabName - * @return Tab - */ - public function openTab($tabName) - { - $this->browser->find($this->pageTitle)->click(); // Handle menu overlap problem - return parent::openTab($tabName); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.xml deleted file mode 100644 index 70d4ee46bd469..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/AttributeForm.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - #product_attribute_tabs_main - css selector - - - [name="frontend_label[0]"] - - - select - - - select - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Options - #manage-options-panel - css selector - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Tab\Advanced - #product_attribute_tabs_main - css selector - - - - - select - - - - - datepicker - - - select - - - select - - - - - \Magento\Backend\Test\Block\Widget\Tab - #product_attribute_tabs_labels - css selector - - - [name="frontend_label[1]"] - - - - - \Magento\Backend\Test\Block\Widget\Tab - #product_attribute_tabs_front - css selector - - - select - - - select - - - select - - - select - - - select - - - select - - - select - - - select - - - select - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Options.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Options.php deleted file mode 100644 index 5199b69c4f425..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Options.php +++ /dev/null @@ -1,75 +0,0 @@ -find($this->addOption)->click(); - $this->getFormInstance()->fillOptions($option); - } - } - } - - /** - * Get value. - * - * @return string - */ - public function getValue() - { - $data = []; - $options = $this->getElements($this->option); - foreach ($options as $option) { - $data[] = $this->getFormInstance($option)->getData(); - } - return $data; - } - - /** - * Get options form. - * - * @param SimpleElement|null $element - * @return Option - */ - protected function getFormInstance(SimpleElement $element = null) - { - return ObjectManager::getInstance()->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Tab\Options\Option::class, - ['element' => $element === null ? $this->find($this->option . ':last-child') : $element] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php deleted file mode 100644 index b92e8188aab05..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php +++ /dev/null @@ -1,47 +0,0 @@ -_rootElement->find($this->propertiesTabContent)->isVisible()) { - $this->_rootElement->find($this->propertiesTab)->click(); - } - - return parent::setFieldsData($fields, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options.php deleted file mode 100644 index 7647e7eac3a9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options.php +++ /dev/null @@ -1,44 +0,0 @@ -_rootElement->find($this->addOption)->click(); - $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Tab\Options\Option::class, - ['element' => $this->_rootElement->find('.ui-sortable tr:last-child')] - )->fillOptions($field); - } - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.php deleted file mode 100644 index fc9bf37fe3188..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.php +++ /dev/null @@ -1,28 +0,0 @@ -dataMapping($fields); - $this->_fill($data); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.xml deleted file mode 100644 index 16afb8d971831..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Edit/Tab/Options/Option.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - [name="default[]"] - checkbox - - - [name$="[0]"] - - - [name$="[1]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Grid.php deleted file mode 100644 index 4ccf8c7969657..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Grid.php +++ /dev/null @@ -1,65 +0,0 @@ - [ - 'selector' => 'input[name="attribute_code"]', - ], - 'frontend_label' => [ - 'selector' => 'input[name="frontend_label"]', - ], - 'is_required' => [ - 'selector' => 'select[name="is_required"]', - 'input' => 'select', - ], - 'is_user_defined' => [ - 'selector' => 'select[name="is_user_defined"]', - 'input' => 'select', - ], - 'is_visible' => [ - 'selector' => 'select[name="is_visible"]', - 'input' => 'select', - ], - 'is_global' => [ - 'selector' => 'select[name="is_global"]', - 'input' => 'select', - ], - 'is_searchable' => [ - 'selector' => 'select[name="is_searchable"]', - 'input' => 'select', - ], - 'is_filterable' => [ - 'selector' => 'select[name="is_filterable"]', - 'input' => 'select', - ], - 'is_comparable' => [ - 'selector' => 'select[name="is_comparable"]', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/FormPageActions.php deleted file mode 100644 index 66fe63a5060f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/FormPageActions.php +++ /dev/null @@ -1,30 +0,0 @@ - [ - 'selector' => 'input[name="set_name"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/GridPageActions.php deleted file mode 100644 index cfec1d1396c2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/GridPageActions.php +++ /dev/null @@ -1,23 +0,0 @@ -groups, $attributeGroup); - $target = $this->_rootElement->find($attributeGroupLocator, Locator::SELECTOR_XPATH); - - $target->click(); // Handle small resolution screen issue - $this->browser->find($this->noteBlock)->click(); - - $attributeLabelLocator = sprintf($this->attribute, $attribute); - $this->_rootElement->find($attributeLabelLocator, Locator::SELECTOR_XPATH)->dragAndDrop($target); - } - - /** - * Get AttributeSet name from product_set edit page - * - * @return string - */ - public function getAttributeSetName() - { - return $this->_rootElement->find("#attribute_set_name", Locator::SELECTOR_CSS)->getValue(); - } - - /** - * Checks present Product Attribute on product_set Groups - * - * @param string $attributeLabel - * @return bool - */ - public function checkProductAttribute($attributeLabel) - { - $attributeLabelLocator = sprintf( - ".//*[contains(@id,'tree-div1')]//li[@class='x-tree-node']/div/a/span[text()='%s']", - $attributeLabel - ); - - return $this->_rootElement->find($attributeLabelLocator, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Checks present Unassigned Product Attribute - * - * @param string $attributeLabel - * @return bool - */ - public function checkUnassignedProductAttribute($attributeLabel) - { - $attributeLabelLocator = sprintf($this->attributeLabel, $attributeLabel); - - return $this->_rootElement->find($attributeLabelLocator, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Add attribute set group to Attribute Set - * - * @param string $groupName - * @return void - */ - public function addAttributeSetGroup($groupName) - { - $this->_rootElement->find($this->addGroupButton)->click(); - $element = $this->browser->find($this->promptModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->setAlertText($groupName); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/AttributeSetForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/AttributeSetForm.php deleted file mode 100644 index 0d44e6950d41d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/AttributeSetForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/EditForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/EditForm.php deleted file mode 100644 index a4209ae2fe7e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/Set/Main/EditForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.php deleted file mode 100644 index 7aa85b203a5e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.php +++ /dev/null @@ -1,138 +0,0 @@ -_rootElement->find($this->qty)->setValue($qty); - } - - /** - * Fill in the option specified for the product. - * - * @param FixtureInterface $product - * @return void - */ - public function configProduct(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $checkoutData = $product->getCheckoutData(); - - $this->waitForFormVisible(); - $this->fillOptions($product); - if (isset($checkoutData['qty'])) { - $this->setQty($checkoutData['qty']); - } - $this->clickOk(); - $this->waitForFormNotVisible(); - } - - /** - * Click "Ok" button. - * - * @return void - */ - public function clickOk() - { - $this->_rootElement->find($this->okButton)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Wait for form is visible. - * - * @return void - */ - protected function waitForFormVisible() - { - $this->browser->waitUntil( - function () { - return $this->_rootElement->find($this->configureForm)->isVisible() ? true : null; - } - ); - } - - /** - * Wait for form is not visible. - * - * @return void - */ - protected function waitForFormNotVisible() - { - $this->browser->waitUntil( - function () { - return $this->_rootElement->find($this->configureForm)->isVisible() ? null : true; - } - ); - } - - /** - * Get backend abstract block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.xml deleted file mode 100644 index c78282807f906..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Composite/Configure.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/FormPageActions.php deleted file mode 100644 index fa5685d31168f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/FormPageActions.php +++ /dev/null @@ -1,20 +0,0 @@ - './/./ancestor::div[contains(@class,"control")]' - . '//input[@data-role="toggle-editability-all" or contains(@id, "toggle_")]', - 'strategy' => Locator::SELECTOR_XPATH, - 'input' => 'checkbox', - 'value' => 'Yes', - ]; - - /** - * Fill data into fields in the container. - * - * @param array $fields - * @param SimpleElement|null $contextElement - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $contextElement = null) - { - $context = ($contextElement === null) ? $this->_rootElement : $contextElement; - $mapping = $this->dataMapping($fields); - foreach ($mapping as $field) { - $this->_fill([$this->changeCheckbox], $context->find($field['selector'], $field['strategy'])); - $this->_fill([$field], $context); - } - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/UpdateAttributeForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/UpdateAttributeForm.php deleted file mode 100644 index 59d3a2962c7c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Action/UpdateAttributeForm.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Action\Tab\UpdateAttributeTab - #attributes_update_tabs_attributes - - - #price - - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Action\Tab\UpdateAttributeTab - #attributes_update_tabs_inventory - - - #inventory_stock_availability - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedInventory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedInventory.php deleted file mode 100644 index 5ee1218134952..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedInventory.php +++ /dev/null @@ -1,64 +0,0 @@ -browser->find($this->advancedInventoryRootElement); - parent::setFieldsData($fields, $context); - $context->find($this->doneButton)->click(); - - return $this; - } - - /** - * Get data of tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $context = $this->browser->find($this->advancedInventoryRootElement); - $data = parent::getFieldsData($fields, $context); - $context->find($this->doneButton)->click(); - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing.php deleted file mode 100644 index bc64f6ab6f23d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing.php +++ /dev/null @@ -1,126 +0,0 @@ -browser->find($this->advancedPricingRootElement); - if (isset($fields['tier_price'])) { - /** @var AbstractOptions $optionsForm */ - $optionsForm = $this->getTierPriceForm($context); - $optionsForm->fillOptions($fields['tier_price'], $context->find('div[data-index="tier_price"]')); - unset($fields['tier_price']); - } - $data = $this->dataMapping($fields); - $this->_fill($data, $context); - $context->find($this->doneButton)->click(); - - return $this; - } - - /** - * Get data of tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $formData = []; - $context = $this->browser->find($this->advancedPricingRootElement); - if (isset($fields['tier_price'])) { - /** @var AbstractOptions $optionsForm */ - $optionsForm = $this->getTierPriceForm($context); - $formData['tier_price'] = $optionsForm->getDataOptions( - $fields['tier_price'], - $context->find('div[data-index="tier_price"]') - ); - unset($fields['tier_price']); - } - $data = $this->dataMapping($fields); - $formData += $this->_getData($data, $context); - $context->find($this->doneButton)->click(); - - return $formData; - } - - /** - * Get Tier Price block. - * - * @param SimpleElement|null $element - * @return OptionTier - */ - public function getTierPriceForm(SimpleElement $element = null) - { - $element = $element ?: $this->browser->find($this->advancedPricingRootElement); - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedPricing\OptionTier::class, - ['element' => $element] - ); - } - - /** - * Check if the field is displayed correctly. - * - * @param string $fieldName - * @return bool - */ - public function checkField($fieldName) - { - return $this->_rootElement->find(sprintf($this->fieldByName, $fieldName), Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.php deleted file mode 100644 index d234e3be1e153..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.php +++ /dev/null @@ -1,139 +0,0 @@ - $option) { - $this->_rootElement->find($this->buttonFormLocator)->click(); - ++$key; - parent::fillOptions($option, $element->find('tbody tr:nth-child(' . $key . ')')); - } - - return $this; - } - - /** - * Get data options from 'Tier price' form. - * - * @param array $fields - * @param SimpleElement|null $element - * @return array - */ - public function getDataOptions(array $fields = null, SimpleElement $element = null) - { - $data = []; - if (isset($fields['value']) && is_array($fields['value'])) { - foreach ($fields['value'] as $key => $option) { - $data[$key++] = parent::getDataOptions($option, $element->find('tbody tr:nth-child(' . $key . ')')); - } - } - - return $data; - } - - /** - * Get tier price rows data. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $fieldsData = []; - $rows = $this->_rootElement->getElements($this->tierPriceRows, Locator::SELECTOR_XPATH); - - if (null !== $rows) { - foreach ($rows as $row) { - $data = $this->dataMapping($fields); - if ($row->find($data['value_type']['selector'])->getValue() == "fixed") { - unset($data['percentage_value']); - } - $fieldsData[] = $this->_getData($data, $row); - } - } - - return $fieldsData; - } - - /** - * Check whether Customer Group is visible. - * - * @param CustomerGroup $customerGroup - * @return bool - */ - public function isVisibleCustomerGroup(CustomerGroup $customerGroup) - { - $this->_rootElement->find($this->buttonFormLocator)->click(); - - $options = $this->_rootElement->find($this->customerGroup, Locator::SELECTOR_XPATH)->getText(); - return false !== strpos($options, $customerGroup->getCustomerGroupCode()); - } - - /** - * Checking group price options is visible. - * - * @return bool - */ - public function hasGroupPriceOptions() - { - return $this->_rootElement->find('tbody tr')->isPresent(); - } - - /** - * Waiting until advanced price form becomes hidden - * - * @return void - */ - public function waitTierPriceFormLocks() - { - $this->_rootElement->waitUntil( - function () { - return $this->isVisible() ? null : true; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.xml deleted file mode 100644 index b8a8f70101a61..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/AdvancedPricing/OptionTier.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - [name$="[price]"] - - - [name$="[value_type]"] - select - - - [name$="[percentage_value]"] - - - [name$="[website_id]"] - select - - - [name$="[cust_group]"] - select - - - [name$="[price_qty]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes.php deleted file mode 100644 index 0862d0639fc66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes.php +++ /dev/null @@ -1,31 +0,0 @@ -placeholders = ['attribute_code' => $fields['custom_attribute']['value']['code']]; - $this->applyPlaceholders(); - } - return parent::dataMapping($fields, $parent); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Grid.php deleted file mode 100644 index 1c1dd823437d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Grid.php +++ /dev/null @@ -1,26 +0,0 @@ - [ - 'selector' => '[name="frontend_label"]', - ] - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Search.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Search.php deleted file mode 100644 index 7b5bcf8060e2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Attributes/Search.php +++ /dev/null @@ -1,120 +0,0 @@ - span'; - - /** - * Attributes button. - * - * @var string - */ - protected $actionToggle = '.action-toggle'; - - /** - * Search result dropdown. - * - * @var string - */ - protected $searchResult = '.mage-suggest-dropdown'; - - /** - * Searched attribute result locator. - * - * @var string - */ - protected $searchArrtibute = './/a[text()="%s"]'; - - /** - * Set value. - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $this->find($this->actionToggle)->click(); - parent::setValue($value); - } - - /** - * Get value. - * - * @return string - */ - public function getValue() - { - return $this->find($this->value)->getText(); - } - - /** - * Checking not exist attribute in search result. - * - * @param CatalogProductAttribute $productAttribute - * @return bool - */ - public function isExistAttributeInSearchResult($productAttribute) - { - $this->find($this->topPage, Locator::SELECTOR_XPATH)->hover(); - $this->find($this->actionToggle)->click(); - - return $this->isExistValueInSearchResult($productAttribute->getFrontendLabel()); - } - - /** - * Send keys. - * - * @param array $keys - * @return void - */ - public function keys(array $keys) - { - $input = $this->find($this->suggest); - if (!$input->isVisible()) { - $this->find($this->actionToggle)->click(); - } - $input->click(); - $input->keys($keys); - $input->click(); - $this->waitResult(); - } - - /** - * Wait for search result is visible. - * - * @return void - */ - public function waitResult() - { - $this->waitUntil( - function () { - return $this->find($this->searchResult)->isVisible() ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/BlockGallery.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/BlockGallery.php deleted file mode 100644 index da103db8ce331..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/BlockGallery.php +++ /dev/null @@ -1,57 +0,0 @@ -find($this->imageUploadInput, Locator::SELECTOR_CSS, 'upload'); - $uploadElement->setValue($imageData['file']); - $this->waitForElementNotVisible($this->imageLoader); - $this->waitForElementVisible($this->baseImage); - } - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options.php deleted file mode 100644 index d591f3b44462a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options.php +++ /dev/null @@ -1,423 +0,0 @@ - $field) { - if ($keyRoot === 'import') { - $this->importOptions($field['products']); - continue; - } - $options = null; - $this->_rootElement->find($this->buttonAddOption)->click(); - if (!empty($field['options'])) { - $options = $field['options']; - unset($field['options']); - } - - $rootElement = $this->_rootElement->find( - sprintf($this->newCustomOptionRow, $keyRoot + 1), - Locator::SELECTOR_XPATH - ); - $data = $this->dataMapping($field); - $this->_fill($data, $rootElement); - - // Fill subform - if (isset($field['type']) && !empty($options)) { - $this->setOptionTypeData($options, $field['type'], $rootElement); - } - } - - return $this; - } - - /** - * Import custom options. - * - * @param array $products - * @return void - */ - protected function importOptions(array $products) - { - foreach ($products as $product) { - $this->_rootElement->find($this->buttonImportOptions)->click(); - $searchBlock = $this->getSearchGridBlock(); - $searchBlock->searchAndSelect(['sku' => $product]); - $searchBlock->addProducts(); - } - } - - /** - * Get grid for import custom options products. - * - * @return Grid - */ - protected function getSearchGridBlock() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options\Search\Grid::class, - ['element' => $this->browser->find($this->importGrid)] - ); - } - - /** - * Get select option row block. - * - * @param int $index - * @param SimpleElement $element - * @return Row - */ - private function getRowBlock($index, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options\Row::class, - ['element' => $element->find(sprintf($this->dynamicDataRow, ++$index))] - ); - } - - /** - * Set Option Type data. - * - * @param array $options - * @param string $type - * @param ElementInterface $element - * @return $this - */ - private function setOptionTypeData(array $options, $type, ElementInterface $element) - { - /** @var AbstractOptions $optionsForm */ - $optionsForm = $this->blockFactory->create( - __NAMESPACE__ . '\Options\Type\\' . $this->optionNameConvert($type), - ['element' => $element] - ); - $context = $element->find($this->addValue)->isVisible() - ? $this->dynamicDataRow - : $this->staticDataRow; - foreach ($options as $key => $option) { - if (isset($option['sort_order'])) { - $currentSortOrder = (int)$option['sort_order']; - unset($option['sort_order']); - } else { - $currentSortOrder = 0; - } - $optionsForm->fillOptions( - $option, - $element->find(sprintf($context, $key + 1)) - ); - $this->sortOption($key, $currentSortOrder, $element); - } - $this->sortRowsData = []; - - return $this; - } - - /** - * Sort sample element. - * - * @param int $position - * @param int $sortOrder - * @param SimpleElement|null $element - * @return void - */ - private function sortOption($position, $sortOrder, SimpleElement $element = null) - { - $currentSortRowData = ['current_position_in_grid' => $position, 'sort_order' => $sortOrder]; - foreach ($this->sortRowsData as &$sortRowData) { - if ($sortRowData['sort_order'] > $currentSortRowData['sort_order']) { - // need to reload block because we are changing dom - $target = $this->getRowBlock($sortRowData['current_position_in_grid'], $element)->getSortHandle(); - $this->getRowBlock($currentSortRowData['current_position_in_grid'], $element)->dragAndDropTo($target); - - $currentSortRowData['current_position_in_grid']--; - $sortRowData['current_position_in_grid']++; - } - } - unset($sortRowData); - $this->sortRowsData[] = $currentSortRowData; - } - - /** - * Get data of tab. - * - * @param array|null $tabFields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($tabFields = null, SimpleElement $element = null) - { - $fields = reset($tabFields); - $name = key($tabFields); - $formData = []; - if (empty($fields['value'])) { - return $formData; - } - if (isset($fields['value']['import'])) { - $fields['value'] = $this->prepareCustomOptions($fields['value']); - } - - foreach ($fields['value'] as $keyRoot => $field) { - $formDataItem = null; - $options = null; - if (!empty($field['options'])) { - $options = $field['options']; - unset($field['options']); - } - - $rootLocator = sprintf($this->customOptionRow, $field['title']); - $rootElement = $this->_rootElement->find($rootLocator, Locator::SELECTOR_XPATH); - $this->waitForElementVisible($rootLocator, Locator::SELECTOR_XPATH); - $data = $this->dataMapping($field); - $formDataItem = $this->_getData($data, $rootElement); - - // Data collection subform - if (isset($field['type']) && !empty($options)) { - $formDataItem = array_merge( - $formDataItem, - $this->getOptionTypeData($options, $field['type'], $rootElement) - ); - } - $formData[$name][$keyRoot] = $formDataItem; - } - - return $formData; - } - - /** - * Get option type data. - * - * @param array $options - * @param string $type - * @param ElementInterface $element - * @return array - */ - private function getOptionTypeData(array $options, $type, ElementInterface $element) - { - $formDataItem = []; - /** @var AbstractOptions $optionsForm */ - $optionsForm = $this->blockFactory->create( - __NAMESPACE__ . '\Options\Type\\' . $this->optionNameConvert($type), - ['element' => $element] - ); - $context = $element->find($this->addValue)->isVisible() - ? $this->dynamicDataRow - : $this->staticDataRow; - foreach ($options as $key => $option) { - if (isset($option['sort_order'])) { - $currentSortOrder = (int)$option['sort_order']; - unset($option['sort_order']); - } - $formDataItem['options'][$key] = $optionsForm->getDataOptions( - $option, - $element->find(sprintf($context, $key + 1)) - ); - if (isset($currentSortOrder)) { - $formDataItem['options'][$key]['sort_order'] = $key; - } - } - - return $formDataItem; - } - - /** - * Prepare custom options with import options. - * - * @param array $options - * @return array - */ - protected function prepareCustomOptions(array $options) - { - $importOptions = $options['import']['options']; - $options = array_merge($options, $importOptions); - unset($options['import']); - - return $options; - } - - /** - * Convert option name. - * - * @param string $inputType - * @return string - */ - protected function optionNameConvert($inputType) - { - $option = substr($inputType, strpos($inputType, "/") + 1); - $option = str_replace([' ', '&'], "", $option); - $end = strpos($option, '-'); - if ($end !== false) { - $option = substr($option, 0, $end) . ucfirst(substr($option, ($end + 1))); - } - - return $option; - } - - /** - * Get values data for option as array. - * - * @param array $options - * @param string $optionType - * @param string $optionTitle - * @return array - */ - public function getValuesDataForOption(array $options, string $optionType, string $optionTitle) - { - $rootLocator = sprintf($this->customOptionRow, $optionTitle); - $rootElement = $this->_rootElement->find($rootLocator, Locator::SELECTOR_XPATH); - - $formDataItem = []; - /** @var AbstractOptions $optionsForm */ - $optionsForm = $this->blockFactory->create( - __NAMESPACE__ . '\Options\Type\\' . $this->optionNameConvert($optionType), - ['element' => $rootElement] - ); - $context = $rootElement->find($this->addValue)->isVisible() - ? $this->dynamicDataRow - : $this->staticDataRow; - foreach (array_keys($options) as $key) { - $element = $rootElement->find(sprintf($context, $key + 1)); - - $dataOptions = $optionsForm->getDataOptions(null, $element); - - $addBefore = $optionsForm->getTextForOptionValues( - [ - 'add_before' => [] - ], - $element - ); - $formDataItem[$key] = array_merge($dataOptions, $addBefore); - } - - return $formDataItem; - } - - /** - * Returns notice-message elements for 'file_extension' fields. - * - * @return ElementInterface[] - */ - public function getFileOptionElements() - { - return $this->_rootElement->getElements($this->hintMessage); - } - - /** - * @inheritdoc - */ - protected function _fill(array $fields, SimpleElement $element = null) - { - $context = ($element === null) ? $this->_rootElement : $element; - foreach ($fields as $name => $field) { - $element = $this->getElement($context, $field); - if (!$element->isDisabled()) { - $element->getContext()->hover(); - $element->setValue($field['value']); - } else { - throw new \Exception("Unable to set value to field '$name' as it's disabled."); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/AbstractOptions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/AbstractOptions.php deleted file mode 100644 index 6b42092a45336..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/AbstractOptions.php +++ /dev/null @@ -1,68 +0,0 @@ -_rootElement : $element; - $mapping = $this->dataMapping($fields); - $this->_fill($mapping, $element); - - return $this; - } - - /** - * Getting options data form on the product form - * - * @param array $fields - * @param SimpleElement $element - * @return $this - */ - public function getDataOptions(array $fields = null, SimpleElement $element = null) - { - $element = $element === null ? $this->_rootElement : $element; - $mapping = $this->dataMapping($fields); - - return $this->_getData($mapping, $element); - } - - /** - * Getting text for options. - * - * @param array $fields - * @param SimpleElement $element - * @return array - */ - public function getTextForOptionValues(array $fields = null, SimpleElement $element = null) - { - $element = $element === null ? $this->_rootElement : $element; - $mapping = $this->dataMapping($fields); - $data = []; - - foreach ($mapping as $key => $field) { - $element = $this->getElement($element, $field); - $data[$key] = $element->getText(); - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Row.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Row.php deleted file mode 100644 index 629c43c41a41f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Row.php +++ /dev/null @@ -1,43 +0,0 @@ -getSortHandle()->dragAndDrop($target); - } - - /** - * Get sort handle. - * - * @return ElementInterface - */ - public function getSortHandle() - { - return $this->_rootElement->find($this->sortDraggableHandle); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Search/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Search/Grid.php deleted file mode 100644 index 4d6c13844e0dd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Search/Grid.php +++ /dev/null @@ -1,44 +0,0 @@ - [ - 'selector' => 'input[name=sku]', - ], - ]; - - /** - * Press 'Import' button. - * - * @return void - */ - public function addProducts() - { - $this->_rootElement->find($this->importProducts)->click(); - $this->getTemplateBlock()->waitForElementNotVisible($this->importProducts); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type.php deleted file mode 100644 index eec1adc98cf20..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type.php +++ /dev/null @@ -1,74 +0,0 @@ -find($this->advancedSelect); - $selectedElement->click(); - $text = trim($element->getText()); - $selectedElement->click(); - - return $text; - } - - /** - * Select value in Option Type dropdown element. - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $option = $this->prepareSetValue($value); - if (!$option->isVisible()) { - $this->find($this->advancedSelect)->click(); - } - $option->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Area.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Area.php deleted file mode 100644 index b4dd0051c3af0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Area.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [name$='[max_characters]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Checkbox.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Checkbox.php deleted file mode 100644 index 86c0b879e8f90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Checkbox.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - <selector>[name$="[title]"]</selector> - - - [name$="[price]"] - - - [name$="[price_type]"] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Date.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Date.php deleted file mode 100644 index 7a8e59cb19c7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Date.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DateTime.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DateTime.php deleted file mode 100644 index 528bd89bbc099..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DateTime.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.php deleted file mode 100644 index ccc7133dffe8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.php +++ /dev/null @@ -1,37 +0,0 @@ -_rootElement->find($this->addValueButton)->click(); - - return parent::fillOptions($fields, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.xml deleted file mode 100644 index edd1f4b250162..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/DropDown.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - <selector>[name$="[title]"]</selector> - - - [name$="[price]"] - - - [name$="[price_type]"] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Field.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Field.php deleted file mode 100644 index 93642fa989e71..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Field.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [name$='[max_characters]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/File.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/File.php deleted file mode 100644 index 7cc64f7c98b4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/File.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [name$='[file_extension]'] - - - [name$='[image_size_x]'] - - - [name$='[image_size_y]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/MultipleSelect.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/MultipleSelect.php deleted file mode 100644 index 6308f5d97f49f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/MultipleSelect.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - <selector>[name$="[title]"]</selector> - - - [name$="[price]"] - - - [name$="[price_type]"] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/RadioButtons.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/RadioButtons.php deleted file mode 100644 index 8b75c61f47c96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/RadioButtons.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - <selector>[name$="[title]"]</selector> - - - [name$="[price]"] - - - [name$="[price_type]"] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Time.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Time.php deleted file mode 100644 index d24903f9de607..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Options/Type/Time.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name$='[price]'] - - - [name$='[price_type]'] - select - - - [name$='[sku]'] - - - [class*="admin__addon-prefix"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails.php deleted file mode 100644 index 5e3c0f1f77e8d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails.php +++ /dev/null @@ -1,82 +0,0 @@ -placeholders = ['attribute_code' => $fields['custom_attribute']['value']['code']]; - $this->applyPlaceholders(); - } - return parent::dataMapping($fields, $parent); - } - - /** - * Fill data to fields on section. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - $data = $this->dataMapping($fields); - // Select attribute set - if (isset($data['attribute_set_id'])) { - $this->_fill([$data['attribute_set_id']], $element); - unset($data['attribute_set_id']); - } - // Select categories - if (isset($data['category_ids'])) { - if (isset($fields['category_ids']['source']) - && $fields['category_ids']['source']->getCategories() !== null - && !$fields['category_ids']['source']->getCategories()[0]->hasData('id') - ) { - $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\NewCategoryIds::class, - ['element' => $this->browser->find($this->newCategoryRootElement)] - )->addNewCategory($fields['category_ids']['source']->getCategories()[0]); - } else { - $this->_fill([$data['category_ids']], $element); - } - unset($data['category_ids']); - } - - $this->_fill($data, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/AttributeSet.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/AttributeSet.php deleted file mode 100644 index 0be0a7ec07a7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/AttributeSet.php +++ /dev/null @@ -1,60 +0,0 @@ -find(sprintf($this->attributeSet, $value), Locator::SELECTOR_XPATH)->isVisible()) { - parent::setValue($value); - } - } - - /** - * Get value. - * - * @return string - */ - public function getValue() - { - return $this->find($this->attributeSetValue)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/CategoryIds.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/CategoryIds.php deleted file mode 100644 index 2dc6a9c17dd2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/CategoryIds.php +++ /dev/null @@ -1,107 +0,0 @@ -browser = $browser; - parent::__construct($driver, $eventManager, $locator, $context); - } - - /** - * Set category value. - * - * @param array|string $values - * @return void - */ - public function setValue($values) - { - // Align Category ids select element to the center of the browser for created categories - if ($this->browser->find($this->pageFooter)->isVisible()) { - $this->browser->find($this->pageFooter)->hover(); - $this->browser->find($this->advancedInventoryButton)->hover(); - } - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - $this->clear(); - foreach ((array)$values as $value) { - if (!$this->isChoice($value)) { - if ($value == '') { - continue; - } - - $this->keys([$value]); - $searchedItem = $this->find(sprintf($this->resultItem, $value), Locator::SELECTOR_XPATH); - $searchedCountElements = $this->find($this->searchedCount); - $this->waitUntil( - function () use ($searchedCountElements) { - return $searchedCountElements->isVisible() ? true : null; - } - ); - $searchedItem->click(); - - $closeButton = $this->find($this->closeButton); - if ($closeButton->isVisible()) { - $closeButton->click(); - } - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.php deleted file mode 100644 index 3309c6dea480d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.php +++ /dev/null @@ -1,68 +0,0 @@ - $category->getName(), - 'parent_category' => $category->getDataFieldConfig('parent_id')['source']->getParentCategory()->getName() - ]; - - $this->openNewCategoryDialog(); - $this->_fill($this->dataMapping($data)); - - $this->_rootElement->find($this->createCategoryButton)->click(); - $this->waitForElementNotVisible($this->createCategoryButton); - } - - /** - * Open new category dialog. - * - * @return void - */ - protected function openNewCategoryDialog() - { - $this->browser->find($this->buttonNewCategory)->click(); - $this->waitForElementVisible($this->createCategoryModal); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.xml deleted file mode 100644 index 87618777d7907..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/NewCategoryIds.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - [name="name"] - - - div[data-index="parent"]>div[class="admin__field-control"] - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\CategoryIds - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related.php deleted file mode 100644 index 582eac37000e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related.php +++ /dev/null @@ -1,95 +0,0 @@ -_rootElement->find('[data-index="button_' . $relatedType . '"]')->click(); - $context = ''; - - if (isset($data[$relatedTypeUnderscore . '_products']['value'])) { - $context = $this->browser->find('.product_form_product_form_related_' . $relatedType . '_modal'); - $relatedBlock = $this->getRelatedGrid($context); - - foreach ($data[$relatedTypeUnderscore . '_products']['value'] as $product) { - $relatedBlock->searchAndSelect(['sku' => $product['sku']]); - } - } - $context->find($this->addProducts)->click(); - } - - return $this; - } - - /** - * Get data of section. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $relatedProducts = array_keys($fields); - $data = []; - foreach ($relatedProducts as $relatedProduct) { - $relatedTypeUnderscore = substr($relatedProduct, 0, strpos($relatedProduct, '_products')); - $relatedType = str_replace('_', '', $relatedTypeUnderscore); - $context = $this->browser->find('[data-index="' . $relatedType . '"]'); - $relatedBlock = $this->getRelatedGrid($context); - $columns = ['id', 'name', 'sku']; - $relatedProducts = $relatedBlock->getRowsData($columns); - $data = [$relatedProduct => $relatedProducts]; - } - - return $data; - } - - /** - * Return related products grid. - * - * @param SimpleElement|null $element - * @return Grid - */ - protected function getRelatedGrid(SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Related\Grid::class, - ['element' => $element] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related/Grid.php deleted file mode 100644 index b8f2522144e8b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Related/Grid.php +++ /dev/null @@ -1,32 +0,0 @@ - [ - 'selector' => 'input[name="name"]', - ], - 'sku' => [ - 'selector' => 'input[name="sku"]', - ], - 'type' => [ - 'selector' => 'select[name="type_id"]', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Websites/StoreTree.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Websites/StoreTree.php deleted file mode 100644 index 09b2927c24260..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Edit/Section/Websites/StoreTree.php +++ /dev/null @@ -1,84 +0,0 @@ -clearValue(); - - $values = is_array($values) ? $values : [$values]; - foreach ($values as $value) { - $website = $this->find(sprintf($this->website, $value), Locator::SELECTOR_XPATH); - if (!$website->isVisible()) { - throw new \Exception("Can't find website: \"{$value}\"."); - } - if (!$website->isSelected()) { - $website->click(); - } - } - } - - /** - * Get value. - * - * @return array - */ - public function getValue() - { - $values = []; - - $count = 1; - $website = $this->find(sprintf($this->selectedWebsite, $count), Locator::SELECTOR_XPATH); - while ($website->isVisible()) { - $values[] = $website->getText(); - ++$count; - $website = $this->find(sprintf($this->selectedWebsite, $count), Locator::SELECTOR_XPATH); - } - return $values; - } - - /** - * Clear selected checkboxes. - * - * @return void - */ - private function clearValue() - { - foreach ($this->getValue() as $value) { - $this->find(sprintf($this->website, $value), Locator::SELECTOR_XPATH)->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/FormPageActions.php deleted file mode 100644 index 47ebe5a35d841..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/FormPageActions.php +++ /dev/null @@ -1,168 +0,0 @@ -getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - } - - if ($this->hasRender($typeId)) { - $this->callRender($typeId, 'save', ['product' => $product]); - } else { - parent::save(); - } - } - - /** - * Click save and duplicate action - * - * @return void - */ - public function saveAndDuplicate() - { - $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - $this->_rootElement->find(sprintf($this->saveTypeItem, static::SAVE_DUPLICATE), Locator::SELECTOR_CSS)->click(); - } - - /** - * Click save and new action - * - * @return void - */ - public function saveAndNew() - { - $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - $this->_rootElement->find(sprintf($this->saveTypeItem, static::SAVE_NEW), Locator::SELECTOR_CSS)->click(); - } - - /** - * Click save and new action - * - * @return void - */ - public function saveAndClose() - { - $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - $this->_rootElement->find(sprintf($this->saveTypeItem, static::SAVE_CLOSE), Locator::SELECTOR_CSS)->click(); - } - - /** - * Click "Add Attribute" button. - * - * @return void - */ - public function addNewAttribute() - { - $this->_rootElement->find($this->addAttribute)->click(); - } - - /** - * Change Store View scope. - * - * @param FixtureInterface $store - * @return void - */ - public function changeStoreViewScope(FixtureInterface $store) - { - $this->waitForElementNotVisible($this->spinner); - $this->waitForElementVisible($this->storeSwitcherBlock); - $this->_rootElement->find($this->storeSwitcherBlock) - ->find($this->dropdownBlock, Locator::SELECTOR_CSS, 'liselectstore') - ->setValue(sprintf('%s/%s', $store->getGroupId(), $store->getName())); - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Grid.php deleted file mode 100644 index 29efb2b4fa037..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Grid.php +++ /dev/null @@ -1,115 +0,0 @@ - [ - 'selector' => '[name="name"]', - ], - 'sku' => [ - 'selector' => '[name="sku"]', - ], - 'type' => [ - 'selector' => '[name="type_id"]', - 'input' => 'select', - ], - 'price_from' => [ - 'selector' => '[name="price[from]"]', - ], - 'price_to' => [ - 'selector' => '[name="price[to]"]', - ], - 'qty_from' => [ - 'selector' => '[name="qty[from]"]', - ], - 'qty_to' => [ - 'selector' => '[name="qty[to]"]', - ], - 'visibility' => [ - 'selector' => '[name="visibility"]', - 'input' => 'select', - ], - 'status' => [ - 'selector' => '[name="status"]', - 'input' => 'select', - ], - 'set_name' => [ - 'selector' => '[name="attribute_set_id"]', - 'input' => 'select', - ], - 'store_id' => [ - 'selector' => '[name="store_id"]', - 'input' => 'select', - ], - ]; - - /** - * Product base image. - * - * @var string - */ - protected $baseImage = '.data-grid-thumbnail-cell img'; - - /** - * Update attributes for selected items. - * - * @param array $items - * @return void - */ - public function updateAttributes(array $items = []) - { - $products = []; - /** @var FixtureInterface $product */ - foreach ($items as $product) { - $products[] = ["sku" => $product->getSku()]; - } - $this->massaction($products, 'Update attributes'); - } - - /** - * Get base image source link. - * - * @return string - * @deprecated for general get attribute method - * @see getBaseImageAttribute - */ - public function getBaseImageSource() - { - return $this->getBaseImageAttribute('src'); - } - - /** - * Get attribute from base image component - * - * @param string $attributeName - * @return string - */ - public function getBaseImageAttribute($attributeName) - { - $baseImage = $this->_rootElement->find($this->baseImage); - return $baseImage->isVisible() ? $baseImage->getAttribute($attributeName) : ''; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/GridPageAction.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/GridPageAction.php deleted file mode 100644 index 18350a24512ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/GridPageAction.php +++ /dev/null @@ -1,74 +0,0 @@ -waitForElementNotVisible($this->spinner); - $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - $this->_rootElement->find( - str_replace('%productType%', $productType, $this->productItem), - Locator::SELECTOR_CSS - )->click(); - } - - /** - * Get product list. - * - * @return array - */ - public function getTypeList() - { - $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - return $this->_rootElement->find( - $this->typeList, - Locator::SELECTOR_CSS - )->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/AddAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/AddAttribute.php deleted file mode 100644 index 2b9ed917b288e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/AddAttribute.php +++ /dev/null @@ -1,56 +0,0 @@ -blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->addAttributeBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Click on "Create new attribute" button. - * - * @return void - */ - public function createNewAttribute() - { - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->find($this->createNewAttribute)->click(); - $this->getTemplateBlock()->waitLoader(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/NewAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/NewAttribute.php deleted file mode 100644 index 674c9c5cf9f65..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Modal/NewAttribute.php +++ /dev/null @@ -1,47 +0,0 @@ -blockFactory->create( - \Magento\Backend\Test\Block\FormPageActions::class, - ['element' => $this->_rootElement->find($this->newAttributeBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Click "Save Attribute" button on attribute form. - * - * @return void - */ - public function saveAttribute() - { - $this->getFormPageActionsBlock()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.php deleted file mode 100644 index fa2b66d3e9698..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.php +++ /dev/null @@ -1,281 +0,0 @@ -waitPageToLoad(); - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - - if ($this->hasRender($typeId)) { - $renderArguments = [ - 'product' => $product, - 'element' => $element, - 'category' => $category, - ]; - $this->callRender($typeId, 'fill', $renderArguments); - } else { - $sections = $this->getFixtureFieldsByContainers($product); - if ($product->hasData('category_ids') || $category) { - $sections['product-details']['category_ids']['value'] = []; - $categories = $product->hasData('category_ids') - ? $product->getDataFieldConfig('category_ids')['source']->getCategories() - : [$category]; - foreach ($categories as $category) { - if ((int)$category->getId()) { - $sections['product-details']['category_ids']['value'][] = $category->getName(); - } else { - $this->getNewCategoryModalForm()->addNewCategory($category); - } - } - if (empty($sections['product-details']['category_ids']['value'])) { - // We need to clear 'category_ids' key in case of category(es) absence in Product Fixture - // to avoid force clear related form input on edit product page - unset($sections['product-details']['category_ids']); - } - } - $this->fillContainers($sections, $element); - } - - return $this; - } - - /** - * Open section or click on button to open modal window. - * - * @param string $sectionName - * @return $this - */ - public function openSection($sectionName) - { - $sectionElement = $this->getContainerElement($sectionName); - if ($sectionElement->getAttribute('type') == 'button') { - $sectionElement->click(); - sleep(2); // according to animation timeout in JS - } else { - parent::openSection($sectionName); - } - return $this; - } - - /** - * Unassign product from website by website name. - * - * @param string $name - */ - public function unassignFromWebsite($name) - { - $this->openSection('websites'); - $this->_rootElement->find(sprintf($this->websiteCheckbox, $name), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Wait page to load. - * - * @return void - */ - protected function waitPageToLoad() - { - $this->waitForElementNotVisible($this->spinner); - } - - /** - * Check visibility of the attribute on the product page. - * - * @param mixed $productAttribute - * @return bool - */ - public function checkAttributeLabel($productAttribute) - { - $frontendLabel = (is_array($productAttribute)) - ? $productAttribute['frontend_label'] - : $productAttribute->getFrontendLabel(); - $attributeLabelLocator = sprintf($this->attribute, $frontendLabel); - - return $this->_rootElement->find($attributeLabelLocator, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Get attributes search grid. - * - * @return DataGrid - */ - public function getAttributesSearchGrid() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Attributes\Grid::class, - ['element' => $this->browser->find($this->attributeSearch)] - ); - } - - /** - * Check custom section visibility on Product form. - * - * @param string $sectionName - * @return bool - */ - public function isCustomSectionVisible($sectionName) - { - $sectionName = strtolower($sectionName); - $selector = sprintf($this->attributeBlock, $sectionName); - - return $this->_rootElement->find($selector)->isVisible(); - } - - /** - * Open custom section on Product form. - * - * @param string $sectionName - * @return void - */ - public function openCustomSection($sectionName) - { - $sectionName = strtolower($sectionName); - $this->_rootElement->find(sprintf($this->customSection, $sectionName))->click(); - } - - /** - * Get Attribute Form. - * - * @return AttributeForm - */ - public function getAttributeForm() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\AttributeForm::class, - ['element' => $this->browser->find($this->newAttributeModal)] - ); - } - - /** - * Get New Category Modal Form. - * - * @return NewCategoryIds - */ - public function getNewCategoryModalForm() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\NewCategoryIds::class, - ['element' => $this->browser->find($this->newCategoryModalForm)] - ); - } - - /** - * Get attribute element. - * - * @param CatalogProductAttribute $attribute - * @return CustomAttribute - */ - public function getAttributeElement(CatalogProductAttribute $attribute) - { - return $this->_rootElement->find( - sprintf($this->attributeBlock, $attribute->getAttributeCode()), - Locator::SELECTOR_CSS, - \Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\CustomAttribute::class - ); - } - - /** - * @param $sectionName - * @return bool - */ - public function isProductNewFromDateVisible($sectionName) - { - $this->openSection($sectionName); - return $this->_rootElement->find($this->news_from_date, Locator::SELECTOR_CSS)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 028dfc6d109ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails - [data-index='product-details'] - css selector - product - - - switcher - - - [data-index="attribute_set_id"] - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\AttributeSet - - - select - - - select - - - [data-index='container_category_ids'] - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\CategoryIds - - - - fieldset[data-index="quantity_and_stock_status_qty"] [name="product[quantity_and_stock_status][qty]"] - - - [data-index="quantity_and_stock_status"] [name="product[quantity_and_stock_status][is_in_stock]"] - select - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\CustomAttribute - [data-index="%attribute_code%"] - - - select - - - [name="product[news_from_date]"] - css selector - - - [name="product[news_to_date]"] - css selector - - - select - - - [name="use_default[name]"] - checkbox - - - [name="use_default[price]"] - checkbox - - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedPricing - [data-index="advanced_pricing_button"] - css selector - product - - - [name="product[special_price]"] - - - [name="product[special_from_date]"] - - - [name="product[special_to_date]"] - - - [name="product[cost]"] - - - - - Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedInventory - [data-index="advanced_inventory_button"] - css selector - product[stock_data] - - - - [name='product[stock_data][manage_stock]'] - select - - - [name='product[quantity_and_stock_status][qty]'] - - - [name='product[stock_data][min_qty]'] - - - [name='product[stock_data][min_sale_qty]'] - - - [name='product[stock_data][max_sale_qty]'] - - - [name='product[stock_data][use_config_min_qty]'] - checkbox - - - [name='product[stock_data][use_config_min_sale_qty]'] - checkbox - - - [name='product[stock_data][use_config_max_sale_qty]'] - checkbox - - - checkbox - - - select - - - checkbox - - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='content'] - css selector - - - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Attributes - [data-index="attributes"] - css selector - - - Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\CustomAttribute - [data-index="%attribute_code%"] - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\BlockGallery - [data-index='gallery'] - css selector - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='search-engine-optimization'] - css selector - product - - - - [name="use_default[url_key]"] - checkbox - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='related'] - css selector - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='websites'] - css selector - product - - - .admin__fieldset-product-websites - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Websites\StoreTree - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='design'] - css selector - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index='schedule-design-update'] - css selector - - - [name="product[custom_design_from]"] - css selector - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options - [data-index="custom_options"] - css selector - - - <selector>input[name$="[title]"]</selector> - <strategy>css selector</strategy> - - - input[name$="[is_require]"] - css selector - checkbox - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options\Type - [data-index="type"] - css selector - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="gift-options"] - css selector - product - - - switcher - - - checkbox - - - - - \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Related - [data-index="related"] - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Widget/Chooser.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Widget/Chooser.php deleted file mode 100644 index 6aefb85dc999b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Widget/Chooser.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="chooser_sku"]', - ], - ]; - - /** - * Locator value for link in sku column - * - * @var string - */ - protected $editLink = 'td.col-sku'; -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/ProductPagination.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/ProductPagination.php deleted file mode 100644 index 2a66a9e0a59b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/ProductPagination.php +++ /dev/null @@ -1,38 +0,0 @@ -_rootElement->find($this->nextPageSelector); - if ($nextPageItem->isVisible()) { - return $nextPageItem; - } else { - return null; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/View.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/View.php deleted file mode 100644 index 40c47a14997c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Category/View.php +++ /dev/null @@ -1,98 +0,0 @@ -_rootElement->find($this->description)->getText(); - } - - /** - * Get Category Content. - * - * @return string - */ - public function getContent() - { - $categoryContent = $this->_rootElement->find($this->content); - return $categoryContent->isVisible() ? $categoryContent->getText() : ''; - } - - /** - * Get products from Recently Viewed block. - * - * @return array - */ - public function getProductsFromRecentlyViewedBlock() - { - $products = []; - $this->waitForElementVisible($this->recentlyViewedProducts, Locator::SELECTOR_CSS); - $productNames = $this->_rootElement->getElements($this->recentlyViewedProducts, Locator::SELECTOR_CSS); - foreach ($productNames as $productName) { - $products[] = $productName->getText(); - } - return $products; - } - - /** - * Get products from Catalog New Products List block. - * - * @return array - */ - public function getProductsFromCatalogNewProductsListBlock() - { - $products = []; - $this->waitForElementVisible($this->newProducts, Locator::SELECTOR_CSS); - $productNames = $this->_rootElement->getElements($this->newProducts, Locator::SELECTOR_CSS); - foreach ($productNames as $productName) { - $products[] = $productName->getText(); - } - return $products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Links/CompareLink.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Links/CompareLink.php deleted file mode 100644 index 4076f166f0f82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Links/CompareLink.php +++ /dev/null @@ -1,52 +0,0 @@ -waitForElementVisible($this->qtyCompareProducts); - $compareProductLink = $this->_rootElement->find($this->qtyCompareProducts); - preg_match_all('/^\d+/', $compareProductLink->getText(), $matches); - return $matches[0][0]; - } - - /** - * Wait for compare products link to appear - * - * @return void - */ - public function waitForCompareProductsLinks() - { - $this->waitForElementVisible($this->linkCompareProducts); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Additional.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Additional.php deleted file mode 100644 index d2237493f0d60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Additional.php +++ /dev/null @@ -1,113 +0,0 @@ -_rootElement->getElements($this->attributeSelector, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $data[$element->getText()] = $this->_rootElement->find( - $this->attributeSelector . $this->attributeValueSelector, - Locator::SELECTOR_XPATH - ); - } - - return $data; - } - - /** - * Check if attribute value contains tag. - * - * @param CatalogProductAttribute $attribute - * @return bool - */ - public function hasHtmlTagInAttributeValue(CatalogProductAttribute $attribute) - { - $data = $attribute->getData(); - $defaultValue = preg_grep('/^default_value/', array_keys($data)); - $selector = $this->resolveHtmlStructure($data[array_shift($defaultValue)]); - $element = $this->getProductAttributes()[$attribute->getFrontendLabel()]; - - return $this->checkHtmlTagStructure($element, $selector)->isVisible(); - } - - /** - * Find ... tag structure in element. - * - * @param SimpleElement $element - * @param string $selector - * @return SimpleElement - */ - protected function checkHtmlTagStructure(SimpleElement $element, $selector) - { - return $element->find($selector); - } - - /** - * Get list of available attributes. - * - * @return array - */ - public function getAttributeLabels() - { - return array_keys($this->getProductAttributes()); - } - - /** - * Resolve html structure from given string, which contains html tags. - * - * @param string $stringWithHtml - * @return array - */ - protected function resolveHtmlStructure($stringWithHtml) - { - $selector = ''; - $dom = new \DOMDocument(); - $dom->loadHTML($stringWithHtml); - $xmlStructure = $xmlStructure = $dom->saveXML(); - $parser = xml_parser_create(); - xml_parse_into_struct($parser, $xmlStructure, $htmlData); - $htmlData = array_slice($htmlData, 2, -2); //Remove and tags - $middleElement = ceil(count($htmlData) / 2); - for ($index = 0; $index < $middleElement; $index++) { - $selector .= $htmlData[$index]['tag'] . " "; - } - - return trim($selector); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/ListCompare.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/ListCompare.php deleted file mode 100644 index 0a19fb73c3101..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/ListCompare.php +++ /dev/null @@ -1,268 +0,0 @@ -getCompareProductInfo($index); - if ($attributeKey == 'price') { - $price = $infoBlock->find($this->priceSelector, Locator::SELECTOR_XPATH)->getText(); - preg_match_all('`([a-z]+).*?([\d\.]+)`i', $price, $prices); - if (!empty($prices[0])) { - $resultPrice = []; - foreach ($prices[1] as $key => $value) { - $resultPrice['price_' . lcfirst($value)] = $prices[2][$key]; - } - return $resultPrice; - } - return trim($price, $currency); - } else { - return $infoBlock->find($this->nameSelector, Locator::SELECTOR_XPATH)->getText(); - } - } - - /** - * Get item compare product info. - * - * @param int $index - * @return SimpleElement - */ - protected function getCompareProductInfo($index) - { - return $this->_rootElement->find(sprintf($this->productInfo, $index), Locator::SELECTOR_XPATH); - } - - /** - * Get list of comparable product attributes. - * - * @return array - */ - public function getComparableAttributes() - { - $rootElement = $this->_rootElement; - $element = $this->nameSelector; - $this->_rootElement->waitUntil( - function () use ($rootElement, $element) { - return $rootElement->find($element, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - - $data = []; - $attributes = $this->_rootElement->getElements($this->attribute); - foreach ($attributes as $attribute) { - $data[] = $attribute->getText(); - } - return $data; - } - - /** - * Get item compare product attribute. - * - * @param string $key - * @return SimpleElement - */ - public function getCompareProductAttribute($key) - { - $rootElement = $this->_rootElement; - $element = $this->nameSelector; - $this->_rootElement->waitUntil( - function () use ($rootElement, $element) { - return $rootElement->find($element, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - return $this->_rootElement->find(sprintf($this->productAttribute, $key), Locator::SELECTOR_XPATH); - } - - /** - * Get item attribute. - * - * @param int $indexProduct - * @param string $attributeKey - * @return string - */ - public function getProductAttribute($indexProduct, $attributeKey) - { - return trim( - $this->getCompareProductAttribute($attributeKey) - ->find(sprintf($this->attributeSelector, $indexProduct), Locator::SELECTOR_XPATH)->getText() - ); - } - - /** - * Remove product from compare product list. - * - * @param int $index [optional] - * @return void - */ - public function removeProduct($index = 1) - { - $this->_rootElement->find(sprintf($this->removeButton, $index), Locator::SELECTOR_XPATH)->click(); - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - } - - /** - * Remove all products from compare product list. - * - * @return void - */ - public function removeAllProducts() - { - $this->waitForElementVisible(sprintf($this->removeButton, 1), Locator::SELECTOR_XPATH); - /** @var \Magento\Backend\Test\Block\Messages $messageBlock */ - $messageBlock = $this->blockFactory->create( - \Magento\Backend\Test\Block\Messages::class, - ['element' => $this->browser->find($this->messageBlock)] - ); - - while ($this->isProductVisible()) { - $this->removeProduct(); - $messageBlock->waitSuccessMessage(); - } - } - - /** - * Visible product in compare product list. - * - * @param int $index [optional] - * @return bool - */ - public function isProductVisible($index = 1) - { - return $this->_rootElement->find(sprintf($this->removeButton, $index), Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Verify product is visible in compare product block. - * - * @param string $productName - * @return bool - */ - public function isProductVisibleInCompareBlock($productName = '') - { - $nameSelector = $this->nameSelector . sprintf($this->productName, $productName); - return $this->_rootElement->find($nameSelector, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Get empty message on compare product block. - * - * @return string - */ - public function getEmptyMessage() - { - $rootElement = $this->_rootElement; - $selector = $this->isEmpty; - $this->_rootElement->waitUntil( - function () use ($rootElement, $selector) { - return $rootElement->find($selector)->isVisible() ? true : null; - } - ); - $isEmpty = $this->_rootElement->find($this->isEmpty); - return $isEmpty->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/Sidebar.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/Sidebar.php deleted file mode 100644 index ded979ca00d8b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Compare/Sidebar.php +++ /dev/null @@ -1,97 +0,0 @@ -_rootElement; - $selector = $this->productName; - $this->_rootElement->waitUntil( - function () use ($rootElement, $selector) { - return $rootElement->find($selector)->isVisible() ? true : null; - } - ); - $elements = $this->_rootElement->getElements($this->productName); - foreach ($elements as $element) { - $result[] = $element->getText(); - } - return $result; - } catch (\Exception $e) { - $isEmpty = $this->_rootElement->find($this->isEmpty); - if ($isEmpty->isVisible()) { - return $isEmpty->getText(); - } else { - throw $e; - } - } - } - - /** - * Click "Clear All" on "My Account" page. - * - * @return void - */ - public function clickClearAll() - { - $rootElement = $this->_rootElement; - $selector = $this->clearAll; - $this->_rootElement->waitUntil( - function () use ($rootElement, $selector) { - return $rootElement->find($selector)->isVisible() ? true : null; - } - ); - $this->_rootElement->find($this->clearAll)->click(); - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts.php deleted file mode 100644 index 96c333aebf0b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts.php +++ /dev/null @@ -1,90 +0,0 @@ -button'; - - /** - * Associated products grid locator - * - * @var string - */ - protected $productSearchGrid = "./ancestor::body//div[div[contains(@data-role,'add-product-dialog')]]"; - - /** - * Associated products list block - * - * @var string - */ - protected $associatedProductsBlock = '[data-role=grouped-product-grid]'; - - /** - * Get search grid - * - * @return AssociatedProducts\Search\Grid - */ - protected function getSearchGridBlock() - { - return Factory::getBlockFactory()->getMagentoCatalogProductGroupedAssociatedProductsSearchGrid( - $this->_rootElement->find($this->productSearchGrid, Locator::SELECTOR_XPATH) - ); - } - - /** - * Get associated products list block - * - * @param SimpleElement $context - * @return \Magento\Catalog\Test\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts - */ - protected function getListAssociatedProductsBlock(SimpleElement $context = null) - { - $element = $context ?: $this->_rootElement; - - return Factory::getBlockFactory()->getMagentoCatalogProductGroupedAssociatedProductsListAssociatedProducts( - $element->find($this->associatedProductsBlock) - ); - } - - /** - * Fill data to fields on tab - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - if (isset($fields['grouped_products'])) { - foreach ($fields['grouped_products']['value'] as $groupedProduct) { - $element->find($this->addNewOption)->click(); - $searchBlock = $this->getSearchGridBlock(); - $searchBlock->searchAndSelect($groupedProduct['search_data']); - $searchBlock->addProducts(); - $this->getListAssociatedProductsBlock()->fillProductOptions($groupedProduct['data']); - } - } - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php deleted file mode 100644 index a0284b26069d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement; - return Factory::getBlockFactory() - ->getMagentoCatalogProductGroupedAssociatedProductsListAssociatedProductsProduct( - $element->find( - sprintf("//tr[td/input[@data-role='id' and @value='%s']]", $productId), - Locator::SELECTOR_XPATH - ) - ); - } - - /** - * Filling options products - * - * @param array $data - * @param SimpleElement $element - */ - public function fillProductOptions(array $data, SimpleElement $element = null) - { - $productBlock = $this->getProductBlock($data['product_id']['value'], $element); - $productBlock->fillQty($data['selection_qty']['value']); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php deleted file mode 100644 index 59981f3c554e4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php +++ /dev/null @@ -1,34 +0,0 @@ - "[data-column=qty] input", - ]; - - /** - * Fill product options - * - * @param string $qtyValue - */ - public function fillQty($qtyValue) - { - $this->_rootElement->find($this->mapping['selection_qty'])->setValue($qtyValue); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/Search/Grid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/Search/Grid.php deleted file mode 100644 index 9f415532255ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Grouped/AssociatedProducts/Search/Grid.php +++ /dev/null @@ -1,53 +0,0 @@ - [ - 'selector' => '#grouped_grid_popup_filter_name', - ], - 'sku' => [ - 'selector' => '#grouped_grid_popup_filter_sku', - ], - ]; - - /** - * Press 'Add Selected Products' button. - * - * @return void - */ - public function addProducts() - { - $this->_rootElement->find($this->addProducts)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ListProduct.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ListProduct.php deleted file mode 100644 index 903c5b7eb3db8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ListProduct.php +++ /dev/null @@ -1,97 +0,0 @@ -productItem, $product->getName()); - - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get product names list. - * - * @return array - */ - public function getProductNames() - { - $itemLinks = $this->_rootElement->getElements($this->productItemLink); - $productNames = []; - - foreach ($itemLinks as $itemLink) { - $productNames[] = trim($itemLink->getText()); - } - - return $productNames; - } - - /** - * Get products count on page - * - * @return int - */ - public function getProductsCount() - { - return count($this->_rootElement->getElements($this->productItemLink)); - } - - /** - * Get all terms used in sort. - * - * @return array - */ - public function getSortByValues() - { - $values = explode("\n", $this->_rootElement->find($this->sorter)->getText()); - $result = []; - foreach ($values as $value) { - $result[] = trim($value); - } - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Price.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Price.php deleted file mode 100644 index 7bd58a4c4b503..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/Price.php +++ /dev/null @@ -1,204 +0,0 @@ - [ - 'selector' => '.price-final_price .price', - ], - 'actual_price' => [ - 'selector' => '.actual-price .price', - ], - 'special_price' => [ - 'selector' => '.special-price .price', - ], - 'old_price' => [ - 'selector' => '.old-price .price-wrapper ', - ], - 'price_from' => [ - 'selector' => '.price-from .price', - ], - 'price_to' => [ - 'selector' => '.price-to .price', - ], - 'price_excluding_tax' => [ - 'selector' => '.price-excluding-tax .price', - ], - 'price_including_tax' => [ - 'selector' => '.price-including-tax .price', - ], - 'old_price_from' => [ - 'selector' => '.price-from .old-price .price-wrapper', - ], - 'old_price_to' => [ - 'selector' => '.price-to .old-price .price-wrapper', - ], - ]; - - /** - * This method returns the price represented by the block. - * - * @param string $currency - * @return string|null - */ - public function getPrice($currency = '$') - { - return $this->getTypePrice('regular_price', $currency); - } - - /** - * Get actual Price value on frontend. - * - * @param string $currency - * - * @return string|null - */ - public function getActualPrice($currency = '$') - { - return $this->getTypePrice('actual_price', $currency); - } - - /** - * This method returns the special price represented by the block. - * - * @param string $currency - * @return string|null - */ - public function getSpecialPrice($currency = '$') - { - return $this->getTypePrice('special_price', $currency); - } - - /** - * This method returns the old price represented by the block. - * - * @param string $currency - * @return string|null - */ - public function getOldPrice($currency = '$') - { - return $this->getTypePrice('old_price', $currency); - } - - /** - * Get price from. - * - * @param string $currency - * @return string|null - */ - public function getPriceFrom($currency = '$') - { - return $this->getTypePrice('price_from', $currency); - } - - /** - * Get price to. - * - * @param string $currency - * @return string|null - */ - public function getPriceTo($currency = '$') - { - return $this->getTypePrice('price_to', $currency); - } - - /** - * Get currency symbol from price block on the product page. - * - * @return string - */ - public function getCurrencySymbol() - { - $price = $this->getPrice(''); - preg_match('`(.*?)\d`', $price, $matches); - return $matches[1]; - } - - /** - * Get price excluding tax. - * - * @param string $currency - * @return string|null - */ - public function getPriceExcludingTax($currency = '$') - { - return $this->getTypePrice('price_excluding_tax', $currency); - } - - /** - * Get price including tax. - * - * @param string $currency - * @return string|null - */ - public function getPriceIncludingTax($currency = '$') - { - return $this->getTypePrice('price_including_tax', $currency); - } - - /** - * Get min old price. - * - * @param string $currency - * @return string|null - */ - public function getOldPriceFrom($currency = '$') - { - return $this->getTypePrice('old_price_from', $currency); - } - - /** - * Get max old price. - * - * @param string $currency - * @return string|null - */ - public function getOldPriceTo($currency = '$') - { - return $this->getTypePrice('old_price_to', $currency); - } - - /** - * This method returns if the regular price is visible. - * - * @return bool - */ - public function isRegularPriceVisible() - { - return $this->getTypePriceElement('regular_price')->isVisible(); - } - - /** - * This method returns if the special price is visible. - * - * @return bool - */ - public function isSpecialPriceVisible() - { - return $this->getTypePriceElement('special_price')->isVisible(); - } - - /** - * This method returns if the old price is visible. - * - * @return bool - */ - public function isOldPriceVisible() - { - return $this->getTypePriceElement('old_price')->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/BottomToolbar.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/BottomToolbar.php deleted file mode 100644 index 05b9573e2c1ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/BottomToolbar.php +++ /dev/null @@ -1,98 +0,0 @@ -.page'; - - /** - * Selector option element - * - * @var string - */ - private $optionSelector = './/option'; - - /** - * Go to the next page - * - * @return bool - */ - public function nextPage() - { - $nextPageItem = $this->_rootElement->find($this->nextPageSelector); - if ($nextPageItem->isVisible()) { - $nextPageItem->click(); - return true; - } - return false; - } - - /** - * Go to the first page - * - * @return bool - */ - public function firstPage() - { - $firstPageItem = $this->_rootElement->find($this->firstPageSelector); - if ($firstPageItem->isVisible()) { - $firstPageItem->click(); - return true; - } - return false; - } - - /** - * Set value for limiter element by index - * - * @param int $index - * @return $this - */ - public function setLimiterValueByIndex($index) - { - $options = $this->_rootElement->getElements($this->optionSelector, Locator::SELECTOR_XPATH); - if (isset($options[$index])) { - $options[$index]->click(); - } - return $this; - } - - /** - * Get value for limiter element by index - * - * @param int $index - * @return int|null - */ - public function getLimitedValueByIndex($index) - { - $options = $this->_rootElement->getElements($this->optionSelector, Locator::SELECTOR_XPATH); - if (isset($options[$index])) { - return $options[$index]->getValue(); - } - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Crosssell.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Crosssell.php deleted file mode 100644 index fd6da541fb21f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Crosssell.php +++ /dev/null @@ -1,15 +0,0 @@ -_rootElement->isVisible(); - } - - /** - * Open product view page by link. - * - * @return void - */ - public function open() - { - $this->_rootElement->find($this->link, Locator::SELECTOR_CSS)->click(); - } - - /** - * Return product name. - * - * @return string - */ - public function getProductName() - { - return trim($this->_rootElement->find($this->link)->getText()); - } - - /** - * Checking that "Add to Card" button is visible. - * - * @return bool - */ - public function isVisibleAddToCardButton() - { - $this->_rootElement->hover(); - return $this->_rootElement->find($this->addToCard, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Click by "Add to Cart" button. - * - * @return void - */ - public function clickAddToCart() - { - $this->_rootElement->hover(); - $this->_rootElement->find($this->addToCard, Locator::SELECTOR_CSS)->click(); - } - - /** - * Return price block. - * - * @return Price - */ - public function getPriceBlock() - { - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\Price::class, - ['element' => $this->_rootElement->find($this->priceBox)] - ); - } - - /** - * Get base image source link. - * - * @return string - */ - public function getBaseImageSource() - { - $baseImage = $this->_rootElement->find($this->baseImage); - return $baseImage->isVisible() ? $baseImage->getAttribute('src') : ''; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/PromotedSection.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/PromotedSection.php deleted file mode 100644 index f342a37c82c8a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/PromotedSection.php +++ /dev/null @@ -1,81 +0,0 @@ -_rootElement->isVisible(); - } - - /** - * Return product item block. - * - * @param FixtureInterface $product - * @return ProductItem - */ - public function getProductItem(FixtureInterface $product) - { - $locator = sprintf($this->productItemByName, $product->getName()); - - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Return list of products. - * - * @return ProductItem[] - */ - public function getProducts() - { - if (!$this->_rootElement->isVisible($this->productItem)) { - return []; - } - - $elements = $this->_rootElement->getElements($this->productItem, Locator::SELECTOR_CSS); - $result = []; - - foreach ($elements as $element) { - $result[] = $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $element] - ); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related.php deleted file mode 100644 index 9f0c56298d4ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related.php +++ /dev/null @@ -1,57 +0,0 @@ -productItemByName, $product->getName()); - - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\ProductList\Related\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Return list of products. - * - * @return RelatedProductItem[] - */ - public function getProducts() - { - if (!$this->_rootElement->isVisible($this->productItem)) { - return []; - } - - $elements = $this->_rootElement->getElements($this->productItem, Locator::SELECTOR_CSS); - $result = []; - - foreach ($elements as $element) { - $result[] = $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\ProductList\Related\ProductItem::class, - ['element' => $element] - ); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related/ProductItem.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related/ProductItem.php deleted file mode 100644 index c0542f0810e80..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Related/ProductItem.php +++ /dev/null @@ -1,42 +0,0 @@ -_rootElement->find($this->triggerChoose)->isVisible(); - } - - /** - * Choose the related products. - * - * @return void - */ - public function select() - { - $this->_rootElement->find($this->triggerChoose, Locator::SELECTOR_CSS, 'checkbox')->setValue('Yes'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/TopToolbar.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/TopToolbar.php deleted file mode 100644 index 48769126d88ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/TopToolbar.php +++ /dev/null @@ -1,73 +0,0 @@ -_rootElement->find($this->sorter)->getElements('option[selected]')[0]->getText(); - preg_match('/\w+\s?\w+/', $selectedOption, $matches); - return $matches[0]; - } - - /** - * Get all available method of sorting product. - * - * @return array - */ - public function getSortType() - { - $content = $this->_rootElement->find($this->sorter)->getText(); - return array_values(array_filter(array_map('trim', explode("\n", $content)))); - } - - /** - * Apply sorting to the product list. - * - * @param array $sortBy - * @return void - */ - public function applySorting(array $sortBy) - { - if (!empty($sortBy['field'])) { - $this->_rootElement->find($this->sorter, Locator::SELECTOR_CSS, 'select')->setValue($sortBy['field']); - } - - if (!empty($sortBy['direction'])) { - $switcher = $this->_rootElement->find($this->direction); - if ($switcher->getAttribute('data-value') == $sortBy['direction']) { - $switcher->click(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Upsell.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Upsell.php deleted file mode 100644 index b6c663d73019c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/ProductList/Upsell.php +++ /dev/null @@ -1,15 +0,0 @@ -_rootElement->find($this->thresholdMessage)->isVisible(); - } - - /** - * Gets threshold message. - * - * @return string - */ - public function getThresholdMessage() - { - return $this->_rootElement->find($this->thresholdMessage)->getText(); - } - - /** - * Get block price. - * - * @param FixtureInterface|null $product - * - * @return Price - */ - public function getPriceBlock(FixtureInterface $product = null) - { - $typeId = ''; - - if ($product) { - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - } - - if ($this->hasRender($typeId)) { - return $this->callRender($typeId, 'getPriceBlock'); - } - - return $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\Price::class, - ['element' => $this->_rootElement->find($this->priceBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Add product to shopping cart. - * - * @param FixtureInterface $product - * @return void - */ - public function addToCart(FixtureInterface $product) - { - $this->configure($product); - $this->clickAddToCart(); - $this->getMiniCartBlock()->waitLoader(); - } - - /** - * Configure Product. - * - * @param FixtureInterface $product - * @return void - */ - public function configure(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $checkoutData = $product->getCheckoutData(); - - $this->getMiniCartBlock()->waitInit(); - $this->fillOptions($product); - if (isset($checkoutData['qty'])) { - $this->setQty($checkoutData['qty']); - } - } - - /** - * Get MiniCart block. - * - * @return Sidebar - */ - private function getMiniCartBlock() - { - if ($this->miniCartBlock === null) { - $this->miniCartBlock = $this->blockFactory->create( - Sidebar::class, - ['element' => $this->browser->find($this->miniCartBlockSelector)] - ); - } - - return $this->miniCartBlock; - } - - /** - * Click link. - * - * @return void - */ - public function clickAddToCart() - { - $this->_rootElement->find($this->addToCart, Locator::SELECTOR_CSS)->click(); - } - - /** - * Set quantity and click add to cart. - * - * @param int $qty - * @return void - */ - public function setQtyAndClickAddToCart($qty) - { - $this->_rootElement->find($this->qty, Locator::SELECTOR_CSS)->setValue($qty); - $this->clickAddToCart(); - } - - /** - * Set quantity. - * - * @param int $qty - * @return void - */ - public function setQty($qty) - { - $this->_rootElement->find($this->qty)->setValue($qty); - $this->_rootElement->find($this->addToCartForm)->click(); - } - - /** - * Find Add To Cart button. - * - * @return bool - */ - public function isVisibleAddToCart() - { - return $this->_rootElement->find($this->addToCart, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Press 'Check out with PayPal' button. - * - * @return void - */ - public function paypalCheckout() - { - $this->_rootElement->find($this->paypalCheckout, Locator::SELECTOR_CSS)->click(); - $this->waitForElementNotVisible($this->paypalCheckout); - } - - /** - * Press 'Check out with PayPal' button. - * - * @return void - */ - public function inContextPaypalCheckout() - { - $this->_rootElement->find($this->inContextPaypalCheckout, Locator::SELECTOR_CSS)->click(); - $this->waitForElementNotVisible($this->inContextPaypalCheckout); - } - - /** - * Get product name displayed on page. - * - * @return string - */ - public function getProductName() - { - return $this->_rootElement->find($this->productName, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get product sku displayed on page. - * - * @return string - */ - public function getProductSku() - { - return $this->_rootElement->find($this->productSku, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Return product short description on page. - * - * @return string|null - */ - public function getProductShortDescription() - { - if ($this->_rootElement->find($this->productShortDescription, Locator::SELECTOR_CSS)->isVisible()) { - return $this->_rootElement->find($this->productShortDescription, Locator::SELECTOR_CSS)->getText(); - } - return null; - } - - /** - * Return product description on page. - * - * @return string|null - */ - public function getProductDescription() - { - if ($this->_rootElement->find($this->productDescription, Locator::SELECTOR_CSS)->isVisible()) { - return $this->_rootElement->find($this->productDescription, Locator::SELECTOR_CSS)->getText(); - } - return null; - } - - /** - * Return product options. - * - * @param FixtureInterface $product - * @return array - */ - public function getOptions(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - - return $this->hasRender($typeId) ? $this->callRender( - $typeId, - 'getOptions', - ['product' => $product] - ) : $this->getCustomOptionsBlock()->getOptions($product); - } - - /** - * This method return array tier prices. - * - * @param int $lineNumber [optional] - * @return array - */ - public function getTierPrices($lineNumber = 1) - { - return $this->_rootElement->find( - str_replace('%line-number%', $lineNumber, $this->tierPricesSelector), - Locator::SELECTOR_XPATH - )->getText(); - } - - /** - * Click "ADD TO CART" button. - * - * @return void - */ - public function clickAddToCartButton() - { - $this->_rootElement->find($this->addToCart, Locator::SELECTOR_CSS)->click(); - } - - /** - * Check 'Add to card' button visible. - * - * @return bool - */ - public function isVisibleAddToCardButton() - { - return $this->_rootElement->find($this->addToCart, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Get text of Stock Availability control. - * - * @return string - */ - public function stockAvailability() - { - return strtolower($this->_rootElement->find($this->stockAvailability)->getText()); - } - - /** - * Click "Add to Compare" button. - * - * @return void - */ - public function clickAddToCompare() - { - /** @var \Magento\Backend\Test\Block\Messages $messageBlock */ - $messageBlock = $this->blockFactory->create( - \Magento\Backend\Test\Block\Messages::class, - ['element' => $this->browser->find($this->messageBlock)] - ); - $this->_rootElement->find($this->clickAddToCompare, Locator::SELECTOR_CSS)->click(); - $messageBlock->waitSuccessMessage(); - } - - /** - * Add product to Wishlist. - * - * @param FixtureInterface $product - * @return void - */ - public function addToWishlist(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $checkoutData = $product->getCheckoutData(); - $this->fillOptions($product); - if (isset($checkoutData['qty'])) { - $this->setQty($checkoutData['qty']); - } - $this->clickAddToWishlist(); - } - - /** - * Click "Add to Wish List". - * - * @return void - */ - public function clickAddToWishlist() - { - $this->_rootElement->find($this->addToWishlist)->click(); - } - - /** - * Select tab on the product page. - * - * @param string $name - * @return void - */ - public function selectTab($name) - { - $this->_rootElement->find(sprintf($this->tabSelector, $name), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Wait loading block. - * - * @return void - */ - public function waitLoader() - { - try { - $this->waitForElementNotVisible($this->ajaxLoading); - } catch (\Exception $e) { - } - } - - /** - * Check if media gallery is visible for the product. - * - * @return bool - */ - public function isGalleryVisible() - { - $this->waitForElementNotVisible($this->galleryLoader); - $this->waitForElementVisible($this->mediaGallery); - - return true; - } - - /** - * Check is full image into gallery is visible for the product. - * - * @return bool - */ - public function isFullImageVisible() - { - $this->waitForElementNotVisible($this->galleryLoader); - return $this->browser->find($this->fullImage)->isVisible(); - } - - /** - * Get full image source from media gallery into product - * - * @return string - */ - public function getFullImageSource() - { - return $this->browser->find($this->fullImage)->getAttribute('src'); - } - - /** - * Check is base image into gallery is visible for the product. - * - * @return bool - */ - public function isBaseImageVisible() - { - return $this->_rootElement->find($this->baseImage)->isVisible(); - } - - /** - * Get full image source from media gallery into product - * - * @return string - */ - public function getBaseImageSource() - { - return $this->_rootElement->find($this->baseImage)->getAttribute('src'); - } - - /** - * Click link. - * - * @return void - */ - public function clickBaseImage() - { - $this->_rootElement->find($this->baseImage, Locator::SELECTOR_CSS)->click(); - $this->waitForElementVisible($this->fullImage); - } - - /** - * Click link. - * - * @return void - */ - public function closeFullImage() - { - $this->_rootElement->waitUntil( - function () { - $this->browser->find($this->fullImage)->hover(); - - if ($this->browser->find($this->fullImageClose)->isVisible()) { - $this->browser->find($this->fullImageClose)->click(); - - return true; - } - - return null; - } - ); - } - - /** - * Check is video is visible on product page - * - * @return bool - */ - public function isVideoVisible() - { - return $this->_rootElement->find($this->videoContainer)->isVisible(); - } - - /** - * Check definite video data is presented on product page - * - * @param string $videoData - * @return bool - */ - public function checkVideoDataPresence($videoData) - { - $dataVideoSelector = $this->productVideo . '[data-code="' . $videoData. '"]'; - return $this->_rootElement->find($dataVideoSelector)->isPresent(); - } - - /** - * Resolve qty field error message. - * - * @return string - */ - public function getQtyErrorMessage() - { - $this->waitForElementVisible($this->qtyErrorMessage); - - return $this->_rootElement->find($this->qtyErrorMessage)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.php deleted file mode 100644 index 4e8e0f97d70d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.php +++ /dev/null @@ -1,548 +0,0 @@ - * > .field'; - - /** - * Selector for title of option - * - * @var string - */ - protected $title = 'label > span:nth-child(1), legend > span:nth-child(1)'; - - /** - * Selector for required option - * - * @var string - */ - protected $required = './self::*[contains(@class,"required")]'; - - /** - * Selector for price notice of option - * - * @var string - */ - protected $priceNotice = './/*[@class="price-notice"]'; - - /** - * Selector for max characters of option - * - * @var string - */ - protected $maxCharacters = './/div[@class="control"]/p[contains(@class, "note")]'; - - /** - * Selector for label of option value element - * - * @var string - */ - protected $optionLabel = './/div[@class="control"]//label[contains(@for, "options_")][%d]'; - - /** - * Select note of option by number - * - * @var string - */ - protected $noteByNumber = './/*[contains(@class, "note")][%d]/strong'; - - /** - * Selector for select element of option - * - * @var string - */ - protected $selectOption = './/div[@class="control"]/select'; - - /** - * Selector for option of select element - * - * @var string - */ - protected $option = './/option[%d]'; - - /** - * Option XPath locator by value - * - * @var string - */ - protected $optionByValueLocator = '//*[@class="product-options-wrapper"]//option[text()="%s"]/..'; - - /** - * Select XPath locator by title - * - * @var string - */ - protected $selectByTitleLocator = '//*[*[@class="product-options-wrapper"]//span[text()="%s"]]//select'; - - /** - * Select XPath locator by option name - * - * @var string - */ - protected $optionByName = '//*[label[contains(.,"%s")] or legend[contains(.,"%s")]]'; - - /** - * Locator for custom option field. - * - * @var string - */ - private $customOptionField = './/div[contains(@class, "field")'; - - /** - * Locator for required custom option title. - * - * @var string - */ - private $requiredOption = 'and contains(@class, "required") and contains(.//span, "%s")]'; - - /** - * Locator for validation error message after option. - * - * @var string - */ - private $validationErrorMessage = '//div[@class="mage-error"][contains(text(), "required field")' . - 'and not(contains(@style,\'display\'))]'; - - /** - * Get product options - * - * @param FixtureInterface $product - * @return array - * @throws \Exception - */ - public function getOptions(FixtureInterface $product) - { - $dataOptions = $product->hasData('custom_options') - ? $product->getDataFieldConfig('custom_options')['source']->getCustomOptions() - : []; - $listCustomOptions = $this->getListOptions(); - $result = []; - - foreach ($dataOptions as $option) { - $title = $option['title']; - if (!isset($listCustomOptions[$title])) { - // phpcs:ignore Magento2.Exceptions.DirectThrow - throw new \Exception("Can't find option: \"{$title}\""); - } - - /** @var SimpleElement $optionElement */ - $optionElement = $listCustomOptions[$title]; - $typeMethod = preg_replace('/[^a-zA-Z]/i', '', $this->getOptionType($option['type'])); - $getTypeData = 'get' . ucfirst(strtolower($typeMethod)) . 'Data'; - - $optionData = $this->$getTypeData($optionElement); - $optionData['title'] = $title; - $optionData['type'] = $option['type']; - $optionData['is_require'] = $optionElement->find($this->required, Locator::SELECTOR_XPATH)->isVisible() - ? 'Yes' - : 'No'; - - $result[$title] = $optionData; - } - - return ['custom_options' => $result]; - } - - /** - * Wait for error message. - * - * @return bool - */ - public function waitValidationErrorMessage() - { - return $this->waitForElementVisible($this->validationErrorMessage, Locator::SELECTOR_XPATH); - } - - /** - * Get list custom options - * - * @return array - */ - protected function getListOptions() - { - $customOptions = []; - - $optionElements = $this->_rootElement->getElements($this->optionElement); - foreach ($optionElements as $optionElement) { - $title = $optionElement->find($this->title)->getText(); - $customOptions[$title] = $optionElement; - } - - return $customOptions; - } - - /** - * Check option's validation message is visible or not. - * - * @param string $customOptionTitle - * @return bool - */ - public function isJsMessageVisible($customOptionTitle) - { - $optionSelector = $this->customOptionField . $this->requiredOption . $this->validationErrorMessage; - $title = sprintf($optionSelector, $customOptionTitle); - - return $this->_rootElement->find($title, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Get data of "Field" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getFieldData(SimpleElement $option) - { - $price = $this->getOptionPriceNotice($option); - $maxCharactersElement = $option->find($this->maxCharacters, Locator::SELECTOR_XPATH); - - $maxCharacters = null; - if ($maxCharactersElement->isVisible()) { - preg_match('/\s([0-9]+)\s/', $maxCharactersElement->getText(), $match); - $maxCharacters = isset($match[1]) ? $match[1] : $maxCharactersElement->getText(); - } - - return [ - 'options' => [ - [ - 'price' => (float)$price, - 'max_characters' => $maxCharacters, - ], - ] - ]; - } - - /** - * Get data of "Area" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getAreaData(SimpleElement $option) - { - return $this->getFieldData($option); - } - - /** - * Get data of "File" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getFileData(SimpleElement $option) - { - $price = $this->getOptionPriceNotice($option); - - return [ - 'options' => [ - [ - 'price' => (float)$price, - 'file_extension' => $this->getOptionNotice($option, 1), - 'image_size_x' => preg_replace('/[^0-9]/', '', $this->getOptionNotice($option, 2)), - 'image_size_y' => preg_replace('/[^0-9]/', '', $this->getOptionNotice($option, 3)), - ], - ] - ]; - } - - /** - * Get data of "Drop-down" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getDropdownData(SimpleElement $option) - { - $select = $option->find($this->selectOption, Locator::SELECTOR_XPATH, 'select'); - // Skip "Choose option ..."(option #1) - return $this->getSelectOptionsData($select, 2); - } - - /** - * Get data of "Multiple Select" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getMultipleSelectData(SimpleElement $option) - { - $multiselect = $option->find($this->selectOption, Locator::SELECTOR_XPATH, 'multiselect'); - return $this->getSelectOptionsData($multiselect, 1); - } - - /** - * Get data of "Radio Buttons" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getRadioButtonsData(SimpleElement $option) - { - $listOptions = []; - - $count = 1; - /** @var SimpleElement $option */ - $option = $option->find(sprintf($this->optionLabel, $count), Locator::SELECTOR_XPATH); - while ($option->isVisible()) { - $listOptions[] = $this->parseOptionText($option->getText()); - ++$count; - $option = $option->find(sprintf($this->optionLabel, $count), Locator::SELECTOR_XPATH); - } - - return [ - 'options' => $listOptions - ]; - } - - /** - * Get data of "Checkbox" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getCheckboxData(SimpleElement $option) - { - return $this->getRadioButtonsData($option); - } - - /** - * Get data of "Date" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getDateData(SimpleElement $option) - { - $price = $this->getOptionPriceNotice($option); - - return [ - 'options' => [ - [ - 'price' => (float)$price, - ], - ] - ]; - } - - /** - * Get data of "Date & Time" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getDateTimeData(SimpleElement $option) - { - return $this->getDateData($option); - } - - /** - * Get data of "Time" custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getTimeData(SimpleElement $option) - { - return $this->getDateData($option); - } - - /** - * Get data from option of select and multiselect - * - * @param SimpleElement $element - * @param int $firstOption - * @return array - */ - public function getSelectOptionsData(SimpleElement $element, $firstOption = 1) - { - $listOptions = []; - - $count = $firstOption; - $selectOption = $element->find(sprintf($this->option, $count), Locator::SELECTOR_XPATH); - $index = 0; - while ($selectOption->isVisible()) { - $listOptions[$index] = $this->parseOptionText($selectOption->getText()); - $listOptions[$index]['sort_order'] = $index; - ++$count; - $selectOption = $element->find(sprintf($this->option, $count), Locator::SELECTOR_XPATH); - $index++; - } - - return [ - 'options' => $listOptions - ]; - } - - /** - * Get price from price-notice of custom option - * - * @param SimpleElement $option - * @return array - */ - protected function getOptionPriceNotice(SimpleElement $option) - { - $priceNotice = $option->find($this->priceNotice, Locator::SELECTOR_XPATH); - if (!$priceNotice->isVisible()) { - return null; - } - return preg_replace('/[^0-9\.]/', '', $priceNotice->getText()); - } - - /** - * Get notice of option by number - * - * @param SimpleElement $option - * @param int $number - * @return mixed - */ - protected function getOptionNotice(SimpleElement $option, $number) - { - $note = $option->find(sprintf($this->noteByNumber, $number), Locator::SELECTOR_XPATH); - return $note->isVisible() ? $note->getText() : null; - } - - /** - * Parse option text to title and price - * - * @param string $optionText - * @return array - */ - protected function parseOptionText($optionText) - { - preg_match('`^(.*?) \+ ?\$([\d\.,]*?)$`', $optionText, $match); - $optionPrice = isset($match[2]) ? str_replace(',', '', $match[2]) : 0; - $optionTitle = isset($match[1]) ? trim($match[1]) : $optionText; - - return [ - 'title' => $optionTitle, - 'price' => $optionPrice - ]; - } - - /** - * Fill custom options - * - * @param array $checkoutData - * @return void - */ - public function fillCustomOptions(array $checkoutData) - { - $checkoutOptions = $this->prepareOptions($checkoutData); - $this->fillOptions($checkoutOptions); - } - - /** - * Prepare composite fields in checkout options data - * - * @param array $options - * @return array - */ - protected function prepareOptions(array $options) - { - $result = []; - - foreach ($options as $key => $option) { - switch ($this->getOptionType($option['type'])) { - case 'datetime': - list($day, $month, $year, $hour, $minute, $dayPart) = explode('/', $option['value']); - $option['value'] = [ - 'day' => $day, - 'month' => $month, - 'year' => $year, - 'hour' => $hour, - 'minute' => $minute, - 'day_part' => $dayPart, - ]; - break; - case 'date': - list($day, $month, $year) = explode('/', $option['value']); - $option['value'] = [ - 'day' => $day, - 'month' => $month, - 'year' => $year, - ]; - break; - case 'time': - list($hour, $minute, $dayPart) = explode('/', $option['value']); - $option['value'] = [ - 'hour' => $hour, - 'minute' => $minute, - 'day_part' => $dayPart, - ]; - break; - } - - $result[$key] = $option; - } - - return $result; - } - - /** - * Fill product options - * - * @param array $options - * @return void - */ - protected function fillOptions(array $options) - { - foreach ($options as $option) { - $optionBlock = $this->_rootElement->find( - sprintf($this->optionByName, $option['title'], $option['title']), - Locator::SELECTOR_XPATH - ); - $type = $this->getOptionType($option['type']); - $mapping = $this->dataMapping([$type => $option['value']]); - - if ('radiobuttons' == $type || 'checkbox' == $type) { - $mapping[$type]['selector'] = str_replace( - '%option_name%', - $mapping[$type]['value'], - $mapping[$type]['selector'] - ); - $mapping[$type]['value'] = 'Yes'; - } - $this->_fill($mapping, $optionBlock); - } - } - - /** - * Get customer option type - * - * @param string $option - * @return string - */ - protected function getOptionType($option) - { - $option = strpos($option, "/") !== false ? substr($option, strpos($option, "/") + 1) : $option; - return strtolower(preg_replace('/[^a-z]/i', '', $option)); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.xml deleted file mode 100644 index 20807bf549a65..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Product/View/CustomOptions.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - .//select - select - xpath - - - .//select - multiselect - xpath - - - .//div[label[span[contains(text(), "%option_name%")]]]/input - checkbox - xpath - - - .//div[label[span[contains(text(), "%option_name%")]]]/input - checkbox - xpath - - - - [name$="[month]"] - select - - - [name$="[day]"] - select - - - [name$="[year]"] - select - - - - - [name$="[month]"] - select - - - [name$="[day]"] - select - - - [name$="[year]"] - select - - - [name$="[hour]"] - select - - - [name$="[minute]"] - select - - - [name$="[day_part]"] - select - - - - - .//textarea - xpath - - - .//input - xpath - - - .//input - xpath - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Search.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Search.php deleted file mode 100644 index a34b97b4ce228..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Search.php +++ /dev/null @@ -1,180 +0,0 @@ -fillSearch($keyword); - $this->waitForElementEnabled($this->searchButton); - $this->_rootElement->find($this->searchButton)->click(); - } - - /** - * Fill "Search" field with correspondent text. - * - * @param string $text - * @return void - */ - public function fillSearch($text) - { - $this->_rootElement->find($this->searchInput)->setValue($text); - $this->waitUntilSearchPrepared(); - } - - /** - * Wait until "Suggest Search" block will be prepared. - * - * @return bool - */ - public function waitUntilSearchPrepared() - { - $this->browser->waitUntil( - function () { - $count = count($this->_rootElement->getElements($this->searchListItems, Locator::SELECTOR_XPATH)); - usleep(200); - $newCount = count($this->_rootElement->getElements($this->searchListItems, Locator::SELECTOR_XPATH)); - return $this->browser->find($this->selectorAriaBusy, Locator::SELECTOR_XPATH)->isVisible() - && ($newCount == $count) - ? true - : null; - } - ); - } - - /** - * Check if placeholder contains correspondent text or not. - * - * @param string $placeholderText - * @return bool - */ - public function isPlaceholderContains($placeholderText) - { - $field = $this->_rootElement->find(sprintf($this->placeholder, $placeholderText), Locator::SELECTOR_XPATH); - return $field->isVisible(); - } - - /** - * Check if "Suggest Search" block visible or not. - * - * @param string $text - * @param int|null $amount - * @return bool - */ - public function isSuggestSearchVisible($text, $amount = null) - { - $searchAutocomplete = sprintf($this->searchAutocomplete, $text); - if ($amount !== null) { - $searchAutocomplete .= sprintf($this->searchItemAmount, $amount); - } - - $rootElement = $this->_rootElement; - return (bool)$this->_rootElement->waitUntil( - function () use ($rootElement, $searchAutocomplete) { - return $rootElement->find($searchAutocomplete, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - } - - /** - * Click on suggested text. - * - * @param string $text - * @return void - */ - public function clickSuggestedText($text) - { - $searchAutocomplete = sprintf($this->searchAutocomplete, $text); - $this->_rootElement->find($searchAutocomplete, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Wait for element is enabled. - * - * @param string $selector - * @param string $strategy - * @return bool|null - */ - public function waitForElementEnabled($selector, $strategy = Locator::SELECTOR_CSS) - { - $browser = $this->browser; - - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $element = $browser->find($selector, $strategy); - - return !$element->isDisabled() ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAbsenceDeleteAttributeButton.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAbsenceDeleteAttributeButton.php deleted file mode 100644 index e2e5b5d2b1879..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAbsenceDeleteAttributeButton.php +++ /dev/null @@ -1,41 +0,0 @@ -getPageActions()->checkDeleteButton(), - "Button 'Delete Attribute' is present on Attribute page" - ); - } - - /** - * Text absent button "Delete Attribute" on the Attribute page - * - * @return string - */ - public function toString() - { - return "Button 'Delete Attribute' is absent on Attribute Page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddBeforeForPrice.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddBeforeForPrice.php deleted file mode 100644 index 1523fa5d6d179..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddBeforeForPrice.php +++ /dev/null @@ -1,63 +0,0 @@ - $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - - $catalogProductNew->getProductForm()->openSection('customer-options'); - - /** @var \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options $options */ - $options = $catalogProductNew->getProductForm()->getSection('customer-options'); - $customOptions = $product->getCustomOptions()['import']['options']; - - foreach ($customOptions as $customOption) { - /** @var array $valuesFromForm */ - $valuesFromForm = $options->getValuesDataForOption( - $customOption['options'], - $customOption['type'], - $customOption['title'] - ); - - foreach ($valuesFromForm as $value) { - \PHPUnit\Framework\Assert::assertEquals($priceTypeSymbol, $value['add_before']); - } - } - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Price for custom options has correct addbefore.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonAbsent.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonAbsent.php deleted file mode 100644 index 65f1db34c77b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonAbsent.php +++ /dev/null @@ -1,70 +0,0 @@ -open(); - $categoryName = $category === null ? $product->getCategoryIds()[0] : $category->getName(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, 'Product is absent on category page.'); - - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisibleAddToCardButton(), - "Button 'Add to Card' is present on Category page." - ); - - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getViewBlock()->isVisibleAddToCardButton(), - "Button 'Add to Card' is present on Product page." - ); - } - - /** - * Text absent button "Add to Cart" on the category/product pages. - * - * @return string - */ - public function toString() - { - return "Button 'Add to Card' is absent on Category page and Product Page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonPresent.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonPresent.php deleted file mode 100644 index 0eff505d59591..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonPresent.php +++ /dev/null @@ -1,70 +0,0 @@ -open(); - $categoryName = $category === null ? $product->getCategoryIds()[0] : $category->getName(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, 'Product is absent on category page.'); - - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisibleAddToCardButton(), - "Button 'Add to Card' is absent on Category page." - ); - - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->isVisibleAddToCardButton(), - "Button 'Add to Card' is absent on Product page." - ); - } - - /** - * Text present button "Add to Cart" on the category/product pages. - * - * @return string - */ - public function toString() - { - return "Button 'Add to Card' is present on Category page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddedProductAttributeOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddedProductAttributeOnProductForm.php deleted file mode 100644 index 74e8334cf1c19..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddedProductAttributeOnProductForm.php +++ /dev/null @@ -1,124 +0,0 @@ - Inventory > Catalog). - * - * @param InjectableFixture $product - * @param FixtureFactory $fixtureFactory - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductEdit $catalogProductEdit - * @param CatalogProductAttribute $attribute - * @param CatalogAttributeSet $attributeSet - * @param CatalogProductAttribute $productAttributeOriginal - * @throws \Exception - * @return void - */ - public function processAssert( - InjectableFixture $product, - FixtureFactory $fixtureFactory, - CatalogProductIndex $catalogProductIndex, - CatalogProductEdit $catalogProductEdit, - CatalogProductAttribute $attribute, - CatalogAttributeSet $attributeSet, - BrowserInterface $browser, - CatalogProductAttribute $productAttributeOriginal = null - ) { - $this->fixtureFactory = $fixtureFactory; - $this->catalogProductIndex = $catalogProductIndex; - $this->catalogProductEdit = $catalogProductEdit; - - if (!$product->hasData('sku')) { - if (!$productAttributeOriginal) { - $productAttributeOriginal = $attribute; - } - $product = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductWithAttributeSetStep::class, - [ - 'attribute' => $productAttributeOriginal, - 'attributeSet' => $attributeSet - ] - )->run(); - $product = $product['product']; - } - $filterProduct = ['sku' => $product->getSku()]; - $catalogProductIndex->open(); - $catalogProductIndex->getProductGrid()->searchAndOpen($filterProduct); - - $catalogProductAttribute = ($productAttributeOriginal !== null) - ? array_merge($productAttributeOriginal->getData(), $attribute->getData()) - : $attribute->getData(); - if ($browser->find($this->attributes)->isVisible()) { - $catalogProductEdit->getProductForm()->openSection(self::ATTRIBUTES); - } - - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductEdit->getProductForm()->checkAttributeLabel($catalogProductAttribute), - "Product Attribute is absent on Product form." - ); - } - - /** - * Text of Product Attribute is present on the Product form. - * - * @return string - */ - public function toString() - { - return 'Product Attribute is present on Product form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAdvancedPriceAbsentOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAdvancedPriceAbsentOnProductForm.php deleted file mode 100644 index e8e3d5b29d06c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAdvancedPriceAbsentOnProductForm.php +++ /dev/null @@ -1,50 +0,0 @@ -open(['id' => $product->getData('id')]); - /** @var AdvancedPricing $advancedPricing */ - $advancedPricing = $productPage->getProductForm() - ->openSection('advanced-pricing') - ->getSection('advanced-pricing'); - - \PHPUnit\Framework\Assert::assertFalse( - $advancedPricing->getTierPriceForm()->hasGroupPriceOptions(), - 'Customer group price options is present in grid.' - ); - } - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Advanced price is absent on product page in form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeForm.php deleted file mode 100644 index bea474e7ae2fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeForm.php +++ /dev/null @@ -1,52 +0,0 @@ - $attribute->getAttributeCode()]; - $catalogProductAttributeIndex->open()->getGrid()->searchAndOpen($filter); - - $errors = $this->verifyData( - $attribute->getData(), - $catalogProductAttributeNew->getAttributeForm()->getData($attribute) - ); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Displayed attribute data on edit page equals passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeOptionsOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeOptionsOnProductForm.php deleted file mode 100644 index b050fcf583801..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeOptionsOnProductForm.php +++ /dev/null @@ -1,62 +0,0 @@ -open(); - $productGrid->getProductGrid()->searchAndOpen(['sku' => $product->getSku()]); - - $attributeOptions = $attribute->getOptions(); - $options[] = $attribute->getFrontendLabel(); - foreach ($attributeOptions as $option) { - $options[] = $option['admin']; - } - $productAttributeOptions = $productEdit->getProductForm()->getAttributeElement($attribute)->getText(); - $productOptions = explode("\n", $productAttributeOptions); - $diff = array_diff($options, $productOptions); - - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - "Products attribute options are absent on product form: " . implode(', ', $diff) - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All product attribute options are visible on product creation form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetForm.php deleted file mode 100644 index 7f031567d980c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetForm.php +++ /dev/null @@ -1,68 +0,0 @@ - $attributeSet->getAttributeSetName(), - ]; - $productSet->open(); - $productSet->getGrid()->searchAndOpen($filterAttribute); - \PHPUnit\Framework\Assert::assertEquals( - $filterAttribute['set_name'], - $productSetEdit->getAttributeSetEditBlock()->getAttributeSetName(), - 'The attribute set wasn\'t found.' - . "\nExpected: " . $filterAttribute['set_name'] - . "\nActual: " . $productSetEdit->getAttributeSetEditBlock()->getAttributeSetName() - ); - if ($productAttribute !== null) { - $attributeLabel = $productAttribute->getFrontendLabel(); - \PHPUnit\Framework\Assert::assertTrue( - $productSetEdit->getAttributeSetEditBlock()->checkProductAttribute($attributeLabel), - "Product Attribute is absent on Attribute Set Groups" - ); - } - } - - /** - * Text matches the data from a form with data from fixture - * - * @return string - */ - public function toString() - { - return 'Data from the Attribute Set form matched with fixture'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetGroupOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetGroupOnProductForm.php deleted file mode 100644 index a50ef1993f009..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetGroupOnProductForm.php +++ /dev/null @@ -1,84 +0,0 @@ -open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $productBlockForm = $newProductPage->getProductForm(); - - /**@var CatalogProductSimple $catalogProductSimple */ - $productSimple = $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => [ - 'attribute_set_id' => ['attribute_set' => $attributeSet], - ], - ] - ); - $productBlockForm->fill($productSimple); - - \PHPUnit\Framework\Assert::assertTrue( - $productEdit->getProductForm()->isCustomSectionVisible($attributeSet->getGroup()), - "Product Group is absent on Product form sections." - ); - - $productEdit->getProductForm()->openCustomSection($attributeSet->getGroup()); - \PHPUnit\Framework\Assert::assertTrue( - $productEdit->getProductForm()->checkAttributeLabel($productAttributeOriginal), - "Product Attribute is absent on Product form." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product Group and Product Attribute are present on the Product form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetInGrid.php deleted file mode 100644 index c05c7396deee0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ - $attributeSet->getAttributeSetName(), - ]; - - $productSetPage->open(); - \PHPUnit\Framework\Assert::assertTrue( - $productSetPage->getGrid()->isRowVisible($filterAttributeSet), - 'Attribute Set \'' . $filterAttributeSet['set_name'] . '\' is absent in Attribute Set grid.' - ); - } - - /** - * Text present new attribute set in grid - * - * @return string - */ - public function toString() - { - return 'Attribute set is present in Attribute Sets grid'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetNotInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetNotInGrid.php deleted file mode 100644 index 0c89e52cb0509..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetNotInGrid.php +++ /dev/null @@ -1,53 +0,0 @@ - $attributeSet->getAttributeSetName(), - ]; - - $productSetPage->open(); - \PHPUnit\Framework\Assert::assertFalse( - $productSetPage->getGrid()->isRowVisible($filterAttributeSet), - 'A "' . $filterAttributeSet['set_name'] . - '" attribute set name already exists. Create a new name and try again.' - ); - } - - /** - * Text absent new attribute set in grid - * - * @return string - */ - public function toString() - { - return 'Attribute set is absent in Attribute Sets grid'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetOnProductForm.php deleted file mode 100644 index 659539e8093bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetOnProductForm.php +++ /dev/null @@ -1,93 +0,0 @@ -open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $productBlockForm = $newProductPage->getProductForm(); - - /**@var CatalogProductSimple $catalogProductSimple */ - $productSimple = $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => [ - 'attribute_set_id' => ['attribute_set' => $attributeSet], - ], - ] - ); - $productBlockForm->fill($productSimple); - $newProductPage->getFormPageActions()->save(); - - $formData = $productEdit->getProductForm()->getData($productSimple); - $formAttributeSet = $formData['attribute_set_id']; - \PHPUnit\Framework\Assert::assertEquals( - $attributeSet->getAttributeSetName(), - $formAttributeSet, - 'The attribute set wasn\'t found on product form.' - . "\nExpected: " . $attributeSet->getAttributeSetName() - . "\nActual: " . $formAttributeSet - ); - - if ($attributeSetOriginal === null) { - $productEdit->getProductForm()->openSection('product-details'); - - \PHPUnit\Framework\Assert::assertTrue( - $productEdit->getProductForm()->checkAttributeLabel($productAttribute), - "Product Attribute is absent on Product form." - ); - } - } - - /** - * Text of Product Attribute and Attribute Set are present on the Product form. - * - * @return string - */ - public function toString() - { - return 'Product Attribute and Attribute Set are present on the Product form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessDeleteMessage.php deleted file mode 100644 index c3d2ae3cd1bb2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessDeleteMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Attribute Sets success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessSaveMessage.php deleted file mode 100644 index f0ccd9a1a777c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAttributeSetSuccessSaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Attribute Sets success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCanSaveProduct.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCanSaveProduct.php deleted file mode 100644 index 16cdde21bbdc5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCanSaveProduct.php +++ /dev/null @@ -1,46 +0,0 @@ - $product->getSku()]; - $catalogProductIndex->open()->getProductGrid()->searchAndOpen($filter); - $catalogProductEdit->getFormPageActions()->save(); - - \PHPUnit\Framework\Assert::assertNotEmpty( - $catalogProductEdit->getMessagesBlock()->getSuccessMessage(), - 'Can\'t save existing product.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product was saved without errors.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnBackend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnBackend.php deleted file mode 100644 index 3b8993f7ceb64..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnBackend.php +++ /dev/null @@ -1,43 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryIndex->getTreeCategories()->isCategoryVisible($category), - 'Category is displayed in backend catalog category tree.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category not displayed in backend catalog category tree.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnFrontend.php deleted file mode 100644 index 8429966b04b3e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryAbsenceOnFrontend.php +++ /dev/null @@ -1,59 +0,0 @@ -open($_ENV['app_frontend_url'] . $category->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $categoryView->getTitleBlock()->getTitle(), - 'Wrong page is displayed.' - ); - } - - /** - * Not found page is display - * - * @return string - */ - public function toString() - { - return 'Not found page is display.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryBreadcrumbs.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryBreadcrumbs.php deleted file mode 100644 index 6ddb40886757f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryBreadcrumbs.php +++ /dev/null @@ -1,120 +0,0 @@ -browser = $browser; - - $this->openCategory($category); - - $breadcrumbs = $this->getBreadcrumbs($category); - \PHPUnit\Framework\Assert::assertNotEmpty( - $breadcrumbs, - 'No breadcrumbs on category \'' . $category->getName() . '\' page.' - ); - $pageBreadcrumbs = $catalogCategoryView->getBreadcrumbs()->getText(); - \PHPUnit\Framework\Assert::assertEquals( - $breadcrumbs, - $pageBreadcrumbs, - 'Wrong breadcrumbs of category page.' - . "\nExpected: " . $breadcrumbs - . "\nActual: " . $pageBreadcrumbs - ); - } - - /** - * Open category. - * - * @param Category $category - * @return void - */ - protected function openCategory(Category $category) - { - $categoryUrlKey = []; - - while ($category) { - $categoryUrlKey[] = $category->hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($category !== null && 1 == $category->getParentId()) { - $category = null; - } - } - $categoryUrlKey = $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; - - $this->browser->open($categoryUrlKey); - } - - /** - * Prepare and return category breadcrumbs. - * - * @param Category $category - * @return string - */ - protected function getBreadcrumbs(Category $category) - { - $breadcrumbs = []; - - while ($category) { - $breadcrumbs[] = $category->getName(); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($category !== null && 1 == $category->getParentId()) { - $category = null; - } - } - $breadcrumbs[] = self::HOME_PAGE; - - return implode(' ', array_reverse($breadcrumbs)); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Breadcrumbs on category page equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryCannotBeDeleted.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryCannotBeDeleted.php deleted file mode 100644 index 911115867c79e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryCannotBeDeleted.php +++ /dev/null @@ -1,41 +0,0 @@ -getFormPageActions()->checkDeleteButton(), - false, - 'Delete button is available for the category.' - ); - } - - /** - * The category cannot be deleted. - * - * @return string - */ - public function toString() - { - return 'The category cannot be deleted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForAssignedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForAssignedProducts.php deleted file mode 100644 index 4a83b6ae7cd83..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForAssignedProducts.php +++ /dev/null @@ -1,57 +0,0 @@ -hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $products = $category->getDataFieldConfig('category_products')['source']->getProducts(); - - $browser->open($_ENV['app_frontend_url'] . $categoryUrlKey . '.html'); - foreach ($products as $productFixture) { - \PHPUnit\Framework\Assert::assertTrue( - $categoryView->getListProductBlock()->getProductItem($productFixture)->isVisible(), - "Products '{$productFixture->getName()}' not found in category '{$category->getName()}'." - ); - } - } - - /** - * Displayed assigned products on category page equals passed from fixture - * - * @return string - */ - public function toString() - { - return 'Displayed assigned products on category page equal to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForm.php deleted file mode 100644 index d15a156fec897..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryForm.php +++ /dev/null @@ -1,107 +0,0 @@ -open(); - $catalogCategoryIndex->getTreeCategories()->selectCategory($category, true); - if ($category->hasData('store_id')) { - $storeName = $category->getStoreId()['source']->getName(); - $catalogCategoryEdit->getFormPageActions()->selectStoreView($storeName); - } - $fixtureData = $this->prepareFixtureData($category->getData()); - $formData = $catalogCategoryEdit->getEditForm()->getData($category); - $error = $this->verifyData($this->sortData($fixtureData), $this->sortData($formData)); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Prepares fixture data for comparison. - * - * @param array $data - * @return array - */ - protected function prepareFixtureData(array $data) - { - if (!isset($data['parent_id'])) { - $this->skippedFixtureFields[] = 'url_key'; - } - - if (isset($data['url_key'])) { - $data['url_key'] = strtolower($data['url_key']); - } - - return array_diff_key($data, array_flip($this->skippedFixtureFields)); - } - - /** - * Sort data for comparison. - * - * @param array $data - * @return array - */ - protected function sortData(array $data) - { - if (isset($data['available_sort_by'])) { - $data['available_sort_by'] = array_values($data['available_sort_by']); - sort($data['available_sort_by']); - } - - if (isset($data['category_products'])) { - sort($data['category_products']); - } - - return $data; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category data on edit page equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryInNavigationMenu.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryInNavigationMenu.php deleted file mode 100644 index d4dbadf8942c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryInNavigationMenu.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - if (($category->getIncludeInMenu() == 'Yes') && ($category->getIsActive() == 'Yes')) { - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()), - 'Expected that ' . $category->getName() . ' is visible in navigation menu, but it is not.' - ); - } else { - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()), - 'Expected that ' . $category->getName() . ' is not visible in navigation menu, but it is.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "All category's visibility in navigation menu are true"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIncludeInNavigationMenu.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIncludeInNavigationMenu.php deleted file mode 100644 index 6f9b4cd0ce0ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIncludeInNavigationMenu.php +++ /dev/null @@ -1,48 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()), - 'Expected that ' . $category->getName() . ' is visible in navigation menu.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Category is visible in navigation menu"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIsNotActive.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIsNotActive.php deleted file mode 100644 index d45acd00124aa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIsNotActive.php +++ /dev/null @@ -1,79 +0,0 @@ -open($this->getCategoryUrl($category)); - \PHPUnit\Framework\Assert::assertFalse( - $categoryView->getTopmenu()->isCategoryVisible($category->getName()), - 'Category can be accessed from the navigation bar in the frontend.' - ); - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $categoryView->getTitleBlock()->getTitle(), - 'Wrong page is displayed.' - ); - } - - /** - * Get category url to open. - * - * @param Category $category - * @return string - */ - protected function getCategoryUrl(Category $category) - { - $categoryUrlKey = []; - while ($category) { - $categoryUrlKey[] = $category->hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if (1 == $category->getParentId()) { - $category = null; - } - } - - return $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; - } - - /** - * Category not find in top menu - * - * @return string - */ - public function toString() - { - return 'Category cannot be accessed from the navigation bar.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryMovedMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryMovedMessage.php deleted file mode 100644 index 02245b1649803..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryMovedMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Success message is displayed. - * - * @return string - */ - public function toString() - { - return 'Success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNavigationMenu.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNavigationMenu.php deleted file mode 100644 index 46005fe7e09d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNavigationMenu.php +++ /dev/null @@ -1,59 +0,0 @@ -getName(); - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } while ($category->getName() != self::DEFAULT_CATEGORY_NAME); - - $cmsIndex->open(); - - foreach (array_reverse($categoriesNames) as $category) { - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getTopmenu()->isCategoryVisible($category), - 'Category ' . $category . ' is not visible in top menu.' - ); - $cmsIndex->getTopMenu()->hoverCategoryByName($category); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Topmenu contains correct tree of categories.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNotInNavigationMenu.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNotInNavigationMenu.php deleted file mode 100644 index 9a0ab06946a39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNotInNavigationMenu.php +++ /dev/null @@ -1,48 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()), - 'Expected that ' . $category->getName() . ' is not visible in navigation menu.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Category is not visible in navigation menu"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomStore.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomStore.php deleted file mode 100644 index 38dd7600c6eac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomStore.php +++ /dev/null @@ -1,138 +0,0 @@ -browser = $browser; - $this->categoryViewPage = $categoryView; - $this->cmsIndexPage = $cmsIndex; - - $this->verifyUnavailabilityCategoryOnMainStore($category); - $this->verifyAvailabilityCategoryOnMainStore($initialCategory); - $this->verifyCategoryOnCustomStore($category); - } - - /** - * Verify if category page is unavailable in Main Store. - * - * @param Category $category - * @return void - */ - private function verifyUnavailabilityCategoryOnMainStore(Category $category) - { - $this->browser->open($_ENV['app_frontend_url'] . $category->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $this->categoryViewPage->getTitleBlock()->getTitle(), - 'Category ' . $category->getName() . ' is available on Main Store, but should not.' - ); - } - - /** - * Verify if category page is available in Main Store. - * - * @param Category $category - * @return void - */ - private function verifyAvailabilityCategoryOnMainStore(Category $category) - { - $this->browser->open($_ENV['app_frontend_url'] . $category->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - $category->getName(), - $this->categoryViewPage->getTitleBlock()->getTitle(), - 'Category ' . $category->getName() . ' is not available on Main Store, but should.' - ); - } - - /** - * Verify Category is present in custom store. - * - * @param Category $category - * @return void - */ - private function verifyCategoryOnCustomStore(Category $category) - { - $this->cmsIndexPage->getStoreSwitcherBlock()->selectStoreView($category->getStoreId()['source']->getName()); - $this->cmsIndexPage->getLinksBlock()->waitWelcomeMessage(); - - $this->browser->open($_ENV['app_frontend_url'] . $category->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - $category->getName(), - $this->categoryViewPage->getTitleBlock()->getTitle(), - 'Category ' . $category->getName() . ' is not available on custom store.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category displayed in appropriate store.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomWebsite.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomWebsite.php deleted file mode 100644 index 512cb7044ed8f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryOnCustomWebsite.php +++ /dev/null @@ -1,78 +0,0 @@ -createByCode( - 'storeGroup', - [ - 'dataset' => 'custom_new_group', - 'data' => [ - 'root_category_id' => [ - 'category' => $category->getDataFieldConfig('parent_id')['source']->getParentCategory() - ] - ] - ] - ); - $storeGroup->persist(); - $store = $fixtureFactory->createByCode( - 'store', - [ - 'dataset' => 'custom_store', - 'data' => [ - 'group_id' => [ - 'storeGroup' => $storeGroup - ] - ] - ] - ); - $store->persist(); - - $websiteCode = $storeGroup->getDataFieldConfig('website_id')['source']->getWebsite()->getData('code'); - $browser->open($_ENV['app_frontend_url'] . 'websites/' . $websiteCode . '/' . $category->getName() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - $category->getName(), - $categoryView->getTitleBlock()->getTitle(), - 'Wrong category name is displayed on custom website store.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category name is correct on custom website store.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryPage.php deleted file mode 100644 index 400349800cc60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryPage.php +++ /dev/null @@ -1,286 +0,0 @@ -browser = $browser; - $this->category = $category; - $this->categoryViewPage = $categoryView; - $this->browser->open($this->getCategoryUrl($category)); - $categoryData = $this->prepareFixtureData($category->getData()); - $diff = $this->verifyGeneralInformation($categoryData); - $diff = array_merge($diff, $this->verifyContent($categoryData)); - $diff = array_merge($diff, $this->verifyDisplaySettings($categoryData)); - $diff = array_merge($diff, $this->verifySearchEngineOptimization($categoryData)); - \PHPUnit\Framework\Assert::assertEmpty( - $diff, - "Category settings on Storefront page are different.\n" . implode(' ', $diff) - ); - } - - /** - * Prepares fixture data for comparison. - * - * @param array $data - * @return array - */ - protected function prepareFixtureData(array $data) - { - if (isset($data['id'])) { - unset($data['id']); - } - return $data; - } - - /** - * Get category url to open. - * - * @param Category $category - * @return string - */ - protected function getCategoryUrl(Category $category) - { - $categoryUrlKey = []; - while ($category) { - $categoryUrlKey[] = $category->hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($category !== null && 1 == $category->getParentId()) { - $category = null; - } - } - - return $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; - } - - /** - * Verify category general information: - * # Include in menu - * # Name - * - * @param array $categoryData - * @return array - */ - protected function verifyGeneralInformation(array $categoryData) - { - $errorMessage = []; - - if (isset($categoryData['include_in_menu']) && $categoryData['include_in_menu'] == 'Yes') { - if (!$this->categoryViewPage->getTopmenu()->isCategoryVisible($categoryData['name'])) { - $errorMessage[] = 'Category is not visible in the navigation pane.'; - } - } - if (isset($categoryData['include_in_menu']) && $categoryData['include_in_menu'] == 'No') { - if ($this->categoryViewPage->getTopmenu()->isCategoryVisible($categoryData['name'])) { - $errorMessage[] = 'Category is visible in the navigation pane.'; - } - } - - if (isset($categoryData['name'])) { - $title = $this->categoryViewPage->getTitleBlock()->getTitle(); - if ($categoryData['name'] != $title) { - $errorMessage[] = 'Wrong category name.' - . "\nExpected: " . $categoryData['name'] - . "\nActual: " . $title; - } - } - - return $errorMessage; - } - - /** - * Verify category Content data: - * # Description - * # CMS Block content - * - * @param array $categoryData - * @return array - */ - protected function verifyContent(array $categoryData) - { - $errorMessage = []; - - if (!$this->categoryViewPage->getViewBlock()->isVisible()) { - $errorMessage[] = - 'Category Content is not visible.' - . "Skipped verifying Content settings for category {$categoryData['name']}."; - return $errorMessage; - } - - if (isset($categoryData['description'])) { - $description = $this->categoryViewPage->getViewBlock()->getDescription(); - if ($categoryData['description'] != $description) { - $errorMessage[] = 'Wrong category description.' - . "\nExpected: " . $categoryData['description'] - . "\nActual: " . $description; - } - } - - if (isset($categoryData['landing_page']) - && isset($categoryData['display_mode']) - && in_array($categoryData['display_mode'], $this->visibleCmsBlockMode) - ) { - /** @var LandingPage $sourceLandingPage */ - $sourceLandingPage = $this->category->getDataFieldConfig('landing_page')['source']; - $fixtureContent = $sourceLandingPage->getCmsBlock()->getContent(); - $pageContent = $this->categoryViewPage->getViewBlock()->getContent(); - - if ($fixtureContent != $pageContent) { - $errorMessage[] = 'Wrong category landing page content.' - . "\nExpected: " . $fixtureContent - . "\nActual: " . $pageContent; - } - } - - return $errorMessage; - } - - /** - * Verify category Display Settings data: - * # default_sort_by - * # available_sort_by - * - * @param array $categoryData - * @return array - */ - protected function verifyDisplaySettings(array $categoryData) - { - $errorMessage = []; - - //TODO: verify display_mode - - if (isset($categoryData['default_sort_by'])) { - $expected = $categoryData['default_sort_by']; - $actual = $this->categoryViewPage->getTopToolbar()->getSelectSortType(); - if ($expected != $actual) { - $errorMessage[] = 'Wrong sorting type.' - . "\nExpected: " . $expected - . "\nActual: " . $actual; - } - } - - if (isset($categoryData['available_sort_by'])) { - $availableSortType = array_filter( - $categoryData['available_sort_by'], - function (&$value) { - return $value !== '-' && ucfirst($value); - } - ); - if ($availableSortType) { - $expected = array_values($availableSortType); - $actual = $this->categoryViewPage->getTopToolbar()->getSortType(); - if ($expected != $actual) { - $errorMessage[] = 'Wrong available sorting type.' - . "\nExpected: " . implode(PHP_EOL, $expected) - . "\nActual: " . implode(PHP_EOL, $actual); - } - } - } - - // TODO: verify Layered Navigation Price Step - - return $errorMessage; - } - - /** - * Verify category Search Engine Optimization data: - * # URL - * # Meta Title - * - * @param array $categoryData - * @return array - */ - protected function verifySearchEngineOptimization(array $categoryData) - { - $errorMessage = []; - - $categoryUrl = $this->getCategoryUrl($this->category); - if ($categoryUrl != $this->browser->getUrl()) { - $errorMessage[] = 'Wrong page URL.' - . "\nExpected: " . $categoryUrl - . "\nActual: " . $this->browser->getUrl(); - } - - if (isset($categoryData['meta_title'])) { - $actual = $this->browser->getTitle(); - if ($categoryData['meta_title'] != $actual) { - $errorMessage[] = 'Wrong page title.' - . "\nExpected: " . $categoryData['meta_title'] - . "\nActual: " . $actual; - } - } - - return $errorMessage; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category data on category page equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryProductsGridFilter.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryProductsGridFilter.php deleted file mode 100644 index 26e6805d01419..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryProductsGridFilter.php +++ /dev/null @@ -1,95 +0,0 @@ -getTreeCategories()->selectCategory($category, true); - $categoryProducts = $category->getDataFieldConfig('category_products')['source']->getProducts(); - $catalogCategoryEdit->getEditForm()->openSection('category_products'); - - foreach ($this->testFilterColumns as $field) { - $this->testGridFilter($categoryProducts, $catalogCategoryEdit, $field); - } - } - - /** - * @param array $categoryProducts - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param string $filterField - * @return void - */ - private function testGridFilter(array $categoryProducts, CatalogCategoryEdit $catalogCategoryEdit, $filterField) - { - $expectedProducts = []; - foreach ($categoryProducts as $product) { - $expectedProducts[$product->getData('name')] = [ - 'filter' => $filterField, - 'value' => $product->getData($filterField) - ]; - } - - $actualProducts = []; - /** @var \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\CategoryForm $productsFieldset */ - $productsFieldset = $catalogCategoryEdit->getEditForm()->getSection('category_products'); - $gridRows = $productsFieldset->getProductGrid()->getRowsData(['name', $filterField]); - foreach ($gridRows as $row) { - $actualProducts[$row['name']] = [ - 'filter' => $filterField, - 'value' => $row[$filterField] - ]; - } - - \PHPUnit\Framework\Assert::assertEquals( - $expectedProducts, - $actualProducts, - "Category products grid filter '$filterField' does not work correctly" - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() : string - { - return 'Category products grid filter works correctly'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryRedirect.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryRedirect.php deleted file mode 100644 index 43748396792cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryRedirect.php +++ /dev/null @@ -1,50 +0,0 @@ -open($_ENV['app_frontend_url'] . $initialCategory->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - $browser->getUrl(), - $_ENV['app_frontend_url'] . strtolower($category->getUrlKey()) . '.html', - 'URL rewrite category redirect false.' - ); - } - - /** - * URL rewrite category redirect success - * - * @return string - */ - public function toString() - { - return 'URL rewrite category redirect success.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySaveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySaveMessage.php deleted file mode 100644 index e0550618c86ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Success message is displayed - * - * @return string - */ - public function toString() - { - return 'Success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySuccessDeleteMessage.php deleted file mode 100644 index cbdad5865245a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategorySuccessDeleteMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success delete message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Category delete message is displayed - * - * @return string - */ - public function toString() - { - return 'Category delete message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryWithCustomStoreOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryWithCustomStoreOnFrontend.php deleted file mode 100644 index b1000cc3ae6c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryWithCustomStoreOnFrontend.php +++ /dev/null @@ -1,66 +0,0 @@ -open(); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - $browser->open($_ENV['app_frontend_url'] . $initialCategory->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - $initialCategory->getName(), - $categoryView->getTitleBlock()->getTitle(), - 'Wrong category name is displayed for default store.' - ); - - $store = $category->getData()['store_id']['source']->getName(); - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($store); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - $browser->open($_ENV['app_frontend_url'] . $initialCategory->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - $category->getName(), - $categoryView->getTitleBlock()->getTitle(), - 'Wrong category name is displayed for ' . $store - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category name is different on different store view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCustomOptions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCustomOptions.php deleted file mode 100644 index 44190924c06ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCustomOptions.php +++ /dev/null @@ -1,82 +0,0 @@ -arguments['expectedCustomOptions']; - $filter = ['sku' => $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - $productData = []; - if ($product->hasData('custom_options')) { - $productData = $this->addExpectedOptionValues($product, $expectedCustomOptions); - } - $fixtureData = $this->prepareFixtureData($productData, $this->sortFields); - $formData = $this->prepareFormData($productPage->getProductForm()->getData($product), $this->sortFields); - $errors = $this->verifyData($fixtureData, $formData); - - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Adds expected value of Custom Options. - * - * @param FixtureInterface $product - * @param array $expectedCustomOptions - * @return array - */ - private function addExpectedOptionValues(FixtureInterface $product, array $expectedCustomOptions) - { - /** @var array $customOptionsSource */ - $customOptionsSource = $product->getDataFieldConfig('custom_options')['source']->getCustomOptions(); - foreach (array_keys($customOptionsSource) as $optionKey) { - foreach ($expectedCustomOptions as $expectedCustomOption) { - if ($customOptionsSource[$optionKey]['type'] === $expectedCustomOption['optionType']) { - $options = array_keys($customOptionsSource[$optionKey]['options']); - $optionField = $expectedCustomOption['optionField']; - $optionValue = $expectedCustomOption['optionValue']; - foreach ($options as $optionsKey) { - $customOptionsSource[$optionKey]['options'][$optionsKey][$optionField] = $optionValue; - } - } - } - } - - return ['custom_options' => $customOptionsSource]; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Custom option values are same as expected.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertDateInvalidErrorMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertDateInvalidErrorMessage.php deleted file mode 100644 index 6c0de5ce81e87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertDateInvalidErrorMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertContains( - self::INVALID_DATE_ERROR_MESSAGE, - $actualMessages, - 'Wrong error message is displayed.' - . "\nExpected: " . self::INVALID_DATE_ERROR_MESSAGE - . "\nActual:\n" . $actualMessages - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invalid date range error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertFileExtensionHints.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertFileExtensionHints.php deleted file mode 100644 index 5e744ce1ef852..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertFileExtensionHints.php +++ /dev/null @@ -1,57 +0,0 @@ -getProductForm(); - $productForm->openSection('customer-options'); - /** @var \Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\Options $options */ - $options = $productForm->getSection('customer-options'); - $fileOptionElements = $options->getFileOptionElements(); - foreach ($fileOptionElements as $fileOptionElement) { - \PHPUnit\Framework\Assert::assertEquals( - self::EXPECTED_MESSAGE, - $fileOptionElement->getText(), - 'Actual message differ from expected.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Assert correct file extensions hint is showed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertImagesAreVisibleOnProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertImagesAreVisibleOnProductPage.php deleted file mode 100644 index 0f19c0e43a99d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertImagesAreVisibleOnProductPage.php +++ /dev/null @@ -1,153 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $this->product = $product; - $this->productView = $catalogProductView->getViewBlock(); - - $errors = $this->verify(); - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "\nFound the following errors:\n" . implode(" \n", $errors) - ); - } - - /** - * Assert that media gallery images are displayed correctly on product page(front-end). - * - * @return array - */ - protected function verify() - { - $errors = []; - - $errors[] = $this->verifyGallery(); - $errors[] = $this->verifyBaseImage(); - $errors[] = $this->verifyFullImage(); - - return array_filter($errors); - } - - /** - * Verify gallery on product page(front-end) is displayed correctly - * - * @return string|null - */ - protected function verifyGallery() - { - if ($this->productView->isGalleryVisible()) { - return null; - } - - return 'Gallery for product ' . $this->product->getName() . ' is not visible.'; - } - - /** - * Verify base image on product page(front-end) is displayed correctly - * - * @return string|null - */ - protected function verifyBaseImage() - { - if (!$this->productView->isBaseImageVisible()) { - return 'Base image for product ' . $this->product->getName() . ' is not visible.'; - } - - if (!$this->isImageLoaded($this->productView->getBaseImageSource())) { - return 'Base image file is corrupted or does not exist for product ' . $this->product->getName(); - } - - return null; - } - - /** - * Verify full image on product page(front-end) is displayed correctly - * - * @return string|null - */ - protected function verifyFullImage() - { - // click base image to see full image - $this->productView->clickBaseImage(); - if (!$this->productView->isFullImageVisible()) { - return 'Full image for product ' . $this->product->getName() . ' should be visible after click on base one'; - } - - if (!$this->isImageLoaded($this->productView->getFullImageSource())) { - return 'Full image file is corrupted or does not exist for product ' . $this->product->getName(); - } - - $this->productView->closeFullImage(); - - return null; - } - - /** - * Check is image file can be loaded (displayed) - * - * @param string $src - * @return bool - */ - protected function isImageLoaded($src) - { - return (bool) file_get_contents($src, 0, null, 0, 1); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product images on product view page are correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertMassProductUpdateSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertMassProductUpdateSuccessMessage.php deleted file mode 100644 index 7f322507ab795..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertMassProductUpdateSuccessMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Mass update success message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPaginationCorrectOnStoreFront.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPaginationCorrectOnStoreFront.php deleted file mode 100644 index 9670041b501d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPaginationCorrectOnStoreFront.php +++ /dev/null @@ -1,100 +0,0 @@ -open($_ENV['app_frontend_url'] . $category->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - true, - $catalogCategoryView->getBottomToolbar()->isVisible(), - 'Pagination is not visible' - ); - \PHPUnit\Framework\Assert::assertEquals( - $catalogCategoryView->getBottomToolbar()->getLimitedValueByIndex(0), - $catalogCategoryView->getListProductBlock()->getProductsCount(), - 'Count of products on 1 page does not equivalent with declared in pagination (default value)' - ); - $catalogCategoryView->getBottomToolbar()->nextPage(); - \PHPUnit\Framework\Assert::assertEquals( - $this->calculateExpectedProductsCountOnPage( - $catalogCategoryView->getBottomToolbar()->getLimitedValueByIndex(0), - 2, - $productsCount - ), - $catalogCategoryView->getListProductBlock()->getProductsCount(), - 'Count of products on 2 page does not equivalent with declared in pagination (default value)' - ); - $catalogCategoryView->getBottomToolbar()->firstPage(); - $catalogCategoryView->getBottomToolbar()->setLimiterValueByIndex(1); - \PHPUnit\Framework\Assert::assertEquals( - $catalogCategoryView->getBottomToolbar()->getLimitedValueByIndex(1), - $catalogCategoryView->getListProductBlock()->getProductsCount(), - 'Count of products on 1 page does not equivalent with declared in pagination(custom value)' - ); - $catalogCategoryView->getBottomToolbar()->nextPage(); - \PHPUnit\Framework\Assert::assertEquals( - $this->calculateExpectedProductsCountOnPage( - $catalogCategoryView->getBottomToolbar()->getLimitedValueByIndex(1), - 2, - $productsCount - ), - $catalogCategoryView->getListProductBlock()->getProductsCount(), - 'Count of products on 2 page does not equivalent with declared in pagination(custom value)' - ); - } - - /** - * Calculate expected count of products on current page - * - * @param int $productsPerPage - * @param int $numberOfPage - * @param int $totalProductsCount - * @return int - */ - private function calculateExpectedProductsCountOnPage($productsPerPage, $numberOfPage, $totalProductsCount) - { - return min($productsPerPage, $totalProductsCount - $productsPerPage * ($numberOfPage - 1)); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Pagination is correct on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPriceOnProductPageInterface.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPriceOnProductPageInterface.php deleted file mode 100644 index d04a9c8d1a872..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertPriceOnProductPageInterface.php +++ /dev/null @@ -1,34 +0,0 @@ -hasData('cross_sell_products') - ? $product->getDataFieldConfig('cross_sell_products')['source']->getProducts() - : []; - } - - $checkoutCart->open(); - $checkoutCart->getCartBlock()->clearShoppingCart(); - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->addToCart($product); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $checkoutCart->open(); - foreach ($promotedProducts as $promotedProduct) { - \PHPUnit\Framework\Assert::assertFalse( - $checkoutCart->getCrosssellBlock()->getProductItem($promotedProduct)->isVisible(), - 'Product \'' . $promotedProduct->getName() . '\' exists in cross-sell section.' - ); - } - } - - /** - * Text success product is not displayed in cross-sell section. - * - * @return string - */ - public function toString() - { - return 'Product is not displayed in cross-sell section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentRelatedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentRelatedProducts.php deleted file mode 100644 index 31f2de3012c67..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentRelatedProducts.php +++ /dev/null @@ -1,59 +0,0 @@ -hasData('related_products') - ? $product->getDataFieldConfig('related_products')['source']->getProducts() - : []; - } - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - foreach ($promotedProducts as $promotedProduct) { - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getRelatedProductBlock()->getProductItem($promotedProduct)->isVisible(), - 'Product \'' . $promotedProduct->getName() . '\' exists in related products.' - ); - } - } - - /** - * Text success product is not displayed in related products section. - * - * @return string - */ - public function toString() - { - return 'Product is not displayed in related products section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentUpSells.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentUpSells.php deleted file mode 100644 index 6ccddf7a75fda..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAbsentUpSells.php +++ /dev/null @@ -1,59 +0,0 @@ -hasData('up_sell_products') - ? $product->getDataFieldConfig('up_sell_products')['source']->getProducts() - : []; - } - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - foreach ($promotedProducts as $promotedProduct) { - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getUpsellBlock()->getProductItem($promotedProduct)->isVisible(), - 'Product \'' . $promotedProduct->getName() . '\' exists in up-sells products.' - ); - } - } - - /** - * Text success product is not displayed in up-sell section. - * - * @return string - */ - public function toString() - { - return 'Product is not displayed in up-sell section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInGrid.php deleted file mode 100644 index 9bd51890b62db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInGrid.php +++ /dev/null @@ -1,54 +0,0 @@ - $attribute->getAttributeCode(), - ]; - - $attributeIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $attributeIndex->getGrid()->isRowVisible($filter), - 'Attribute \'' . $attribute->getFrontendLabel() . '\' is present in Attribute grid.' - ); - } - - /** - * Text absent Product Attribute in Attribute Grid - * - * @return string - */ - public function toString() - { - return 'Product Attribute is absent in Attribute grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInSearchOnProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInSearchOnProductForm.php deleted file mode 100644 index 251b56347b34e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInSearchOnProductForm.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $newProductPage->getFormPageActions()->addNewAttribute(); - $filter = [ - 'label' => $productAttribute->getFrontendLabel(), - ]; - \PHPUnit\Framework\Assert::assertFalse( - $newProductPage->getProductForm()->getAttributesSearchGrid()->isRowVisible($filter), - 'Attribute \'' . $productAttribute->getFrontendLabel() . '\' is found in Attributes grid.' - ); - } - - /** - * Text absent Product Attribute in Attribute Search form. - * - * @return string - */ - public function toString() - { - return "Product Attribute is absent in Attribute Search form."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInTemplateGroups.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInTemplateGroups.php deleted file mode 100644 index c4d2ad57028c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInTemplateGroups.php +++ /dev/null @@ -1,57 +0,0 @@ - $attributeSet->getAttributeSetName()]; - $productSetIndex->open(); - $productSetIndex->getGrid()->searchAndOpen($filter); - - $attributeCode = $attributeSet - ->getDataFieldConfig('assigned_attributes')['source'] - ->getAttributes()[0] - ->getAttributeCode(); - - \PHPUnit\Framework\Assert::assertFalse( - $productSetEdit->getAttributeSetEditBlock()->checkProductAttribute($attributeCode), - "Attribute " . $attributeCode . " is present in Attribute set's Groups section." - ); - } - - /** - * Text absent Product Attribute in Attribute set's Groups section - * - * @return string - */ - public function toString() - { - return "Product Attribute is absent in Attribute set's Groups section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInUnassignedAttributes.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInUnassignedAttributes.php deleted file mode 100644 index 909bb0e2a65e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeAbsenceInUnassignedAttributes.php +++ /dev/null @@ -1,57 +0,0 @@ - $attributeSet->getAttributeSetName()]; - $productSetIndex->open(); - $productSetIndex->getGrid()->searchAndOpen($filter); - - $attributeCode = $attributeSet - ->getDataFieldConfig('assigned_attributes')['source'] - ->getAttributes()[0] - ->getAttributeCode(); - - \PHPUnit\Framework\Assert::assertFalse( - $productSetEdit->getAttributeSetEditBlock()->checkUnassignedProductAttribute($attributeCode), - "Attribute " . $attributeCode . " is present in Unassigned Attribute set's section." - ); - } - - /** - * Text absent Product Attribute Unassigned Attribute set's section - * - * @return string - */ - public function toString() - { - return "Product Attribute is absent in Unassigned Attribute set's section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnFrontend.php deleted file mode 100644 index 45035b94212d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnFrontend.php +++ /dev/null @@ -1,55 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertTrue( - in_array( - $attribute->getFrontendLabel(), - $catalogProductView->getAdditionalInformationBlock()->getAttributeLabels() - ), - 'Attribute is not visible on product page in additional info block on frontend.' - ); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is visible on product page in additional info block on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnSearchForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnSearchForm.php deleted file mode 100644 index 9a162500a5b36..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeDisplayingOnSearchForm.php +++ /dev/null @@ -1,51 +0,0 @@ -open(); - $formLabels = $advancedSearch->getForm()->getFormlabels(); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - \PHPUnit\Framework\Assert::assertTrue( - in_array($label, $formLabels), - 'Attribute is absent on advanced search form.' - ); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is present on advanced search form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeInGrid.php deleted file mode 100644 index 212a154c32ad7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeInGrid.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - $code = $attribute->getAttributeCode(); - \PHPUnit\Framework\Assert::assertTrue( - $attributeIndexPage->getGrid()->isRowVisible(['attribute_code' => $code]), - 'Attribute with attribute code "' . $code . '" is absent in attribute grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product attribute is present in attribute grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsComparable.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsComparable.php deleted file mode 100644 index 766df5407f5cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsComparable.php +++ /dev/null @@ -1,59 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->clickAddToCompare(); - $catalogProductCompare->open(); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - - \PHPUnit\Framework\Assert::assertTrue( - in_array($label, $catalogProductCompare->getCompareProductsBlock()->getComparableAttributes()), - 'Attribute is absent on product compare page.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is present on product compare page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterable.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterable.php deleted file mode 100644 index 72dacff239d86..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterable.php +++ /dev/null @@ -1,71 +0,0 @@ -createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'product_with_category_with_anchor', - 'data' => [ - 'category_ids' => [ - 'dataset' => null, - 'category' => $product->getDataFieldConfig('category_ids')['source']->getCategories()[0] - ] - ], - ] - )->persist(); - - $cmsIndex->open()->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - $filters = $catalogCategoryView->getLayeredNavigationBlock()->getFilters(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(strtoupper($label), $filters), - 'Attribute is absent in layered navigation on category page.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is present in layered navigation on category page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterableInSearch.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterableInSearch.php deleted file mode 100644 index 38b5b15a64b52..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterableInSearch.php +++ /dev/null @@ -1,54 +0,0 @@ -open()->getSearchBlock()->search($product->getName()); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(strtoupper($label), $catalogCategoryView->getLayeredNavigationBlock()->getFilters()), - 'Attribute is absent in layered navigation on search page.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is present in layered navigation on search page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsGlobal.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsGlobal.php deleted file mode 100644 index fdf638f4d473a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsGlobal.php +++ /dev/null @@ -1,46 +0,0 @@ - $attribute->getFrontendLabel(), 'is_global' => $attribute->getIsGlobal()]; - - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductAttributeIndex->open()->getGrid()->isRowVisible($filter), - 'Attribute is not global.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is global.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsHtmlAllowed.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsHtmlAllowed.php deleted file mode 100644 index b3bc4d2619a43..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsHtmlAllowed.php +++ /dev/null @@ -1,58 +0,0 @@ -attribute_default_value

- * - * @param InjectableFixture $product - * @param CatalogProductAttribute $attribute - * @param CatalogProductView $catalogProductView - * @param BrowserInterface $browser - * @throws \Exception - * @return void - */ - public function processAssert( - InjectableFixture $product, - CatalogProductAttribute $attribute, - CatalogProductView $catalogProductView, - BrowserInterface $browser - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getAdditionalInformationBlock()->hasHtmlTagInAttributeValue($attribute), - 'Attribute is not visible with HTML tags on frontend.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is visible with HTML tags on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsRequired.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsRequired.php deleted file mode 100644 index 098dbe9071c7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsRequired.php +++ /dev/null @@ -1,71 +0,0 @@ -open()->getProductGrid()->searchAndOpen(['sku' => $product->getSku()]); - $productForm = $catalogProductEdit->getProductForm(); - if (!$productForm->checkAttributeLabel($attribute)) { - $productForm->openSection($sectionName); - } - $productForm->getAttributeElement($attribute)->setValue(''); - $catalogProductEdit->getFormPageActions()->save(); - $validationErrors = $productForm->getSection($sectionName)->getValidationErrors(); - $actualMessage = isset($validationErrors[$attribute->getFrontendLabel()]) - ? $validationErrors[$attribute->getFrontendLabel()] - : ''; - - \PHPUnit\Framework\Assert::assertEquals( - self::REQUIRE_MESSAGE, - $actualMessage, - 'JS error notice on product edit page is not equal to expected.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return '"This is a required field" notice is visible on product edit page after trying to save product with ' - . 'blank required field.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUnique.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUnique.php deleted file mode 100644 index 390bfebbaed81..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUnique.php +++ /dev/null @@ -1,103 +0,0 @@ -fixtureFactory = $fixtureFactory; - $simpleProduct = $this->createSimpleProductFixture($product, $attribute); - $catalogProductIndex->open()->getGridPageActionBlock()->addProduct('simple'); - $productForm = $catalogProductEdit->getProductForm(); - $productForm->fill($simpleProduct); - $catalogProductEdit->getFormPageActions()->save(); - $actualErrorMessage = $catalogProductEdit->getMessagesBlock()->getErrorMessage(); - $attributeLabel = $attribute->getFrontendLabel(); - - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::UNIQUE_MESSAGE, $attributeLabel), - $actualErrorMessage, - 'JS error notice on product edit page is not equal to expected.' - ); - } - - /** - * Create simple product fixture. - * - * @param CatalogProductSimple $product - * @param CatalogProductAttribute $attribute - * @return CatalogProductSimple - */ - protected function createSimpleProductFixture(CatalogProductSimple $product, CatalogProductAttribute $attribute) - { - return $this->fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'product_with_category_with_anchor', - 'data' => [ - 'attribute_set_id' => [ - 'attribute_set' => $product->getDataFieldConfig('attribute_set_id')['source']->getAttributeSet() - ], - 'custom_attribute' => $attribute, - ], - ] - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is unique.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUsedInSortOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUsedInSortOnFrontend.php deleted file mode 100644 index 77b783aa56b57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsUsedInSortOnFrontend.php +++ /dev/null @@ -1,55 +0,0 @@ -open()->getSearchBlock()->search($product->getName()); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - - \PHPUnit\Framework\Assert::assertTrue( - in_array($label, $catalogsearchResult->getListProductBlock()->getSortByValues()), - 'Attribute is absent in sort dropdown on search results page on frontend.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Attribute is present in sort dropdown on search results page on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSaveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSaveMessage.php deleted file mode 100644 index d7d1704f861c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSaveMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success present save message - * - * @return string - */ - public function toString() - { - return 'Attribute success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php deleted file mode 100644 index 03679c1d077a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeSuccessDeleteMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success present delete message - * - * @return string - */ - public function toString() - { - return 'Attribute success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAutoincrementedSkuNoticeMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAutoincrementedSkuNoticeMessage.php deleted file mode 100644 index f443489cc5e90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAutoincrementedSkuNoticeMessage.php +++ /dev/null @@ -1,44 +0,0 @@ -getMessagesBlock()->getNoticeMessage(); - $reg = '/(SKU for product ' . $product->getName() . ' has been changed to ' . $product->getSku() . '-)(\d+.$)/'; - \PHPUnit\Framework\Assert::assertTrue( - preg_match($reg, $actualMessage) == 1, - 'Incorrect notice that existing sku automatically changed when saving product with same sku.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Notice that existing sku automatically changed when saving product with same sku is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareBlockOnCmsPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareBlockOnCmsPage.php deleted file mode 100644 index be9958a24c336..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareBlockOnCmsPage.php +++ /dev/null @@ -1,57 +0,0 @@ -createByCode('cmsPage', ['dataset' => '3_column_template']); - $newCmsPage->persist(); - $browser->open($_ENV['app_frontend_url'] . $newCmsPage->getIdentifier()); - foreach ($products as &$product) { - $product = $product->getName(); - } - \PHPUnit\Framework\Assert::assertEquals( - $products, - $cmsIndex->getCompareProductsBlock()->getProducts(), - 'Compare product block contains NOT valid information about compared products.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Compare product block contains valid information about compared products.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLink.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLink.php deleted file mode 100644 index 0079e40ef6807..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLink.php +++ /dev/null @@ -1,51 +0,0 @@ -getCompareLinkBlock()->getQtyInCompareList(); - - \PHPUnit\Framework\Assert::assertEquals( - $productQty, - $qtyOnPage, - 'Qty is not correct in "Compare Products" link.' - ); - - $compareProductUrl = '/catalog/product_compare/'; - \PHPUnit\Framework\Assert::assertTrue( - strpos($cmsIndex->getLinksBlock()->getLinkUrl('Compare Products'), $compareProductUrl) !== false, - 'Compare product link isn\'t lead to Compare Product Page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return '"Compare Products..." link on top menu of page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLinkIsAbsent.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLinkIsAbsent.php deleted file mode 100644 index 8942909176f95..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareItemsLinkIsAbsent.php +++ /dev/null @@ -1,44 +0,0 @@ -getLinksBlock()->isLinkVisible("Compare Products"), - 'The link "Compare Products..." is visible at the top of page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'The link is NOT visible at the top of page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductComparePage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductComparePage.php deleted file mode 100644 index 6ec9900a4cac9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductComparePage.php +++ /dev/null @@ -1,97 +0,0 @@ - 'SKU', - 'description' => 'Description', - 'short_description' => 'Short Description', - ]; - - /** - * Assert that "Compare Product" Storefront page contains added Products with expected Attribute values: - * - Name - * - Price - * - SKU - * - Description (if exists, else text "No") - * - Short Description (if exists, else text "No") - * - * @param array $products - * @param CatalogProductCompare $comparePage - * @param CmsIndex $cmsIndex - * @return void - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function processAssert( - array $products, - CatalogProductCompare $comparePage, - CmsIndex $cmsIndex - ) { - $cmsIndex->open(); - $cmsIndex->getLinksBlock()->openLink("Compare Products"); - foreach ($products as $key => $product) { - foreach ($this->attributeProduct as $attributeKey => $attribute) { - $value = $attribute; - $attribute = is_numeric($attributeKey) ? $attribute : $attributeKey; - - $expectedAttributeValue = $attribute != 'price' - ? ($product->hasData($attribute) - ? $product->getData($attribute) - : 'N/A') - : ($product->getDataFieldConfig('price')['source']->getPriceData() !== null - ? $product->getDataFieldConfig('price')['source']->getPriceData()['compare_price'] - : number_format($product->getPrice(), $this->priceFormat)); - - $attribute = is_numeric($attributeKey) ? 'info' : 'attribute'; - $attribute = ucfirst($attribute); - $actualAttributeValue = - $comparePage->getCompareProductsBlock()->{'getProduct' . $attribute}($key + 1, $value); - - \PHPUnit\Framework\Assert::assertEquals( - $expectedAttributeValue, - $actualAttributeValue, - 'Product "' . $product->getName() . '" has "' . $attribute . '" value different from fixture one.' - ); - } - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return '"Compare Product" page has valid data for all products.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareRemoveLastProductMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareRemoveLastProductMessage.php deleted file mode 100644 index cfbeeb9674480..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareRemoveLastProductMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -open(); - $actualMessage = $comparePage->getCompareProductsBlock()->getEmptyMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'After removing last product the message appears on "Compare Products" page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessAddMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessAddMessage.php deleted file mode 100644 index 6aad328eb60d3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessAddMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -getName()); - $actualMessage = $catalogProductView->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $successMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $successMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product has been added compare products list.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveAllProductsMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveAllProductsMessage.php deleted file mode 100644 index 704743730242b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveAllProductsMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Compare Product success message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveMessage.php deleted file mode 100644 index 0c39a1e616587..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCompareSuccessRemoveMessage.php +++ /dev/null @@ -1,44 +0,0 @@ -getName()); - $actualMessage = $catalogProductCompare->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals($successMessage, $actualMessage, 'Wrong success message is displayed.'); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product has been removed from compare products list.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCrossSells.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCrossSells.php deleted file mode 100644 index 1bacce69a1708..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCrossSells.php +++ /dev/null @@ -1,71 +0,0 @@ -hasData('cross_sell_products') - ? $product->getDataFieldConfig('cross_sell_products')['source']->getProducts() - : []; - } - - $checkoutCart->open(); - $checkoutCart->getCartBlock()->clearShoppingCart(); - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->addToCart($product); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $checkoutCart->open(); - foreach ($promotedProducts as $promotedProduct) { - if (!$checkoutCart->getCrosssellBlock()->getProductItem($promotedProduct)->isVisible()) { - $errors[] = 'Product \'' . $promotedProduct->getName() - . '\' is absent in cross-sell section of a product \'' . $product->getName() . '\'.'; - } - } - - \PHPUnit\Framework\Assert::assertEmpty($errors, implode(" ", $errors)); - } - - /** - * Text success product is displayed in cross-sell section. - * - * @return string - */ - public function toString() - { - return 'Product is displayed in cross-sell section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsErrors.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsErrors.php deleted file mode 100644 index 34531d7ee1021..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsErrors.php +++ /dev/null @@ -1,47 +0,0 @@ -getData('custom_options') as $option) { - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getCustomOptionsBlock()->isJsMessageVisible($option['title']), - 'Required Custom Option ' . $option['title'] . " doesn't contain JS validation error." - ); - } - } - } - - /** - * Assert success message that every required product's Custom Option contains JS validation error. - * - * @return string - */ - public function toString() - { - return "Every required product's Custom Option contains JS validation error."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsOnProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsOnProductPage.php deleted file mode 100644 index 4537aa194060c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductCustomOptionsOnProductPage.php +++ /dev/null @@ -1,256 +0,0 @@ - [ - 'price_type', - 'sku', - ], - 'Text/Area' => [ - 'price_type', - 'sku', - ], - 'Select/Drop-down' => [ - 'price_type', - 'sku', - ], - 'File/File' => [ - 'price_type', - 'sku', - ], - 'Select/Radio Buttons' => [ - 'price_type', - 'sku', - ], - 'Select/Checkbox' => [ - 'price_type', - 'sku', - ], - 'Select/Multiple Select' => [ - 'price_type', - 'sku', - ], - 'Date/Date' => [ - 'price_type', - 'sku', - ], - 'Date/Date & Time' => [ - 'price_type', - 'sku', - ], - 'Date/Time' => [ - 'price_type', - 'sku', - ], - ]; - - /** - * Flag for verify price data - * - * @var bool - */ - protected $isPrice = true; - - /** - * Assertion that commodity options are displayed correctly - * - * @param CatalogProductView $catalogProductView - * @param FixtureInterface $product - * @param BrowserInterface $browser - * @return void - */ - public function processAssert( - CatalogProductView $catalogProductView, - FixtureInterface $product, - BrowserInterface $browser - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $actualPrice = null; - if ($this->isPrice) { - $priceBlock = $catalogProductView->getViewBlock()->getPriceBlock(); - $specialPrice = $priceBlock->getSpecialPrice(); - $price = $priceBlock->getPrice(); - $actualPrice = $specialPrice ? $specialPrice : $price; - } - $fixtureCustomOptions = $this->prepareOptions($product, $actualPrice); - $formCustomOptions = $catalogProductView->getViewBlock()->getOptions($product)['custom_options']; - $error = $this->verifyData($fixtureCustomOptions, $formCustomOptions); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Preparation options before comparing - * - * @param FixtureInterface $product - * @param int|null $actualPrice - * @return array - */ - protected function prepareOptions(FixtureInterface $product, $actualPrice = null) - { - $result = []; - $customOptions = $product->hasData('custom_options') - ? $product->getDataFieldConfig('custom_options')['source']->getCustomOptions() - : []; - $actualPrice = $actualPrice ?: $product->getPrice(); - foreach ($customOptions as $customOption) { - $result = $this->prepareEachCustomOption($actualPrice, $customOption, $result); - } - return $result; - } - - /** - * Verify fixture and form data - * - * @param array $fixtureData - * @param array $formData - * @param bool $isStrict - * @param bool $isPrepareError - * @return array|string - */ - protected function verifyData(array $fixtureData, array $formData, $isStrict = false, $isPrepareError = true) - { - $errors = []; - foreach ($fixtureData as $key => $value) { - if (in_array($key, $this->skippedFields, true)) { - continue; - } - $formValue = isset($formData[$key]) ? $formData[$key] : null; - $errors = $this->verifyDataForErrors($formValue, $key, $errors, $value); - } - return $this->prepareErrorsForOutput($fixtureData, $formData, $isStrict, $isPrepareError, $errors); - } - - /** - * Checks data for not equal values error - * - * @param array|string $value - * @param array|string $formValue - * @param string $key - * @return string - */ - private function checkNotEqualValuesErrors($value, $formValue, $key) - { - /** - * It is needed because sorting in db begins from 1, but when selenium driver gets value from form it starts - * calculate from 0. So this operation checks this case - */ - if ((int)$value === (int)$formValue + 1) { - return ''; - } - if (is_array($value)) { - $value = $this->arrayToString($value); - } - if (is_array($formValue)) { - $formValue = $this->arrayToString($formValue); - } - return sprintf('- %s: "%s" instead of "%s"', $key, $formValue, $value); - } - - /** - * Prepare errors data to output - * - * @param array $fixtureData - * @param array $formData - * @param $isStrict - * @param $isPrepareError - * @param $errors - * @return array|string - */ - private function prepareErrorsForOutput(array $fixtureData, array $formData, $isStrict, $isPrepareError, $errors) - { - if ($isStrict) { - $diffData = array_diff(array_keys($formData), array_keys($fixtureData)); - if ($diffData) { - $errors[] = '- fields ' . implode(', ', $diffData) . ' is absent in fixture'; - } - } - if ($isPrepareError) { - return $this->prepareErrors($errors); - } - return $errors; - } - - /** - * Checks data for errors - * - * @param array|string $formValue - * @param string $key - * @param array $errors - * @param string $value - * @return array - */ - private function verifyDataForErrors($formValue, $key, $errors, $value) - { - if (is_numeric($formValue)) { - $formValue = (float)$formValue; - } - if (null === $formValue) { - $errors[] = '- field "' . $key . '" is absent in form'; - } elseif (is_array($value) && is_array($formValue)) { - $valueErrors = $this->verifyData($value, $formValue, true, false); - if (!empty($valueErrors)) { - $errors[$key] = $valueErrors; - } - } elseif ($value != $formValue) { - $notEqualValuesErrors = $this->checkNotEqualValuesErrors($value, $formValue, $key); - if ($notEqualValuesErrors) { - $errors[] = $notEqualValuesErrors; - } - } - return $errors; - } - - /** - * @param $actualPrice - * @param $customOption - * @param $result - * @return array - */ - private function prepareEachCustomOption($actualPrice, $customOption, $result) - { - $skippedField = isset($this->skippedFieldOptions[$customOption['type']]) - ? $this->skippedFieldOptions[$customOption['type']] - : []; - foreach ($customOption['options'] as &$option) { - // recalculate percent price - if ('Percent' == $option['price_type']) { - $option['price'] = ($actualPrice * $option['price']) / 100; - $option['price'] = round($option['price'], 2); - } - - $option = array_diff_key($option, array_flip($skippedField)); - } - $result[$customOption['title']] = $customOption; - return $result; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Value of custom option on the page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateForm.php deleted file mode 100644 index d5cf5d918817d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateForm.php +++ /dev/null @@ -1,132 +0,0 @@ - [ - 'decimals' => 2, - 'dec_point' => '.', - 'thousands_sep' => '', - ], - 'qty' => [ - 'decimals' => 4, - 'dec_point' => '.', - 'thousands_sep' => '', - ], - 'weight' => [ - 'decimals' => 4, - 'dec_point' => '.', - 'thousands_sep' => '', - ], - ]; - - /** - * Assert form data equals fixture data. - * - * @param FixtureInterface $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - FixtureInterface $product, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $filter = ['sku' => $product->getSku() . '-1']; - $productGrid->open()->getProductGrid()->searchAndOpen($filter); - - $formData = $productPage->getProductForm()->getData($product); - $fixtureData = $this->prepareFixtureData($product->getData()); - - $errors = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Prepares fixture data for comparison. - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFixtureData(array $data, array $sortFields = []) - { - $compareData = array_filter($data); - - array_walk_recursive( - $compareData, - function (&$item, $key, $formattingOptions) { - if (isset($formattingOptions[$key])) { - $item = number_format( - $item, - $formattingOptions[$key]['decimals'], - $formattingOptions[$key]['dec_point'], - $formattingOptions[$key]['thousands_sep'] - ); - } - }, - $this->formattingOptions - ); - - if (isset($compareData['status'])) { - $compareData['status'] = 'No'; - } - if (isset($compareData['quantity_and_stock_status']['qty'])) { - $compareData['quantity_and_stock_status']['qty'] = ''; - $compareData['quantity_and_stock_status']['is_in_stock'] = 'Out of Stock'; - } - if (isset($compareData['special_price'])) { - $compareData['special_price'] = ['special_price' => $compareData['special_price']]; - } - $compareData['sku'] .= '-1'; - $compareData['url_key'] = $this->prepareUrlKey($compareData['url_key']); - - return parent::prepareFixtureData($compareData, $sortFields); - } - - /** - * Prepare url key. - * - * @param string $urlKey - * @return string - */ - protected function prepareUrlKey($urlKey) - { - preg_match("~\d+$~", $urlKey, $matches); - $key = (int)$matches[0] + 1; - return str_replace($matches[0], $key, $urlKey); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Form data equals to fixture data of duplicated product.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateIsNotDisplayingOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateIsNotDisplayingOnFrontend.php deleted file mode 100644 index e9449756464b0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicateIsNotDisplayingOnFrontend.php +++ /dev/null @@ -1,39 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertContains( - self::DUPLICATE_MESSAGE, - $actualMessages, - 'Wrong duplicated message is displayed.' - . "\nExpected: " . self::DUPLICATE_MESSAGE - . "\nActual:\n" . implode("\n - ", $actualMessages) - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product duplicated message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicatedInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicatedInGrid.php deleted file mode 100644 index d63f0b4e61600..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductDuplicatedInGrid.php +++ /dev/null @@ -1,58 +0,0 @@ -getDataConfig(); - $filter = [ - 'name' => $product->getName(), - 'visibility' => $product->getVisibility(), - 'status' => 'Disabled', - 'sku' => $product->getSku() . '-1', - 'type' => ucfirst($config['create_url_params']['type']) . ' Product', - 'price_to' => number_format($product->getPrice(), 2), - ]; - - $productGrid->open() - ->getProductGrid() - ->search($filter); - - $filter['price_to'] = '$' . $filter['price_to']; - \PHPUnit\Framework\Assert::assertTrue( - $productGrid->getProductGrid()->isRowVisible($filter, false), - 'Product duplicate is absent in Products grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'The product has been successfully found, according to the filters.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductForm.php deleted file mode 100644 index 4f8c55a3b0264..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductForm.php +++ /dev/null @@ -1,148 +0,0 @@ - $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - - $productData = $product->getData(); - if ($product->hasData('custom_options')) { - $customOptionsSource = $product->getDataFieldConfig('custom_options')['source']; - $productData['custom_options'] = $customOptionsSource->getCustomOptions(); - } - $fixtureData = $this->prepareFixtureData($productData, $this->sortFields); - $formData = $this->prepareFormData($productPage->getProductForm()->getData($product), $this->sortFields); - $error = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertTrue(empty($error), $error); - } - - /** - * Prepares fixture data for comparison - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFixtureData(array $data, array $sortFields = []) - { - $data = array_diff_key($data, array_flip($this->skippedFixtureFields)); - - if (isset($data['website_ids']) && !is_array($data['website_ids'])) { - $data['website_ids'] = [$data['website_ids']]; - } - - if (!empty($this->specialArray)) { - $data = $this->prepareSpecialPriceArray($data); - } - - if (isset($data['price'])) { - $data['price'] = number_format($data['price'], 2); - } - - foreach ($sortFields as $path) { - $data = $this->sortDataByPath($data, $path); - } - - return $data; - } - - /** - * Prepare special price array for product - * - * @param array $fields - * @return array - */ - protected function prepareSpecialPriceArray(array $fields) - { - foreach ($this->specialArray as $key => $value) { - if (array_key_exists($key, $fields)) { - if (isset($value['type']) && $value['type'] == 'date') { - $fields[$key] = vsprintf('%d/%d/%d', explode('/', $fields[$key])); - } - } - } - return $fields; - } - - /** - * Prepares form data for comparison - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFormData(array $data, array $sortFields = []) - { - foreach ($sortFields as $path) { - $data = $this->sortDataByPath($data, $path); - } - - return $data; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Form data equal the fixture data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductFormattingTierPrice.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductFormattingTierPrice.php deleted file mode 100644 index cd183fbf40049..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductFormattingTierPrice.php +++ /dev/null @@ -1,43 +0,0 @@ -getProductForm()->openSection('advanced-pricing'); - $productPage->getAdvancedPrice()->getFieldsData([]); - $productPage->getAdvancedPrice()->getTierPriceForm()->waitTierPriceFormLocks(); - \PHPUnit\Framework\Assert::assertFalse( - $productPage->getAdvancedPrice()->getTierPriceForm()->isVisible(), - 'Advanced price form still visible' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Advanced price formatting correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductGridIsRendered.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductGridIsRendered.php deleted file mode 100644 index 6d83c0e45639a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductGridIsRendered.php +++ /dev/null @@ -1,39 +0,0 @@ -open()->getProductGrid()->getFirstItemId(); - \PHPUnit\Framework\Assert::assertNotNull( - $productId, - 'Product grid is not rendered correctly.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product grid is rendered correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductHasImageInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductHasImageInGrid.php deleted file mode 100644 index 1343505a1cbd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductHasImageInGrid.php +++ /dev/null @@ -1,44 +0,0 @@ - $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->search($filter); - $src = $productGrid->getProductGrid()->getBaseImageAttribute('src'); - \PHPUnit\Framework\Assert::assertTrue( - strpos($src, '/placeholder/') === false, - 'Product image is not present in product grid when it should be' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product image is displayed in product grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCart.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCart.php deleted file mode 100644 index 6f75741e8c753..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCart.php +++ /dev/null @@ -1,171 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->fillOptions($product); - $catalogProductView->getViewBlock()->clickAddToCart(); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - // Check price - $this->countPrices($product, $checkoutCart); - \PHPUnit\Framework\Assert::assertEquals( - $this->fixtureActualPrice, - $this->formPrice, - 'Product price in shopping cart is not correct.' - ); - } - - /** - * Count prices. - * - * @param FixtureInterface $product - * @param CheckoutCart $checkoutCart - * @return void - */ - protected function countPrices(FixtureInterface $product, CheckoutCart $checkoutCart) - { - /** @var CatalogProductSimple $product */ - $this->fixturePrice = $product->getPrice(); - $this->prepareFormPrice($product, $checkoutCart); - $this->countSpecialPrice($product); - $this->countCheckoutCartItemPrice($product); - $this->countCustomOptionsPrice($product); - } - - /** - * Count count special price. - * - * @param FixtureInterface $product - * @return void - */ - protected function countSpecialPrice(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $specialPrice = $product->getSpecialPrice(); - if ($specialPrice) { - $this->fixturePrice = $product->getSpecialPrice(); - } - } - - /** - * Prepare form price. - * - * @param FixtureInterface $product - * @param CheckoutCart $checkoutCart - * @return void - */ - protected function prepareFormPrice(FixtureInterface $product, CheckoutCart $checkoutCart) - { - $checkoutCart->open(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - $this->formPrice = $cartItem->getPrice(); - } - - /** - * Count cart item price. - * - * @param FixtureInterface $product - * @return void - */ - protected function countCheckoutCartItemPrice(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $checkoutData = $product->getCheckoutData(); - $checkoutCartItem = isset($checkoutData['cartItem']) ? $checkoutData['cartItem'] : []; - if (isset($checkoutCartItem['price'])) { - $this->fixturePrice = $checkoutCartItem['price']; - } - $this->fixtureActualPrice = $this->fixturePrice; - } - - /** - * Count custom options price. - * - * @param FixtureInterface $product - * @return void - */ - protected function countCustomOptionsPrice(FixtureInterface $product) - { - /** @var CatalogProductSimple $product */ - $customOptions = $product->getCustomOptions(); - $checkoutData = $product->getCheckoutData(); - $checkoutCustomOptions = isset($checkoutData['options']['custom_options']) - ? $checkoutData['options']['custom_options'] - : []; - foreach ($checkoutCustomOptions as $checkoutOption) { - $attributeKey = str_replace('attribute_key_', '', $checkoutOption['title']); - $optionKey = str_replace('option_key_', '', $checkoutOption['value']); - $option = $customOptions[$attributeKey]['options'][$optionKey]; - - if ('Fixed' == $option['price_type']) { - $this->fixtureActualPrice += $option['price']; - } else { - $this->fixtureActualPrice += ($this->fixturePrice / 100) * $option['price']; - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is correctly displayed in cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategory.php deleted file mode 100644 index 95cfb8374d676..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategory.php +++ /dev/null @@ -1,93 +0,0 @@ -getName(); - if ($product->hasData('category_ids')) { - $categoryIds = $product->getCategoryIds(); - $categoryName = is_array($categoryIds) ? reset($categoryIds) : $categoryName; - } - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - - \PHPUnit\Framework\Assert::assertTrue( - $isProductVisible, - 'Product is absent on category page.' - ); - - //Process price asserts - $this->assertPrice($product, $catalogCategoryView); - } - - /** - * Verify product price on category view page. - * - * @param FixtureInterface $product - * @param CatalogCategoryView $catalogCategoryView - * @return void - */ - protected function assertPrice(FixtureInterface $product, CatalogCategoryView $catalogCategoryView) - { - $priceBlock = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - - \PHPUnit\Framework\Assert::assertEquals( - number_format($product->getPrice(), 2, '.', ''), - $priceBlock->isOldPriceVisible() ? $priceBlock->getOldPrice() : $priceBlock->getPrice(), - 'Product regular price on category page is not correct.' - ); - - if ($product->hasData('special_price')) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($product->getSpecialPrice(), 2, '.', ''), - $priceBlock->getSpecialPrice(), - 'Product special price on category page is not correct.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product price on category page correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategoryOnCustomWebsite.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategoryOnCustomWebsite.php deleted file mode 100644 index 696a286cb235a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategoryOnCustomWebsite.php +++ /dev/null @@ -1,63 +0,0 @@ -getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $storeGroup = $store->getDataFieldConfig('group_id')['source']->getStoreGroup(); - $website = $storeGroup->getDataFieldConfig('website_id')['source']->getWebsite(); - $browser->open( - $_ENV['app_frontend_url'] . 'websites/' . $website->getCode() . '/' . $category->getUrlKey() . '.html' - ); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - - \PHPUnit\Framework\Assert::assertTrue( - $isProductVisible, - 'Product is absent on the category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is present on the category page on the custom website.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCustomStoreView.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCustomStoreView.php deleted file mode 100644 index 5c5306e286c92..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCustomStoreView.php +++ /dev/null @@ -1,116 +0,0 @@ -browser = $browser; - $this->cmsIndexPage = $cmsIndexPage; - $this->productViewPage = $catalogProductView; - - $this->verifyProductOnMainStore($initialProduct); - $this->verifyProductOnCustomStore($product, $store); - } - - /** - * Verify product name in default store view. - * - * @param FixtureInterface $initialProduct - * @return void - */ - protected function verifyProductOnMainStore(FixtureInterface $initialProduct) - { - $this->browser->open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - $initialProduct->getName(), - $this->productViewPage->getViewBlock()->getProductName(), - 'Product ' . $initialProduct->getName() . ' is incorrect.' - ); - } - - /** - * Verify product name in custom store view. - * - * @param FixtureInterface $updatedProduct - * @param Store $store - * @return void - */ - protected function verifyProductOnCustomStore(FixtureInterface $updatedProduct, Store $store) - { - $this->cmsIndexPage->getStoreSwitcherBlock()->selectStoreView($store->getName()); - $this->cmsIndexPage->getLinksBlock()->waitWelcomeMessage(); - - $this->browser->open($_ENV['app_frontend_url'] . $updatedProduct->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - $updatedProduct->getName(), - $this->productViewPage->getViewBlock()->getProductName(), - 'Product ' . $updatedProduct->getName() . ' is not available on ' . $store->getName() . ' store.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is displayed correctly in default and custom store views.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInGrid.php deleted file mode 100644 index a55c781cfb828..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInGrid.php +++ /dev/null @@ -1,86 +0,0 @@ -product = $product; - $productIndex->open(); - $productIndex->getProductGrid()->resetFilter(); - \PHPUnit\Framework\Assert::assertTrue( - $productIndex->getProductGrid()->isRowVisible($this->prepareFilter()), - 'Product \'' . $this->product->getName() . '\' is absent in Products grid.' - ); - } - - /** - * Prepare filter for product grid. - * - * @return array - */ - protected function prepareFilter() - { - $productStatus = ($this->product->getStatus() === null || $this->product->getStatus() === 'Yes') - ? 'Enabled' - : 'Disabled'; - $filter = [ - 'type' => $this->getProductType(), - 'sku' => $this->product->getSku(), - 'status' => $productStatus, - ]; - if ($this->product->hasData('attribute_set_id')) { - $filter['set_name'] = $this->product->getAttributeSetId(); - } - - return $filter; - } - - /** - * Get product type. - * - * @return string - */ - protected function getProductType() - { - $config = $this->product->getDataConfig(); - - return ucfirst($config['type_id']) . ' Product'; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is present in products grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInStock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInStock.php deleted file mode 100644 index 8bc552a0b00cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInStock.php +++ /dev/null @@ -1,55 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - self::STOCK_AVAILABILITY, - $catalogProductView->getViewBlock()->stockAvailability(), - 'Control "' . self::STOCK_AVAILABILITY . '" is not visible.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'In stock control is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMaxAllowedQty.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMaxAllowedQty.php deleted file mode 100644 index fadd9e1476334..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMaxAllowedQty.php +++ /dev/null @@ -1,72 +0,0 @@ -open()->getCartBlock()->clearShoppingCart(); - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->waitLoader(); - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart($maxQty * 2); - \PHPUnit\Framework\Assert::assertEquals( - sprintf($this->errorMessage, $maxQty), - $catalogProductView->getViewBlock()->getQtyErrorMessage(), - 'The maximum purchase warning message is not appears.' - ); - - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart($maxQty); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getMessagesBlock()->waitSuccessMessage(), - 'Limiting max qty is not working correctly.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Limiting max qty is working correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMinAllowedQty.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMinAllowedQty.php deleted file mode 100644 index 8c0831578473b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryMinAllowedQty.php +++ /dev/null @@ -1,72 +0,0 @@ -open()->getCartBlock()->clearShoppingCart(); - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->waitLoader(); - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart(1); - \PHPUnit\Framework\Assert::assertEquals( - sprintf($this->errorMessage, $minQty), - $catalogProductView->getViewBlock()->getQtyErrorMessage(), - 'The minimum purchase warning message is not appears.' - ); - - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart($minQty); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getMessagesBlock()->waitSuccessMessage(), - 'Limiting min qty is not working correctly.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Limiting min qty is working correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryThreshold.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryThreshold.php deleted file mode 100644 index 260fcbbbc43d7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInventoryThreshold.php +++ /dev/null @@ -1,96 +0,0 @@ -buyProduct($fixtureFactory, $product, $thresholdItem['qty']); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $isThresholdMessageDisplayed = $catalogProductView->getViewBlock() - ->isThresholdMessageDisplayed($browser, $product); - \PHPUnit\Framework\Assert::assertEquals( - $isThresholdMessageDisplayed, - $thresholdItem['is_message_displayed'], - 'Product inventory threshold message display is not correct.' - ); - if ($thresholdItem['is_message_displayed']) { - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, $thresholdItem['expected']), - $catalogProductView->getViewBlock()->getThresholdMessage(), - 'Product inventory success message is not displayed.' - ); - } - } - } - - /** - * Creates an order with product. - * - * @param FixtureFactory $fixtureFactory - * @param FixtureInterface $product - * @param int $qty - * @return void - */ - private function buyProduct(FixtureFactory $fixtureFactory, FixtureInterface $product, $qty) - { - $newProduct = $fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => ['sku' => $product->getSku(), 'checkout_data' => ['qty' => $qty]]] - ); - $order = $fixtureFactory->createByCode('orderInjectable', [ - 'dataset' => 'guest', - 'data' => [ - 'entity_id' => [ - 'products' => [$newProduct] - ] - ] - ]); - $order->persist(); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product inventory threshold message display is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotDisplayingOnFrontend.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotDisplayingOnFrontend.php deleted file mode 100644 index 4a4e3ae368a4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotDisplayingOnFrontend.php +++ /dev/null @@ -1,160 +0,0 @@ -browser = $browser; - $this->catalogProductView = $catalogProductView; - $this->catalogSearchResult = $catalogSearchResult; - $this->catalogCategoryView = $catalogCategoryView; - $this->cmsIndex = $cmsIndex; - $this->category = $category; - $products = is_array($product) ? $product : [$product]; - $errors = []; - foreach ($products as $product) { - $errors = array_merge($errors, $this->isNotDisplayingOnFrontendAssert($product)); - } - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "In the process of checking product availability on the frontend, found the following errors:\n" - . implode("\n", $errors) - ); - } - - /** - * Verify product displaying on frontend - * - * @param FixtureInterface $product - * @return array - */ - protected function isNotDisplayingOnFrontendAssert(FixtureInterface $product) - { - $errors = []; - // Check the product page is not available - // TODO fix initialization url for frontend page - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $titleBlock = $this->catalogProductView->getTitleBlock(); - - if ($titleBlock->getTitle() !== self::NOT_FOUND_MESSAGE) { - $errors[] = '- the headline on the page does not match, the text should be -> "' - . self::NOT_FOUND_MESSAGE . '".'; - } - - $this->cmsIndex->open(); - $this->cmsIndex->getSearchBlock()->search($product->getSku()); - if ($this->catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible()) { - $errors[] = '- successful product search.'; - } - - $categoryName = ($product->hasData('category_ids')) - ? $product->getCategoryIds()[0] - : $this->category->getName(); - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - $isProductVisible = $this->catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $this->catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $this->catalogCategoryView->getListProductBlock() - ->getProductItem($product)->isVisible(); - } - - if ($isProductVisible) { - $errors[] = "- product with name '{$product->getName()}' is found in this category."; - } - - return $errors; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Assertion that the product is not available on the pages of the frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInCompareBlock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInCompareBlock.php deleted file mode 100644 index bebddf6078965..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInCompareBlock.php +++ /dev/null @@ -1,64 +0,0 @@ -open(); - $cmsIndex->getLinksBlock()->openLink("My Account"); - $compareBlock = $customerAccountIndex->getCompareProductsBlock(); - - if (($countProducts > 1) && ($product !== null)) { - \PHPUnit\Framework\Assert::assertFalse( - $compareBlock->isProductVisibleInCompareBlock($product->getName()), - 'The product displays on Compare Products block on my account page.' - ); - } else { - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $compareBlock->getEmptyMessage(), - 'The product displays on Compare Products block on my account page.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'The message appears on Compare Products block on my account page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInComparePage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInComparePage.php deleted file mode 100644 index 0f81bc2660484..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotVisibleInComparePage.php +++ /dev/null @@ -1,61 +0,0 @@ -open(); - $compareBlock = $comparePage->getCompareProductsBlock(); - - if ($countProducts > 1) { - \PHPUnit\Framework\Assert::assertFalse( - $compareBlock->isProductVisibleInCompareBlock($product->getName()), - 'The product displays on Compare Products page.' - ); - } else { - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $compareBlock->getEmptyMessage(), - 'The product displays on Compare Products page.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Products is not displayed on Compare Products page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNameOnDifferentStoreViews.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNameOnDifferentStoreViews.php deleted file mode 100644 index 61861df34d2e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNameOnDifferentStoreViews.php +++ /dev/null @@ -1,60 +0,0 @@ -open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - foreach ($stores as $store) { - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($store->getName()); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $productNames[$store->getStoreId()], - $catalogProductView->getViewBlock()->getProductName(), - sprintf('Wrong product name is displayed for %s store view.', $store->getName()) - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product name is correct on the storefront'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNoImageInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNoImageInGrid.php deleted file mode 100644 index 9dd2e5d51aa34..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNoImageInGrid.php +++ /dev/null @@ -1,47 +0,0 @@ - $product->getSku()]; - $productGrid->open(); - $productGrid->getProductGrid()->search($filter); - $src = $productGrid->getProductGrid()->getBaseImageAttribute('src'); - \PHPUnit\Framework\Assert::assertTrue( - strpos($src, '/placeholder/') !== false, - 'Product image is displayed in product grid when it should not' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product image is not displayed in product grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotInGrid.php deleted file mode 100644 index 62472b6770a0a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ - $product->getSku(), 'name' => $product->getName()]; - $productGrid->open(); - \PHPUnit\Framework\Assert::assertFalse( - $productGrid->getProductGrid()->isRowVisible($filter), - "Product with sku \"{$filter['sku']}\" and name \"{$filter['name']}\" is attend in Products grid." - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Assertion that product is absent in products grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotSearchableBySku.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotSearchableBySku.php deleted file mode 100644 index 76132b93978d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotSearchableBySku.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - $cmsIndex->getSearchBlock()->search($product->getSku()); - \PHPUnit\Framework\Assert::assertFalse( - $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(), - 'Product was found by SKU.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Product is not searchable by SKU."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotVisibleInCategory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotVisibleInCategory.php deleted file mode 100644 index 3fb002dd1ff9f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotVisibleInCategory.php +++ /dev/null @@ -1,64 +0,0 @@ -getName() - : $product->getCategoryIds()[0]; - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - \PHPUnit\Framework\Assert::assertFalse( - $isProductVisible, - 'Product exists on category page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product is absent in the assigned category.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOnCustomWebsite.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOnCustomWebsite.php deleted file mode 100644 index 7e1fb8b4747f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOnCustomWebsite.php +++ /dev/null @@ -1,108 +0,0 @@ -browser = $browser; - $this->productViewPage = $catalogProductView; - - $this->verifyProductOnMainWebsite($product); - $this->verifyProductOnCustomWebsite($product); - } - - /** - * Verify Product is absent on Main Website. - * - * @param FixtureInterface $product - * @return void - */ - protected function verifyProductOnMainWebsite(FixtureInterface $product) - { - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $this->productViewPage->getTitleBlock()->getTitle(), - 'Product ' . $product->getName() . ' is available on Main Website, but should not.' - ); - } - - /** - * Verify Product is present on assigned custom websites. - * - * @param FixtureInterface $product - * @return void - */ - protected function verifyProductOnCustomWebsite(FixtureInterface $product) - { - $websites = $product->getDataFieldConfig('website_ids')['source']->getWebsites(); - foreach ($websites as $website) { - $this->browser->open( - $_ENV['app_frontend_url'] . 'websites/' . $website->getCode() . '/' . $product->getUrlKey() . '.html' - ); - - \PHPUnit\Framework\Assert::assertEquals( - $product->getName(), - $this->productViewPage->getViewBlock()->getProductName(), - 'Product ' . $product->getName() . ' is not available on ' . $website->getName() . ' website.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product on product view page displayed in appropriate Website.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOutOfStock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOutOfStock.php deleted file mode 100644 index b87cb80c5e95a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductOutOfStock.php +++ /dev/null @@ -1,54 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - self::STOCK_AVAILABILITY, - $catalogProductView->getViewBlock()->stockAvailability(), - 'Control \'' . self::STOCK_AVAILABILITY . '\' is not visible.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Out of stock control is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php deleted file mode 100644 index 245156cbeebc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php +++ /dev/null @@ -1,224 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $this->product = $product; - $this->pageView = $catalogProductView; - $this->productView = $catalogProductView->getViewBlock(); - - $errors = $this->verify(); - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "\nFound the following errors:\n" . implode(" \n", $errors) - ); - } - - /** - * Verify displayed product data on product page(front-end) equals passed from fixture - * - * @return array - */ - protected function verify() - { - $errors = []; - - $errors[] = $this->verifyName(); - $errors[] = $this->verifyPrice(); - $errors[] = $this->verifySpecialPrice(); - $errors[] = $this->verifySku(); - $errors[] = $this->verifyDescription(); - $errors[] = $this->verifyShortDescription(); - - return array_filter($errors); - } - - /** - * Verify displayed product name on Storefront product page equals to the passed from fixture - * - * @return string|null - */ - protected function verifyName() - { - $expectedName = $this->product->getName(); - try { - $actualName = $this->productView->getProductName(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - return "Could not find product '{$this->product->getName()}' name on the page.\n" . $e->getMessage(); - } - - if ($expectedName == $actualName) { - return null; - } - return "Product name on Storefront product '{$this->product->getName()}' page is unexpected. " - . "Actual: {$actualName}, expected: {$expectedName}."; - } - - /** - * Verify displayed product price on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyPrice() - { - if ($this->product->hasData('price') == false) { - return null; - } - - $priceBlock = $this->productView->getPriceBlock(); - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - $actualPrice = $priceBlock->isOldPriceVisible() ? $priceBlock->getOldPrice() : $priceBlock->getPrice(); - $expectedPrice = number_format($this->product->getPrice(), 2, '.', ''); - - if ($expectedPrice != $actualPrice) { - return "Displayed product price on Storefront product '{$this->product->getName()}' page is unexpected. " - . "Actual: {$actualPrice}, expected: {$expectedPrice}."; - } - return null; - } - - /** - * Verify displayed product special price on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifySpecialPrice() - { - if (!$this->product->hasData('special_price')) { - return null; - } - $expectedSpecialPrice = $this->product->getSpecialPrice(); - $expectedSpecialPrice = number_format($expectedSpecialPrice, 2); - $priceBlock = $this->productView->getPriceBlock($this->product); - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - $actualSpecialPrice = $priceBlock->getSpecialPrice(); - if ($expectedSpecialPrice == $actualSpecialPrice) { - return null; - } - return "Displayed product special price on Storefront product '{$this->product->getName()}' page is unexpected." - . "Actual: {$actualSpecialPrice}, expected: {$expectedSpecialPrice}."; - } - - /** - * Verify displayed product sku on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifySku() - { - $expectedSku = $this->product->getSku(); - try { - $actualSku = $this->productView->getProductSku(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - return "Could not find product {$this->product->getName()}' SKU on the page.\n" . $e->getMessage(); - } - - if ($expectedSku === null || $expectedSku == $actualSku) { - return null; - } - return "Displayed product SKU on Storefront product '{$this->product->getName()}' page is unexpected. " - . "Actual: {$actualSku}, expected: {$expectedSku}."; - } - - /** - * Verify displayed product description on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyDescription() - { - $expectedDescription = $this->product->getDescription(); - $actualDescription = $this->productView->getProductDescription(); - - if ($expectedDescription === null || $expectedDescription == $actualDescription) { - return null; - } - return "Displayed product description on Storefront product '{$this->product->getName()}' page is unexpected. " - . "Actual: {$actualDescription}, expected: {$expectedDescription}."; - } - - /** - * Verify displayed product short description on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyShortDescription() - { - $expected = $this->product->getShortDescription(); - $actual = $this->productView->getProductShortDescription(); - - if ($expected === null || $expected == $actual) { - return null; - } - return "Displayed short description on Storefront product '{$this->product->getName()}' page is unexpected. " - . "Actual: {$actual}, expected: {$expected}."; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product on product view page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPriceOnDifferentStoreViews.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPriceOnDifferentStoreViews.php deleted file mode 100644 index 5f7182af0ac32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPriceOnDifferentStoreViews.php +++ /dev/null @@ -1,58 +0,0 @@ -open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - foreach ($stores as $store) { - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($store->getName()); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - \PHPUnit\Framework\Assert::assertEquals( - '9.99', - $catalogProductView->getViewBlock()->getPriceBlock()->getPrice(), - sprintf('Wrong product price is displayed for %s store view.', $store->getName()) - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product name is correct on the storefront'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductRelatedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductRelatedProducts.php deleted file mode 100644 index 592044d30590f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductRelatedProducts.php +++ /dev/null @@ -1,64 +0,0 @@ -hasData('related_products') - ? $product->getDataFieldConfig('related_products')['source']->getProducts() - : []; - } - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - foreach ($promotedProducts as $promotedProduct) { - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getRelatedProductBlock()->getProductItem($promotedProduct)->isVisible(), - 'Product \'' . $promotedProduct->getName() - . '\' is absent in related products \'' . $product->getName() . '\'.' - ); - } - } - - /** - * Text success product is displayed in related products section. - * - * @return string - */ - public function toString() - { - return 'Product is displayed in related products section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSaveMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSaveMessage.php deleted file mode 100644 index d2b66d5b12524..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSaveMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertContains( - self::SUCCESS_MESSAGE, - $actualMessages, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual:\n" . implode("\n - ", $actualMessages) - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSearchableBySku.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSearchableBySku.php deleted file mode 100644 index 4c841969e2343..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSearchableBySku.php +++ /dev/null @@ -1,86 +0,0 @@ -open(); - $sku = ($product->hasData('sku') !== false) ? $product->getSku() : $product->getName(); - $cmsIndex->getSearchBlock()->search($sku); - - $quantityAndStockStatus = $product->getQuantityAndStockStatus(); - $stockStatus = isset($quantityAndStockStatus['is_in_stock']) - ? $quantityAndStockStatus['is_in_stock'] - : null; - - $isVisible = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isVisible && $catalogSearchResult->getBottomToolbar()->nextPage()) { - $isVisible = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - } - - if ($product->getVisibility() === 'Catalog' || $stockStatus === 'Out of Stock') { - $isVisible = !$isVisible; - list($this->errorMessage, $this->successfulMessage) = [$this->successfulMessage, $this->errorMessage]; - } - - \PHPUnit\Framework\Assert::assertTrue( - $isVisible, - $this->errorMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return $this->successfulMessage; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSimpleDuplicateForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSimpleDuplicateForm.php deleted file mode 100644 index e2be05e8fc7d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSimpleDuplicateForm.php +++ /dev/null @@ -1,18 +0,0 @@ - $product->getName()]; - $productGrid->open(); - \PHPUnit\Framework\Assert::assertTrue( - $productGrid->getProductGrid()->isRowVisible($filter), - 'SKU is not automatically generated for a product.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sku successfully generated.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSpecialPriceOnProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSpecialPriceOnProductPage.php deleted file mode 100644 index 18617f4795c24..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSpecialPriceOnProductPage.php +++ /dev/null @@ -1,86 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - //Process assertions - $this->assertPrice($product, $catalogProductView->getViewBlock()); - } - - /** - * Set $errorMessage for special price assert - * - * @param string $errorMessage - * @return void - */ - public function setErrorMessage($errorMessage) - { - $this->errorMessage = $errorMessage; - } - - /** - * Verify product special price on product view page - * - * @param FixtureInterface $product - * @param View $productViewBlock - * @return void - */ - public function assertPrice(FixtureInterface $product, View $productViewBlock) - { - $fields = $product->getData(); - $specialPrice = $productViewBlock->getPriceBlock($product)->getSpecialPrice(); - if (isset($fields['special_price'])) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($fields['special_price'], 2), - $specialPrice, - $this->errorMessage - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Assert that displayed special price on product page equals passed from fixture."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSuccessDeleteMessage.php deleted file mode 100644 index 02792b5d85728..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductSuccessDeleteMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $deleteMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $deleteMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Assertion that products success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceInCart.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceInCart.php deleted file mode 100644 index eda2705914b92..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceInCart.php +++ /dev/null @@ -1,129 +0,0 @@ -open(); - $checkoutCart->getCartBlock()->clearShoppingCart(); - // Add product to cart - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $requiredQty = $product->getDataFieldConfig('tier_price')['source']->getData()[0]['price_qty']; - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart($requiredQty); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - // Check price - $this->countPrices($product, $checkoutCart); - \PHPUnit\Framework\Assert::assertEquals( - $this->fixtureActualPrice, - $this->formPrice, - 'Product price in shopping cart is not correct.' - ); - } - - /** - * Count prices. - * - * @param FixtureInterface $product - * @param CheckoutCart $checkoutCart - * @return void - */ - private function countPrices(FixtureInterface $product, CheckoutCart $checkoutCart) - { - /** @var CatalogProductSimple $product */ - $this->fixturePrice = $product->getPrice(); - $this->prepareFormPrice($product, $checkoutCart); - $this->countCheckoutCartItemPrice($product); - } - - /** - * Prepare form price. - * - * @param FixtureInterface $product - * @param CheckoutCart $checkoutCart - * @return void - */ - private function prepareFormPrice(FixtureInterface $product, CheckoutCart $checkoutCart) - { - $checkoutCart->open(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - $this->formPrice = $cartItem->getPrice(); - } - - /** - * Count cart item price. - * - * @param FixtureInterface $product - * @return void - */ - private function countCheckoutCartItemPrice(FixtureInterface $product) - { - $tierPrice = $product->getDataFieldConfig('tier_price')['source']->getData()[0]; - - if ($tierPrice['value_type'] === "Discount") { - $this->fixtureActualPrice = $this->fixturePrice * (1 - $tierPrice['percentage_value'] / 100); - } else { - $this->fixtureActualPrice = $tierPrice['price']; - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is correctly displayed in cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPage.php deleted file mode 100644 index 233f8bea873d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPage.php +++ /dev/null @@ -1,107 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - //Process assertions - $this->assertPrice($product, $catalogProductView->getViewBlock()); - } - - /** - * Set $errorMessage for tier price assert - * - * @param string $errorMessage - * @return void - */ - public function setErrorMessage($errorMessage) - { - $this->errorMessage = $errorMessage; - } - - /** - * Verify product tier price on product view page - * - * @param FixtureInterface $product - * @param View $productViewBlock - * @return void - */ - public function assertPrice(FixtureInterface $product, View $productViewBlock) - { - $noError = true; - $match = []; - $index = 1; - $tierPrices = $product->getTierPrice(); - - foreach ($tierPrices as $tierPrice) { - $text = $productViewBlock->getTierPrices($index++); - $noError = (bool)preg_match('#^[^\d]+(\d+)[^\d]+(\d+(?:(?:,\d+)*)+(?:.\d+)*).*#i', $text, $match); - if (!$noError) { - break; - } - $tierPriceValue = isset($tierPrice['price']) ? $tierPrice['price'] : $tierPrice['percentage_value']; - if ($match[1] !== $tierPrice['price_qty'] - || $match[2] !== number_format($tierPriceValue, $this->priceFormat) - ) { - $noError = false; - break; - } - } - - \PHPUnit\Framework\Assert::assertTrue($noError, $this->errorMessage); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Tier price is displayed on the product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPageWithCustomer.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPageWithCustomer.php deleted file mode 100644 index ae18935ef3889..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTierPriceOnProductPageWithCustomer.php +++ /dev/null @@ -1,68 +0,0 @@ -persist(); - $this->loginCustomer($customer); - - $productTierPriceAssert = $this->objectManager->get( - \Magento\Catalog\Test\Constraint\AssertProductTierPriceOnProductPage::class - ); - $productTierPriceAssert->processAssert($browser, $catalogProductView, $product); - } - - /** - * Login customer - * - * @param Customer $customer - * - * @return void - */ - protected function loginCustomer($customer) - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Tier price is displayed on the product page for specific customer.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTypeOrderOnCreate.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTypeOrderOnCreate.php deleted file mode 100644 index 5b858f1de46f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductTypeOrderOnCreate.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - ksort($menu); - \PHPUnit\Framework\Assert::assertEquals( - implode("\n", $menu), - $catalogProductIndex->getGridPageActionBlock()->getTypeList(), - 'Order and filling of types on product page not equals to incoming data.' - ); - } - - /** - * Success message is displayed. - * - * @return string - */ - public function toString() - { - return 'Order and types of product on product page equals to incoming data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductUpSells.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductUpSells.php deleted file mode 100644 index f4ac8c12883db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductUpSells.php +++ /dev/null @@ -1,64 +0,0 @@ -hasData('up_sell_products') - ? $product->getDataFieldConfig('up_sell_products')['source']->getProducts() - : []; - } - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - foreach ($promotedProducts as $promotedProduct) { - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getUpsellBlock()->getProductItem($promotedProduct)->isVisible(), - 'Product \'' . $promotedProduct->getName() - . '\' is absent in up-sells products of a product \'' . $product->getName() . '\'.' - ); - } - } - - /** - * Text success product is displayed in up-sell section. - * - * @return string - */ - public function toString() - { - return 'Product is displayed in up-sell section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductView.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductView.php deleted file mode 100644 index 3f03eea70c383..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductView.php +++ /dev/null @@ -1,93 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - //Process assertions - $this->assertOnProductView($product, $catalogProductView); - } - - /** - * Assert data on the product view page - * - * @param CatalogProductSimple $product - * @param CatalogProductView $catalogProductView - * @return void - */ - protected function assertOnProductView(CatalogProductSimple $product, CatalogProductView $catalogProductView) - { - $viewBlock = $catalogProductView->getViewBlock(); - $price = $viewBlock->getPriceBlock()->getPrice(); - $name = $viewBlock->getProductName(); - $sku = $viewBlock->getProductSku(); - - \PHPUnit\Framework\Assert::assertEquals( - $product->getName(), - $name, - 'Product name on product view page is not correct.' - ); - \PHPUnit\Framework\Assert::assertEquals( - $product->getSku(), - $sku, - 'Product sku on product view page is not correct.' - ); - - if (isset($price['price_regular_price'])) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($product->getPrice(), 2), - $price['price_regular_price'], - 'Product regular price on product view page is not correct.' - ); - } - - $priceComparing = false; - if ($specialPrice = $product->getSpecialPrice()) { - $priceComparing = $specialPrice; - } - - if ($priceComparing && isset($price['price_special_price'])) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($priceComparing, 2), - $price['price_special_price'], - 'Product special price on product view page is not correct.' - ); - } - } - - /** - * Text of Visible in category assert - * - * @return string - */ - public function toString() - { - return 'Product data on product view page is not correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductViewBreadcrumbsCategory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductViewBreadcrumbsCategory.php deleted file mode 100644 index c44279e42edc0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductViewBreadcrumbsCategory.php +++ /dev/null @@ -1,76 +0,0 @@ -getDataFieldConfig('category_ids')['source']) - ? $product->getDataFieldConfig('category_ids')['source']->getCategories() - : []; - - if (!empty($categories)) { - /** @var Category $category */ - foreach ($categories as $category) { - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - - $productItem = $catalogCategoryView->getListProductBlock()->getProductItem($product); - \PHPUnit\Framework\Assert::assertTrue( - $productItem->isVisible(), - 'Product is not present in category.' - ); - - $productItem->open(); - // Ensure page is cached - $browser->refresh(); - - $breadcrumbs = $catalogProductView->getBreadcrumbs()->getCrumbs(); - - \PHPUnit\Framework\Assert::assertContains( - $category->getName(), - $breadcrumbs, - 'Product view page has incorrect breadcrumbs.' - ); - } - } - } - - /** - * @inheritdoc - */ - public function toString() - { - return 'Product has correct category in product view breadcrumbs.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductVisibleInCategory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductVisibleInCategory.php deleted file mode 100644 index 4a99a9aea5698..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductVisibleInCategory.php +++ /dev/null @@ -1,93 +0,0 @@ -hasData('category_ids') ? $product->getCategoryIds()[0] : $category->getName(); - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - - if (($product->getVisibility() === 'Search') || ($this->getStockStatus($product) === 'Out of Stock')) { - $isProductVisible = !$isProductVisible; - $this->errorMessage = 'Product found in this category.'; - $this->successfulMessage = 'Asserts that the product could not be found in this category.'; - } - - \PHPUnit\Framework\Assert::assertTrue( - $isProductVisible, - $this->errorMessage - ); - } - - /** - * Getting is in stock status - * - * @param FixtureInterface $product - * @return string|null - */ - protected function getStockStatus(FixtureInterface $product) - { - $quantityAndStockStatus = $product->getQuantityAndStockStatus(); - return isset($quantityAndStockStatus['is_in_stock']) ? $quantityAndStockStatus['is_in_stock'] : null; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return $this->successfulMessage; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsInStock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsInStock.php deleted file mode 100644 index ad4a3e02eed7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsInStock.php +++ /dev/null @@ -1,47 +0,0 @@ -processAssert($catalogProductView, $browser, $product); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'In stock control is visible for each product.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsOutOfStock.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsOutOfStock.php deleted file mode 100644 index 8ce7e94ce6fc1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsOutOfStock.php +++ /dev/null @@ -1,47 +0,0 @@ -processAssert($catalogProductView, $browser, $product); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All products have Out of Stock status.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsQtyAndStockStatusInAdminPanel.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsQtyAndStockStatusInAdminPanel.php deleted file mode 100644 index 6c9f2da9587c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductsQtyAndStockStatusInAdminPanel.php +++ /dev/null @@ -1,63 +0,0 @@ -open(['id' => $products[$i]->getId()]); - $productData = $catalogProductEdit->getProductForm()->getData($products[$i]); - - $expectedQtyAndStockStatus = [ - 'qty' => $expectedQty[$i], - 'stock_status' => $expectedStockStatus[$i] - ]; - - $actualQtyAndStockStatus['qty'] = $productData['quantity_and_stock_status']['qty']; - $actualQtyAndStockStatus['stock_status'] = - strtolower($productData['quantity_and_stock_status']['is_in_stock']); - - \PHPUnit\Framework\Assert::assertEquals( - $actualQtyAndStockStatus, - $expectedQtyAndStockStatus, - 'Expected and actual products qty and status are not equal.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Expected and actual products qty and status are equal.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertResetFilterMessage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertResetFilterMessage.php deleted file mode 100644 index 5a8f85c9bbc15..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertResetFilterMessage.php +++ /dev/null @@ -1,39 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - "Can't find proper message" - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Filters have been reset successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertSubCategoryNotInNavigationMenu.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertSubCategoryNotInNavigationMenu.php deleted file mode 100644 index 7281550ec0c2a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertSubCategoryNotInNavigationMenu.php +++ /dev/null @@ -1,48 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryView->getTopmenu()->isCategoryVisible($subcategory->getName()), - 'Expected that ' . $subcategory->getName() . ' is not visible in navigation menu.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Subcategory is not visible in navigation menu"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUpdatedProductStatusInGrid.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUpdatedProductStatusInGrid.php deleted file mode 100644 index 6a6ed7ca6f48f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUpdatedProductStatusInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -open(); - $productStatus = ($product->getStatus() === null || $product->getStatus() === 'Yes') - ? 'Enabled' - : 'Disabled'; - $filter = ['status' => $productStatus]; - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductIndex->getProductGrid()->isRowVisible($filter), - 'Product \'' . $product->getName() . '\' is absent in Products grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products are in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUsedSuperAttributeImpossibleDeleteMessages.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUsedSuperAttributeImpossibleDeleteMessages.php deleted file mode 100644 index ce6ee18373056..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertUsedSuperAttributeImpossibleDeleteMessages.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Wrong impossible to delete message is not displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Error delete message is present while deleting assigned configurable attribute.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Cart/Item.php deleted file mode 100644 index d150118e2e28b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,78 +0,0 @@ -product = $product; - } - - /** - * Return prepared dataset. - * - * @param null|string $key - * @return array - */ - public function getData($key = null) - { - $checkoutData = $this->product->getCheckoutData(); - $cartItem = isset($checkoutData['cartItem']) ? $checkoutData['cartItem'] : []; - $customOptions = $this->product->hasData('custom_options') ? $this->product->getCustomOptions() : []; - $checkoutCustomOptions = isset($checkoutData['options']['custom_options']) - ? $checkoutData['options']['custom_options'] - : []; - - foreach ($checkoutCustomOptions as $key => $checkoutCustomOption) { - $attribute = str_replace('attribute_key_', '', $checkoutCustomOption['title']); - $option = str_replace('option_key_', '', $checkoutCustomOption['value']); - - $checkoutCustomOptions[$key] = [ - 'title' => isset($customOptions[$attribute]['title']) - ? $customOptions[$attribute]['title'] - : $attribute, - 'value' => isset($customOptions[$attribute]['options'][$option]['title']) - ? $customOptions[$attribute]['options'][$option]['title'] - : $option, - ]; - } - - $cartItem['options'] = isset($cartItem['options']) - ? $cartItem['options'] + $checkoutCustomOptions - : $checkoutCustomOptions; - $cartItem['qty'] = isset($checkoutData['qty']) - ? $checkoutData['qty'] - : 1; - $cartItem['sku'] = $this->product->getSku(); - $cartItem['name'] = $this->product->getName(); - $this->data = $cartItem; - - return parent::getData($key); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml deleted file mode 100644 index aaf3718c875b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/AssignedAttributes.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/AssignedAttributes.php deleted file mode 100644 index 82087f9f5a312..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/AssignedAttributes.php +++ /dev/null @@ -1,68 +0,0 @@ -params = $params; - if (isset($data['dataset']) && is_string($data['dataset'])) { - $datasets = explode(',', $data['dataset']); - foreach ($datasets as $dataset) { - /** @var CatalogProductAttribute $attribute */ - $attribute = $fixtureFactory->createByCode('catalogProductAttribute', ['dataset' => $dataset]); - $attribute->persist(); - - $this->data[] = $attribute->getAttributeCode(); - $this->attributes[] = $attribute; - } - } elseif (isset($data['attributes']) && is_array($data['attributes'])) { - foreach ($data['attributes'] as $attribute) { - /** @var CatalogProductAttribute $attribute */ - $this->data[] = $attribute->getAttributeCode(); - $this->attributes[] = $attribute; - } - } else { - $this->data = $data; - } - } - - /** - * Get Attributes - * - * @return array - */ - public function getAttributes() - { - return $this->attributes; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/SkeletonSet.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/SkeletonSet.php deleted file mode 100644 index 4fb351d75709e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet/SkeletonSet.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - if (isset($data['dataset']) && $data['dataset'] !== '-') { - $parentSet = $fixtureFactory->createByCode('catalogAttributeSet', ['dataset' => $data['dataset']]); - if (!$parentSet->hasData('attribute_set_id')) { - $parentSet->persist(); - } - /** @var CatalogAttributeSet $parentSet */ - $this->data = $parentSet->getAttributeSetName(); - $this->attributeSet = $parentSet; - } - } - - /** - * Get Attribute Set - * - * @return array - */ - public function getAttributeSet() - { - return $this->attributeSet; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml deleted file mode 100644 index 63de9d61b8b57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml deleted file mode 100644 index 0e186a0d582eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - simple - - simple - 4 - - product - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/CustomAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/CustomAttribute.php deleted file mode 100644 index 4fd95648a4e45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/CustomAttribute.php +++ /dev/null @@ -1,99 +0,0 @@ -params = $params; - if (is_array($data) && isset($data['dataset'])) { - /** @var CatalogProductAttribute $data */ - $data = $fixtureFactory->createByCode('catalogProductAttribute', ['dataset' => $data['dataset']]); - } - if (is_array($data) && isset($data['value'])) { - $this->data['value'] = $data['value']; - $data = $data['attribute']; - } else { - $this->data['value'] = $this->getDefaultAttributeValue($data); - } - $this->data['code'] = $data->hasData('attribute_code') == false - ? $this->createAttributeCode($data) - : $data->getAttributeCode(); - $this->attribute = $data; - } - - /** - * Get default value of custom attribute considering to it's type. - * In case if default value isn't set for dropdown and multiselect return first option, for other types null. - * - * @param CatalogProductAttribute $attribute - * @return string|null - */ - private function getDefaultAttributeValue(CatalogProductAttribute $attribute) - { - $data = $attribute->getData(); - $value = ''; - if (isset($data['options'])) { - foreach ($data['options'] as $option) { - if (isset($option['is_default']) && $option['is_default'] == 'Yes') { - $value = $option['admin']; - } - } - if ($value == '') { - $value = $data['options'][0]['admin']; - } - } else { - $defaultValue = preg_grep('/^default_value/', array_keys($data)); - $value = !empty($defaultValue) ? $data[array_shift($defaultValue)] : null; - } - - return $value; - } - - /** - * Return CatalogProductAttribute fixture. - * - * @return CatalogProductAttribute - */ - public function getAttribute() - { - return $this->attribute; - } - - /** - * Get default attribute code according to attribute label. - * - * @param CatalogProductAttribute $attribute - * @return string - */ - private function createAttributeCode(CatalogProductAttribute $attribute) - { - $label = $attribute->getFrontendLabel(); - return strtolower(preg_replace('@[\W\s]+@', '_', $label)); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml deleted file mode 100644 index 0fb115558f8b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - virtual - - virtual - 4 - - product - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml deleted file mode 100644 index c5036555b6635..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/CategoryProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/CategoryProducts.php deleted file mode 100644 index 04b9ba251353d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/CategoryProducts.php +++ /dev/null @@ -1,62 +0,0 @@ -params = $params; - if (!empty($data['dataset']) && $data['dataset'] !== '-') { - $dataset = array_map('trim', explode(',', $data['dataset'])); - foreach ($dataset as $value) { - list($fixtureCode, $dataset) = explode('::', $value); - $this->products[] = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - } - } - if (isset($data['products'])) { - foreach ($data['products'] as $product) { - $this->products[] = $product; - } - } - foreach ($this->products as $product) { - if (!$product->hasData('id')) { - $product->persist(); - } - $this->data[] = $product->getName(); - } - } - - /**\ - * Return products. - * - * @return array - */ - public function getProducts() - { - return $this->products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/LandingPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/LandingPage.php deleted file mode 100644 index 3182ea9592c50..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/LandingPage.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - $this->data = $data; - - if (isset($data['dataset'])) { - /** @var CmsBlock $cmsBlock */ - $cmsBlock = $fixtureFactory->createByCode('cmsBlock', ['dataset' => $data['dataset']]); - if (!$cmsBlock->getBlockId()) { - $cmsBlock->persist(); - } - - $this->data = $cmsBlock->getTitle(); - $this->cmsBlock = $cmsBlock; - } - } - - /** - * Return Cms Block. - * - * @return CmsBlock - */ - public function getCmsBlock() - { - return $this->cmsBlock; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/ParentId.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/ParentId.php deleted file mode 100644 index 405c6cf3e280f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/ParentId.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - if (isset($data['dataset']) && $data['dataset'] !== '-') { - $this->parentCategory = $fixtureFactory->createByCode('category', ['dataset' => $data['dataset']]); - if (!$this->parentCategory->hasData('id')) { - $this->parentCategory->persist(); - } - $this->data = $this->parentCategory->getId(); - } elseif (isset($data['source']) && $data['source'] instanceof Category) { - $this->parentCategory = $data['source']; - $this->data = $data['source']->getId(); - } else { - $this->data = $data; - } - } - - /** - * Return entity. - * - * @return Category - */ - public function getParentCategory() - { - return $this->parentCategory; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/StoreId.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/StoreId.php deleted file mode 100644 index 21dd4f1aa7a78..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category/StoreId.php +++ /dev/null @@ -1,58 +0,0 @@ -params = $params; - - if (isset($data['dataset'])) { - $store = $fixtureFactory->createByCode('store', $data); - /** @var Store $store */ - if (!$store->getStoreId()) { - $store->persist(); - } - $this->store = $store; - $this->data = $store->getGroupId() . '/' . $store->getName(); - } else { - $this->data = $data; - } - } - - /** - * Return Store fixture. - * - * @return Store - */ - public function getStore() - { - return $this->store; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/AttributeSetId.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/AttributeSetId.php deleted file mode 100644 index b73a66f957c11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/AttributeSetId.php +++ /dev/null @@ -1,66 +0,0 @@ -params = $params; - if (isset($data['dataset']) && $data['dataset'] !== 'Default') { - /** @var CatalogAttributeSet $attributeSet */ - $attributeSet = $fixtureFactory->createByCode('catalogAttributeSet', ['dataset' => $data['dataset']]); - if (!$attributeSet->hasData('attribute_set_id')) { - $attributeSet->persist(); - } - } - if (isset($data['attribute_set']) && $data['attribute_set'] instanceof CatalogAttributeSet) { - $attributeSet = $data['attribute_set']; - } - if (!isset($data['dataset']) && !isset($data['attribute_set'])) { - $this->data = $data; - } else { - /** @var CatalogAttributeSet $attributeSet */ - $this->data = $attributeSet->getAttributeSetName(); - $this->attributeSet = $attributeSet; - } - } - - /** - * Return Attribute Set fixture. - * - * @return CatalogAttributeSet - */ - public function getAttributeSet() - { - return $this->attributeSet; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CategoryIds.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CategoryIds.php deleted file mode 100644 index 0abea33150837..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CategoryIds.php +++ /dev/null @@ -1,100 +0,0 @@ -params = $params; - - if (!empty($data['category']) - && empty($data['dataset']) - && $data['category'] instanceof Category - ) { - /** @var Category $category */ - $category = $data['category']; - if (!$category->hasData('id')) { - $category->persist(); - } - $this->data[] = $category->getName(); - $this->categories[] = $category; - } elseif (isset($data['dataset'])) { - $datasets = explode(',', $data['dataset']); - foreach ($datasets as $dataset) { - $category = $fixtureFactory->createByCode('category', ['dataset' => trim($dataset)]); - if (!isset($data['new_category']) || $data['new_category'] !== 'yes') { - $category->persist(); - } - - /** @var Category $category */ - $this->data[] = $category->getName(); - $this->categories[] = $category; - } - } else { - foreach ($data as $category) { - if ($category instanceof Category) { - if (!$category->hasData('id')) { - $category->persist(); - } - $this->data[] = $category->getName(); - $this->categories[] = $category; - } - } - } - } - - /** - * Return category array - * - * @return array - */ - public function getCategories() - { - return $this->categories; - } - - /** - * Get id of categories - * - * @return array - */ - public function getIds() - { - $ids = []; - foreach ($this->categories as $category) { - $ids[] = $category->getId(); - } - - return $ids; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CustomOptions.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CustomOptions.php deleted file mode 100644 index 0b18c3989e96b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/CustomOptions.php +++ /dev/null @@ -1,98 +0,0 @@ -params = $params; - $this->data = (!isset($data['dataset']) && !isset($data['import_products'])) ? $data : []; - $this->customOptions = $this->data; - - if (isset($data['dataset']) && isset($this->params['repository'])) { - $this->data = $repositoryFactory->get($this->params['repository'])->get($data['dataset']); - $this->data = $this->replaceData($this->data, random_int(0, PHP_INT_MAX)); - $this->customOptions = $this->data; - } - if (isset($data['import_products'])) { - $importData = explode(',', $data['import_products']); - $importCustomOptions = []; - $importProducts = []; - foreach ($importData as $item) { - list($fixture, $dataset) = explode('::', $item); - $product = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - if ($product->hasData('id') !== null) { - $product->persist(); - } - $importCustomOptions = array_merge($importCustomOptions, $product->getCustomOptions()); - $importProducts[] = $product->getSku(); - } - $this->customOptions = array_merge($this->data, $importCustomOptions); - $this->data['import'] = ['options' => $importCustomOptions, 'products' => $importProducts]; - } - } - - /** - * Replace custom options data. - * - * @param array $data - * @param int $replace - * @return array - */ - protected function replaceData(array $data, $replace) - { - $result = []; - foreach ($data as $key => $value) { - if (is_array($value)) { - $value = $this->replaceData($value, $replace); - } - $result[$key] = str_replace('%isolation%', $replace, $value); - } - - return $result; - } - - /** - * Return all custom options. - * - * @return array - */ - public function getCustomOptions() - { - return $this->customOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Image.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Image.php deleted file mode 100644 index 646a5d29393eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Image.php +++ /dev/null @@ -1,60 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->fixtureData = $data; - } - - /** - * {@inheritdoc} - * @throws \Exception - */ - public function getData($key = null) - { - foreach ($this->fixtureData as &$imageData) { - if (isset($imageData['file']) && file_exists(MTF_TESTS_PATH . $imageData['file'])) { - $imageData['file'] = MTF_TESTS_PATH . $imageData['file']; - } else { - throw new \Exception("Image '{$imageData['file']}'' not found on the server."); - } - } - $this->data = $this->fixtureData; - - return parent::getData($key); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Price.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Price.php deleted file mode 100644 index 7eb45e27c0deb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/Price.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - $this->data = (!isset($data['dataset']) && !isset($data['value'])) ? $data : null; - - if (isset($data['value'])) { - $this->data = $data['value']; - } - - if (isset($data['dataset']) && isset($this->params['repository'])) { - $this->priceData = $repositoryFactory->get($this->params['repository'])->get($data['dataset']); - } - } - - /** - * Get price data for different pages. - * - * @return array|null - */ - public function getPriceData() - { - return $this->priceData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/RelatedProducts.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/RelatedProducts.php deleted file mode 100644 index 30e79d586a783..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/RelatedProducts.php +++ /dev/null @@ -1,75 +0,0 @@ -params = $params; - - if (isset($data['dataset'])) { - $productsList = array_map('trim', explode(',', $data['dataset'])); - foreach ($productsList as $productData) { - list($fixtureCode, $dataset) = explode('::', $productData); - $this->products[] = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - } - } - if (isset($data['products'])) { - foreach ($data['products'] as $product) { - $this->products[] = $product; - } - } - - foreach ($this->products as $product) { - if (!$product->hasData('id')) { - $product->persist(); - } - - $this->data[] = [ - 'id' => $product->getId(), - 'name' => $product->getName(), - 'sku' => $product->getSku(), - ]; - } - if (isset($data['data'])) { - $this->data = array_replace_recursive($this->data, $data['data']); - } - } - - /** - * Return related products. - * - * @return array - */ - public function getProducts() - { - return $this->products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TaxClass.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TaxClass.php deleted file mode 100644 index 70d2730868dbf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TaxClass.php +++ /dev/null @@ -1,126 +0,0 @@ -params = $params; - if (!isset($data['dataset']) && !isset($data['tax_product_class'])) { - $this->data = $data; - return; - } - - if (isset($data['dataset'])) { - $this->taxClass = $fixtureFactory->createByCode('taxClass', ['dataset' => $data['dataset']]); - $this->data = $this->taxClass->getClassName(); - if (!$this->taxClass->hasData('id')) { - $this->taxClass->persist(); - } - } - - if (isset($data['tax_product_class']) && $data['tax_product_class'] instanceof FixtureTaxClass) { - $this->taxClass = $data['tax_product_class']; - $this->data = $this->taxClass->getClassName(); - } - - if ($this->taxClass->hasData('id')) { - $this->taxClassId = $this->taxClass->getId(); - } else { - $this->setTaxClassId($this->data); - } - } - - /** - * Set tax class id. - * - * @param string $taxClassName - * @return void - * @throws \Exception - */ - protected function setTaxClassId($taxClassName) - { - $url = $_ENV['app_backend_url'] . 'tax/rule/new/'; - $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->create( - \Magento\Mtf\Config\DataInterface::class - ); - $curl = new BackendDecorator(new CurlTransport(), $config); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - - preg_match('~~', $response, $matches); - if (!isset($matches[1]) || empty($matches[1])) { - throw new \Exception('Product tax class id ' . $taxClassName . ' undefined!'); - } - - $this->taxClassId = (int)$matches[1]; - } - - /** - * Return tax class fixture. - * - * @return FixtureTaxClass - */ - public function getTaxClass() - { - return $this->taxClass; - } - - /** - * Return tax class id. - * - * @return int - */ - public function getTaxClassId() - { - return (int)$this->taxClassId; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TierPrice.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TierPrice.php deleted file mode 100644 index 0c44c403a6f0c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/TierPrice.php +++ /dev/null @@ -1,154 +0,0 @@ -repositoryFactory = $repositoryFactory; - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->fixtureData = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - * @throws \Exception - */ - public function getData($key = null) - { - if (!isset($this->fixtureData['dataset'])) { - throw new \Exception("Data must be set"); - } - $this->data = $this->repositoryFactory->get($this->params['repository'])->get($this->fixtureData['dataset']); - if (!empty($this->fixtureData['data']['website'])) { - $this->prepareWebsite(); - } - foreach ($this->data as $key => $item) { - /** @var CustomerGroup $customerGroup */ - $customerGroup = $this->fixtureFactory->createByCode( - 'customerGroup', - ['dataset' => $item['customer_group']['dataset']] - ); - if (!$customerGroup->hasData('customer_group_id')) { - $customerGroup->persist(); - } - $this->data[$key]['customer_group'] = $customerGroup->getCustomerGroupCode(); - $this->customerGroups[$key] = $customerGroup; - } - - return parent::getData($key); - } - - /** - * Prepare website data. - * - * @return void - */ - private function prepareWebsite() - { - if (is_array($this->fixtureData['data']['website']) - && isset($this->fixtureData['data']['website']['dataset'])) { - /** @var Website $website */ - $this->website = $this->fixtureFactory->createByCode( - 'website', - ['dataset' => $this->fixtureData['data']['website']['dataset']] - ); - $this->website->persist(); - } else { - $this->website = $this->fixtureData['data']['website']; - } - - $this->fixtureData['data']['website'] = $this->website->getCode(); - foreach ($this->data as $key => $data) { - $this->data[$key] = array_merge($data, $this->fixtureData['data']); - } - } - - /** - * Return customer group fixture. - * - * @return array - */ - public function getCustomerGroups() - { - return $this->customerGroups; - } - - /** - * Return website fixture. - * - * @return \Magento\Store\Test\Fixture\Website - */ - public function getWebsite() - { - return $this->website; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/WebsiteIds.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/WebsiteIds.php deleted file mode 100644 index 57fe2bb59154f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Product/WebsiteIds.php +++ /dev/null @@ -1,144 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->fixtureData = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - * @throws \Exception - */ - public function getData($key = null) - { - if (empty($this->fixtureData)) { - throw new \Exception("Data must be set"); - } - - foreach ($this->fixtureData as $dataset) { - if (is_array($dataset) && isset($dataset['websites'])) { - foreach ($dataset['websites'] as $website) { - $this->websites[] = $website; - } - } else { - $this->createStore($dataset); - } - } - - return parent::getData($key); - } - - /** - * Create store. - * - * @param array|object $dataset - * @return void - */ - private function createStore($dataset) - { - if ($dataset instanceof Store) { - $store = $dataset; - } elseif (is_array($dataset)) { - $store = isset($dataset['store']) ? $dataset['store'] : - (isset($dataset['dataset']) ? $this->fixtureFactory->createByCode('store', $dataset) : null); - } - if (isset($store)) { - $this->setWebsiteStoreData($store); - } - } - - /** - * Set website and store data. - * - * @param Store $store - * @return void - */ - private function setWebsiteStoreData(Store $store) - { - if (!$store->getStoreId()) { - $store->persist(); - } - $website = $store->getDataFieldConfig('group_id')['source'] - ->getStoreGroup()->getDataFieldConfig('website_id')['source']->getWebsite(); - $this->data[] = $website->getName(); - $this->websites[] = $website; - $this->stores[] = $store; - } - - /** - * Return stores. - * - * @return array - */ - public function getStores() - { - return $this->stores; - } - - /** - * Return website codes. - * - * @return array - */ - public function getWebsites() - { - return $this->websites; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/CatalogAttributeSetInterface.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/CatalogAttributeSetInterface.php deleted file mode 100644 index 8b0edc4cc767d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/CatalogAttributeSetInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -hasData('attribute_set_id') - ? $this->getDefaultAttributeSet($fixture) - : $this->createAttributeSet($fixture); - - $attributeSetId = ($fixture->hasData('attribute_set_id')) - ? $fixture->getAttributeSetId() - : $this->getData($this->attributeSetId, $response); - - $assignedAttributes = $fixture->hasData('assigned_attributes') - ? $fixture->getDataFieldConfig('assigned_attributes')['source']->getAttributes() - : []; - $dataAttribute = $this->getDataAttributes($response); - - $lastAttribute = array_pop($dataAttribute['attributes']); - - foreach ($assignedAttributes as $key => $assignedAttribute) { - $dataAttribute['attributes'][] = [ - $assignedAttribute->getAttributeId(), - $dataAttribute['groups'][0][0], - ($lastAttribute[2] + ($key + 1)), - null, - ]; - } - - $this->updateAttributeSet($attributeSetId, $dataAttribute); - - return ['attribute_set_id' => $attributeSetId]; - } - - /** - * Create Attribute Set - * - * @param CatalogAttributeSet $fixture - * @return string - */ - protected function createAttributeSet(CatalogAttributeSet $fixture) - { - $data = $fixture->getData(); - if (!isset($data['gotoEdit'])) { - $data['gotoEdit'] = 1; - } - - $data['skeleton_set'] = $fixture->getDataFieldConfig('skeleton_set')['source']->getAttributeSet() - ->getAttributeSetId(); - - $url = $_ENV['app_backend_url'] . 'catalog/product_set/save/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - return $response; - } - - /** - * Get Default Attribute Set page with curl - * - * @param CatalogAttributeSet $fixture - * @return string - */ - protected function getDefaultAttributeSet(CatalogAttributeSet $fixture) - { - $url = $_ENV['app_backend_url'] . 'catalog/product_set/edit/id/' . $fixture->getAttributeSetId() . '/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - - return $response; - } - - /** - * Update Attribute Set - * - * @param int $attributeSetId - * @param array $dataAttribute - * @return void - */ - protected function updateAttributeSet($attributeSetId, array $dataAttribute) - { - $data = ['data' => json_encode($dataAttribute)]; - $url = $_ENV['app_backend_url'] . 'catalog/product_set/save/id/' . $attributeSetId . '/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $curl->read(); - $curl->close(); - } - - /** - * Get data attributes for curl - * - * @param string $response - * @return array - */ - protected function getDataAttributes($response) - { - $attributes = $this->getData($this->attributes, $response, true); - $dataAttribute = []; - - $index = 1; - foreach ($attributes as $key => $parentAttributes) { - $dataAttribute['groups'][$key][] = $parentAttributes['id']; - $dataAttribute['groups'][$key][] = $parentAttributes['text']; - $dataAttribute['groups'][$key][] = $key + 1; - - if (isset($parentAttributes['children'])) { - foreach ($parentAttributes['children'] as $attribute) { - $dataAttribute['attributes'][$index][] = $attribute['id']; - $dataAttribute['attributes'][$index][] = $parentAttributes['id']; - $dataAttribute['attributes'][$index][] = $index; - $dataAttribute['attributes'][$index][] = $attribute['entity_id']; - $index++; - } - } - } - $dataAttribute['not_attributes'] = []; - $dataAttribute['removeGroups'] = []; - $dataAttribute['attribute_set_name'] = $this->getData($this->attributeSetName, $response); - - return $dataAttribute; - } - - /** - * Select data from response by regular expression - * - * @param string $regularExpression - * @param string $response - * @param bool $isJson - * @return mixed - * @throws \Exception - */ - protected function getData($regularExpression, $response, $isJson = false) - { - preg_match($regularExpression, $response, $matches); - if (!isset($matches[1])) { - throw new \Exception("Can't find data in response by regular expression \"{$regularExpression}\"."); - } - - return $isJson ? json_decode($matches[1], true) : $matches[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductAttribute/CatalogProductAttributeInterface.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductAttribute/CatalogProductAttributeInterface.php deleted file mode 100644 index 21622a92573bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductAttribute/CatalogProductAttributeInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'Text Field' => 'text', - 'Text Area' => 'textarea', - 'Date' => 'date', - 'Yes/No' => 'boolean', - 'Multiple Select' => 'multiselect', - 'Dropdown' => 'select', - 'Price' => 'price', - 'Media Image' => 'media_image', - 'Fixed Product Tax' => 'weee', - ], - 'is_required' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'is_searchable' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'is_filterable' => [ - 'No' => 0, - 'Filterable (with results)' => 1, - 'Filterable (no results)' => 2 - ], - 'is_used_for_promo_rules' => [ - 'No' => 0, - 'Yes' => 1, - ], - 'is_global' => [ - 'Store View' => '0', - 'Global' => '1', - ], - 'used_in_product_listing' => [ - 'No' => '0', - 'Yes' => '1', - ], - ]; - - /** - * Post request for creating Product Attribute - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - if ($fixture->hasData('attribute_id')) { - return ['attribute_id' => $fixture->getData('attribute_id')]; - } - $data = $this->replaceMappingData($fixture->getData()); - $data['frontend_label'] = [0 => $data['frontend_label']]; - - if (isset($data['options'])) { - $optionsData = []; - foreach ($data['options'] as $key => $values) { - $optionRowData = []; - $index = 'option_' . $key; - if ($values['is_default'] == 'Yes') { - $optionRowData['default'][] = $index; - } - $optionRowData['option']['value'][$index] = [$values['admin'], $values['view']]; - $optionRowData['option']['order'][$index] = $key; - $optionsData[] = $optionRowData; - } - $data['options'] = $optionsData; - } - - $data = $this->changeStructureOfTheData($data); - $url = $_ENV['app_backend_url'] . $this->urlActionPath; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception($this->responseExceptionMessage); - } - - $resultData = []; - $matches = []; - preg_match('#attribute_id[^>]+value="(\d+)"#', $response, $matches); - $resultData['attribute_id'] = $matches[1]; - - $matches = []; - preg_match_all('#"id":"(\d+)"#Umi', $response, $matches); - - if ($fixture->hasData('options')) { - $optionsData = $fixture->getData()['options']; - foreach (array_unique($matches[1]) as $key => $optionId) { - $optionsData[$key]['id'] = $optionId; - } - $resultData['options'] = $optionsData; - } - - return $resultData; - } - - /** - * Additional data handling. - * - * @param array $data - * @return array - */ - protected function changeStructureOfTheData(array $data): array - { - if (!isset($data['options'])) { - return $data; - } - - $serializedOptions = $this->getSerializeOptions($data['options']); - if ($serializedOptions) { - $data['serialized_options'] = $serializedOptions; - unset($data['options']); - } - - return $data; - } - - /** - * Provides serialized product attribute options. - * - * @param array $data - * @return string - */ - protected function getSerializeOptions(array $data): string - { - $options = []; - foreach ($data as $optionRowData) { - $options[] = http_build_query($optionRowData); - } - - return json_encode($options); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/CatalogProductSimpleInterface.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/CatalogProductSimpleInterface.php deleted file mode 100644 index be6b294a862a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/CatalogProductSimpleInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'Default' => 4 - ], - 'tax_class_id' => [ - 'Taxable Goods' => 2 - ], - 'links_purchased_separately' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'use_config_notify_stock_qty' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'is_shareable' => [ - 'Yes' => 1, - 'No' => 0, - 'Use config' => 2 - ], - 'required' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'manage_stock' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'use_config_manage_stock' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'product_has_weight' => [ - 'This item has weight' => 1, - 'This item has no weight' => 0, - ], - 'use_config_enable_qty_increments' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'use_config_qty_increments' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'is_in_stock' => [ - 'In Stock' => 1, - 'Out of Stock' => 0 - ], - 'visibility' => [ - 'Not Visible Individually' => 1, - 'Catalog' => 2, - 'Search' => 3, - 'Catalog, Search' => 4 - ], - 'status' => [ - 'No' => 2, - 'Yes' => 1 - ], - 'is_require' => [ - 'Yes' => 1, - 'No' => 0 - ], - 'msrp_display_actual_price_type' => [ - 'Use config' => 0, - 'On Gesture' => 1, - 'In Cart' => 2, - 'Before Order Confirmation' => 3 - ], - 'enable_qty_increments' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'use_config_min_sale_qty' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'use_config_max_sale_qty' => [ - 'Yes' => 1, - 'No' => 0, - ], - ]; - - /** - * Placeholder for price data sent Curl. - * - * @var array - */ - protected $priceData = [ - 'website' => [ - 'name' => 'website_id', - 'data' => [ - 'All Websites [USD]' => 0 - ] - ], - 'customer_group' => [ - 'name' => 'cust_group' - ] - ]; - - /** - * Placeholder for fpt data sent Curl. - * - * @var array - */ - protected $fptData = [ - 'website' => [ - 'name' => 'website_id', - 'data' => [ - 'All Websites [USD]' => 0 - ] - ], - 'country_name' => [ - 'name' => 'country', - 'data' => [ - 'United States' => 'US' - ] - ], - 'state_name' => [ - 'name' => 'state', - 'data' => [ - 'California' => 12, - '*' => 0 - ] - ] - ]; - - /** - * Default manage stock data. - * - * @var array - */ - protected $manageStock = [ - 'Yes' => [ - 'manage_stock' => 'Yes', - 'use_config_manage_stock' => 'Yes', - 'enable_qty_increments' => 'No', - 'use_config_enable_qty_increments' => 'Yes', - ], - 'No' => [ - 'manage_stock' => 'No', - 'use_config_manage_stock' => 'No', - 'min_sale_qty' => 1, - 'use_config_min_sale_qty' => 1, - 'max_sale_qty' => 10000, - 'use_config_max_sale_qty' => 1, - 'enable_qty_increments' => 'No', - 'use_config_enable_qty_increments' => 'No', - ] - ]; - - /** - * Select custom options. - * - * @var array - */ - protected $selectOptions = ['drop_down', 'radio', 'checkbox', 'multiple']; - - /** - * Post request for creating simple product. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - $config = $fixture->getDataConfig(); - $data = $this->prepareData($fixture); - - return $this->createProduct($data, $config); - } - - /** - * Create product via curl. - * - * @param array $data - * @param array $config - * @return array - * @throws \Exception - */ - protected function createProduct(array $data, array $config) - { - $url = $this->getUrl($config); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception('Product creation by curl handler was not successful!'); - } - - return $this->parseResponse($response); - } - - /** - * Parse data in response. - * - * @param string $response - * @return array - */ - protected function parseResponse($response) - { - preg_match('~Location: [^\s]*\/id\/(\d+)~', $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - return ['id' => $id]; - } - - /** - * Retrieve URL for request with all necessary parameters. - * - * @param array $config - * @return string - */ - protected function getUrl(array $config) - { - $requestParams = isset($config['create_url_params']) ? $config['create_url_params'] : []; - $params = ''; - foreach ($requestParams as $key => $value) { - $params .= $key . '/' . $value . '/'; - } - return $_ENV['app_backend_url'] . 'catalog/product/save/' . $params . 'popup/1/back/edit'; - } - - /** - * Prepare POST data for creating product request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $this->fixture = $fixture; - $this->fields = ['product' => $fixture->getData()]; - - $this->prepareProductDetails(); - $this->prepareWebsitesData(); - $this->prepareWebsites(); - $this->prepareAdvancedPricing(); - $this->prepareAdvancedInventory(); - $this->prepareCustomOptionsData(); - $this->prepareAutosetting(); - $this->prepareCustomAttributes(); - if (isset($this->fields['product']['media_gallery'])) { - $this->fields['product']['media_gallery'] - = $this->prepareMediaGallery($this->fields['product']['media_gallery']); - } - - $this->fields['product'] = $this->replaceMappingData($this->fields['product']); - return $this->fields; - } - - /** - * Preparation of "Product Details" tab data. - * - * @return void - */ - protected function prepareProductDetails() - { - $this->prepareStatus(); - $this->preparePrice(); - $this->prepareIsVirtual(); - $this->prepareAttributeSet(); - $this->prepareTaxClass(); - $this->prepareQuantityAndStockStatus(); - $this->prepareCategory(); - } - - /** - * Preparation of product status. - * - * @return void - */ - protected function prepareStatus() - { - $this->fields['product']['status'] = isset($this->fields['product']['status']) - ? $this->fields['product']['status'] - : 'Yes'; - } - - /** - * Preparation of price value. - * - * @return void - */ - protected function preparePrice() - { - $this->fields['product']['price'] = isset($this->fields['product']['price']) - ? (is_array($this->fields['product']['price']) ? null : $this->fields['product']['price']) - : null; - } - - /** - * Preparation whether product 'Is Virtual'. - * - * @return void - */ - protected function prepareIsVirtual() - { - $this->fields['product']['is_virtual'] = isset($this->fields['product']['is_virtual']) - ? $this->fields['product']['is_virtual'] - : 'No'; - } - - /** - * Preparation of attribute set data. - * - * @return void - */ - protected function prepareAttributeSet() - { - if ($this->fixture->hasData('attribute_set_id') - && !empty($this->fixture->getDataFieldConfig('attribute_set_id')['source']) - && $this->fixture->getDataFieldConfig('attribute_set_id')['source']->getAttributeSet() - ) { - $this->fields['product']['attribute_set_id'] = $this->fixture - ->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet() - ->getAttributeSetId(); - } else if ($this->fixture->hasData('attribute_set_id') - && !empty($this->fixture->getDataFieldConfig('attribute_set_id')['source']) - && $this->fixture->getDataFieldConfig('attribute_set_id')['source']->getAttributeSet() - ) { - $this->fields['product']['attribute_set_id'] = $this->fixture - ->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet() - ->getAttributeSetId(); - } else { - $this->fields['product']['attribute_set_id'] = 'Default'; - } - } - - /** - * Preparation of tax class data. - * - * @return void - */ - protected function prepareTaxClass() - { - if ($this->fixture->hasData('tax_class_id')) { - $this->fields['product']['tax_class_id'] = $this->fixture->getDataFieldConfig('tax_class_id')['source'] - ->getTaxClassId(); - } else { - $this->fields['product']['tax_class_id'] = 'Taxable Goods'; - } - } - - /** - * Preparation of quantity and stock status data. - * - * @return void - */ - protected function prepareQuantityAndStockStatus() - { - $quantityAndStockStatus = isset($this->fields['product']['quantity_and_stock_status']) - ? $this->fields['product']['quantity_and_stock_status'] - : ['is_in_stock' => 'In Stock']; - - if (!isset($quantityAndStockStatus['is_in_stock'])) { - $qty = isset($quantityAndStockStatus['qty']) ? (int)$quantityAndStockStatus['qty'] : null; - $quantityAndStockStatus['is_in_stock'] = 0 === $qty ? 'Out of Stock' : 'In Stock'; - } - - $this->fields['product']['quantity_and_stock_status'] = $quantityAndStockStatus; - } - - /** - * Preparation of category data. - * - * @return void - */ - protected function prepareCategory() - { - if ($this->fixture->hasData('category_ids')) { - $this->fields['product']['category_ids'] = []; - - foreach ($this->fixture->getDataFieldConfig('category_ids')['source']->getCategories() as $category) { - $this->fields['product']['category_ids'][] = $category->getId(); - } - } - } - - /** - * Preparation of websites data. - * - * @return void - */ - protected function prepareWebsites() - { - if (!empty($this->fields['product']['website_ids'])) { - unset($this->fields['product']['website_ids']); - foreach ($this->fixture->getDataFieldConfig('website_ids')['source']->getWebsites() as $key => $website) { - $this->fields['product']['website_ids'][$key] = $website->getWebsiteId(); - } - } else { - $website = \Magento\Mtf\ObjectManagerFactory::getObjectManager() - ->create(\Magento\Store\Test\Fixture\Website::class, ['dataset' => 'default']); - $this->fields['product']['website_ids'][] = $website->getWebsiteId(); - } - } - - /** - * Preparation of advanced pricing data. - * - * @return void - */ - protected function prepareAdvancedPricing() - { - if (isset($this->fields['product']['tier_price'])) { - $this->fields['product']['tier_price'] = $this->preparePriceFields( - $this->fields['product']['tier_price'] - ); - } - } - - /** - * Update product websites. - * - * @return void - */ - protected function prepareWebsitesData() - { - if (!empty($this->fields['product']['website_ids'])) { - foreach ($this->fixture->getDataFieldConfig('website_ids')['source']->getWebsites() as $key => $website) { - $this->fields['product']['website_ids'][$key] = $website->getWebsiteId(); - } - } - } - - /** - * Preparation of tier price data. - * - * @param array $fields - * @return array - */ - protected function preparePriceFields(array $fields) - { - $this->website = $this->fixture->getDataFieldConfig('tier_price')['source']->getWebsite(); - foreach ($fields as $priceKey => &$field) { - foreach ($this->priceData as $key => $data) { - if ($data['name'] == 'cust_group') { - $field[$data['name']] = $this->fixture->getDataFieldConfig('tier_price')['source'] - ->getCustomerGroups()[$priceKey]->getCustomerGroupId(); - } else { - if ($this->website !== null) { - unset($this->priceData['website']['data']); - $this->priceData['website']['data'][$this->website->getCode()] - = $this->website->getData('website_id'); - } - - $field[$data['name']] = $this->priceData[$key]['data'][$field[$key]]; - } - unset($field[$key]); - } - $field['delete'] = ''; - } - return $fields; - } - - /** - * Preparation of advanced inventory data. - * - * @return void - */ - protected function prepareAdvancedInventory() - { - if (!isset($this->fields['product']['stock_data']['manage_stock'])) { - $this->fields['product']['stock_data']['manage_stock'] = 'Yes'; - } - - $this->fields['product']['stock_data']['is_in_stock'] = - $this->fields['product']['quantity_and_stock_status']['is_in_stock']; - $this->fields['product']['stock_data'] = array_merge( - $this->manageStock[$this->fields['product']['stock_data']['manage_stock']], - $this->fields['product']['stock_data'] - ); - } - - /** - * Preparation of custom options data. - * - * @return void - */ - protected function prepareCustomOptionsData() - { - if (!isset($this->fields['product']['custom_options'])) { - return; - } - $options = []; - foreach ($this->fields['product']['custom_options'] as $key => $customOption) { - $options[$key] = [ - 'is_delete' => '', - 'option_id' => 0, - 'type' => $this->optionNameConvert($customOption['type']), - ]; - - foreach ($customOption['options'] as $index => $option) { - $customOption['options'][$index]['is_delete'] = ''; - $customOption['options'][$index]['price_type'] = strtolower($option['price_type']); - } - $options[$key] += in_array($options[$key]['type'], $this->selectOptions) - ? ['values' => $customOption['options']] - : $customOption['options'][0]; - - unset($customOption['options']); - $options[$key] += $customOption; - } - - $this->fields['product']['options'] = $options; - $this->fields['product']['affect_product_custom_options'] = 1; - unset($this->fields['product']['custom_options']); - } - - /** - * Convert option name. - * - * @param string $optionName - * @return string - */ - protected function optionNameConvert($optionName) - { - $optionName = substr($optionName, strpos($optionName, "/") + 1); - $optionName = str_replace(['-', ' & '], "_", trim($optionName)); - $end = strpos($optionName, ' '); - if ($end !== false) { - $optionName = substr($optionName, 0, $end); - } - return strtolower($optionName); - } - - /** - * Preparation of "Autosetting" tab data. - * - * @return void - */ - protected function prepareAutosetting() - { - $this->fields['product']['visibility'] = isset($this->fields['product']['visibility']) - ? $this->fields['product']['visibility'] - : 'Catalog, Search'; - } - - /** - * Preparation of attributes data. - * - * @return void - */ - protected function prepareCustomAttributes() - { - if (isset($this->fields['product']['custom_attribute'])) { - $attrCode = $this->fields['product']['custom_attribute']['code']; - $this->fields['product'][$attrCode] = $this->fields['product']['custom_attribute']['value']; - unset($this->fields['product']['custom_attribute']); - } - if (isset($this->fields['product']['attributes'])) { - $this->fields['product'] += $this->fields['product']['attributes']; - unset($this->fields['product']['attributes']); - } - - $this->prepareFpt(); - } - - /** - * Preparation of fpt attribute data. - * - * @return void - */ - protected function prepareFpt() - { - if (isset($this->fields['product']['fpt'])) { - $attributeLabel = $this->fixture->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source'] - ->getAttributes()[0]->getFrontendLabel(); - - foreach ($this->fields['product']['fpt'] as &$field) { - foreach ($this->fptData as $key => $data) { - $field[$data['name']] = $this->fptData[$key]['data'][$field[$key]]; - unset($field[$key]); - } - $field['delete'] = ''; - } - - $this->fields['product'][$attributeLabel] = $this->fields['product']['fpt']; - unset($this->fields['product']['fpt']); - } - } - - /** - * Create test image file. - * - * @param string $filename - * @return array - */ - protected function prepareMediaGallery($filename) - { - $filePath = $this->getFullPath($filename); - - if (!file_exists($filePath)) { - $image = imagecreate(300, 200); - $colorYellow = imagecolorallocate($image, 255, 255, 0); - imagefilledrectangle($image, 50, 50, 250, 150, $colorYellow); - $directory = dirname($filePath); - if (!file_exists($directory)) { - mkdir($directory, 0777, true); - } - imagejpeg($image, $filePath); - imagedestroy($image); - } - - return [ - 'images' => [ - 0 => [ - 'position' => 1, - 'file' => $filename, - 'disabled' => 0, - 'label' => $filename, - ], - ], - ]; - } - - /** - * Gets full path based on filename. - * - * @param string $filename - * @return string - */ - private function getFullPath($filename) - { - return BP . $this->mediaPathTmp . $filename; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Ui.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Ui.php deleted file mode 100644 index 29dcc4ddb1370..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Ui.php +++ /dev/null @@ -1,39 +0,0 @@ -magentoBackendLoginUser(); - - $createProductPage = Factory::getPageFactory()->getCatalogProductNew(); - $createProductPage->open([ - 'type' => $fixture->getDataConfig()['create_url_params']['type'], - 'set' => $fixture->getDataConfig()['create_url_params']['set'], - ]); - - $createProductPage->getProductForm()->fill($fixture); - $createProductPage->getFormPageActions()->save(); - $createProductPage->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Webapi.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Webapi.php deleted file mode 100644 index 50dd376f648ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Webapi.php +++ /dev/null @@ -1,388 +0,0 @@ -handlerCurl = $handlerCurl; - } - - /** - * Webapi request for creating simple product. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $this->fixture = $fixture; - $this->fields = $this->handlerCurl->prepareData($this->fixture); - $this->prepareData(); - $this->convertData(); - - /** @var CatalogProductSimple $fixture */ - $url = $_ENV['app_frontend_url'] . 'rest/all/V1/products'; - $this->webapiTransport->write($url, $this->fields, CurlInterface::POST); - $encodedResponse = $this->webapiTransport->read(); - $response = json_decode($encodedResponse, true); - $this->webapiTransport->close(); - - if (!isset($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception("Product creation by webapi handler was not successful! Response: {$encodedResponse}"); - } - - $this->updateProduct($fixture); - return $this->parseResponse($response); - } - - /** - * Update product info per website. - * - * @param FixtureInterface $fixture - * @return void - * @throws \Exception - */ - private function updateProduct(FixtureInterface $fixture) - { - if (isset($fixture->getData()['website_data'])) { - $websiteData = $fixture->getData()['website_data']; - foreach ($fixture->getDataFieldConfig('website_ids')['source']->getStores() as $key => $store) { - $url = $_ENV['app_frontend_url'] . 'rest/' . $store->getCode() . '/V1/products/' . $fixture->getSku(); - $this->webapiTransport->write($url, ['product' => $websiteData[$key]], CurlInterface::PUT); - $encodedResponse = $this->webapiTransport->read(); - $response = json_decode($encodedResponse, true); - $this->webapiTransport->close(); - - if (!isset($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception( - "Product update by webapi handler was not successful! Response: {$encodedResponse}" - ); - } - } - } - } - - /** - * Prepare data for creating product request. - * - * @return void - */ - protected function prepareData() - { - $config = $this->fixture->getDataConfig(); - - $this->fields['product']['type_id'] = $config['type_id']; - $this->prepareFpt(); - $this->prepareAdvancedInventory(); - $this->prepareTierPrice(); - $this->prepareCustomOptions(); - $this->prepareMediaGallery(); - $this->prepareSpecialPrice(); - } - - /** - * Convert prepared data to webapi structure request. - * - * @return void - */ - protected function convertData() - { - $fields = []; - - unset($this->fields['product']['website_ids']); - unset($this->fields['product']['checkout_data']); - - foreach ($this->basicFields as $fieldName) { - if (isset($this->fields['product'][$fieldName])) { - $fields['product'][$fieldName] = $this->fields['product'][$fieldName]; - } - } - $this->fields['product'] = array_diff_key($this->fields['product'], array_flip($this->basicFields)); - - foreach ($this->fields['product'] as $attribute => $value) { - $fields['product']['custom_attributes'][] = [ - 'attribute_code' => $attribute, - 'value' => $value - ]; - } - - $this->fields = $fields; - } - - /** - * Parse data in response. - * - * @param array $response - * @return array - */ - protected function parseResponse(array $response) - { - return ['id' => $response['id']]; - } - - /** - * Preparation of fpt attribute data. - * - * @return void - */ - protected function prepareFpt() - { - if ($this->fixture->hasData('fpt')) { - $fptLabel = $this->fixture->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source'] - ->getAttributes()[0]->getFrontendLabel(); - $fptValues = $this->fields['product'][$fptLabel]; - - foreach ($fptValues as $key => $item) { - $item['value'] = $item['price']; - unset($item['price']); - - $fptValues[$key] = $item; - } - - $this->fields['product']['custom_attributes'][] = [ - 'attribute_code' => $fptLabel, - 'value' => $fptValues - ]; - unset($this->fields['product'][$fptLabel]); - } - } - - /** - * Preparation of "Advanced Inventory" tab data. - * - * @return void - */ - protected function prepareAdvancedInventory() - { - $stockData = $this->fields['product']['stock_data']; - - if (!isset($stockData['is_in_stock'])) { - $stockData['is_in_stock'] = isset($this->fields['product']['quantity_and_stock_status']['is_in_stock']) - ? $this->fields['product']['quantity_and_stock_status']['is_in_stock'] - : false; - } - if (!isset($stockData['qty']) && isset($this->fields['product']['quantity_and_stock_status']['qty'])) { - $stockData['qty'] = $this->fields['product']['quantity_and_stock_status']['qty']; - } - - if (isset($stockData['use_config_enable_qty_increments'])) { - $stockData['use_config_enable_qty_inc'] = $stockData['use_config_enable_qty_increments']; - unset($stockData['use_config_enable_qty_increments']); - } - - $this->fields['product']['extension_attributes']['stock_item'] = $stockData; - unset($this->fields['product']['stock_data']); - } - - /** - * Preparation of tier price data. - * - * @return void - */ - protected function prepareTierPrice() - { - if (isset($this->fields['product']['tier_price'])) { - $this->fields['product']['tier_prices'] = $this->fields['product']['tier_price']; - unset($this->fields['product']['tier_price']); - - foreach ($this->fields['product']['tier_prices'] as $key => $priceInfo) { - $priceInfo['customer_group_id'] = $priceInfo['cust_group']; - unset($priceInfo['cust_group']); - - if (isset($priceInfo['price'])) { - $priceInfo['value'] = $priceInfo['price']; - unset($priceInfo['price']); - } - unset($priceInfo['value_type']); - - if (isset($priceInfo['percentage_value'])) { - $priceInfo['extension_attributes']['percentage_value'] = $priceInfo['percentage_value']; - unset($priceInfo['percentage_value']); - } - - $priceInfo['qty'] = $priceInfo['price_qty']; - unset($priceInfo['price_qty']); - - if (isset($priceInfo['website_id'])) { - $priceInfo['extension_attributes']['website_id'] = $priceInfo['website_id']; - unset($priceInfo['website_id']); - } - - unset($priceInfo['delete']); - - $this->fields['product']['tier_prices'][$key] = $priceInfo; - } - } - } - - /** - * Preparation of product special price data. - * - * @return void - */ - protected function prepareSpecialPrice() - { - if (isset($this->fields['product']['special_from_date'])) { - $this->fields['product']['special_from_date'] = date( - 'n/j/Y', - strtotime($this->fields['product']['special_from_date']) - ); - } - if (isset($this->fields['product']['special_to_date'])) { - $this->fields['product']['special_to_date'] = date( - 'n/j/Y', - strtotime($this->fields['product']['special_to_date']) - ); - } - } - - /** - * Preparation of "Custom Options" tab data. - * - * @return void - */ - protected function prepareCustomOptions() - { - if (isset($this->fields['product']['options'])) { - foreach ($this->fields['product']['options'] as $ko => $option) { - $option['product_sku'] = $this->fields['product']['sku']; - - if (isset($option['values'])) { - foreach ($option['values'] as $kv => $value) { - unset($value['is_delete']); - $option['values'][$kv] = $value; - } - } - - unset($option['option_id']); - unset($option['is_delete']); - - $this->fields['product']['options'][$ko] = $option; - } - } - } - - /** - * Create test image file. - * - * @return void - */ - protected function prepareMediaGallery() - { - if (isset($this->fields['product']['media_gallery'])) { - foreach ($this->fields['product']['media_gallery']['images'] as $galleryItem) { - $filename = $galleryItem['file']; - $this->fields['product']['media_gallery_entries'][] = $this->getImageData($filename); - } - unset($this->fields['product']['media_gallery']); - } - } - - /** - * Get media gallery data. - * - * @param $filename - * @return array - */ - private function getImageData($filename) - { - return - [ - 'position' => 1, - 'media_type' => 'image', - 'disabled' => false, - 'label' => $filename, - 'types' => [], - 'content' => [ - 'type' => 'image/jpeg', - 'name' => $filename, - 'base64_encoded_data' => base64_encode(file_get_contents(BP . $this->mediaPathTmp . $filename)), - ] - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductVirtual/CatalogProductVirtualInterface.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductVirtual/CatalogProductVirtualInterface.php deleted file mode 100644 index 7ca00a3e2c860..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductVirtual/CatalogProductVirtualInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'Yes' => 1, - 'No' => 0, - ], - 'include_in_menu' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'display_mode' => [ - 'Static block and products' => 'PRODUCTS_AND_PAGE', - 'Static block only' => 'PAGE', - 'Products only' => 'PRODUCTS', - ], - 'is_anchor' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'available_product_listing_config' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'custom_use_parent_settings' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'custom_apply_to_products' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'page_layout' => [ - '1 column' => '1column', - '2 columns with left bar' => '2columns-left', - '2 columns with right bar' => '2columns-right', - '3 columns' => '3columns', - 'Empty' => 'empty', - ] - ]; - - /** - * Mapping values for "available_sort_by" field. - * - * @var array - */ - protected $availableSortBy = [ - 'Position' => 'position', - 'Name' => 'name', - 'Price' => 'price', - ]; - - /** - * @constructor - * @param DataInterface $configuration - * @param EventManagerInterface $eventManager - * @param BackendDecorator $backendTransport - */ - public function __construct( - DataInterface $configuration, - EventManagerInterface $eventManager, - BackendDecorator $backendTransport - ) { - parent::__construct($configuration, $eventManager); - $this->backendTransport = $backendTransport; - } - - /** - * Post request for creating Subcategory. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'catalog/category/save/store/0/parent/' . $data['general']['parent_id'] . '/'; - - $this->backendTransport->write($url, $data); - $response = $this->backendTransport->read(); - $this->backendTransport->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception('Category creation by curl handler was not successful!'); - } - - preg_match('#http://.+/id/(\d+).+store/#m', $response, $matches); - $id = isset($matches[1]) ? (int)$matches[1] : null; - return ['id' => $id]; - } - - /** - * Prepare category data for curl. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $this->fixture = $fixture; - $this->fields = ['general' => $fixture->getData()]; - - $this->prepareGeneralInformation(); - $this->prepareDisplaySetting(); - $this->prepareCategoryProducts(); - - $this->fields['general'] = $this->replaceMappingData($this->fields['general']); - return $this->fields; - } - - /** - * Prepare data for "General Information" tab. - * - * @return void - */ - protected function prepareGeneralInformation() - { - $this->fields['general']['is_anchor'] = isset($this->fields['general']['is_anchor']) - ? $this->fields['general']['is_anchor'] - : 'No'; - - $this->fields['general']['include_in_menu'] = isset($this->fields['general']['include_in_menu']) - ? $this->fields['general']['include_in_menu'] - : 'Yes'; - } - - /** - * Prepare data for "Display Setting" tab. - * - * @return void - */ - protected function prepareDisplaySetting() - { - if ($this->fixture->hasData('landing_page')) { - $this->fields['general']['landing_page'] = $this->getBlockId($this->fixture->getLandingPage()); - } - - $this->prepareAvailableSortBy(); - - $useConfig = array_diff($this->dataUseConfig, array_keys($this->fields['general'])); - if (!empty($useConfig)) { - $this->fields['use_config'] = $useConfig; - } - unset($this->fields['general']['use_config']); - } - - /** - * Prepare data for "available_sort_by" field. - * - * @return void - */ - protected function prepareAvailableSortBy() - { - if (isset($this->fields['general']['available_sort_by'])) { - foreach ($this->fields['general']['available_sort_by'] as $key => $value) { - $this->fields['general']['available_sort_by'][$key] = $this->availableSortBy[$value]; - } - } - } - - /** - * Prepare category products data for curl. - * - * @return void - */ - protected function prepareCategoryProducts() - { - $categoryProducts = []; - $defaultPosition = 0; - - if ($this->fixture->hasData('category_products')) { - $products = $this->fixture->getDataFieldConfig('category_products')['source']->getProducts(); - foreach ($products as $product) { - $categoryProducts[$product->getId()] = $defaultPosition; - } - } - - $this->fields['category_products'] = json_encode($categoryProducts); - unset($this->fields['general']['category_products']); - } - - /** - * Getting block id by name. - * - * @param string $landingName - * @return int|null - */ - protected function getBlockId($landingName) - { - $url = $_ENV['app_backend_url'] . 'catalog/category'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - $id = null; - //Finding block option in 'Add block' options UI data. - preg_match('~\{[^\{\}]*?"label":"' . preg_quote($landingName) . '"[^\{\}]*?\}~', $response, $matches); - if (!empty($matches)) { - $blockOption = json_decode($matches[0], true); - $id = (int)$blockOption['value']; - } - - return $id; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Webapi.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Webapi.php deleted file mode 100644 index c231f32df992a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Webapi.php +++ /dev/null @@ -1,156 +0,0 @@ -handlerCurl = $handlerCurl; - } - - /** - * Post request for creating Subcategory. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_frontend_url'] . 'rest/all/V1/categories'; - - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Category creation by webapi handler was not successful!'); - } - - $this->assignProducts($response['id'], $fixture); - - return ['id' => $response['id']]; - } - - /** - * Prepare category data for webapi. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $fixtureData = $this->handlerCurl->prepareData($fixture); - $data = []; - - $fixtureData = array_merge($fixtureData, $fixtureData['general']); - unset($fixtureData['general']); - unset($fixtureData['category_products']); - - foreach ($this->basicFields as $fieldName) { - if (isset($fixtureData[$fieldName])) { - $data[$fieldName] = $fixtureData[$fieldName]; - } - } - $fixtureData = array_diff_key($fixtureData, array_flip($this->basicFields)); - - foreach ($fixtureData as $attribute => $value) { - $data['custom_attributes'][] = [ - 'attribute_code' => $attribute, - 'value' => $value - ]; - } - - return ['category' => $data]; - } - - /** - * Assign products to category. - * - * @param int $categoryId - * @param FixtureInterface $fixture - * @return void - * @throws \Exception - */ - protected function assignProducts($categoryId, FixtureInterface $fixture) - { - /** @var Category $fixture */ - if ($fixture->hasData('category_products')) { - $products = $fixture->getDataFieldConfig('category_products')['source']->getProducts(); - $url = $_ENV['app_frontend_url'] . 'rest/V1/categories/' . $categoryId . '/products'; - - foreach ($products as $product) { - $data = [ - 'productLink' => [ - 'sku' => $product->getSku(), - 'category_id' => $categoryId - ] - ]; - - $this->webapiTransport->write($url, $data); - $response = $this->webapiTransport->read(); - $this->webapiTransport->close(); - - if ('true' != $response) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Assign product to category was not successful!'); - } - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryEdit.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryEdit.xml deleted file mode 100644 index 21c0072fc41f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryEdit.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryIndex.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryIndex.xml deleted file mode 100644 index 1dbb488b210a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogCategoryIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductActionAttributeEdit.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductActionAttributeEdit.xml deleted file mode 100644 index f03bdf7ce10ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductActionAttributeEdit.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeIndex.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeIndex.xml deleted file mode 100644 index dd28b7d1752d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeNew.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeNew.xml deleted file mode 100644 index 3c772e9dc8557..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductAttributeNew.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductEdit.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductEdit.xml deleted file mode 100644 index 597967d307af8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductEdit.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductIndex.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductIndex.xml deleted file mode 100644 index 764e488d3fd62..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductNew.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductNew.xml deleted file mode 100644 index 89db712561657..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetAdd.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetAdd.xml deleted file mode 100644 index 9492e5c51bfe0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetAdd.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetEdit.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetEdit.xml deleted file mode 100644 index 527a0fca94baa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetEdit.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetIndex.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetIndex.xml deleted file mode 100644 index c2ff4b16aace2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Adminhtml/CatalogProductSetIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategory.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategory.php deleted file mode 100644 index 9f12890c42460..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategory.php +++ /dev/null @@ -1,123 +0,0 @@ -url = $_ENV['app_backend_url'] . self::MCA; - } - - /** - * Open page using browser and waiting until loader will be disappeared. - * - * @param array $params - * @return $this - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function open(array $params = []) - { - parent::open(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get Category edit form. - * - * @return \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\CategoryForm - */ - public function getFormBlock() - { - return Factory::getBlockFactory()->getMagentoCatalogAdminhtmlCategoryEditCategoryForm( - $this->browser->find($this->formBlock, Locator::SELECTOR_XPATH) - ); - } - - /** - * Category Tree container on the Backend. - * - * @return \Magento\Catalog\Test\Block\Adminhtml\Category\Tree - */ - public function getTreeBlock() - { - return Factory::getBlockFactory()->getMagentoCatalogAdminhtmlCategoryTree( - $this->browser->find($this->treeBlock, Locator::SELECTOR_CSS, 'tree'), - $this->getTemplateBlock() - ); - } - - /** - * Get messages block. - * - * @return \Magento\Backend\Test\Block\Messages - */ - public function getMessagesBlock() - { - return Factory::getBlockFactory()->getMagentoBackendMessages( - $this->browser->find($this->messagesBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Get abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - public function getTemplateBlock() - { - return Factory::getBlockFactory()->getMagentoBackendTemplate( - $this->browser->find($this->templateBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryEdit.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryEdit.php deleted file mode 100644 index 7fd1c398f09a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryEdit.php +++ /dev/null @@ -1,143 +0,0 @@ -url = $_ENV['app_backend_url'] . self::MCA; - } - - /** - * Open page using browser and waiting until loader will be disappeared. - * - * @param array $params - * @return $this - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function open(array $params = []) - { - parent::open(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get Category edit form. - * - * @return \Magento\Catalog\Test\Block\Adminhtml\Category\Edit\CategoryForm - */ - public function getFormBlock() - { - return Factory::getBlockFactory()->getMagentoCatalogAdminhtmlCategoryEditCategoryForm( - $this->browser->find($this->formBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Category Tree container on the Backend. - * - * @return \Magento\Catalog\Test\Block\Adminhtml\Category\Tree - */ - public function getTreeBlock() - { - return Factory::getBlockFactory()->getMagentoCatalogAdminhtmlCategoryTree( - $this->browser->find($this->treeBlock, Locator::SELECTOR_CSS), - $this->getTemplateBlock() - ); - } - - /** - * Get messages block. - * - * @return \Magento\Backend\Test\Block\Messages - */ - public function getMessagesBlock() - { - return Factory::getBlockFactory()->getMagentoBackendMessages( - $this->browser->find($this->messagesBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Get abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - public function getTemplateBlock() - { - return Factory::getBlockFactory()->getMagentoBackendTemplate( - $this->browser->find($this->templateBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Get Form page actions block. - * - * @return FormPageActions - */ - public function getPageActionsBlock() - { - return Factory::getBlockFactory()->getMagentoBackendFormPageActions( - $this->browser->find($this->pageActionsBlock) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryView.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryView.xml deleted file mode 100644 index acbf13fd686b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryView.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/CmsIndex.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/CmsIndex.xml deleted file mode 100644 index e700dcc4da345..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/CmsIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductCompare.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductCompare.xml deleted file mode 100644 index 0ad21a223834b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductCompare.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index bd9e6c0665a9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogAttributeSet.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogAttributeSet.xml deleted file mode 100644 index 8d999ca4956ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogAttributeSet.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - %id% - Default - - - - Custom_attribute_set%isolation% - - default - - - - - Custom_attribute_set%isolation% - - default - - - attribute_type_fpt - - - - - Custom_textarea_attribute_set%isolation% - - default - - - attribute_type_textarea - - - - - Custom_attribute_set_with_colors_%isolation% - - default - - - color_for_promo_rules - - - - - Custom_attribute_set_with_sizes_%isolation% - - default - - - sizes_for_promo_rules - - - - - custom_attribute_set_search_weight_term_once_weight_1_%isolation% - - default - - - search_weight_term_once_weight_1 - - - - - custom_attribute_set_search_weight_term_once_weight_5_%isolation% - - default - - - search_weight_term_once_weight_5 - - - - - custom_attribute_set_search_weight_term_twice_weight_1_%isolation% - - default - - - search_weight_term_twice_weight_1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.xml deleted file mode 100644 index fed2c9a41242c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute.xml +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - attribute_label%isolation% - Text Field - No - - - - %id% - Quantity - quantity_and_stock_status - Dropdown - No - - - Yes - In Stock - In Stock - - - No - Out of Stock - Out of Stock - - - - - - %id% - Tax Class%isolation% - tax_class_id%isolation% - Dropdown - No - - - No - None - None - - - Yes - Taxable Goods - Taxable Goods - - - - - - attribute_text%isolation% - attribute_text%isolation% - Text Field - No - - - - attribute_dropdown%isolation% - attribute_dropdown%isolation% - Dropdown - No - - - Yes - black - option_0_%isolation% - - - No - white - option_1_%isolation% - - - No - green - option_2_%isolation% - - - - - - multipleselect%isolation% - multipleselect%isolation% - Multiple Select - No - - - Yes - black - option_0_%isolation% - - - No - white - option_1_%isolation% - - - No - green - option_2_%isolation% - - - - - - attribute_dropdown%isolation% - attribute_dropdown%isolation% - Dropdown - No - - - Yes - black - option_0_%isolation% - - - No - white - option_1_%isolation% - - - - - - attribute_dropdown%isolation% - attribute_dropdown%isolation% - Dropdown - No - - - Yes - black - option_0_%isolation% - - - - - - attribute_dropdown%isolation% - attribute_dropdown%isolation% - Dropdown - No - - - Yes - black - - - - - - - color_%isolation% - color_%isolation% - Dropdown - No - - - Yes - black - black_%isolation% - - - No - white - white_%isolation% - - - - - - color_%isolation% - color_%isolation% - Dropdown - No - Yes - - - Yes - red - red_%isolation% - - - No - green - green_%isolation% - - - No - blue - blue_%isolation% - - - - - - size_%isolation% - size_%isolation% - Dropdown - No - - - Yes - xl - xl_%isolation% - - - No - xxl - xxl_%isolation% - - - - - - textarea_%isolation% - Text Area - - - - fpt_%isolation% - Fixed Product Tax - - - - attribute_dropdown%isolation% - attribute_dropdown%isolation% - Dropdown - No - Filterable (with results) - - - Yes - black - option_0_%isolation% - - - No - white - option_1_%isolation% - - - - - - size_%isolation% - size_%isolation% - Dropdown - No - - - No - SIZE_S - SIZE_S - - - No - SIZE_M - SIZE_M - - - No - SIZE_L - SIZE_L - - - - - - size_%isolation% - size_%isolation% - Dropdown - Yes - No - - - Yes - SIZE_S_%isolation% - SIZE_S - - - No - SIZE_M_%isolation% - SIZE_M - - - No - SIZE_L_%isolation% - SIZE_L - Yes - - - - - - search_weight_term_once_weight_1_%isolation% - search_weight_%isolation% - Text Field - No - Yes - 1 - Alaska Lorem ipsum dolor sit amet - - - - search_weight_term_once_weight_5_%isolation% - search_weight_%isolation% - Text Field - No - Yes - 5 - Alaska Lorem ipsum dolor sit amet - - - - search_weight_term_twice_weight_1_%isolation% - search_weight_%isolation% - Text Field - No - Yes - 1 - Alaska Lorem ipsum dolor sit Alaska amet - - - - free_shipping_%isolation% - free_shipping_%isolation% - Yes/No - No - Yes - - - - size_%isolation% - size_%isolation% - Dropdown - No - Yes - Filterable (with results) - Yes - - - No - SIZE_S - SIZE_S - - - No - SIZE_M - SIZE_M - - - No - SIZE_L - SIZE_L - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute/Options.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute/Options.xml deleted file mode 100644 index 86e0ef2cb7dcd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductAttribute/Options.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - Yes - blue - - - - - - black - - - white - - - - - - Yes - test option with single\' - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.xml deleted file mode 100644 index e90ca6bf7868a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple.xml +++ /dev/null @@ -1,2214 +0,0 @@ - - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Product \'!@#$%^&*()+:;\\|}{][?=~` %isolation% - sku_simple_product_%isolation% - No - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Product with long name %isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation%%isolation% - sku_simple_product_%isolation% - No - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - Simple Product %isolation% - simple_product_%isolation% - - custom_attribute_set_with_colors - - - 25 - In Stock - - This item has weight - 1 - - 560 - - - - default_subcategory - - - - default - - - - simple_order_default - - simple-product-%isolation% - - - - - default - - product_1_dollar %isolation% - sku_product_1_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 1 - - - taxable_goods - - - - default - - - Catalog, Search - product-1-dollar-%isolation% - - - - - default - - product_5_dollar %isolation% - sku_product_5_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 5 - - - taxable_goods - - - - default - - - Catalog, Search - product-5-dollar-%isolation% - - - - - default - - product_9_99_dollar %isolation% - sku_product_9_99_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 9.99 - - - taxable_goods - - - - default - - - Catalog, Search - product-9-99-dollar-%isolation% - - - - - default - - product_10_dollar %isolation% - sku_product_10_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 10 - - - taxable_goods - - - - default - - - Catalog, Search - product-10-dollar-%isolation% - - simple_order_10_dollar_product - - - - - - default - - product_15_dollar %isolation% - sku_product_15_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 15 - - - taxable_goods - - - - default - - - Catalog, Search - product-15-dollar-%isolation% - - - - - default - - product_20_dollar %isolation% - sku_product_20_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 20 - - - taxable_goods - - - - default - - - Catalog, Search - product-20-dollar-%isolation% - - - - - default - - product_30_dollar %isolation% - sku_product_30_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 30 - - - taxable_goods - - - - default - - - Catalog, Search - product-30-dollar-%isolation% - - - - - default - - product_21_dollar %isolation% - sku_product_21_dollar_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 21 - - - taxable_goods - - - - default - - - Catalog, Search - product-21-dollar-%isolation% - - - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - simple-product-%isolation% - - 560 - - - - default - - - Catalog, Search - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_big_qty - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_custom_price - - - - - product_100_dollar%isolation% - product_100_dollar%isolation% - - 777.0000 - In Stock - - This item has weight - 1 - - default - - - 100 - - - - default - - - simple-product-%isolation% - - simple_two_products - - - - - product_40_dollar%isolation% - product_40_dollar%isolation% - simple - - 777 - In Stock - - This item has weight - 1 - - default - - - 40 - - product_40_dollar - simple-product-%isolation% - - - default - - - - - - MAGETWO-23036_%isolation% - simple_with_category %isolation% - - default - - - 777 - In Stock - - This item has weight - 1 - - 100 - MAGETWO-23036 - - - default_subcategory - - simple_with_category - - - default - - - simple-product-%isolation% - - - - simple_product_with_category_%isolation% - Simple product with category %isolation% - - 777 - In Stock - - This item has weight - 1 - - default - - - 100 - - - - default_subcategory - - - - default - - - simple_with_category - simple-product-%isolation% - - - - Simple product without category %isolation% - simple-product-%isolation% - simple_product_without_category_%isolation% - This item has weight - 1 - - default - - - 100 - - - - 100 - In Stock - - - - default - - - - - - - default - - - 777 - In Stock - - Simple Product %isolation% - sku_simple_product_%isolation% - - 100 - - - This item has weight - 100 - - - default - - - simple-product-%isolation% - - default_subcategory - - - - - simple_for_composite_products%isolation% - simple_for_composite_products%isolation% - - 560 - - - default - - - taxable_goods - - - 111 - In Stock - - This item has weight - 1 - Yes - - - default - - - - Yes - 111 - In Stock - - simple-for-composite-products%isolation% - Catalog, Search - - - - - custom_attribute_set_with_colors - - Simple Product %isolation% - sku_simple_product_%isolation% - - 50 - - - This item has weight - 50 - - 52 - In Stock - - - - default - - - simple-product-%isolation% - - default_subcategory - - - - - simple_product_with_special_price_and_category%isolation% - Simple product with special price and category %isolation% - - default - - This item has weight - 1 - - 100 - - - - 86 - In Stock - - 90 - - default_subcategory - - - - default - - - simple-product-%isolation% - - - - simple_product_with_special_price_and_category%isolation% - Simple with Special Price 1$ off %isolation% - - default - - This item has weight - 1 - - 10 - - - - 63 - In Stock - - 9 - - - default - - - simple-product-%isolation% - - simple_order_special_price - - - - - adc_123_%isolation% - adc_123 - - 100 - - - None - - - 777 - In Stock - - This item has weight - 1 - <p>dfj_full</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - Simple with Weight 0.1 %isolation% - adc_123 - - 100 - - - None - - - 777 - In Stock - - This item has weight - 0.1 - <p>Simple with Weight 0.1</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - Simple with Weight 150.1 %isolation% - adc_123 - - 100 - - - None - - - 777 - In Stock - - This item has weight - 150.1 - <p>Simple with Weight 150.1</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - abc_dfj_%isolation% - abc_dfj - - 50 - - - taxable_goods - - - 777 - In Stock - - This item has weight - 1 - <p>adc_Full</p> - Yes - <p>abc_short</p> - - - default - - - Catalog, Search - simple-product-%isolation% - - - - product_100_dollar%isolation% - product_100_dollar%isolation% - - default - - - 25 - In Stock - - This item has weight - 1 - - 100 - - - - default - - - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 100 - - This item has weight - 1 - - 99 - In Stock - - simple-product-%isolation% - 9 - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 100 - - This item has weight - 1 - - 99 - In Stock - - simple-product-%isolation% - 9 - +1 day - +4 day - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 34 - In Stock - - - default - - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 85 - In Stock - - - default - - - default_subcategory - - - - default - - - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 23 - In Stock - - - - default - - - - two_options - - simple-product-%isolation% - - simple_with_two_custom_option - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 23 - In Stock - - - - default - - - - two_options_sort_order - - simple-product-%isolation% - - simple_with_two_custom_option - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 842 - In Stock - - - drop_down_with_one_option_percent_price - - - simple_drop_down_with_one_option_percent_price - - - - default - - - - default_subcategory - - simple-product-%isolation% - - - - - default - - Simple Product With Custom Option %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 953 - In Stock - - simple-product-%isolation% - - all_types - - - - - - default - - Simple Product With Custom Option %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 953 - In Stock - - simple-product-%isolation% - - all_types_options_required - - - - - low_stock_product%isolation% - low_stock_product%isolation% - - 1 - In Stock - - - No - 2 - - This item has weight - 1 - - default - - - 100 - - - - default - - - simple-product-%isolation% - - - - - default - - Simple Product out of stock %isolation% - sku_simple_product_out_of_stock%isolation% - This item has weight - 1 - - 25 - Out of Stock - - - 561 - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - simple-product-%isolation% - - - - - default - - Simple Product offline %isolation% - sku_simple_product_offline_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - No - simple-product-%isolation% - - - - - default - - Simple Product not visible %isolation% - sku_simple_product_not_visible_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Not Visible Individually - - simple_order_default - - simple-product-%isolation% - - - - - default - - Simple Product with cart limit %isolation% - sku_simple_product_with_cart_limit_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - - No - 2 - No - 5 - - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 63 - In Stock - - - drop_down_with_one_option_percent_price - - - simple_drop_down_with_one_option_percent_price - - simple-product-%isolation% - - - default - - - - - - - default - - Simple Product with qty increments %isolation% - sku_simple_product_with_qty_increments_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - - No - Yes - No - 2 - - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 25 - In Stock - - simple-product-%isolation% - - more_is_cheaper - - - - default - - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 25 - In Stock - - simple-product-%isolation% - - custom_with_fixed_discount - - - - default - - - - - - simple_product_with_category_%isolation% - Simple product with category %isolation% - - 777 - In Stock - - This item has weight - 1 - - default - - - 100 - - - - default_anchor_subcategory - - - - default - - - simple_with_category - simple-product-%isolation% - - - - - default - - - default_subcategory - - - taxable_goods - - - - default - - - Simple Product With Fpt %isolation% - sku_simple_product_%isolation% - - 70 - - This item has weight - 1 - - 954 - In Stock - - - drop_down_with_one_option_fixed_price - - - simple_drop_down_with_one_option_fixed_price - - simple-product-%isolation% - - one_fpt_for_all_states - - - - - - default - - - default_subcategory - - - taxable_goods - - - - default - - - Simple Product With Fpt %isolation% - sku_simple_product_%isolation% - - 110 - - - 345 - In Stock - - 100 - This item has weight - 1 - simple-product-%isolation% - - one_fpt_for_all_states - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - simple-product-%isolation% - This item has weight - 1 - - 1000 - In Stock - - - 10 - - - taxable_goods - - Yes - - - default - - - Catalog, Search - - simple_order_default - - - No - - - default_subcategory - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - simple-product-%isolation% - This item has weight - 1 - - 1 - In Stock - - - 10 - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - - default_subcategory - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 50 - - This item has weight - 1 - - 3 - In Stock - - - more_is_cheaper - - simple-product-%isolation% - - simple_order_qty_3 - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 10 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_qty_25 - - - - - %id% - Overnight Duffle - 24-WB07 - overnight-duffle - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 56.78 - - This item has weight - 1 - - 1 - In Stock - - - - default - - - simple-product-%isolation% - - default_subcategory - - - percent_and_fixed_radio_options - - - with_fixed_custom_option - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 100 - - This item has weight - 1 - - 1 - In Stock - - - - default - - - simple-product-%isolation% - - default_subcategory - - - text_and_two_custom_options - - - text_and_two_custom_options - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 56.78 - - This item has weight - 1 - - 1 - In Stock - - - - default - - - simple-product-%isolation% - - default_subcategory - - - percent_and_fixed_radio_options - - - with_percent_custom_option - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 20.01 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 79.99 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 10 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 2 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 56.78 - - This item has weight - 1 - - 1 - In Stock - - - - default - - - simple-product-%isolation% - - default_subcategory - - - percent_and_fixed_radio_options - - - simple_order_qty_1_price_56 - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 3 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 1 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 2 - In Stock - - - 560 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - custom_store - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - This item has weight - 1 - - 25 - In Stock - - - 560 - - - taxable_goods - - - - custom_store - - - custom_group_custom_store - - - Catalog, Search - simple-product-%isolation% - - simple_order_default - - - - - simple_product_with_category_%isolation% - Simple product with category %isolation% - - 777 - In Stock - - This item has weight - 1 - - default - - - 10 - - - - default_subcategory - - - - default - - - custom_store - - - simple-product-%isolation% - - - - simple_product_with_category_%isolation% - Simple product with category %isolation% - - 777 - In Stock - - This item has weight - 1 - - default - - - 10 - - - - default_subcategory - - - - default - - - custom_store - - - simple-product-%isolation% - - custom_price_in_main_and_custom_websites - - - - - - custom_attribute_set_search_weight_term_once_weight_1 - - search_weight_term_once_weight_1_%isolation% - search_weight_term_once_weight_1_%isolation% - - 100 - - - None - - - 777 - In Stock - - This item has weight - 1 - <p>dfj_full</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - - custom_attribute_set_search_weight_term_once_weight_5 - - search_weight_term_once_weight_5_%isolation% - search_weight_term_once_weight_5_%isolation% - - 100 - - - None - - - 777 - In Stock - - This item has weight - 1 - <p>dfj_full</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - - custom_attribute_set_search_weight_term_twice_weight_1 - - search_weight_term_twice_weight_1_%isolation% - search_weight_term_twice_weight_1_%isolation% - - 100 - - - None - - - 777 - In Stock - - This item has weight - 1 - <p>dfj_full</p> - Yes - - - default - - - Catalog, Search - simple-product-%isolation% - - - - - default - - Simple Product %isolation% - sku_simple_product_%isolation% - - 300 - - This item has weight - 1 - - 34 - In Stock - - - high_cost - - simple-product-%isolation% - - - - simple_product_with_special_price_and_category_second%isolation% - Simple product with special price and category_second%isolation% - - default - - This item has weight - 1 - - 150 - - - - 86 - In Stock - - 110 - - default_subcategory - - - - default - - - simple-product-%isolation% - - - - - default - - Matching Product - sku_matching_product - This item has weight - 1 - - 25 - In Stock - - - 60 - - - taxable_goods - - - - default - - - Catalog, Search - matching-product - - - - - default - - Displayed Product - sku_displayed_product - This item has weight - 2 - - 35 - In Stock - - - 70 - - - taxable_goods - - - - default - - - Catalog, Search - displayed-product - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/CheckoutData.xml deleted file mode 100644 index 87df97edad375..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/CheckoutData.xml +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - - - attribute_key_0 - option_key_0 - - - attribute_key_1 - Content option %isolation% - - - - 1 - - 340 - 1 - 340 - - - - - - - - attribute_key_0 - option_key_1 - - - attribute_key_1 - Content option %isolation% - - - - 2 - - 370 - 1 - 740 - - - - - - - - attribute_key_0 - option_key_1 - - - attribute_key_1 - Content option %isolation% - - - - 2 - - 370 - 74 - - - - - - - - attribute_key_0 - Field value 1 %isolation% - - - attribute_key_1 - Field value 2 %isolation% - - - attribute_key_2 - option_key_1 - - - attribute_key_3 - option_key_0 - - - - - - - - - - attribute_key_0 - option_key_0 - - - - - - - - - - attribute_key_0 - option_key_0 - - - - - - - 1 - - 560 - 560 - - - - - 2 - - 560 - 560 - - - - - 2 - - 100 - 200 - - - - - 900 - - - - 3 - - Yes - 100 - - - - - 1 - - 9 - 9 - - - - - 5 - - 40 - 40 - - - - - 1 - - 10 - 10 - - - - - 25 - - 10 - 250 - - - - - 3 - - - - - - - attribute_key_0 - option_key_0 - - - - 1 - - 560.78 - 1 - 560.78 - - - - - - - - attribute_key_0 - Ok - - - attribute_key_1 - option_key_0 - - - - 1 - - 5 - 1 - 125 - - - - - 1 - - 49.40 - 49.40 - - - - - - - - attribute_key_0 - option_key_0 - - - - 1 - - 61.74 - 1 - 61.74 - - - - - - - - attribute_key_0 - option_key_1 - - - - 1 - - 53.85 - 1 - 53.85 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/Price.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/Price.xml deleted file mode 100644 index 26ec74b568cca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/Price.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - 100.00 - 100.00 - 130.00 - - - - 100.00 - 100.00 - 140.00 - - - - 100.00 - 90.00 - 100.00 - 90.00 - 120.00 - - - - 100.00 - 90.00 - 100.00 - 90.00 - 126.00 - - - - 100.00 - 90.00 - 100.00 - 90.00 - 90.00 - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/WebsiteData.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/WebsiteData.xml deleted file mode 100644 index 1158a0752e546..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductSimple/WebsiteData.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - 15 - - - 20 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.xml deleted file mode 100644 index d2d9ce5313f45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual.xml +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - Virtual product %isolation% - sku_virtual_product_%isolation% - - 777 - In Stock - - This item has no weight - - 10 - - - virtual_order_default - - - - - virtual-product%isolation% - Virtual product %isolation% - sku_virtual_product_%isolation% - - 10 - - - taxable_goods - - This item has no weight - - - default - - - - - - virtual-product%isolation% - Virtual product %isolation% - sku_virtual_product_%isolation% - - 10 - - - default_subcategory - - - taxable_goods - - - - default - - - - - - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - Virtual product %isolation% - sku_virtual_product_%isolation% - - 1 - In Stock - - This item has no weight - - 10 - - - virtual_order_default - - - - - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - Virtual product %isolation% - sku_virtual_product_%isolation% - - 1000 - In Stock - - - 10 - - - virtual_order_big_qty - - - - - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - Virtual product %isolation% - sku_virtual_product_%isolation% - - 777 - In Stock - - - 10 - - - virtual_order_custom_price - - - - - product_50_dollar %isolation% - product_50_dollar_%isolation% - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - - 111 - In Stock - - - 50 - - - virtual_product_50_dollar - - - - - - taxable_goods - - - - default - - - virtual-product%isolation% - Virtual product %isolation% - sku_virtual_product_%isolation% - - 1000 - In Stock - - - No - - - 15 - - - virtual_order_default - - - - - - taxable_goods - - Yes - - - default - - - virtual-product%isolation% - Catalog, Search - - default - - Virtual product %isolation% - sku_virtual_product_%isolation% - - 1 - In Stock - - This item has no weight - - 10 - - - virtual_order_default - - - - - - default - - Virtual Product %isolation% - sku_virtual_product_%isolation% - - 10 - - This item has no weight - - 99 - In Stock - - virtual-product-%isolation% - 9 - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual/CheckoutData.xml deleted file mode 100644 index 12e3f471a9588..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/CatalogProductVirtual/CheckoutData.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - 1 - - - - 900 - - - - 1 - - 50 - 1 - 50 - - - - - 3 - - Yes - 100 - - - - - 2 - - 10 - 2 - 20 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.xml deleted file mode 100644 index 014d685cfdb7c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Category.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - Category%isolation% - category%isolation% - Yes - Yes - - default_category - - - - - Category%isolation% - custom%isolation% - Yes - Yes - - default_category - - Yes - - - - %id% - %id% - Default Category - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_category - - Yes - Yes - - - - DefaultSubcategory\'%isolation% - default-subcategory-%isolation% - - default_category - - Yes - Yes - - - - DefaultSubcategory%isolation% - - default_category - - Yes - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_category - - Yes - Yes - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_anchor_subcategory - - Yes - Yes - Yes - - - - %id% - RootCategory%isolation% - Yes - Yes - - - - RootSubCategory%isolation% - root-sub-category-%isolation% - - root_category - - Yes - Yes - - - - Category%isolation% - category-%isolation% - - default - - Yes - Yes - - - - Category%isolation% - category-%isolation% - - two_nested_categories - - Yes - Yes - - - - Category%isolation% - category-%isolation% - - three_nested_categories - - Yes - Yes - - - - Category%isolation% - category-%isolation% - - four_nested_categories - - Yes - Yes - - - - Category%isolation% - category%isolation% - Yes - Yes - - default_category - - - catalogProductSimple::default - - - - - Category%isolation% - category%isolation% - Yes - Yes - Yes - - default_category - - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_anchored_category - - Yes - Yes - - catalogProductSimple::default - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_anchored_category_with_product - - Yes - Yes - Yes - - catalogProductSimple::default - - - - Category%isolation% - category%isolation% - Yes - Yes - Yes - - default_category - - - catalogProductSimple::product_5_dollar - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/ConfigData.xml deleted file mode 100644 index b0f689879cd82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - default - 0 - Yes - 1 - - - - - default - 0 - No - 0 - - - - - - default - 0 - Yes - 1 - - - - - default - 0 - No - 0 - - - - - - - - - - - {{name}} - 1 - - - - - - {{name}} {{country_of_manufacture}} - - - - - {{name}} - 1 - - - - - - 5 - - - - - 0 - 1 - - - - - - 5 - - - - - 0 - 1 - - - - - - 3 - - - - - 0 - 1 - - - - - - default - 0 - Website - 1 - - - - - default - 0 - Global - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/CustomOptions.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/CustomOptions.xml deleted file mode 100644 index c53f029175e08..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/CustomOptions.xml +++ /dev/null @@ -1,763 +0,0 @@ - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1 - 0 - - - - - custom option drop down2 %isolation% - Yes - Select/Drop-down - - - 20 percent - 20 - Percent - sku_drop_down_row_2 - 0 - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1 - 0 - - - 20 percent - 20 - Percent - sku_drop_down_row_2 - 1 - - - - - custom option field %isolation% - Yes - Text/Field - - - 10 - Fixed - sku_field_option_%isolation% - 1024 - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1 - 1 - - - - - custom option drop down2 %isolation% - Yes - Select/Drop-down - - - 20 percent - 20 - Percent - sku_drop_down_row_2 - 2 - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1 - 1 - - - 20 percent - 20 - Percent - sku_drop_down_row_2 - 2 - - - - - custom option field %isolation% - Yes - Text/Field - - - 10 - Fixed - sku_field_option_%isolation% - 1024 - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 30 bucks - 30 - Fixed - sku_drop_down_row_1 - 0 - - - - - custom option drop down 2 %isolation% - Yes - Select/Drop-down - - - 40 Percent - 40 - Percent - sku_drop_down_row_1 - 0 - - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 30 bucks - 30 - Fixed - sku_drop_down_row_1 - 0 - - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 40 Percent - 40 - Percent - sku_drop_down_row_1 - 0 - - - - - - - - Test1 option %isolation% - Yes - Text/Field - - - 120.03 - Fixed - sku1_%isolation% - 45 - - - - - Test2 option %isolation% - Yes - Text/Field - - - 120.03 - Fixed - sku1_%isolation% - 45 - - - - - Test3 option %isolation% - Yes - Select/Drop-down - - - Test3-1 %isolation% - 110.01 - Percent - Percent - 0 - - - Test3-2 %isolation% - 210.02 - Fixed - sku3_%isolation% - 1 - - - - - Test4 option %isolation% - Yes - Select/Drop-down - - - Test4-1 %isolation% - 10.01 - Percent - sku2_%isolation% - 0 - - - Test4-2 %isolation% - 20.02 - Fixed - sku3_%isolation% - 1 - - - - - - - - custom option field %isolation% - Yes - Text/Field - - - 10 - Fixed - sku_field_option_%isolation% - 1024 - - - - - custom option Area %isolation% - Yes - Text/Area - - - 10 - Fixed - sku_area_row_%isolation% - 100 - - - - - custom option File %isolation% - No - File/File - - - 10 - Fixed - sku_file_row_%isolation% - jpg - 100 - 100 - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1_%isolation% - 0 - - - 20 percent - 20 - Percent - sku_drop_down_row_2_%isolation% - 1 - - - 30 fixed - 30 - Fixed - sku_drop_down_row_3_%isolation% - 2 - - - - - custom option Radio Buttons %isolation% - Yes - Select/Radio Buttons - - - 20 fixed - 20 - Fixed - sku_radio_buttons_row%isolation% - - - - - custom option Checkbox %isolation% - Yes - Select/Checkbox - - - 20 fixed - 20 - Fixed - sku_checkbox_row%isolation% - - - - - custom option Multiple Select %isolation% - Yes - Select/Multiple Select - - - 20 fixed - 20 - Fixed - sku_multiple_select_row%isolation% - 0 - - - - - custom option Date %isolation% - Yes - Date/Date - - - 20 - Fixed - sku_date_row%isolation% - - - - - custom option Date & Time %isolation% - Yes - Date/Date & Time - - - 20 - Fixed - sku_date_and_time_row%isolation% - - - - - custom option Time %isolation% - Yes - Date/Time - - - 20 - Fixed - sku_time_row%isolation% - - - - - - - - custom option field %isolation% - Yes - Text/Field - - - 10 - Fixed - sku_field_option_%isolation% - 1024 - - - - - custom option Area %isolation% - Yes - Text/Area - - - 10 - Fixed - sku_area_row_%isolation% - 100 - - - - - custom option File %isolation% - Yes - File/File - - - 10 - Fixed - sku_file_row_%isolation% - jpg - 100 - 100 - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 10 percent - 10 - Percent - sku_drop_down_row_1_%isolation% - 0 - - - 20 percent - 20 - Percent - sku_drop_down_row_2_%isolation% - 1 - - - 30 fixed - 30 - Fixed - sku_drop_down_row_3_%isolation% - 2 - - - - - custom option Radio Buttons %isolation% - Yes - Select/Radio Buttons - - - 20 fixed - 20 - Fixed - sku_radio_buttons_row%isolation% - - - - - custom option Checkbox %isolation% - Yes - Select/Checkbox - - - 20 fixed - 20 - Fixed - sku_checkbox_row%isolation% - - - - - custom option Multiple Select %isolation% - Yes - Select/Multiple Select - - - 20 fixed - 20 - Fixed - sku_multiple_select_row%isolation% - 0 - - - - - custom option Date %isolation% - Yes - Date/Date - - - 20 - Fixed - sku_date_row%isolation% - - - - - custom option Date & Time %isolation% - Yes - Date/Date & Time - - - 20 - Fixed - sku_date_and_time_row%isolation% - - - - - custom option Time %isolation% - Yes - Date/Time - - - 20 - Fixed - sku_time_row%isolation% - - - - - - - - custom menu - No - Select/Radio Buttons - - - 12.34 bucks - 12.34 - Fixed - sku_radio_buttons_row_1 - 0 - - - 9 Percent - 9 - Percent - sku_radio_buttons_row_2 - 0 - - - - - - - - 30 bucks - Yes - Text/Field - - - 30 - Fixed - sku_field_option_%isolation% - 1024 - - - - - custom menu - Yes - Select/Radio Buttons - - - 5 bucks - 5 - Fixed - sku_radio_buttons_row_1 - 0 - - - 10 bucks - 10 - Fixed - sku_radio_buttons_row_2 - 1 - - - - - - - - custom menu - No - Select/Radio Buttons - - - 12 bucks - 12 - Fixed - sku_radio_buttons_row_1 - 0 - - - 89 bucks - 89 - Fixed - sku_radio_buttons_row_2 - 0 - - - - - - - - custom menu - No - Select/Drop-down - - - first - 1 - Fixed - sku_radio_buttons_drop_down_1 - 0 - - - second - 2 - Fixed - sku_radio_buttons_drop_down_2 - 0 - - - - - - - - custom option drop down %isolation% - Yes - Select/Drop-down - - - 12 bucks - 12 - Fixed - sku_radio_buttons_row_1 - 0 - - - 12 bucks - 12 - Fixed - sku_radio_buttons_row_1 - 0 - - - 12 bucks - 12 - Fixed - sku_radio_buttons_row_1 - 0 - - - - - - - - Test1 option %isolation% - No - Text/Field - - - 10 - Fixed - sku1_%isolation% - 45 - - - - - - - - custom option file %isolation% - Yes - File/File - - - 40 - Percent - file_option - jpg, jpg gif .png - - - - - - - - custom option checkbox %isolation% - No - Select/Checkbox - - - 100 Percent - 100 - Percent - sku_checkbox_row_1 - 0 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/Fpt.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/Fpt.xml deleted file mode 100644 index e37cbda21b34c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/Fpt.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - 10 - All Websites [USD] - United States - * - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/TierPrice.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/TierPrice.xml deleted file mode 100644 index 6cc75bf8906cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Repository/Product/TierPrice.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - 15 - All Websites [USD] - 3 - - ALL_GROUPS - - - - 24 - All Websites [USD] - 15 - - ALL_GROUPS - - - - - - - 24 - All Websites [USD] - 3 - - ALL_GROUPS - - - - 15 - All Websites [USD] - 30 - - ALL_GROUPS - - - - - - - 90 - All Websites [USD] - 2 - - ALL_GROUPS - - - - - - - 80 - All Websites [USD] - 2 - - General - - - - - - - 90 - All Websites [USD] - 2 - - NOT_LOGGED_IN - - - - - - - Fixed - 95 - All Websites [USD] - 5 - - ALL_GROUPS - - - - - - - Discount - 3 - All Websites [USD] - 10 - - ALL_GROUPS - - - - - - - 5 - All Websites [USD] - 1 - - ALL_GROUPS - - - - - - 500000 - All Websites [USD] - 1 - - ALL_GROUPS - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.php deleted file mode 100644 index 95f6a124b8abc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.php +++ /dev/null @@ -1,156 +0,0 @@ -Categories - * 3. Select SubCategory - * 4. Drag'n'Drop SubCategory - * 5. Dismiss alert - * 6. Drag'n'Drop SubCategory - * 7. Accept alert - * 8. Save category - * 9. Verify category - * - * @group Category_Management - * @ZephyrId MAGETWO-27319 - */ -class AdvancedMoveCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * CatalogCategoryIndex page. - * - * @var CatalogCategoryIndex - */ - private $catalogCategoryIndex; - - /** - * CatalogCategoryEdit page. - * - * @var CatalogCategoryEdit - */ - private $catalogCategoryEdit; - - /** - * Factory for fixtures. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject page end prepare default category. - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit, - FixtureFactory $fixtureFactory - ) { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Runs test. - * - * @param Category $childCategory - * @param Category $parentCategory - * @param int|null $moveLevel - * @return array - */ - public function test( - Category $childCategory, - Category $parentCategory, - $moveLevel = null - ) { - // Preconditions: - $parentCategory->persist(); - $childCategory->persist(); - $resultCategory = $childCategory; - - if (!empty($moveLevel)) { - for ($nestingIterator = 1; $nestingIterator < $moveLevel; $nestingIterator++) { - $childCategory = $childCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - $resultCategory = $this->getMovedCategoryTree($resultCategory, $parentCategory, $childCategory); - } - - // Steps: - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->expandAllCategories(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($childCategory); - $this->catalogCategoryIndex->getTreeCategories()->assignCategory( - $parentCategory->getName(), - $childCategory->getName() - ); - $this->catalogCategoryEdit->getModalBlock()->dismissWarning(); - - $this->catalogCategoryIndex->getTreeCategories()->assignCategory( - $parentCategory->getName(), - $childCategory->getName() - ); - $this->catalogCategoryEdit->getModalBlock()->acceptWarning(); - $this->catalogCategoryEdit->getFormPageActions()->save(); - - return [ - 'category' => $resultCategory, - 'parentCategory' => $parentCategory, - 'childCategory' => $childCategory, - ]; - } - - /** - * Get moved category tree. - * - * @param Category $movedCategory - * @param Category $parentCategory - * @param Category $childCategory - * @return Category - */ - public function getMovedCategoryTree(Category $movedCategory, Category $parentCategory, Category $childCategory) - { - $bottomChildCategory = []; - while ($movedCategory->getName() != $childCategory->getName()) { - $bottomChildCategory[] = $movedCategory->getData(); - $movedCategory = $movedCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - $bottomChildCategory[] = $movedCategory->getData(); - - $newCategory = $parentCategory; - for ($i = count($bottomChildCategory) - 1; $i >= 0; $i--) { - unset($bottomChildCategory[$i]['parent_id']); - $bottomChildCategory[$i]['parent_id']['source'] = $newCategory; - $newCategory = $this->fixtureFactory->createByCode( - 'category', - ['data' => $bottomChildCategory[$i]] - ); - } - - return $newCategory; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.xml deleted file mode 100644 index e92edf4a143b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/AdvancedMoveCategoryEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - mftf_migrated:yes - three_nested_categories - default - 1 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.php deleted file mode 100644 index b77f5580c76ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.php +++ /dev/null @@ -1,77 +0,0 @@ -Inventory>Categories - * 3. Click on 'Add Category' button - * 4. Fill out all data according to data set - * 5. Save category - * 6. Verify created category - * - * @group Category_Management - * @ZephyrId MAGETWO-23411, MAGETWO-48379 - */ -class CreateCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Catalog category index page - * - * @var CatalogCategoryIndex - */ - protected $catalogCategoryIndex; - - /** - * Catalog category edit page - * - * @var CatalogCategoryEdit - */ - protected $catalogCategoryEdit; - - /** - * Inject pages - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @return void - */ - public function __inject(CatalogCategoryIndex $catalogCategoryIndex, CatalogCategoryEdit $catalogCategoryEdit) - { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Create category - * - * @param Category $category - * @param string $addCategory - * @return void - */ - public function test(Category $category, $addCategory) - { - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($category, false); - $this->catalogCategoryIndex->getTreeCategories()->$addCategory(); - $this->catalogCategoryEdit->getEditForm()->fill($category); - $this->catalogCategoryEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.xml deleted file mode 100644 index 3630a642534fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/CreateCategoryEntityTest.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - mftf_migrated:yes - Create root category with required fields only - addRootCategory - Yes - RootCategory%isolation% - - - - - Create root category with all fields - addRootCategory - Yes - Yes - RootCategory%isolation% - RootCategory All Fields - default - Static block and products - No - No - Product Name - Price - No - Price - No - 50 - Custom Meta Title %isolation% - custom meta keywords %isolation% - Custom meta description %isolation% - 2 columns with right bar - Magento Luma - Yes - 01/10/2014 - 12/31/2024 - - - - - addSubcategory - default_category - Yes - Yes - Subcategory%isolation% - test_type:acceptance_test - - - - - - mftf_migrated:yes - Create not anchor subcategory specifying all fields - addSubcategory - default_category - Yes - Yes - Subcategory%isolation% - Subcategory For Anchor Subcategory - default - Static block and products - No - No - Product Name - Price - No - Price - No - 5 - Subcategory%isolation% - Custom Meta Title %isolation% - custom meta keywords %isolation% - Custom meta description %isolation% - catalogProductSimple::default,catalogProductSimple::default - 2 columns with right bar - Magento Luma - Yes - 01/10/2014 - 12/31/2024 - request_path - No - - - - - - - - test_type:acceptance_test - Create anchor subcategory with all fields - addSubcategory - default_category - Yes - Yes - AnchorSubcategory%isolation% - Anchor Subcategory All Fields - default - Static block and products - Yes - No - Position - Product Name - Price - No - Product Name - No - 5.5 - AnchorSubcategory%isolation% - Anchor Subcategory Page Title - catalogProductSimple::default, configurableProduct::default - - - - - - - Create not active subcategory - addSubcategory - default_category - No - Yes - InactiveSubcategory%isolation% - - - - - - Create not included in menu subcategory - addSubcategory - default_category - Yes - No - Subcategory%isolation% - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - addSubcategory - default_category - Yes - Yes - Subcategory%isolation% - catalogProductSimple::default, configurableProduct::default, bundleProduct::bundle_fixed_product - - - - - test_type:extended_acceptance_test - addSubcategory - five_nested_categories - Yes - Category%isolation% - Category Required - Category%isolation% - Yes - - - - - addSubcategory - root_category - Yes - Yes - Subcategory%isolation% - - - - - addSubcategory - default_category - Yes - Yes - Subcategory%isolation% - catalogProductSimple::default, catalogProductSimple::not_visible_individually - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.php deleted file mode 100644 index 5243f2a68ac23..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.php +++ /dev/null @@ -1,80 +0,0 @@ -Categories. - * 3. Open category. - * 4. Click "Delete" button. - * 5. Perform asserts. - * - * @group Category_Management - * @ZephyrId MAGETWO-23303 - */ -class DeleteCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog category index page - * - * @var CatalogCategoryIndex - */ - protected $catalogCategoryIndex; - - /** - * Catalog category edit page - * - * @var CatalogCategoryEdit - */ - protected $catalogCategoryEdit; - - /** - * Inject pages - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @return void - */ - public function __inject(CatalogCategoryIndex $catalogCategoryIndex, CatalogCategoryEdit $catalogCategoryEdit) - { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Delete category. - * - * @param Category $category - * @return void - */ - public function test(Category $category) - { - $category->persist(); - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($category); - if ($this->catalogCategoryEdit->getFormPageActions()->checkDeleteButton()) { - $this->catalogCategoryEdit->getFormPageActions()->delete(); - $this->catalogCategoryEdit->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.xml deleted file mode 100644 index 77ed04d40b77a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/DeleteCategoryEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - mftf_migrated:yes - root_category - - - - - mftf_migrated:yes - root_subcategory - - - - - - - mftf_migrated:yes - default_category - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.php deleted file mode 100644 index d2c052b2a474d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.php +++ /dev/null @@ -1,145 +0,0 @@ -Inventory>Categories - * 3. Click on 'Add Category' button - * 4. Fill out all data according to data set - * 5. Save category - * 6. Verify created category - * - * @group Category_Management - * @ZephyrId MAGETWO-27319, MAGETWO-21202 - */ -class MoveCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * CatalogCategoryIndex page. - * - * @var CatalogCategoryIndex - */ - private $catalogCategoryIndex; - - /** - * CatalogCategoryEdit page. - * - * @var CatalogCategoryEdit - */ - private $catalogCategoryEdit; - - /** - * Factory for fixtures. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject page end prepare default category. - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit, - FixtureFactory $fixtureFactory - ) { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Runs test. - * - * @param Category $childCategory - * @param Category $parentCategory - * @param int|null $moveLevel - * @return array - */ - public function test( - Category $childCategory, - Category $parentCategory, - $moveLevel = null - ) { - // Preconditions: - $parentCategory->persist(); - $childCategory->persist(); - $resultCategory = $childCategory; - - if (!empty($moveLevel)) { - for ($nestingIterator = 1; $nestingIterator < $moveLevel; $nestingIterator++) { - $childCategory = $childCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - $resultCategory = $this->getMovedCategoryTree($resultCategory, $parentCategory, $childCategory); - } - - // Steps: - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->expandAllCategories(); - $this->catalogCategoryIndex->getTreeCategories()->assignCategory( - $parentCategory->getName(), - $childCategory->getName() - ); - $this->catalogCategoryEdit->getModalBlock()->acceptWarning(); - - return [ - 'category' => $resultCategory, - 'parentCategory' => $parentCategory, - 'childCategory' => $childCategory, - ]; - } - - /** - * Get moved category tree. - * - * @param Category $movedCategory - * @param Category $parentCategory - * @param Category $childCategory - * @return Category - */ - public function getMovedCategoryTree(Category $movedCategory, Category $parentCategory, Category $childCategory) - { - $bottomChildCategory = []; - while ($movedCategory->getName() != $childCategory->getName()) { - $bottomChildCategory[] = $movedCategory->getData(); - $movedCategory = $movedCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - $bottomChildCategory[] = $movedCategory->getData(); - - $newCategory = $parentCategory; - for ($i = count($bottomChildCategory) - 1; $i >= 0; $i--) { - unset($bottomChildCategory[$i]['parent_id']); - $bottomChildCategory[$i]['parent_id']['source'] = $newCategory; - $newCategory = $this->fixtureFactory->createByCode( - 'category', - ['data' => $bottomChildCategory[$i]] - ); - } - - return $newCategory; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.xml deleted file mode 100644 index b4fd843ca800f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/MoveCategoryEntityTest.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - mftf_migrated:yes - three_nested_categories - default - 3 - - - - - mftf_migrated:yes - default_subcategory_with_anchored_parent_with_product - default - 2 - - - - - - - mftf_migrated:yes - default_subcategory_with_anchored_parent - default_subcategory_with_anchored_parent_with_product - default_category - 2 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.php deleted file mode 100644 index cf309c2e5c980..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.php +++ /dev/null @@ -1,149 +0,0 @@ -Categories. - * 2. Open category created in preconditions. - * 3. Update data according to data set. - * 4. Save category. - * 5. Perform assertions. - * - * @group Category_Management - * @ZephyrId MAGETWO-72238 - */ -class SubcategoryNotIncludeInNavigationMenuTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog category index page. - * - * @var CatalogCategoryIndex - */ - private $catalogCategoryIndex; - - /** - * Catalog category edit page. - * - * @var CatalogCategoryEdit - */ - private $catalogCategoryEdit; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject pages. - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit, - FixtureFactory $fixtureFactory - ) { - $this->fixtureFactory = $fixtureFactory; - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Top parent category update test. - * - * @param Category $category - * @param Category $initialCategory - * @param int $nestingLevel - * @return array - */ - public function test( - Category $category, - Category $initialCategory, - $nestingLevel - ) { - $initialCategory->persist(); - $topCategory = $this->getParentCategoryByNestingLevel($initialCategory, $nestingLevel); - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($topCategory); - $this->catalogCategoryEdit->getEditForm()->fill($category); - $this->catalogCategoryEdit->getFormPageActions()->save(); - - $categories = []; - $this->getCategoryFixture($categories, $initialCategory, $category->getData(), $nestingLevel); - return [ - 'category' => $categories[1], - 'subcategory' => $categories[2], - ]; - } - - /** - * Get category fixture after saving in the admin panel. - * - * @param array $categories - * @param Category $currentCategory - * @param array $data - * @param int $nestingLevel - * @return Category - */ - private function getCategoryFixture(array &$categories, Category $currentCategory, array $data, int $nestingLevel) - { - if (--$nestingLevel) { - $parentCategory = $this->getCategoryFixture( - $categories, - $currentCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(), - $data, - $nestingLevel - ); - $category = $this->fixtureFactory->createByCode( - 'category', - ['data' => array_merge($currentCategory->getData(), ['parent_id' => ['source' => $parentCategory]])] - ); - } else { - $category = $this->fixtureFactory->createByCode( - 'category', - ['data' => array_merge($currentCategory->getData(), $data)] - ); - } - $categories[$nestingLevel + 1] = $category; - return $category; - } - - /** - * Get parent category by category nesting level. - * - * @param Category $category - * @param int $nestingLevel - * @return Category - */ - private function getParentCategoryByNestingLevel(Category $category, $nestingLevel) - { - for ($nestingIterator = 1; $nestingIterator < $nestingLevel; $nestingIterator++) { - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - - return $category; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.xml deleted file mode 100644 index 53a7debffa438..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/SubcategoryNotIncludeInNavigationMenuTest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - mftf_migrated:yes - two_nested_categories - 2 - Yes - Yes - - - - - mftf_migrated:yes - two_nested_categories - 2 - Yes - No - - - - - mftf_migrated:yes - two_nested_categories - 2 - No - Yes - - - - - mftf_migrated:yes - two_nested_categories - 2 - No - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.php deleted file mode 100644 index 89f662858a1a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.php +++ /dev/null @@ -1,131 +0,0 @@ -Categories. - * 3. Open category created in preconditions. - * 4. Update data according to data set. - * 5. Save. - * 6. Perform asserts. - * - * @group Category_Management - * @ZephyrId MAGETWO-20169 - */ -class UpdateCategoryEntityFlatDataTest extends UpdateCategoryEntityTest -{ - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Perform bin/magento commands for reindex indexers. - * - * @var Indexer - */ - private $indexer; - - /** - * Handle cron for tests executions. - * - * @var Cron - */ - private $cron; - - /** - * Configuration data. - * - * @var string - */ - private $configData; - - /** - * Prepare test data. - * - * @param Cron $cron - * @param Indexer $indexer - * @param TestStepFactory $stepFactory - * @return void - */ - public function __prepare(Cron $cron, Indexer $indexer, TestStepFactory $stepFactory) - { - $this->cron = $cron; - $this->indexer = $indexer; - $this->stepFactory = $stepFactory; - } - - /** - * Test for update category if use category flat. - * - * @param Category $category - * @param Category $initialCategory - * @param Store|null $firstStore - * @param Store|null $secondStore - * @param array|null $indexersMode - * @param string|null $configData - * @return array - */ - public function test( - Category $category, - Category $initialCategory, - Store $firstStore = null, - Store $secondStore = null, - $indexersMode = null, - $configData = null - ) { - $this->configData = $configData; - - //Preconditions - $firstStore->persist(); - $secondStore->persist(); - $this->cron->run(); - $this->cron->run(); - - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => true] - )->run(); - - $this->indexer->setMode($indexersMode); - $this->indexer->reindex(); - - return parent::test($category, $initialCategory); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => true] - )->run(); - $this->indexer->reindex(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.xml deleted file mode 100644 index 99f4b6718feb9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityFlatDataTest.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - mftf_migrated:yes - default - Name%isolation% - Category Description Updated - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - - mftf_migrated:yes - default - No - Yes - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - mftf_migrated:yes - default - catalogProductSimple::default - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.php deleted file mode 100644 index 55626dbb9a07f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.php +++ /dev/null @@ -1,123 +0,0 @@ -Categories - * 3. Open category created in preconditions - * 4. Update data according to data set - * 5. Save - * 6. Perform asserts - * - * @group Category_Management - * @ZephyrId MAGETWO-23290 - */ -class UpdateCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog category index page - * - * @var CatalogCategoryIndex - */ - protected $catalogCategoryIndex; - - /** - * Catalog category edit page - * - * @var CatalogCategoryEdit - */ - protected $catalogCategoryEdit; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject page end prepare default category - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit, - FixtureFactory $fixtureFactory - ) { - $this->fixtureFactory = $fixtureFactory; - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Test for update category - * - * @param Category $category - * @param Category $initialCategory - * @return array - */ - public function test(Category $category, Category $initialCategory) - { - $initialCategory->persist(); - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($initialCategory); - $this->catalogCategoryEdit->getEditForm()->fill($category); - $this->catalogCategoryEdit->getFormPageActions()->save(); - return ['category' => $this->prepareCategory($category, $initialCategory)]; - } - - /** - * Prepare Category fixture with the updated data. - * - * @param Category $category - * @param Category $initialCategory - * @return Category - */ - protected function prepareCategory(Category $category, Category $initialCategory) - { - $parentCategory = $category->hasData('parent_id') - ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() - : $initialCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(); - - $rewriteData = ['parent_id' => ['source' => $parentCategory]]; - if ($category->hasData('store_id')) { - $rewriteData['store_id'] = ['source' => $category->getDataFieldConfig('store_id')['source']->getStore()]; - } - - $data = [ - 'data' => array_merge( - $initialCategory->getData(), - $category->getData(), - $rewriteData - ) - ]; - - return $this->fixtureFactory->createByCode('category', $data); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.xml deleted file mode 100644 index 1cda62997e189..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateCategoryEntityTest.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - mftf_migrated:yes - default_category - Name%isolation% - No - Category Description Updated - UrlKey%isolation% - Category Title Updated - No - - - - - - - - mftf_migrated:yes - default_category - Yes - No - Product Name - No - Product Name - Price - catalogProductSimple::default - - - - - - - mftf_migrated:yes - default_category - No - Name%isolation% - - - - - - mftf_migrated:yes - custom - No - Category %isolation% - - - - - mftf_migrated:yes - default_category - custom - No - UrlKey%isolation% - - - - - mftf_migrated:yes - default_with_custom_url - default_category - custom - Yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.php deleted file mode 100644 index 8abc16ac1f5bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.php +++ /dev/null @@ -1,131 +0,0 @@ -Categories. - * 3. Open category created in preconditions. - * 4. Update data according to data set. - * 5. Save. - * 6. Perform asserts. - * - * @group Category_Management - * @ZephyrId MAGETWO-20169 - */ -class UpdateInactiveCategoryEntityFlatDataTest extends UpdateCategoryEntityTest -{ - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Perform bin/magento commands for reindex indexers. - * - * @var Indexer - */ - private $indexer; - - /** - * Handle cron for tests executions. - * - * @var Cron - */ - private $cron; - - /** - * Configuration data. - * - * @var string - */ - private $configData; - - /** - * Prepare test data. - * - * @param Cron $cron - * @param Indexer $indexer - * @param TestStepFactory $stepFactory - * @return void - */ - public function __prepare(Cron $cron, Indexer $indexer, TestStepFactory $stepFactory) - { - $this->cron = $cron; - $this->indexer = $indexer; - $this->stepFactory = $stepFactory; - } - - /** - * Test for update category if use category flat. - * - * @param Category $category - * @param Category $initialCategory - * @param Store|null $firstStore - * @param Store|null $secondStore - * @param array|null $indexersMode - * @param string|null $configData - * @return array - */ - public function test( - Category $category, - Category $initialCategory, - Store $firstStore = null, - Store $secondStore = null, - $indexersMode = null, - $configData = null - ) { - $this->configData = $configData; - - //Preconditions - $firstStore->persist(); - $secondStore->persist(); - $this->cron->run(); - $this->cron->run(); - - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => true] - )->run(); - - $this->indexer->setMode($indexersMode); - $this->indexer->reindex(); - - return parent::test($category, $initialCategory); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => true] - )->run(); - $this->indexer->reindex(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.xml deleted file mode 100644 index 0c7d88cc920b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateInactiveCategoryEntityFlatDataTest.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - mftf_migrated:yes - default - No - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - - mftf_migrated:yes - default - No - No - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - mftf_migrated:yes - default - No - Category Flat Data - category_flat_data - schedule - custom - custom - category_flat - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.php deleted file mode 100644 index 0665fc02eaaca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.php +++ /dev/null @@ -1,179 +0,0 @@ -Categories. - * 2. Open category created in preconditions. - * 3. Update data according to data set. - * 4. Save category. - * 5. Perform assertions. - * - * @group Category_Management - * @ZephyrId MAGETWO-27327 - */ -class UpdateTopCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog category index page. - * - * @var CatalogCategoryIndex - */ - protected $catalogCategoryIndex; - - /** - * Catalog category edit page. - * - * @var CatalogCategoryEdit - */ - protected $catalogCategoryEdit; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit, - FixtureFactory $fixtureFactory - ) { - $this->fixtureFactory = $fixtureFactory; - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Top parent category update test. - * - * @param Category $category - * @param Category $initialCategory - * @param int $nestingLevel - * @return array - */ - public function test( - Category $category, - Category $initialCategory, - $nestingLevel - ) { - $initialCategory->persist(); - $topCategory = $this->getParentCategoryByNestingLevel($initialCategory, $nestingLevel); - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($topCategory); - $this->catalogCategoryEdit->getEditForm()->fill($category); - $this->catalogCategoryEdit->getFormPageActions()->save(); - - $categories = []; - $categoriesBeforeSave = []; - $this->getCategoryFixture($categories, $initialCategory, $category->getData(), $nestingLevel); - $this->getCategory($initialCategory, $categoriesBeforeSave, $nestingLevel); - - return [ - 'categories' => $categories, - 'categoriesBeforeSave' => $categoriesBeforeSave - ]; - } - - /** - * Get category fixture after saving in the admin panel. - * - * @param array $categories - * @param Category $currentCategory - * @param array $data - * @param int $nestingLevel - * @return Category - */ - private function getCategoryFixture(array &$categories, Category $currentCategory, array $data, int $nestingLevel) - { - if (--$nestingLevel) { - $parentCategory = $this->getCategoryFixture( - $categories, - $currentCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(), - $data, - $nestingLevel - ); - $category = $this->fixtureFactory->createByCode( - 'category', - ['data' => array_merge($currentCategory->getData(), ['parent_id' => ['source' => $parentCategory]])] - ); - } else { - $category = $this->fixtureFactory->createByCode( - 'category', - ['data' => array_merge($currentCategory->getData(), $data)] - ); - } - $categories[$nestingLevel + 1] = $category; - return $category; - } - - /** - * Get category before it was saved in the admin panel. - * - * @param Category $initialCategory - * @param array $categoriesBeforeSave - * @param int $nestingLevel - * @return Category - */ - private function getCategory(Category $initialCategory, &$categoriesBeforeSave, $nestingLevel) - { - if (--$nestingLevel) { - $parentCategory = $this->getCategory( - $initialCategory->getDataFieldConfig('parent_id')['source']->getParentCategory(), - $categoriesBeforeSave, - $nestingLevel - ); - $category = $this->fixtureFactory->createByCode( - 'category', - ['data' => array_merge($initialCategory->getData(), ['parent_id' => ['source' => $parentCategory]])] - ); - } else { - $category = $initialCategory; - } - $categoriesBeforeSave[$nestingLevel + 1] = $category; - return $category; - } - - /** - * Get parent category by category nesting level. - * - * @param Category $category - * @param int $nestingLevel - * @return Category - */ - private function getParentCategoryByNestingLevel(Category $category, $nestingLevel) - { - for ($nestingIterator = 1; $nestingIterator < $nestingLevel; $nestingIterator++) { - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - - return $category; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.xml deleted file mode 100644 index e8a5fd355da7d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Category/UpdateTopCategoryEntityTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - mftf_migrated:yes - three_nested_categories - 3 - cat1-rewrite%isolation% - No - request_path - No - - - - mftf_migrated:yes - three_nested_categories - 3 - cat1-rewrite%isolation% - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 08bff9f70708a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - Catalog > Products - Products - - - - mftf_migrated:yes - Catalog > Categories - Default Category (ID: 2) - - - - mftf_migrated:yes - Stores > Product - Product Attributes - - - - mftf_migrated:yes - Stores > Attribute Set - Attribute Sets - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php deleted file mode 100644 index a463a3edacc10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractCompareProductsTest.php +++ /dev/null @@ -1,168 +0,0 @@ -fixtureFactory = $fixtureFactory; - $customer->persist(); - $this->customer = $customer; - } - - /** - * Injection data. - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param BrowserInterface $browser - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - BrowserInterface $browser - ) { - $this->cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - $this->browser = $browser; - } - - /** - * Login customer. - * - * @return void - */ - protected function loginCustomer() - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $this->customer] - )->run(); - } - - /** - * Create products. - * - * @param string $products - * @return array - */ - protected function createProducts($products) - { - $products = explode(',', $products); - foreach ($products as $key => $product) { - list($fixture, $dataset) = explode('::', $product); - $product = $this->fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - $product->persist(); - $products[$key] = $product; - } - return $products; - } - - /** - * Add products to compare list. - * - * @param array $products - * @param AbstractConstraint $assert - * @return void - */ - protected function addProducts(array $products, AbstractConstraint $assert = null) - { - foreach ($products as $itemProduct) { - $this->browser->open($_ENV['app_frontend_url'] . $itemProduct->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->clickAddToCompare(); - if ($assert !== null) { - $this->productCompareAssert($assert, $itemProduct); - } - } - } - - /** - * Perform assert. - * - * @param AbstractConstraint $assert - * @param InjectableFixture $product - * @return void - */ - protected function productCompareAssert(AbstractConstraint $assert, InjectableFixture $product) - { - $assert->configure(['catalogProductView' => $this->catalogProductView, 'product' => $product]); - \PHPUnit\Framework\Assert::assertThat($this->getName(), $assert); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractProductPromotedProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractProductPromotedProductsTest.php deleted file mode 100644 index 346aac64d9570..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AbstractProductPromotedProductsTest.php +++ /dev/null @@ -1,202 +0,0 @@ -browser = $browser; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Inject data. - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductEdit $catalogProductEdit - * @param CatalogProductView $catalogProductView - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndex, - CatalogProductEdit $catalogProductEdit, - CatalogProductView $catalogProductView - ) { - $this->catalogProductIndex = $catalogProductIndex; - $this->catalogProductEdit = $catalogProductEdit; - $this->catalogProductView = $catalogProductView; - } - - /** - * Create products. - * - * @param string $products - * @return void - */ - protected function createProducts($products) - { - $list = array_map('trim', explode(',', $products)); - - foreach ($list as $item) { - list($productName, $fixtureCode, $dataset) = array_map('trim', explode('::', $item)); - $product = $this->fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - - $product->persist(); - $this->products[$productName] = $product; - } - } - - /** - * Assign promoted products. - * - * @param string $promotedProducts - * @param string $type - * @return void - */ - protected function assignPromotedProducts($promotedProducts, $type) - { - $promotedProducts = $this->parsePromotedProducts($promotedProducts); - - foreach ($promotedProducts as $productName => $assignedNames) { - $initialProduct = $this->products[$productName]; - $filter = ['sku' => $initialProduct->getSku()]; - $assignedProducts = []; - - foreach ($assignedNames as $assignedName) { - $assignedProducts[] = $this->products[$assignedName]; - } - - $product = $this->fixtureFactory->create( - get_class($initialProduct), - [ - 'data' => [ - $type => [ - 'products' => $assignedProducts - ] - ] - ] - ); - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); - $this->catalogProductEdit->getProductForm()->fill($product); - $this->catalogProductEdit->getFormPageActions()->save(); - $this->catalogProductEdit->getMessagesBlock()->waitSuccessMessage(); - } - } - - /** - * Parse promoted products. - * - * @param string $promotedProducts - * @return array - */ - protected function parsePromotedProducts($promotedProducts) - { - $list = array_map('trim', explode(';', $promotedProducts)); - $result = []; - - foreach ($list as $item) { - list($productName, $promotedNames) = array_map('trim', explode(':', $item)); - $result[$productName] = array_map('trim', explode(',', $promotedNames)); - } - - return $result; - } - - /** - * Convert list of navigate products to array. - * - * @param string $navigateProductsOrder - * @return array - */ - protected function parseNavigateProductsOrder($navigateProductsOrder) - { - return array_map('trim', explode(',', $navigateProductsOrder)); - } - - /** - * Convert products to verify data to array. - * - * @param string $productsToVerify - * @return array - */ - protected function parseProductsToVerify($productsToVerify) - { - $result = []; - $list = array_map('trim', explode(';', $productsToVerify)); - - foreach ($list as $item) { - list($step, $products) = array_map('trim', explode(':', $item)); - $result[$step] = empty($products) - ? [] - : array_map('trim', explode(',', $products)); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.php deleted file mode 100644 index c0531727e037b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.php +++ /dev/null @@ -1,83 +0,0 @@ -catalogProductCompare = $catalogProductCompare; - $this->cmsIndex->open(); - if ($isCustomerLoggedIn == 'Yes') { - $this->loginCustomer(); - } - $this->products = $this->createProducts($products); - $this->addProducts($this->products, $assertProductCompareSuccessAddMessage); - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - - return ['products' => $this->products]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - for ($i = 1, $count = count($this->products); $i <= $count; $i++) { - $this->catalogProductCompare->getCompareProductsBlock()->removeProduct(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.xml deleted file mode 100644 index 1827292303174..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddCompareProductsTest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - catalogProductSimple::simple_for_composite_products - No - - - - - - catalogProductSimple::simple_for_composite_products,bundleProduct::bundle_dynamic_product - No - - - - - configurableProduct::configurable_as_low_as - Yes - - - - - - catalogProductSimple::simple_for_composite_products,catalogProductVirtual::default,downloadableProduct::default,groupedProduct::grouped_product_with_price,configurableProduct::configurable_as_low_as,bundleProduct::bundle_dynamic_product,bundleProduct::bundle_fixed_product - Yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.php deleted file mode 100644 index 1730d8386476b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.php +++ /dev/null @@ -1,154 +0,0 @@ -createProducts($products); - $this->assignPromotedProducts($promotedProducts, 'cross_sell_products'); - - // Initialization - $this->cmsIndex = $cmsIndex; - $this->checkoutCart = $checkoutCart; - $navigateProductsOrder = $this->parseNavigateProductsOrder($navigateProductsOrder); - $productsToVerify = $this->parseProductsToVerify($productsToVerify); - $initialProductName = array_shift($navigateProductsOrder); - $initialProduct = $this->products[$initialProductName]; - $initialProductToVerify = $productsToVerify[$initialProductName]; - - // Steps - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->clearShoppingCart(); - - $this->browser->open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->addToCart($initialProduct); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $this->assertCrossSellSection($initialProductToVerify); - foreach ($navigateProductsOrder as $productName) { - $this->addToCart($this->products[$productName]); - - if (empty($productsToVerify[$productName])) { - $this->assertAbsentCrossSellSection(); - } else { - $this->assertCrossSellSection($productsToVerify[$productName]); - } - } - } - - /** - * Add product to cart from Cross-sell section. - * - * @param InjectableFixture $product - * @return void - */ - protected function addToCart(InjectableFixture $product) - { - $this->checkoutCart->getCrosssellBlock()->getProductItem($product)->clickAddToCart(); - if ($this->cmsIndex->getTitleBlock()->getTitle() == $product->getName()) { - $this->catalogProductView->getViewBlock()->addToCart($product); - } - - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Assert that cross-sell products section is absent. - * - * @return void - */ - protected function assertAbsentCrossSellSection() - { - $this->checkoutCart->open(); - \PHPUnit\Framework\Assert::assertFalse( - $this->checkoutCart->getCrosssellBlock()->isVisible(), - "Cross-sell block is present." - ); - } - - /** - * Assert that cross-sell products section is displayed correctly. - * - * @param array $promotedProductNames - * @return void - */ - protected function assertCrossSellSection(array $promotedProductNames) - { - $productNames = []; - $pageProductNames = []; - - foreach ($promotedProductNames as $promotedProductName) { - $productNames[] = $this->products[$promotedProductName]->getName(); - } - $this->checkoutCart->open(); - foreach ($this->checkoutCart->getCrosssellBlock()->getProducts() as $productItem) { - $pageProductNames[] = $productItem->getProductName(); - } - - sort($productNames); - sort($pageProductNames); - \PHPUnit\Framework\Assert::assertEquals( - $productNames, - $pageProductNames, - 'Wrong products are displayed in cross-sell section.' - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.xml deleted file mode 100644 index b1f093162fa4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/AddToCartCrossSellTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - simple1::catalogProductSimple::product_with_category,simple2::catalogProductSimple::product_with_category,config1::configurableProduct::two_options_with_fixed_price - simple1:simple2,config1;config1:simple2 - simple1,config1,simple2 - simple1:simple2,config1;config1:simple2;simple2: - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.php deleted file mode 100644 index ebd455fa1ed93..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.php +++ /dev/null @@ -1,55 +0,0 @@ -persist(); - $products = $this->createProducts($products); - - //Steps - $this->cmsIndex->open(); - $this->loginCustomer(); - $this->addProducts($products); - $this->cmsIndex->getLinksBlock()->openLink("My Account"); - $customerAccountIndex->getCompareProductsBlock()->clickClearAll(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.xml deleted file mode 100644 index 24a09510ea9a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ClearAllCompareProductsTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - compare_products - mftf_migrated:yes - catalogProductSimple::simple_for_composite_products,catalogProductVirtual::default,downloadableProduct::default,groupedProduct::grouped_product_with_price,configurableProduct::default,bundleProduct::bundle_dynamic_product,bundleProduct::bundle_fixed_product - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.php deleted file mode 100644 index 49113af767f38..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.php +++ /dev/null @@ -1,146 +0,0 @@ -persist(); - return [ - 'category' => $category - ]; - } - - /** - * Injection data - * - * @param Category $category - * @param FixtureFactory $fixtureFactory - * @param CatalogCategoryView $catalogCategoryView - * @return void - */ - public function __inject( - Category $category, - FixtureFactory $fixtureFactory, - CatalogCategoryView $catalogCategoryView - ) { - $this->category = $category; - $this->fixtureFactory = $fixtureFactory; - $this->catalogCategoryView = $catalogCategoryView; - } - - /** - * Run create flat catalog product - * - * @param string $configData - * @param string $productsCount - * @return array - */ - public function test($configData, $productsCount) - { - $this->objectManager->create(SetupConfigurationStep::class, ['configData' => $this->configData])->run(); - $this->createBulkOfProducts($productsCount); - $this->configData = $configData; - return ['category' => $this->category, 'catalogCategoryView' => $this->catalogCategoryView]; - } - - /** - * Clear data after test - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - - /** - * Create products for tests - * - * @param $productsCount - * @return void - */ - private function createBulkOfProducts($productsCount) - { - for ($counter = 1; $counter <= $productsCount; $counter++) { - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => [ - 'category_ids' => [ - 'category' => $this->category - ] - ] - ] - ); - $product->persist(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.xml deleted file mode 100644 index 45161e1471f66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateFlatCatalogProductTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - category_flat,product_flat - 19 - - - - \ No newline at end of file diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.php deleted file mode 100644 index c77f023e9753c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.php +++ /dev/null @@ -1,134 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @group Products - * @ZephyrId MAGETWO-59861 - */ -class CreateSimpleProductEntityByAttributeMaskSkuTest extends Injectable -{ - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * Should cache be flushed - * - * @var bool - */ - private $flushCache; - - /** - * @var \Magento\Mtf\Fixture\FixtureFactory - */ - private $fixtureFactory; - - /** - * Run create product simple entity by attribute mask SKU test. - * - * @param CatalogProductSimple $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @param string $configData - * @param bool $flushCache - * @return array - */ - public function testCreate( - CatalogProductSimple $product, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage, - \Magento\Mtf\Fixture\FixtureFactory $fixtureFactory, - $flushCache = false, - $configData = null - ) { - $this->configData = $configData; - $this->flushCache = $flushCache; - $this->fixtureFactory = $fixtureFactory; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => $this->flushCache] - )->run(); - - // Steps - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $newProductPage->getProductForm()->fill($product); - $newProductPage->getFormPageActions()->save(); - - $skuMask = $this->prepareSkuByMask($product); - - $productSimple = $fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => array_merge($product->getData(), ['sku' => $skuMask])] - ); - - return ['product' => $productSimple]; - } - - /** - * Obtains product sku based on attributes define in Stores > Configuration->Catalog > Catalog > Mask for SKU - * - * @param CatalogProductSimple $product - * @return string - */ - private function prepareSkuByMask(CatalogProductSimple $product) - { - $productData = $product->getData(); - $skuMask = ''; - $config = $this->fixtureFactory->createByCode('configData', ['dataset' => $this->configData]); - $section = $config->getData('section'); - if (is_array($section) && array_key_exists('catalog/fields_masks/sku', $section)) { - $skuMask = $section['catalog/fields_masks/sku']['value']; - } - - $attributesInPattern = []; - $count = preg_match_all('/{{(\w+)}}/', $skuMask, $matches); - if ($count > 0 && is_array($matches[0])) { - foreach ($matches[1] as $attributeName) { - if (array_key_exists($attributeName, $productData)) { - $attributesInPattern[$attributeName] = $productData[$attributeName]; - } - } - } - foreach ($attributesInPattern as $attributeName => $attributeValue) { - $skuMask = str_replace('{{' . $attributeName . '}}', $attributeValue, $skuMask); - } - return $skuMask; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => $this->flushCache] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.xml deleted file mode 100644 index bdea332a3af0d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityByAttributeMaskSkuTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - mftf_migrated:yes - attribute_product_mask_sku - Create product with country of manufacture attribute sku mask - simple-product-%isolation% - Simple Product %isolation% - 10000 - 50 - 657 - Ukraine - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.php deleted file mode 100644 index 8c09660f68c96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.php +++ /dev/null @@ -1,35 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @group Products - * @ZephyrId MAGETWO-23414, MAGETWO-17475, MAGETWO-43376 - */ -class CreateSimpleProductEntityPartOneTest extends CreateSimpleProductEntityTest -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - // This blank class is created only to run long variation as a separate test in parallel environment -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.xml deleted file mode 100644 index ffaefdd945565..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartOneTest.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - inventory_min_qty_3, inventory_max_qty_5 - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10011 - 61 - 138 - Search - 3 - 5 - - - - - - - mftf_migrated:yes - MAGETWO-48850: Filtering Category Products using scope selector - Create simple product and check search by sku - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10012 - Simple Product short_description %isolation% - Simple Product description %isolation% - 62 - 139 - - - - - - - - - mftf_migrated:yes - MC-6220: Add products to wishlist from Category page with multiple wishlist enabled - Create simple product and check visibility in category - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10013 - Simple Product short_description %isolation% - Simple Product description %isolation% - 63 - 140 - - - - - - - - - Create product with tax class and group price - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - taxable_goods - 10014 - Simple Product short_description %isolation% - Simple Product description %isolation% - 64 - 141 - - - - - - - - - Create product with tax class and check absent special price - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - taxable_goods - 10015 - Simple Product short_description %isolation% - Simple Product description %isolation% - 65 - 142 - - - - - - - - - - Create product without tax class and tier price - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - None - 10016 - Simple Product short_description %isolation% - Simple Product description %isolation% - 66 - 143 - default - - - - - - - - - - Create product wit suite of custom options - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10017 - Simple Product short_description %isolation% - Simple Product description %isolation% - 67 - 144 - options_suite - simple_options_suite - catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option - - - - - - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10018 - Simple Product short_description %isolation% - Simple Product description %isolation% - 59 - 75 - In Stock - catalogProductSimple::default, configurableProduct::default - - - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10019 - Simple Product short_description %isolation% - Simple Product description %isolation% - 59 - 75 - In Stock - catalogProductSimple::default, configurableProduct::default - - - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10020 - Simple Product short_description %isolation% - Simple Product description %isolation% - 59 - 75 - In Stock - catalogProductSimple::default, configurableProduct::default - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - display_out_of_stock - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10021 - 68 - 0 - Out of Stock - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.php deleted file mode 100644 index 603b6fe15a355..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.php +++ /dev/null @@ -1,35 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @group Products - * @ZephyrId MAGETWO-23414, MAGETWO-17475, MAGETWO-43376 - */ -class CreateSimpleProductEntityPartTwoTest extends CreateSimpleProductEntityTest -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - // This blank class is created only to run long variation as a separate test in parallel environment -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.xml deleted file mode 100644 index ce1e473836ed8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityPartTwoTest.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - mftf_migrated:yes - MC-234: Admin should be able to create category from the product page - yes - default_subcategory_without_url_key - default - simple%isolation% - simple%isolation% - simple%isolation% - 10 - 345 - Temporary (302) - - - - - - - mftf_migrated:yes - MAGETWO-23414: Create Simple Product - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - taxable_goods - 10 - 1 - 1000 - In Stock - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - taxable_goods - 10 - 1 - 1000 - In Stock - drop_down_with_one_option_fixed_price - - - - - - - - MAGETWO-12914: Create Simple Product with Advanced Inventory and Assign It to the Category - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10 - 1 - test_type:acceptance_test - - - - - custom_allowed_country - true - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10000 - Simple Product short_description %isolation% - Simple Product description %isolation% - 50 - 657 - Antarctica - - - - mftf_migrated:yes - MAGETWO-68921: Apply Tier Price to a product - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 100 - 50 - 667 - not_logged_in - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 200.20 - 50 - 668 - custom_store - - - - - empty_product_mask_sku - Create product with custom options(fixed price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10000 - 50 - 657 - simple_drop_down_with_one_option_fixed_price - drop_down_with_one_option_fixed_price - - - - - - - - mftf_migrated:yes - MAGETWO-68921: Apply Tier Price to a product - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 100.00 - 555 - custom_with_fixed_discount - - - - mftf_migrated:yes - MAGETWO-68921: Apply Tier Price to a product - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 200.00 - 555 - custom_with_percentage_discount - - - - Magento/Catalog/Test/_files/test1.png - Magento/Catalog/Test/_files/test2.png - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10 - 50 - 100 - - - - - - mftf_migrated:yes - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 15 - 5 - 1 - Not Visible Individually - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10017 - Simple Product short_description %isolation% - Simple Product description %isolation% - 67 - $ - catalogProductSimple::with_fixed_custom_option_price_100 - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10017 - Simple Product short_description %isolation% - Simple Product description %isolation% - 67 - % - catalogProductSimple::with_one_custom_option_and_category - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.php deleted file mode 100644 index 883de507f57cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.php +++ /dev/null @@ -1,113 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @group Products - * @ZephyrId MAGETWO-23414, MAGETWO-17475, MAGETWO-43376 - */ -class CreateSimpleProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * Should cache be flushed - * - * @var bool - */ - private $flushCache; - - /** - * Prepare data. - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - - return [ - 'category' => $category - ]; - } - - /** - * Run create product simple entity test. - * - * @param CatalogProductSimple $product - * @param Category $category - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @param string $configData - * @param bool $flushCache - * @return array - */ - public function testCreate( - CatalogProductSimple $product, - Category $category, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage, - $flushCache = false, - $configData = null - ) { - - $this->configData = $configData; - $this->flushCache = $flushCache; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => $this->flushCache] - )->run(); - - // Steps - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $newProductPage->getProductForm()->fill($product, null, $category); - $newProductPage->getFormPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => $this->flushCache] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml deleted file mode 100644 index 840dc0b0812b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Create product with custom options(fixed price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10000 - Simple Product short_description %isolation% - Simple Product description %isolation% - 50 - 657 - drop_down_with_one_option_fixed_price - simple_drop_down_with_one_option_fixed_price - drop_down_with_one_option_fixed_price - - - - - - - - Create product with custom options(percent price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10001 - Simple Product short_description %isolation% - Simple Product description %isolation% - 51 - 658 - drop_down_with_one_option_percent_price - simple_drop_down_with_one_option_percent_price - drop_down_with_one_option_percent_price - - - - - - - - test_type:extended_acceptance_test - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10002 - 90 - Simple Product short_description %isolation% - Simple Product description %isolation% - 52 - - - 659 - drop_down_with_one_option_fixed_price - simple_drop_down_with_one_option_fixed_price - MAGETWO-23029 - - - - - - - - - Create product with special price and custom options(percent price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10003 - 90 - Simple Product short_description %isolation% - Simple Product description %isolation% - 53 - 660 - drop_down_with_one_option_percent_price - simple_drop_down_with_one_option_percent_price - MAGETWO-23030 - - - - - - - - Create product with group price and custom options(percent price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10004 - Simple Product short_description %isolation% - Simple Product description %isolation% - 54 - 661 - drop_down_with_one_option_percent_price - simple_drop_down_with_one_option_percent_price - MAGETWO-23030 - - - - - - - - Create product with group price and custom options(fixed price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10005 - Simple Product short_description %isolation% - Simple Product description %isolation% - 55 - 662 - drop_down_with_one_option_fixed_price - simple_drop_down_with_one_option_fixed_price - MAGETWO-23029 - - - - - - - - Create product with tier price and custom options(percent price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10006 - Simple Product short_description %isolation% - Simple Product description %isolation% - 56 - 663 - drop_down_with_one_option_percent_price - simple_drop_down_with_one_option_percent_price - MAGETWO-23030 - MAGETWO-23002 - - - - - - - - Create product with tier price and custom options(fixed price) - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10007 - Simple Product short_description %isolation% - Simple Product description %isolation% - 57 - 664 - drop_down_with_one_option_fixed_price - simple_drop_down_with_one_option_fixed_price - MAGETWO-23029 - MAGETWO-23002 - - - - - - - - Create product without custom options - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10008.88 - Simple Product short_description %isolation% - Simple Product description %isolation% - 58 - 665 - - - - - - - https://github.com/magento-engcom/msi/issues/1620 - to_maintain:yes - inventory_threshold_5 - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10009 - 59 - 10 - In Stock - - - 4 - false - - - 1 - true - 5 - - - - - - - - Create product that is out stock - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10010 - Simple Product short_description %isolation% - Simple Product description %isolation% - 60 - 0 - Out of Stock - - - - - Create product with file option - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 1000 - 100 - file_option_type - - - File/File - file_extension - jpg, gif, png - - - - - - - - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10 - Simple Product short_description %isolation% - Simple Product description %isolation% - 1 - 10 - In Stock - yes - default_subcategory,default_subcategory - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.php deleted file mode 100644 index c0e15d55fe578..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.php +++ /dev/null @@ -1,99 +0,0 @@ - Inventory > Catalog. - * 3. Click on "+" dropdown and select Virtual Product type. - * 4. Fill in all data according to data set. - * 5. Save product. - * 6. Verify created product. - * - * @group Virtual_Product - * @ZephyrId MAGETWO-23417 - */ -class CreateVirtualProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'no'; - /* end tags */ - - /** - * Category fixture - * - * @var Category - */ - protected $category; - - /** - * Product page with a grid - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to create a product - * - * @var CatalogProductNew - */ - protected $newProductPage; - - /** - * Prepare data - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return [ - 'category' => $category - ]; - } - - /** - * Injection data - * - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @return void - */ - public function __inject(CatalogProductIndex $productGrid, CatalogProductNew $newProductPage) - { - $this->productGrid = $productGrid; - $this->newProductPage = $newProductPage; - } - - /** - * Run create product virtual entity test - * - * @param CatalogProductVirtual $product - * @param Category $category - * @return void - */ - public function testCreate(CatalogProductVirtual $product, Category $category) - { - // Steps - $this->productGrid->open(); - $this->productGrid->getGridPageActionBlock()->addProduct('virtual'); - $this->newProductPage->getProductForm()->fill($product, null, $category); - $this->newProductPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.xml deleted file mode 100644 index a9c78117d7b69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateVirtualProductEntityTest.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - mftf_migrated:yes - Create product with required fields - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 10 - - - - - test_type:extended_acceptance_test, mftf_migrated:yes - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 100 - None - 999 - category_%isolation% - MAGETWO-23002 - No - Yes - In Stock - Catalog, Search - - - - - - - - Create product with out of stock - virtual-product-%isolation% - VirtualProduct %isolation% - 10 - taxable_goods - 999 - In Stock - MAGETWO-23030 - Search - - - - - - mftf_migrated:yes - Create product with tier price for "General" group - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 100 - None - 999 - category_%isolation% - general - No - Yes - In Stock - Catalog, Search - default - - - - - - - mftf_migrated:yes - Create product with custom options suite and import options - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 9000 - 999 - In Stock - options_suite - catalogProductSimple::with_two_custom_option_sort_order,catalogProductSimple::with_all_custom_option - - - - - - - mftf_migrated:yes - Create product without manage stock - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 10 - 999 - MAGETWO-23030 - No - No - In Stock - - - - - - - mftf_migrated:yes - Create product out of stock with tier price - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 9000 - 999 - default - Out of Stock - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - virtual-product-%isolation% - VirtualProduct %isolation% - virtual_sku_%isolation% - 10 - category_%isolation% - 999 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.php deleted file mode 100644 index fe22f32eb1134..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.php +++ /dev/null @@ -1,97 +0,0 @@ -fixtureFactory->createByCode('configData', ['dataset' => 'compare_products']); - $config->persist(); - } - - /** - * Test creation for delete product from compare products list. - * - * @param string $products - * @param string $removeProductIndex - * @param string $isCustomerLoggedIn - * @param CatalogProductCompare $catalogProductCompare - * @return array - */ - public function test( - $products, - $removeProductIndex, - $isCustomerLoggedIn, - CatalogProductCompare $catalogProductCompare - ) { - //Steps - $this->catalogProductCompare = $catalogProductCompare; - $this->cmsIndex->open(); - if ($isCustomerLoggedIn == 'Yes') { - $this->loginCustomer(); - } - $this->products = $this->createProducts($products); - $this->addProducts($this->products); - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - $this->catalogProductCompare->getCompareProductsBlock()->removeProduct($removeProductIndex); - - return ['product' => $this->products[$removeProductIndex - 1], 'countProducts' => count($this->products)]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if (count($this->products) > 1) { - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - $this->catalogProductCompare->getCompareProductsBlock()->removeAllProducts(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.xml deleted file mode 100644 index 20eb70c51892e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteCompareProductsTest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - stable:no - catalogProductSimple::simple_for_composite_products,catalogProductVirtual::default,downloadableProduct::default,groupedProduct::grouped_product_with_price,configurableProduct::default,bundleProduct::bundle_dynamic_product,bundleProduct::bundle_fixed_product - 1 - No - - - - - stable:no - catalogProductSimple::simple_for_composite_products,catalogProductVirtual::default,downloadableProduct::default,groupedProduct::grouped_product_with_price,configurableProduct::default,bundleProduct::bundle_dynamic_product,bundleProduct::bundle_fixed_product - 6 - Yes - - - - - - bundleProduct::bundle_dynamic_product - 1 - Yes - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.php deleted file mode 100644 index c65adc0450b34..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.php +++ /dev/null @@ -1,101 +0,0 @@ -Catalog. - * 3. Select products created in preconditions. - * 4. Select delete from mass-action. - * 5. Submit form. - * 6. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-23272 - */ -class DeleteProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Prepare data. - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return [ - 'category' => $category - ]; - } - - /** - * Injection data. - * - * @param CatalogProductIndex $catalogProductIndexPage - * @return void - */ - public function __inject(CatalogProductIndex $catalogProductIndexPage) - { - $this->catalogProductIndex = $catalogProductIndexPage; - } - - /** - * Run delete product test. - * - * @param string $products - * @param FixtureFactory $fixtureFactory - * @param Category $category - * @return array - */ - public function test($products, FixtureFactory $fixtureFactory, Category $category) - { - //Steps - $products = explode(',', $products); - $deleteProducts = []; - foreach ($products as &$product) { - list($fixture, $dataset) = explode('::', $product); - $product = $fixtureFactory->createByCode( - $fixture, - [ - 'dataset' => $dataset, - 'data' => [ - 'category_ids' => [ - 'category' => $category, - ], - ] - ] - ); - $product->persist(); - $deleteProducts[] = ['sku' => $product->getSku()]; - } - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->massaction($deleteProducts, 'Delete', true); - - return ['product' => $products]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.xml deleted file mode 100644 index 2d91f4a7024e5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DeleteProductEntityTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - catalogProductSimple::default - Yes - to_maintain:yes, mftf_migrated:yes - - - - - - mftf_migrated:yes - catalogProductVirtual::default - Yes - - - - - - mftf_migrated:yes - catalogProductSimple::with_one_custom_option - Yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.php deleted file mode 100644 index 69d09bdd47f13..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.php +++ /dev/null @@ -1,131 +0,0 @@ - Catalog. - * 3. Click Product from grid. - * 4. Click "Save & Duplicate". - * 5. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-23294 - */ -class DuplicateProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Category fixture. - * - * @var Category - */ - protected $category; - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to update a product. - * - * @var CatalogProductEdit - */ - protected $editProductPage; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param Category $category - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $editProductPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare( - Category $category, - CatalogProductIndex $productGrid, - CatalogProductEdit $editProductPage, - FixtureFactory $fixtureFactory - ) { - $this->category = $category; - $this->category->persist(); - $this->productGrid = $productGrid; - $this->editProductPage = $editProductPage; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run test duplicate product entity. - * - * @param string $productType - * @return array - */ - public function test($productType) - { - $this->markTestIncomplete('https://github.com/magento-engcom/msi/issues/666'); - - // Precondition - $product = $this->createProduct($productType); - - // Steps - $filter = ['sku' => $product->getSku()]; - $this->productGrid->open(); - $this->productGrid->getProductGrid()->searchAndOpen($filter); - $this->editProductPage->getFormPageActions()->saveAndDuplicate(); - - return ['product' => $product]; - } - - /** - * Creating a product according to the type of. - * - * @param string $productType - * @return array - */ - protected function createProduct($productType) - { - list($fixture, $dataset) = explode('::', $productType); - $product = $this->fixtureFactory->createByCode( - $fixture, - [ - 'dataset' => $dataset, - 'data' => [ - 'category_ids' => [ - 'category' => $this->category, - ], - ] - ] - ); - $product->persist(); - - return $product; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.xml deleted file mode 100644 index 76fe61855de19..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/DuplicateProductEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - catalogProductSimple::default - - - - - - - - \ No newline at end of file diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/GridFilteringDeletedEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/GridFilteringDeletedEntityTest.xml deleted file mode 100644 index 3bb0d5c0e1eb8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/GridFilteringDeletedEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - - - Magento\Store\Test\TestStep\DeleteWebsitesEntityStep - - - catalogProductSimple - product_with_additional_website - - - :name - - - Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex - getProductGrid - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.php deleted file mode 100644 index 1eb3107aef83b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.php +++ /dev/null @@ -1,101 +0,0 @@ -fixtureFactory = $fixtureFactory; - } - - /** - * Manage products stock. - * - * @param CatalogProductSimple $product - * @param string $skipAddingToCart - * @param string $configData - * @return mixed - */ - public function test(CatalogProductSimple $product, $skipAddingToCart = null, $configData = null) - { - $this->configData = $configData; - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Preconditions - $product->persist(); - - // Steps - if (!$skipAddingToCart) { - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - )->run(); - - $cart['data']['items'] = ['products' => [$product]]; - - return ['cart' => $this->fixtureFactory->createByCode('cart', $cart)]; - } - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.xml deleted file mode 100644 index d005c05a9cba2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ManageProductsStockTest.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - default - Out of Stock - display_out_of_stock,backorders_allow_qty_below - - - - - mftf_migrated:yes - product_with_category - Yes - 5 - Yes - 1 - Yes - 10000 - Yes - No - Yes - 1 - No - Out of Stock - Yes - - - - - mftf_migrated:yes - product_with_category - Yes - 5 - In Stock - Yes - 1 - Yes - 10000 - Yes - No - Yes - 1 - No - Yes - - - - - mftf_migrated:yes - product_with_category - Yes - 5 - In Stock - Yes - 1 - Yes - 10000 - Yes - No - Yes - 1 - No - Yes - display_out_of_stock - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.php deleted file mode 100644 index efb008c42826e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.php +++ /dev/null @@ -1,95 +0,0 @@ -Catalog. - * 3. Select products created in preconditions. - * 4. Select Change status action from mass-action. - * 5. Select Disable - * 6. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-60847 - */ -class MassProductUpdateStatusTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with the grid. - * - * @var CatalogProductIndex - */ - private $catalogProductIndex; - - /** - * Product grid action - * - * @var string - */ - private $productGridAction = 'Change status'; - - /** - * Factory for Fixtures. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Injection data - * - * @param CatalogProductIndex $catalogProductIndex - * @param FixtureFactory $fixtureFactory - */ - public function __inject( - CatalogProductIndex $catalogProductIndex, - FixtureFactory $fixtureFactory - ) { - $this->catalogProductIndex = $catalogProductIndex; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Mass update the status of the products in the grid - * - * @param string $gridStatus - * @param array $initialProducts - * @return array - */ - public function test( - $gridStatus, - array $initialProducts, - FixtureFactory $fixtureFactory - ) { - // Preconditions - $changeStatusProducts = []; - foreach ($initialProducts as $product) { - list($fixture, $dataset) = explode('::', $product); - $product = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - $product->persist(); - $changeStatusProducts[] = ['sku' => $product->getSku()]; - } - - // Steps - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid() - ->massaction($changeStatusProducts, [$this->productGridAction => $gridStatus]); - return ['products' => $initialProducts]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.xml deleted file mode 100644 index 6936315a12818..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateStatusTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - mftf_migrated:yes - - catalogProductSimple::simple_10_dollar - catalogProductSimple::simple_10_dollar - - Disable - No - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.php deleted file mode 100644 index 12aeaacf94393..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.php +++ /dev/null @@ -1,165 +0,0 @@ - Catalog. - * 3. Find Product (from preconditions) in Products grid. - * 4. Select Product's check-box. - * 5. Select "Update Attributes" value in "Select Product Actions" drop-down list. - * 6. Click on the "Submit" button. - * 7. Open "Attributes" tab. - * 8. Fill data. - * 9. Click on the "Save" button. - * 10. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-21128 - */ -class MassProductUpdateTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to update a product. - * - * @var CatalogProductActionAttributeEdit - */ - protected $attributeMassActionPage; - - /** - * Configuration data. - * - * @var string - */ - protected $configData; - - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - private $testStepFactory; - - /** - * Factory for Fixtures. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Injection data. - * - * @param CatalogProductIndex $productGrid - * @param CatalogProductActionAttributeEdit $attributeMassActionPage - * @param TestStepFactory $testStepFactory - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $productGrid, - CatalogProductActionAttributeEdit $attributeMassActionPage, - TestStepFactory $testStepFactory, - FixtureFactory $fixtureFactory - ) { - $this->productGrid = $productGrid; - $this->attributeMassActionPage = $attributeMassActionPage; - $this->testStepFactory = $testStepFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run mass update product simple entity test. - * - * @param CatalogProductSimple $product - * @param string $configData - * @param array $initialProducts - * @return array - */ - public function test(CatalogProductSimple $product, $configData, array $initialProducts) - { - $this->configData = $configData; - - // Preconditions - $products = $this->testStepFactory->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $initialProducts] - )->run()['products']; - - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - // Steps - $this->productGrid->open(); - $this->productGrid->getProductGrid()->updateAttributes($products); - $this->attributeMassActionPage->getAttributesBlockForm()->fill($product); - $this->attributeMassActionPage->getFormPageActions()->save(); - $updatedProducts = $this->prepareUpdatedProducts($products, $product); - - return ['products' => $updatedProducts]; - } - - /** - * Prepare updated products. - * - * @param array $products - * @param CatalogProductSimple $product - * @return array - */ - private function prepareUpdatedProducts(array $products, CatalogProductSimple $product) - { - $productsReturn = []; - /** @var FixtureInterface $item */ - foreach ($products as $item) { - $productsReturn[] = $this->fixtureFactory->create( - get_class($item), - ['data' => array_merge($item->getData(), $product->getData())] - ); - } - - return $productsReturn; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.xml deleted file mode 100644 index d2fe51ecd810d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/MassProductUpdateTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - mftf_migrated:yes - product_flat - catalogProductSimple::simple_10_dollar - catalogProductSimple::simple_10_dollar - 2 - 1.99 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.php deleted file mode 100644 index d711ce75417e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.php +++ /dev/null @@ -1,241 +0,0 @@ -createProducts($products); - $this->assignPromotedProducts($promotedProducts, 'related_products'); - $this->parseSelectable($selectable); - - // Initialization - $this->checkoutCart = $checkoutCart; - $this->productsToVerify = $this->parseProductsToVerify($productsToVerify); - $navigateProductsOrder = $this->parseNavigateProductsOrder($navigateProductsOrder); - $initialProductName = array_shift($navigateProductsOrder); - $initialProduct = $this->products[$initialProductName]; - $lastProductName = end($navigateProductsOrder); - $lastProduct = $this->products[$lastProductName]; - - // Steps - // Clear shopping cart - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->clearShoppingCart(); - - // Navigate through related products - $this->browser->open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - $this->assertRelatedSection($initialProductName); - foreach ($navigateProductsOrder as $productShortName) { - $this->navigate($productShortName); - } - - // Add last product with related product to cart and verify - $checkoutProducts = $this->selectRelatedProducts($lastProductName); - $checkoutProducts[] = $lastProduct; - $this->catalogProductView->getViewBlock()->addToCart($lastProduct); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $this->assertCheckoutCart($checkoutProducts); - } - - /** - * Parse selectable data. - * - * @param string $selectable - * @return void - */ - protected function parseSelectable($selectable) - { - $list = array_map('trim', explode(',', $selectable)); - - foreach ($list as $item) { - list($productName, $isSelectable) = array_map('trim', explode(':', $item)); - $this->selectable[$productName] = $isSelectable; - } - } - - /** - * Return related products to verify for specified product. - * - * @param string $product - * @return InjectableFixture[] - */ - protected function getProductsToVerify($product) - { - $shortNames = $this->productsToVerify[$product]; - $products = []; - - foreach ($shortNames as $shortName) { - $products[$shortName] = $this->products[$shortName]; - } - - return $products; - } - - /** - * Open product in related products section and verify its promoted products. - * - * @param string $productShortName - * @return void - */ - protected function navigate($productShortName) - { - $product = $this->products[$productShortName]; - $this->catalogProductView->getRelatedProductBlock()->getProductItem($product)->open(); - - if (empty($this->productsToVerify[$productShortName])) { - $this->assertAbsentRelatedSellSection(); - } else { - $this->assertRelatedSection($productShortName); - } - } - - /** - * Select related products for specified product. - * - * @param string $product - * @return InjectableFixture[] - */ - protected function selectRelatedProducts($product) - { - $selected = []; - - foreach ($this->productsToVerify[$product] as $productShortName) { - $productToVerify = $this->products[$productShortName]; - $isSelect = $this->selectable[$productShortName]; - - if ('yes' == $isSelect) { - $this->catalogProductView->getRelatedProductBlock()->getProductItem($productToVerify)->select(); - $selected[] = $productToVerify; - } - } - - return $selected; - } - - /** - * Assert that related products section is absent. - * - * @return void - */ - protected function assertAbsentRelatedSellSection() - { - \PHPUnit\Framework\Assert::assertFalse( - $this->catalogProductView->getRelatedProductBlock()->isVisible(), - "Related section is present." - ); - } - - /** - * Assert that related products section is displayed correctly. - * - * @param string $product - * @return void - */ - protected function assertRelatedSection($product) - { - $productsToVerify = $this->getProductsToVerify($product); - $fixtureData = []; - $pageData = []; - - foreach ($productsToVerify as $shortName => $product) { - $productName = $product->getName(); - $fixtureData[$productName] = $this->selectable[$shortName]; - } - foreach ($this->catalogProductView->getRelatedProductBlock()->getProducts() as $productItem) { - $pageProductName = $productItem->getProductName(); - $pageData[$pageProductName] = $productItem->isSelectable() ? 'yes' : 'no'; - } - - asort($fixtureData); - asort($pageData); - \PHPUnit\Framework\Assert::assertEquals( - $pageData, - $fixtureData, - 'Wrong products are displayed in related section.' - ); - } - - /** - * Verify checkout cart. - * - * @param array $checkoutProducts - * @return void - */ - protected function assertCheckoutCart(array $checkoutProducts) - { - $this->checkoutCart->open(); - - foreach ($checkoutProducts as $product) { - \PHPUnit\Framework\Assert::assertTrue( - $this->checkoutCart->getCartBlock()->getCartItem($product)->isVisible(), - "Product {$product->getName()} absent in cart." - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.xml deleted file mode 100644 index 248c8a7e3cf4c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateRelatedProductsTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, stable:no - simple1::catalogProductSimple::product_with_category,simple2::catalogProductSimple::product_with_category,config1::configurableProduct::two_options_with_fixed_price - simple1:yes,simple2:yes,config1:no - simple1:simple2,config1;config1:simple2 - simple1,config1 - simple1:simple2,config1;config1:simple2 - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.php deleted file mode 100644 index 91519ca724efa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.php +++ /dev/null @@ -1,110 +0,0 @@ -createProducts($products); - $this->assignPromotedProducts($promotedProducts, 'up_sell_products'); - - // Initialization - $navigateProductsOrder = $this->parseNavigateProductsOrder($navigateProductsOrder); - $productsToVerify = $this->parseProductsToVerify($productsToVerify); - $initialProductName = array_shift($navigateProductsOrder); - $initialProduct = $this->products[$initialProductName]; - $initialProductsToVerify = $productsToVerify[$initialProductName]; - - // Steps - $this->browser->open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html'); - $this->assertUpSellSection($initialProductsToVerify); - foreach ($navigateProductsOrder as $productName) { - $product = $this->products[$productName]; - $productAssert = $productsToVerify[$productName]; - - $this->catalogProductView->getUpsellBlock()->getProductItem($product)->open(); - if (empty($productAssert)) { - $this->assertAbsentUpSellSection(); - } else { - $this->assertUpSellSection($productAssert); - } - } - } - - /** - * Assert that up-sell products section is absent. - * - * @return void - */ - protected function assertAbsentUpSellSection() - { - \PHPUnit\Framework\Assert::assertFalse( - $this->catalogProductView->getUpsellBlock()->isVisible(), - "Up-sell section is present." - ); - } - - /** - * Assert that up-sell products section is displayed correctly. - * - * @param array $promotedProductNames - * @return void - */ - protected function assertUpSellSection(array $promotedProductNames) - { - $productNames = []; - $pageProductNames = []; - - foreach ($promotedProductNames as $promotedProductName) { - $productNames[] = $this->products[$promotedProductName]->getName(); - } - foreach ($this->catalogProductView->getUpsellBlock()->getProducts() as $productItem) { - $pageProductNames[] = $productItem->getProductName(); - } - - sort($productNames); - sort($pageProductNames); - \PHPUnit\Framework\Assert::assertEquals( - $productNames, - $pageProductNames, - 'Wrong products are displayed in up-sell section.' - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.xml deleted file mode 100644 index 0db197ba3b385..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/NavigateUpSellProductsTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, stable:no, mftf_migrated:yes - simple1::catalogProductSimple::product_with_category,simple2::catalogProductSimple::product_with_category,config1::configurableProduct::two_options_with_fixed_price - simple1:simple2,config1;config1:simple2 - simple1,config1,simple2 - simple1:simple2,config1;config1:simple2;simple2: - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.php deleted file mode 100644 index 707a62a446054..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.php +++ /dev/null @@ -1,124 +0,0 @@ - Catalog - * 3. Start create product from preconditions (according dataset) - * 4. Fill data from dataset - * 5. Save - * 6. Perform all assertions - * - * @group Products - * @ZephyrId MAGETWO-29398 - */ -class ProductTypeSwitchingOnCreationTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Page to create a product - * - * @var CatalogProductNew - */ - protected $catalogProductNew; - - /** - * Fixture Factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Injection data - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductNew $catalogProductNew - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndex, - CatalogProductNew $catalogProductNew, - FixtureFactory $fixtureFactory - ) { - $this->catalogProductIndex = $catalogProductIndex; - $this->catalogProductNew = $catalogProductNew; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run product type switching on creation test - * - * @param string $createProduct - * @param string $product - * @param string $actionName - * @return array - */ - public function test(string $createProduct, string $product, string $actionName = null): array - { - // Steps - list($fixture, $dataset) = explode('::', $product); - $product = $this->fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getGridPageActionBlock()->addProduct($createProduct); - if ($actionName) { - $this->performAction($actionName); - } - $this->catalogProductNew->getProductForm()->fill($product); - $this->catalogProductNew->getFormPageActions()->save($product); - - return ['product' => $product]; - } - - /** - * Perform action. - * - * @param string $actionName - * @return void - */ - private function performAction(string $actionName): void - { - if (method_exists(__CLASS__, $actionName)) { - $this->$actionName(); - } - } - - /** - * Clear downloadable product data. - * - * @return void - */ - private function clearDownloadableData(): void - { - $this->catalogProductNew->getProductForm()->openSection('downloadable_information'); - /** @var Downloadable $downloadableInfoTab */ - $downloadableInfoTab = $this->catalogProductNew->getProductForm()->getSection('downloadable_information'); - $downloadableInfoTab->getDownloadableBlock('Links')->clearDownloadableData(); - $downloadableInfoTab->setIsDownloadable('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.xml deleted file mode 100644 index a563d369f95cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnCreationTest.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - stable:no, mftf_migrated:yes - simple - configurableProduct::default - - - - - - - - - - - simple - catalogProductVirtual::default - mftf_migrated:yes - - - - - configurable - catalogProductSimple::product_without_category - mftf_migrated:yes - - - - - mftf_migrated:yes - MSI-1624 - configurable - catalogProductVirtual::required_fields - - - - - virtual - catalogProductSimple::default - mftf_migrated:yes - - - - - stable:no, mftf_migrated:yes - virtual - configurableProduct::not_virtual_for_type_switching - - - - - - - - - - - stable:no - virtual - downloadableProduct::default - - - - - - - - downloadable - catalogProductSimple::default - mftf_migrated:yes - - - - - downloadable - configurableProduct::not_virtual_for_type_switching - clearDownloadableData - MSI-1624 - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.php deleted file mode 100644 index b97accbf87a93..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.php +++ /dev/null @@ -1,161 +0,0 @@ - Catalog - * 3. Open created product in preconditions - * 4. Perform Actions from dataset - * 5. Fill data from dataset - * 6. Save - * 7. Perform all assertions - * - * @group Products - * @ZephyrId MAGETWO-29633 - */ -class ProductTypeSwitchingOnUpdateTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Page to update a product. - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Fixture Factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * DomainWhitelist CLI - * - * @var EnvWhitelist - */ - private $envWhitelist; - - /** - * Injection data. - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductEdit $catalogProductEdit - * @param FixtureFactory $fixtureFactory - * @param EnvWhitelist $envWhitelist - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndex, - CatalogProductEdit $catalogProductEdit, - FixtureFactory $fixtureFactory, - EnvWhitelist $envWhitelist - ) { - $this->catalogProductIndex = $catalogProductIndex; - $this->catalogProductEdit = $catalogProductEdit; - $this->fixtureFactory = $fixtureFactory; - $this->envWhitelist = $envWhitelist; - } - - /** - * Run product type switching on updating test. - * - * @param string $productOrigin - * @param string $product - * @param string $actionName - * @return array - */ - public function test($productOrigin, $product, $actionName) - { - // Preconditions - $this->envWhitelist->addHost('example.com'); - list($fixtureClass, $dataset) = explode('::', $productOrigin); - $productOrigin = $this->fixtureFactory->createByCode(trim($fixtureClass), ['dataset' => trim($dataset)]); - $productOrigin->persist(); - list($fixtureClass, $dataset) = explode('::', $product); - $product = $this->fixtureFactory->createByCode(trim($fixtureClass), ['dataset' => trim($dataset)]); - - // Steps - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen(['sku' => $productOrigin->getSku()]); - $this->performAction($actionName); - $this->catalogProductEdit->getProductForm()->fill($product); - $this->catalogProductEdit->getFormPageActions()->save($product); - - return ['product' => $product]; - } - - /** - * Perform action. - * - * @param string $actionName - * @throws \Exception - * @return void - */ - protected function performAction($actionName) - { - if (method_exists(__CLASS__, $actionName)) { - $this->$actionName(); - } - } - - /** - * Delete attributes. - * - * @return void - */ - protected function deleteVariations() - { - $this->catalogProductEdit->getProductForm()->openSection('variations'); - /** @var Config $variationsTab */ - $variationsTab = $this->catalogProductEdit->getProductForm()->getSection('variations'); - $variationsTab->deleteVariations(); - } - - /** - * Clear downloadable product data. - * - * @return void - */ - protected function clearDownloadableData() - { - $this->catalogProductEdit->getProductForm()->openSection('downloadable_information'); - /** @var Downloadable $downloadableInfoTab */ - $downloadableInfoTab = $this->catalogProductEdit->getProductForm()->getSection('downloadable_information'); - $downloadableInfoTab->getDownloadableBlock('Links')->clearDownloadableData(); - $downloadableInfoTab->setIsDownloadable('No'); - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.xml deleted file mode 100644 index 732dac98e0779..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ProductTypeSwitchingOnUpdateTest.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - catalogProductSimple::default - configurableProduct::default - - - mftf_migrated:yes - - - - - - - - - - catalogProductSimple::default - catalogProductVirtual::default - - - - - - - configurableProduct::default - catalogProductSimple::product_without_category - deleteVariations - - - - - mftf_migrated:yes - configurableProduct::default - catalogProductVirtual::required_fields - deleteVariations - - - - - catalogProductVirtual::default - catalogProductSimple::default - - - - - - - mftf_migrated:yes - catalogProductVirtual::default - configurableProduct::not_virtual_for_type_switching - - - - - - - - - - - - mftf_migrated:yes - catalogProductVirtual::default - downloadableProduct::default - - - - - - - - - - - mftf_migrated:yes - downloadableProduct::default - catalogProductSimple::default - - - - - - - test_type:acceptance_test - downloadableProduct::default - configurableProduct::not_virtual_for_type_switching - clearDownloadableData - - - - - - - - - - downloadableProduct::default - catalogProductVirtual::default - clearDownloadableData - - - - - mftf_migrated:yes - catalogProductSimple::default - downloadableProduct::default - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.php deleted file mode 100644 index ba9714672cfbb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.php +++ /dev/null @@ -1,105 +0,0 @@ -productGrid = $productGrid; - $this->newProductPage = $newProductPage; - $this->catalogProductEdit = $catalogProductEdit; - $this->fixtureFactory = $fixtureFactory; - $this->assertDateErrorMessage = $assertDateErrorMessage; - } - - /** - * Verify the product can be saved successfully after its initial save is failed. - * @param CatalogProductSimple $originalProduct - * @param CatalogProductSimple $productWithValidFromDate - * @param CatalogProductSimple $productWithValidToDate - */ - public function test( - CatalogProductSimple $originalProduct, - CatalogProductSimple $productWithValidFromDate, - CatalogProductSimple $productWithValidToDate - ) { - $this->productGrid->open(); - $this->productGrid->getGridPageActionBlock()->addProduct('simple'); - - if (!($this->newProductPage->getProductForm()->isProductNewFromDateVisible('product-details'))) { - $this->markTestSkipped('This is a CE only test.'); - } - $this->newProductPage->getProductForm()->fill($originalProduct); - $this->catalogProductEdit->getProductForm()->fill($productWithValidFromDate); - $this->catalogProductEdit->getFormPageActions()->save(); - $this->assertDateErrorMessage->processAssert($this->catalogProductEdit); - $this->catalogProductEdit->getProductForm()->fill($productWithValidToDate); - $this->catalogProductEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.xml deleted file mode 100644 index 7511792c50341..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ReSavingProductAfterInitialSaveTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Verify if product is saved successfully after initial save fails - simple-originalProduct-%isolation% - Simple originalProduct %isolation% - simple_originalProduct_%isolation% - Yes - 100 - m/d/y -1 day - 500 - In Stock - 7 - m/d/y +1 day - m/d/y +3 days - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.php deleted file mode 100644 index 99d57a6d99bad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.php +++ /dev/null @@ -1,165 +0,0 @@ - Catalog. - * 3. Select a product in the grid. - * 4. Edit test value(s) according to dataset. - * 5. Click "Save". - * 6. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-23544, MAGETWO-21125 - */ -class UpdateSimpleProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to update a product. - * - * @var CatalogProductEdit - */ - protected $editProductPage; - - /** - * Configuration data. - * - * @var string - */ - protected $configData; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Injection data. - * - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $editProductPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $productGrid, - CatalogProductEdit $editProductPage, - FixtureFactory $fixtureFactory - ) { - $this->productGrid = $productGrid; - $this->editProductPage = $editProductPage; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run update product simple entity test. - * - * @param CatalogProductSimple $initialProduct - * @param CatalogProductSimple $product - * @param Store|null $store - * @param string $configData - * @return array - */ - public function test( - CatalogProductSimple $initialProduct, - CatalogProductSimple $product, - Store $store = null, - $configData = '' - ) { - $this->configData = $configData; - // Preconditions - $initialProduct->persist(); - $category = $this->getCategory($initialProduct, $product); - - if ($store) { - $store->persist(); - $productName[$store->getStoreId()] = $product->getName(); - } - - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - // Steps - $filter = ['sku' => $initialProduct->getSku()]; - - $this->productGrid->open(); - $this->productGrid->getProductGrid()->searchAndOpen($filter); - if ($store) { - $this->editProductPage->getFormPageActions()->changeStoreViewScope($store); - } - $this->editProductPage->getProductForm()->fill($product); - $this->editProductPage->getFormPageActions()->save(); - - return [ - 'category' => $category, - 'stores' => isset($store) ? [$store] : [], - 'productNames' => isset($productName) ? $productName : [], - ]; - } - - /** - * Get Category instance. - * - * @param CatalogProductSimple $initialProduct - * @param CatalogProductSimple $product - * @return Category - */ - protected function getCategory(CatalogProductSimple $initialProduct, CatalogProductSimple $product) - { - $initialCategory = $initialProduct->hasData('category_ids') - ? $initialProduct->getDataFieldConfig('category_ids')['source']->getCategories()[0] - : null; - return $product->hasData('category_ids') && $product->getCategoryIds()[0] - ? $product->getDataFieldConfig('category_ids')['source']->getCategories()[0] - : $initialCategory; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.xml deleted file mode 100644 index ce99a61c33bac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateSimpleProductEntityTest.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - mftf_migrated:yes - Update visibility to Catalog, Search - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 245.00 - 200 - test-simple-product-%isolation% - 120.0000 - Catalog, Search - - - - - - - - mftf_migrated:yes - Update visibility to Not Visible Individually - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 325.00 - 123 - test-simple-product-%isolation% - 129.0000 - Not Visible Individually - - - - - - mftf_migrated:yes - Update visibility to Catalog - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 325.01 - 125 - test-simple-product-%isolation% - 25.0000 - Catalog - - - - - - - - - mftf_migrated:yes - Update visibility to Search - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 325.02 - 89 - test-simple-product-%isolation% - 89.0000 - Search - - - - - - - - - mftf_migrated:yes - Update stock to Out of Stock - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 325.03 - 25 - Out of Stock - test-simple-product-%isolation% - 125.0000 - - - - - - - - - mftf_migrated:yes - Update product status to offline - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 74.00 - 87 - test-simple-product-%isolation% - 333.0000 - No - - - - - - mftf_migrated:yes - Update category - product_with_category - default - Test simple product %isolation% - test_simple_product_%isolation% - 74.00 - 87 - test-simple-product-%isolation% - 333.0000 - - - - - - - mftf_migrated:yes - product_with_category - default - Test simple product %isolation% - test_simple_product_%isolation% - 133.00 - test-simple-product-%isolation% - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - product_with_category - - - - - - - mftf_migrated:yes - product_flat - simple_10_dollar - Simple Product %isolation% - sku_simple_product_%isolation% - 1.99 - default - - - - - - mftf_migrated:yes - product_with_category - Test simple product %isolation% - test_simple_product_%isolation% - 245.00 - 200 - drop_down_with_one_option_percent_price - simple_drop_down_with_one_option_percent_price - test-simple-product-%isolation% - 120.0000 - - - - - - mftf_migrated:yes - product_with_category - custom - No - Test simple product %isolation% - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - price_scope_website - product_with_category - custom - No - 9.99 - - - - - mftf_migrated:yes - simple_with_hight_tier_price - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.php deleted file mode 100644 index 8199cae9f1e59..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.php +++ /dev/null @@ -1,123 +0,0 @@ - Catalog. - * 3. Select a product in the grid. - * 4. Edit test value(s) according to dataset. - * 5. Click "Save". - * 6. Perform asserts. - * - * @group Products - * @ZephyrId MAGETWO-26204 - */ -class UpdateVirtualProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Virtual product fixture - * - * @var CatalogProductVirtual - */ - protected $product; - - /** - * Product page with a grid - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to update a product - * - * @var CatalogProductEdit - */ - protected $editProductPage; - - /** - * Prepare data - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return [ - 'category' => $category - ]; - } - - /** - * Injection data - * - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $editProductPage - * @param Category $category - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $productGrid, - CatalogProductEdit $editProductPage, - Category $category, - FixtureFactory $fixtureFactory - ) { - $this->product = $fixtureFactory->createByCode( - 'catalogProductVirtual', - [ - 'dataset' => 'default', - 'data' => [ - 'category_ids' => [ - 'category' => $category, - ], - ] - ] - ); - $this->product->persist(); - - $this->productGrid = $productGrid; - $this->editProductPage = $editProductPage; - } - - /** - * Run update product virtual entity test - * - * @param CatalogProductVirtual $product - * @return void - */ - public function test(CatalogProductVirtual $product) - { - // Steps - $this->productGrid->open(); - $this->productGrid->getProductGrid()->searchAndOpen(['sku' => $this->product->getSku()]); - $this->editProductPage->getProductForm()->fill($product); - $this->editProductPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.xml deleted file mode 100644 index e2715bb6b4b81..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/UpdateVirtualProductEntityTest.xml +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 99.99 - None - 999 - default_subcategory - MAGETWO-23002 - In Stock - Catalog - virtual-product-%isolation% - - - - - - - - - - - mftf_migrated:yes - virtual_product_%isolation% - virtual_sku_%isolation% - 120.00 - taxable_goods - 999 - 45 - In Stock - Catalog, Search - virtual-product-%isolation% - - - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 185.00 - None - 999 - default_subcategory - MAGETWO-23002 - Out of Stock - Catalog, Search - virtual-product-%isolation% - - - - - - - - - - - mftf_migrated:yes - virtual_product_%isolation% - virtual_sku_%isolation% - 99.99 - taxable_goods - Out of Stock - Search - virtual-product-%isolation% - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 5.00 - None - Out of Stock - Catalog - virtual-product-%isolation% - - - - - - - - - mftf_migrated:yes - virtual_product_%isolation% - virtual_sku_%isolation% - 145.00 - taxable_goods - 999 - default_subcategory - MAGETWO-23002 - In Stock - Catalog, Search - virtual-product-%isolation% - - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 99.99 - None - default_subcategory - 45 - Out of Stock - Catalog, Search - virtual-product-%isolation% - - - - - - - - - mftf_migrated:yes - virtual_product_%isolation% - virtual_sku_%isolation% - 5.00 - taxable_goods - Yes - Out of Stock - Search - virtual-product-%isolation% - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 120.00 - None - 999 - default_subcategory - In Stock - options_suite - Search - virtual-product-%isolation% - - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 99.99 - taxable_goods - Out of Stock - Catalog, Search - virtual-product-%isolation% - - - - - - - - - mftf_migrated:yes - VirtualProduct %isolation% - virtual_sku_%isolation% - 99.99 - None - 999 - default_subcategory - MAGETWO-23002 - In Stock - Catalog - virtual-product-%isolation% - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.php deleted file mode 100644 index 17641085ace75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.php +++ /dev/null @@ -1,36 +0,0 @@ - Catalog. - * - * @group Products - * @ZephyrId MAGETWO-37146 - */ -class ValidateOrderOfProductTypeTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Open catalog product index page. - * - * @param CatalogProductIndex $catalogProductIndex - * @return void - */ - public function test(CatalogProductIndex $catalogProductIndex) - { - $catalogProductIndex->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.xml deleted file mode 100644 index ec776128fdfe3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/ValidateOrderOfProductTypeTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Simple Product - Virtual Product - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.php deleted file mode 100644 index 4997d0ef704b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.php +++ /dev/null @@ -1,96 +0,0 @@ - Attributes > Attribute Set. - * 3. Start to create new Attribute Set. - * 4. Fill out fields data according to data set. - * 5. Add created Product Attribute to Attribute Set. - * 6. Save new Attribute Set. - * 7. Verify created Attribute Set. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-25104 - */ -class CreateAttributeSetEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog Product Set page - * - * @var CatalogProductSetIndex - */ - protected $productSetIndex; - - /** - * Catalog Product Set add page - * - * @var CatalogProductSetAdd - */ - protected $productSetAdd; - - /** - * Catalog Product Set edit page - * - * @var CatalogProductSetEdit - */ - protected $productSetEdit; - - /** - * @param CatalogProductSetIndex $productSetIndex - * @param CatalogProductSetAdd $productSetAdd - * @param CatalogProductSetEdit $productSetEdit - * @return void - */ - public function __inject( - CatalogProductSetIndex $productSetIndex, - CatalogProductSetAdd $productSetAdd, - CatalogProductSetEdit $productSetEdit - ) { - $this->productSetIndex = $productSetIndex; - $this->productSetAdd = $productSetAdd; - $this->productSetEdit = $productSetEdit; - } - - /** - * Run CreateAttributeSetEntity test - * - * @param CatalogAttributeSet $attributeSet - * @param CatalogProductAttribute $productAttribute - * @return void - */ - public function testCreateAttributeSet( - CatalogAttributeSet $attributeSet, - CatalogProductAttribute $productAttribute - ) { - $productAttribute->persist(); - - //Steps - $this->productSetIndex->open(); - $this->productSetIndex->getPageActionsBlock()->addNew(); - - $this->productSetAdd->getAttributeSetForm()->fill($attributeSet); - $this->productSetAdd->getPageActions()->save(); - $this->productSetEdit->getAttributeSetEditBlock()->moveAttribute($productAttribute->getData()); - $this->productSetEdit->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.xml deleted file mode 100644 index 13e05b1d122cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateAttributeSetEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - mftf_migrated:yes - AttributeSet%isolation% - default - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.php deleted file mode 100644 index 6f3b8556328a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.php +++ /dev/null @@ -1,61 +0,0 @@ -Catalog. - * 3. Open product created in preconditions. - * 4. Click add new attribute. - * 5. Fill out fields data according to data set. - * 6. Save Product Attribute. - * 7. Fill attribute value. - * 8. Save product. - * 7. Perform appropriate assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-30528 - */ -class CreateProductAttributeEntityFromProductPageTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Prepare data for test. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $product = $fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => 'product_with_category_with_anchor'] - ); - $product->persist(); - return ['product' => $product]; - } - - /** - * Run CreateProductAttributeEntity from product page test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.xml deleted file mode 100644 index e15eab57cca01..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityFromProductPageTest.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - mftf_migrated:yes - Text_Field_Admin_%isolation% - Text Field - No - attr_text_%isolation% - Global - <b><i>default_value_text%isolation%</i></b> - Yes - Yes - Yes - Yes - Yes - Yes - Yes - - - - - - - - - - - - - mftf_migrated:yes - Dropdown_Admin_%isolation% - Dropdown - two_options - No - attr_dropdown_%isolation% - Global - Filterable (with results) - Yes - white - Product name - product-sku - 35 - - - - - - mftf_migrated:yes - Text_Field_Admin_%isolation% - Text Field - Yes - attr_text_%isolation% - default_value_text%isolation% - attributes - - - - mftf_migrated:yes - Text_Field_Admin_%isolation% - Text Field - No - attr_text_%isolation% - default_value_text%isolation% - Yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.php deleted file mode 100644 index 896d3e355c279..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.php +++ /dev/null @@ -1,39 +0,0 @@ - Attributes > Product. - * 3. Start to create new Product Attribute. - * 4. Fill out fields data according to data set. - * 5. Save Product Attribute. - * 6. Perform appropriate assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-24767 - */ -class CreateProductAttributeEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Run CreateProductAttributeEntity test. - * - * @return array - */ - public function testCreateProductAttribute() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.xml deleted file mode 100644 index 49725d08b63e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/CreateProductAttributeEntityTest.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - custom_attribute_set - Text_Field_Admin_%isolation% - Text Field - No - attr_textfield_%isolation% - default_value_text%isolation% - - - - - - mftf_migrated:yes - custom_attribute_set - Text_Field_Admin_%isolation% - Text Area - Yes - attr_textarea_%isolation% - Store View - - - default_value_textarea%isolation% - No - Area_Field%isolation% - Yes - Yes - Yes - product-details - - - - - - - - - - - custom_attribute_set - Date_Admin_%isolation% - Date - No - attr_date_%isolation% - n/j/y - No - Date_Store_View - Yes - Yes - No - Yes - Yes - Yes - Yes - - - - - - - - - custom_attribute_set - Yes/No_Admin_%isolation% - Yes/No - Yes - attr_yesno_%isolation% - Global - Yes - Yes - No - Yes/No_Global - - - - - - - mftf_migrated:yes - custom_attribute_set - Multiple_Select_Admin_%isolation% - Multiple Select - default - No - attr_multiselect_%isolation% - Website - Yes - Yes - Yes - Yes - Filterable (with results) - Yes - Yes - Yes - Yes - - - - - - - - - - - - - - test_type:extended_acceptance_test, mftf_migrated:yes - custom_attribute_set - Dropdown_Admin_%isolation% - Dropdown - default - Yes - attr_dropdown_%isolation% - Global - No - Yes - Yes - Yes - Filterable (with results) - Yes - Yes - Yes - Yes - Yes - Product name - product-sku - 35 - product-details - - - - - - - - - - - - - - - - - - mftf_migrated:yes - custom_attribute_set - Price_Admin_%isolation% - Price - No - attr_price_%isolation% - No - Price_StoreView - Yes - Yes - No - Filterable (with results) - Yes - 15 - - - - - - - - - - custom_attribute_set - Fixed_Product_Tax_Admin_%isolation% - Fixed Product Tax - attr_fpt_code_%isolation% - Fixed_Product_Tax_Storeview - - United States - 10 - All Websites USD - * - - - - - - - custom_attribute_set - Text_Field_Admin_%isolation% - Text Field - Yes - attr_textfield_%isolation% - Store View - default_value_text%isolation% - Yes - Text_Field%isolation% - Yes - Yes - Yes - - - - mftf_migrated:yes - custom_attribute_set - Dropdown_Admin_%isolation% - Dropdown - option_with_single_quotation - Yes - attr_dropdown_%isolation% - Global - No - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.php deleted file mode 100644 index 39180961ad137..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.php +++ /dev/null @@ -1,84 +0,0 @@ - Attributes > Product. - * 3. Search product attribute in grid by given data. - * 4. Open this attribute by clicking. - * 5. Click on the "Delete Attribute" button. - * 6. Perform all assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-26011 - */ -class DeleteAssignedToTemplateProductAttributeTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog Product Attribute index page. - * - * @var CatalogProductAttributeIndex - */ - protected $attributeIndex; - - /** - * Catalog Product Attribute new page. - * - * @var CatalogProductAttributeNew - */ - protected $attributeNew; - - /** - * Inject pages. - * - * @param CatalogProductAttributeIndex $attributeIndex - * @param CatalogProductAttributeNew $attributeNew - * @return void - */ - public function __inject(CatalogProductAttributeIndex $attributeIndex, CatalogProductAttributeNew $attributeNew) - { - $this->attributeIndex = $attributeIndex; - $this->attributeNew = $attributeNew; - } - - /** - * Run test. - * - * @param CatalogAttributeSet $attributeSet - * @return array - */ - public function test(CatalogAttributeSet $attributeSet) - { - // Precondition - $attributeSet->persist(); - $attribute = $attributeSet->getDataFieldConfig('assigned_attributes')['source']->getAttributes()[0]; - - // Steps - $filter = ['attribute_code' => $attribute->getAttributeCode()]; - $this->attributeIndex->open(); - $this->attributeIndex->getGrid()->searchAndOpen($filter); - $this->attributeNew->getPageActions()->delete(); - $this->attributeNew->getModalBlock()->acceptAlert(); - - return ['attributeSet' => $attributeSet, 'attribute' => $attribute]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.xml deleted file mode 100644 index d674535b54abb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAssignedToTemplateProductAttributeTest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - mftf_migrated:yes - custom_attribute_set - attribute_type_dropdown - - - - - - - mftf_migrated:yes - default - attribute_type_text_field - Product name - product-sku - 25 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.php deleted file mode 100644 index 5d3112a0a7fe4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.php +++ /dev/null @@ -1,99 +0,0 @@ - Attributes > Attribute Set. - * 3. Open created Attribute Set. - * 4. Click 'Delete' button. - * 5. Perform all assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-25473 - */ -class DeleteAttributeSetTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog Product Set index page - * - * @var CatalogProductSetIndex - */ - protected $productSetIndex; - - /** - * Catalog Product Set edit page - * - * @var CatalogProductSetEdit - */ - protected $productSetEdit; - - /** - * Inject data - * - * @param CatalogProductSetIndex $productSetIndex - * @param CatalogProductSetEdit $productSetEdit - * @return void - */ - public function __inject( - CatalogProductSetIndex $productSetIndex, - CatalogProductSetEdit $productSetEdit - ) { - $this->productSetIndex = $productSetIndex; - $this->productSetEdit = $productSetEdit; - } - - /** - * Run DeleteAttributeSet test - * - * @param FixtureFactory $fixtureFactory - * @param CatalogAttributeSet $attributeSet - * @return array - */ - public function test(FixtureFactory $fixtureFactory, CatalogAttributeSet $attributeSet) - { - // Precondition - $attributeSet->persist(); - $product = $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => [ - 'attribute_set_id' => ['attribute_set' => $attributeSet], - ], - ] - ); - $product->persist(); - - // Steps - $filter = ['set_name' => $attributeSet->getAttributeSetName()]; - $this->productSetIndex->open(); - $this->productSetIndex->getGrid()->searchAndOpen($filter); - $this->productSetEdit->getPageActions()->delete(); - $this->productSetEdit->getModalBlock()->acceptAlert(); - - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.xml deleted file mode 100644 index a83fce14d9381..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteAttributeSetTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - stable:no, mftf_migrated:yes - custom_attribute_set - default - default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.php deleted file mode 100644 index 1698bf9871e0b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.php +++ /dev/null @@ -1,57 +0,0 @@ - Attributes > Product. - * 3. Search product attribute in grid by given data. - * 4. Click on the required product attribute. - * 5. Click on the "Delete Attribute" button. - * 6. Perform all assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-24998 - */ -class DeleteProductAttributeEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Run DeleteProductAttributeEntity test. - * - * @param CatalogProductAttribute $attribute - * @param CatalogProductAttributeIndex $attributeIndex - * @param CatalogProductAttributeNew $attributeNew - * @return void - */ - public function testDeleteProductAttribute( - CatalogProductAttribute $attribute, - CatalogProductAttributeIndex $attributeIndex, - CatalogProductAttributeNew $attributeNew - ) { - //Precondition - $attribute->persist(); - - //Steps - $attributeIndex->open(); - $attributeIndex->getGrid()->searchAndOpen(['frontend_label' => $attribute->getFrontendLabel()]); - $attributeNew->getPageActions()->delete(); - $attributeNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.xml deleted file mode 100644 index 0dd47942c8fe0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteProductAttributeEntityTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - mftf_migrated:yes - attribute_type_text_field - - - - - - - attribute_type_dropdown - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.php deleted file mode 100644 index c829b63a9e821..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.php +++ /dev/null @@ -1,49 +0,0 @@ - Attributes > Product. - * 3. Search system product attribute in grid by given data. - * 4. Click on line with search results. - * 5. Perform assertion. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-24771 - */ -class DeleteSystemProductAttributeTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Run delete system product attribute test - * - * @param CatalogProductAttribute $productAttribute - * @param CatalogProductAttributeIndex $attributeIndex - * @return void - */ - public function testDeleteSystemProductAttribute( - CatalogProductAttribute $productAttribute, - CatalogProductAttributeIndex $attributeIndex - ) { - $filter = $productAttribute->getData(); - - // Steps - $attributeIndex->open(); - $attributeIndex->getGrid()->searchAndOpen($filter); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.xml deleted file mode 100644 index a9a85d2472073..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteSystemProductAttributeTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - news_from_date - Yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.php deleted file mode 100644 index 1f995c47e46df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.php +++ /dev/null @@ -1,88 +0,0 @@ - Attributes > Product. - * 3. Search product attribute in grid by given data. - * 4. Open this attribute by clicking. - * 5. Click on the "Delete Attribute" button. - * 6. Perform asserts. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-26652 - */ -class DeleteUsedInConfigurableProductAttributeTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog product attribute index page - * - * @var CatalogProductAttributeIndex - */ - protected $attributeIndex; - - /** - * Catalog product attribute new page - * - * @var CatalogProductAttributeNew - */ - protected $attributeNew; - - /** - * Injection data - * - * @param CatalogProductAttributeIndex $attributeIndex - * @param CatalogProductAttributeNew $attributeNew - * @return void - */ - public function __inject(CatalogProductAttributeIndex $attributeIndex, CatalogProductAttributeNew $attributeNew) - { - $this->attributeIndex = $attributeIndex; - $this->attributeNew = $attributeNew; - } - - /** - * Run Delete used in configurable product attribute test - * - * @param ConfigurableProduct $product - * @return array - */ - public function test(ConfigurableProduct $product) - { - // Precondition - $product->persist(); - /** @var CatalogProductAttribute $attribute */ - $attribute = $product->getDataFieldConfig('configurable_attributes_data')['source'] - ->getAttributes()['attribute_key_0']; - // Steps - $this->attributeIndex->open(); - $this->attributeIndex->getGrid()->searchAndOpen(['attribute_code' => $attribute->getAttributeCode()]); - $this->attributeNew->getPageActions()->delete(); - $this->attributeNew->getModalBlock()->acceptAlert(); - - return ['attribute' => $attribute]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.xml deleted file mode 100644 index e46174de8818f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/DeleteUsedInConfigurableProductAttributeTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - one_variation - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.php deleted file mode 100644 index b0fa85943ccf2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.php +++ /dev/null @@ -1,97 +0,0 @@ - Attributes > Attribute Set. - * 3. Open created Attribute Set. - * 4. Click 'Add New' button to create new group - * 5. Add created Product Attribute to created group. - * 6. Fill out other fields data according to data set. - * 7. Save Attribute Set. - * 8. Preform all assertions. - * - * @group Product_Attributes - * @ZephyrId MAGETWO-26251 - */ -class UpdateAttributeSetTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Catalog Product Set page - * - * @var CatalogProductSetIndex - */ - protected $productSetIndex; - - /** - * Catalog Product Set edit page - * - * @var CatalogProductSetEdit - */ - protected $productSetEdit; - - /** - * Inject data - * - * @param CatalogProductSetIndex $productSetIndex - * @param CatalogProductSetEdit $productSetEdit - * @return void - */ - public function __inject( - CatalogProductSetIndex $productSetIndex, - CatalogProductSetEdit $productSetEdit - ) { - $this->productSetIndex = $productSetIndex; - $this->productSetEdit = $productSetEdit; - } - - /** - * Run UpdateAttributeSet test - * - * @param CatalogAttributeSet $attributeSet - * @param CatalogAttributeSet $attributeSetOriginal - * @param CatalogProductAttribute $productAttributeOriginal - * @return void - */ - public function test( - CatalogAttributeSet $attributeSet, - CatalogAttributeSet $attributeSetOriginal, - CatalogProductAttribute $productAttributeOriginal - ) { - // Precondition - $attributeSetOriginal->persist(); - $productAttributeOriginal->persist(); - // Steps - $filter = ['set_name' => $attributeSetOriginal->getAttributeSetName()]; - $this->productSetIndex->open(); - $this->productSetIndex->getGrid()->searchAndOpen($filter); - $groupName = $attributeSet->getGroup(); - $this->productSetEdit->getAttributeSetEditBlock()->addAttributeSetGroup($groupName); - $this->productSetEdit->getAttributeSetEditBlock() - ->moveAttribute($productAttributeOriginal->getData(), $groupName); - $this->productSetEdit->getAttributeSetEditForm()->fill($attributeSet); - $this->productSetEdit->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.xml deleted file mode 100644 index 18dc5c983ad79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateAttributeSetTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - AttributeSetEdit1%isolation% - Custom-group%isolation% - custom_attribute_set - attribute_type_text_field - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.php deleted file mode 100644 index 6203f304540c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.php +++ /dev/null @@ -1,143 +0,0 @@ - Attributes > Product. - * 3. Select created attribute from preconditions - * 4. Fill data from dataset - * 5. Click 'Save Attribute' button - * 6. Perform all assertions - * - * @group Product_Attributes - * @ZephyrId MAGETWO-23459, MAGETWO-12941 - */ -class UpdateProductAttributeEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Factory for fixtures. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run UpdateProductAttributeEntity test - * - * @param CatalogProductAttribute $productAttributeOriginal - * @param CatalogProductAttribute $attribute - * @param CatalogAttributeSet $attributeSet - * @param CatalogProductAttributeIndex $attributeIndex - * @param CatalogProductAttributeNew $attributeNew - * @return array - */ - public function testUpdateProductAttribute( - CatalogProductAttribute $productAttributeOriginal, - CatalogProductAttribute $attribute, - CatalogAttributeSet $attributeSet, - CatalogProductAttributeIndex $attributeIndex, - CatalogProductAttributeNew $attributeNew - ) { - //Precondition - $attributeSet->persist(); - $productAttributeOriginal->persist(); - - $filter = [ - 'attribute_code' => $productAttributeOriginal->getAttributeCode(), - ]; - - /** @var CatalogProductSimple $product */ - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => ['attribute_set_id' => ['attribute_set' => $attributeSet]] - ] - ); - $product->persist(); - - $this->objectManager->create( - \Magento\Catalog\Test\TestStep\AddAttributeToAttributeSetStep::class, - [ - 'attribute' => $productAttributeOriginal, - 'attributeSet' => $attributeSet - ] - )->run(); - - //Steps - $attributeIndex->open(); - $attributeIndex->getGrid()->searchAndOpen($filter); - $attributeNew->getAttributeForm()->fill($attribute); - $attributeNew->getPageActions()->save(); - $attribute = $this->prepareAttribute($attribute, $productAttributeOriginal); - - return ['product' => $this->prepareProduct($product, $attribute, $attributeSet)]; - } - - /** - * Prepare product data. - * - * @param CatalogProductSimple $product - * @param CatalogProductAttribute $attribute - * @param CatalogAttributeSet $attributeSet - * @return CatalogProductSimple - */ - protected function prepareProduct($product, $attribute, $attributeSet) - { - $data = [ - 'attribute_set_id' => ['attribute_set' => $attributeSet], - 'custom_attribute' => $attribute - ]; - $data = array_merge($data, $product->getData()); - - return $this->fixtureFactory->createByCode('catalogProductSimple', ['data' => $data]); - } - - /** - * Prepare attribute data. - * - * @param CatalogProductAttribute $attribute - * @param CatalogProductAttribute $productAttributeOriginal - * @return CatalogProductAttribute - */ - protected function prepareAttribute($attribute, $productAttributeOriginal) - { - $attributeData = array_merge($attribute->getData(), $productAttributeOriginal->getData()); - - return $this->fixtureFactory->createByCode('catalogProductAttribute', ['data' => $attributeData]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.xml deleted file mode 100644 index d6420ff431ce6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/ProductAttribute/UpdateProductAttributeEntityTest.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - custom_attribute_set - attribute_type_text_field - Text_Field_%isolation% - Yes - Global - attribute_edited%isolation% - Yes - Yes - Yes - Yes - Yes - Yes - Yes - Yes - Yes - Yes - - - - - custom_attribute_set - attribute_type_dropdown - Dropdown_%isolation% - Yes - Global - default - Yes - white_edited - option_1_%isolation%_edited - Yes - Yes - Yes - Yes - Filterable (with results) - Yes - No - Yes - Yes - Yes - Yes - Yes - - - - - MAGETWO-46494: [FT] UpdateProductAttributeEntityTestVariation3 does not actually create an attribute to check - to_maintain:yes - custom_attribute_set - tax_class_id - Yes - Yes - - FPC - - - - - - mftf_migrated:yes - custom_attribute_set - attribute_type_dropdown - Dropdown - Dropdown_%isolation% - Yes - No - - - - mftf_migrated:yes - custom_attribute_set - attribute_type_multiple_select - Dropdown_%isolation% - Yes - No - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddAttributeToAttributeSetStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddAttributeToAttributeSetStep.php deleted file mode 100644 index cb96962b31a5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddAttributeToAttributeSetStep.php +++ /dev/null @@ -1,81 +0,0 @@ -catalogProductSetIndex = $catalogProductSetIndex; - $this->catalogProductSetEdit = $catalogProductSetEdit; - $this->attribute = $attribute; - $this->attributeSet = $attributeSet; - } - - /** - * Move attribute To attribute set. - * - * @return array - */ - public function run() - { - $filterAttribute = [ - 'set_name' => $this->attributeSet == null ? 'Default' : $this->attributeSet->getAttributeSetName() - ]; - $this->catalogProductSetIndex->open()->getGrid()->searchAndOpen($filterAttribute); - $this->catalogProductSetEdit->getAttributeSetEditBlock()->moveAttribute($this->attribute->getData()); - $this->catalogProductSetEdit->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeFromProductPageStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeFromProductPageStep.php deleted file mode 100644 index 91f6aeb66fe57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeFromProductPageStep.php +++ /dev/null @@ -1,44 +0,0 @@ -catalogProductEdit = $catalogProductEdit; - } - - /** - * Add custom attribute to product. - * - * @return void - */ - public function run() - { - $productForm = $this->catalogProductEdit->getFormPageActions(); - $productForm->addNewAttribute(); - $this->catalogProductEdit->getAddAttributeModal()->createNewAttribute(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeStep.php deleted file mode 100644 index 2609b5317d0ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/AddNewAttributeStep.php +++ /dev/null @@ -1,42 +0,0 @@ -catalogProductAttributeIndex = $catalogProductAttributeIndex; - } - - /** - * Add New Attribute from Attribute index page step. - * - * @return void - */ - public function run() - { - $this->catalogProductAttributeIndex->getPageActionsBlock()->addNew(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/ConfigureProductOnProductPageStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/ConfigureProductOnProductPageStep.php deleted file mode 100644 index 004d44369084c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/ConfigureProductOnProductPageStep.php +++ /dev/null @@ -1,66 +0,0 @@ -product = $product; - $this->catalogProductView = $catalogProductView; - $this->browser = $browser; - } - - /** - * Configure product. - * - * @return void - */ - public function run() - { - $this->browser->open($_ENV['app_frontend_url'] . $this->product->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->configure($this->product); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateAttributeSetStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateAttributeSetStep.php deleted file mode 100644 index 1fff2460afcfb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateAttributeSetStep.php +++ /dev/null @@ -1,46 +0,0 @@ -attributeSet = $attributeSet; - } - - /** - * Create product attribute template. - * - * @return array - */ - public function run() - { - $this->attributeSet->persist(); - - return ['attributeSet' => $this->attributeSet]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductStep.php deleted file mode 100644 index fd2f50997234d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductStep.php +++ /dev/null @@ -1,60 +0,0 @@ -product = $product; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create product. - * - * @return array - */ - public function run() - { - list($fixtureClass, $dataset) = explode('::', $this->product); - /** @var FixtureInterface $product */ - $product = $this->fixtureFactory->createByCode(trim($fixtureClass), ['dataset' => trim($dataset)]); - if ($product->hasData('id') === false) { - $product->persist(); - } - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductWithAttributeSetStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductWithAttributeSetStep.php deleted file mode 100644 index 6762b4b0c23de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductWithAttributeSetStep.php +++ /dev/null @@ -1,117 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->catalogProductIndex = $catalogProductIndex; - $this->catalogProductEdit = $catalogProductEdit; - $this->attribute = $attribute; - $this->attributeSet = $attributeSet; - $this->attributeValue = $attributeValue; - } - - /** - * Create a new product with the given attribute set - * - * @return array - */ - public function run() - { - // Create product with attribute set mentioned above: - $customAttribute = $this->attribute; - if ($this->attributeValue !== null) { - $customAttribute = ['value' => $this->attributeValue, 'attribute' => $customAttribute]; - } - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'product_with_category_with_anchor', - 'data' => [ - 'attribute_set_id' => ['attribute_set' => $this->attributeSet], - 'custom_attribute' => $customAttribute - ], - ] - ); - $this->catalogProductIndex->open()->getGridPageActionBlock()->addProduct('simple'); - $productForm = $this->catalogProductEdit->getProductForm(); - $productForm->fill($product); - $this->catalogProductEdit->getFormPageActions()->save(); - - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductsStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductsStep.php deleted file mode 100644 index 9f2b1e14baafd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/CreateProductsStep.php +++ /dev/null @@ -1,87 +0,0 @@ -products = $products; - $this->data = $data; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create products - * - * @return array - */ - public function run() - { - $products = []; - if (!is_array($this->products)) { // for backward compatible changes - $this->products = explode(',', $this->products); - } - foreach ($this->products as $key => $productDataSet) { - if ($productDataSet instanceof FixtureInterface) { - $products[$key] = $productDataSet; - } else { - $productDataSet = explode('::', $productDataSet); - $fixtureClass = $productDataSet[0]; - $dataset = isset($productDataSet[1]) ? $productDataSet[1] : ''; - $data = isset($this->data[$key]) ? $this->data[$key] : []; - /** @var FixtureInterface[] $products */ - $products[$key] = $this->fixtureFactory->createByCode( - trim($fixtureClass), - ['dataset' => trim($dataset), 'data' => $data] - ); - } - if ($products[$key]->hasData('id') === false) { - $products[$key]->persist(); - } - } - - return ['products' => $products]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/DeleteAttributeStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/DeleteAttributeStep.php deleted file mode 100644 index fe3d52cce56da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/DeleteAttributeStep.php +++ /dev/null @@ -1,73 +0,0 @@ -catalogProductAttributeIndex = $catalogProductAttributeIndex; - $this->catalogProductAttributeNew = $catalogProductAttributeNew; - $this->attribute = $attribute; - } - - /** - * Delete product attribute step. - * - * @return void - */ - public function run() - { - $filter = $this->attribute->hasData('attribute_code') - ? ['attribute_code' => $this->attribute->getAttributeCode()] - : ['frontend_label' => $this->attribute->getFrontendLabel()]; - $this->catalogProductAttributeIndex->open(); - if ($this->catalogProductAttributeIndex->getGrid()->isRowVisible($filter)) { - $this->catalogProductAttributeIndex->getGrid()->searchAndOpen($filter); - $this->catalogProductAttributeNew->getPageActions()->delete(); - $this->catalogProductAttributeNew->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormOnProductPageStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormOnProductPageStep.php deleted file mode 100644 index b19983f312f6b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormOnProductPageStep.php +++ /dev/null @@ -1,53 +0,0 @@ -attribute = $attribute; - $this->catalogProductEdit = $catalogProductEdit; - } - - /** - * Fill custom attribute form on product page. - * - * @return array - */ - public function run() - { - $this->catalogProductEdit->getProductForm()->getAttributeForm()->fill($this->attribute); - return ['attribute' => $this->attribute]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormStep.php deleted file mode 100644 index ec4a57dfb6236..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/FillAttributeFormStep.php +++ /dev/null @@ -1,53 +0,0 @@ -attribute = $productAttribute; - $this->attributeNew = $attributeNew; - } - - /** - * Fill custom attribute form on attribute page. - * - * @return array - */ - public function run() - { - $this->attributeNew->getAttributeForm()->fill($this->attribute); - return ['attribute' => $this->attribute]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/MergePreconditionProductsStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/MergePreconditionProductsStep.php deleted file mode 100644 index 8e082706ec674..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/MergePreconditionProductsStep.php +++ /dev/null @@ -1,51 +0,0 @@ -products = $products; - $this->preconditionProducts = $preconditionProducts; - } - - /** - * Merge products step. - * - * @return array - */ - public function run() - { - $products = array_merge($this->preconditionProducts, $this->products); - - return ['products' => $products]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductAttributesPageStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductAttributesPageStep.php deleted file mode 100644 index 78b891286e90a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductAttributesPageStep.php +++ /dev/null @@ -1,42 +0,0 @@ -catalogProductAttributeIndex = $catalogProductAttributeIndex; - } - - /** - * Open Catalog Product Attribute Index. - * - * @return void - */ - public function run() - { - $this->catalogProductAttributeIndex->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnBackendStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnBackendStep.php deleted file mode 100644 index 2d1401279de87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnBackendStep.php +++ /dev/null @@ -1,53 +0,0 @@ -product = $product; - $this->catalogProductIndex = $catalogProductIndex; - } - - /** - * Open products on backend. - * - * @return void - */ - public function run() - { - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen(['sku' => $this->product->getSku()]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnFrontendStep.php deleted file mode 100644 index 8b3d1ed470a60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductOnFrontendStep.php +++ /dev/null @@ -1,52 +0,0 @@ -product = $product; - $this->browser = $browser; - } - - /** - * Open product on frontend via url - * - * @return void - */ - public function run() - { - $this->browser->open($_ENV['app_frontend_url'] . $this->product->getUrlKey() . '.html'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductsOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductsOnFrontendStep.php deleted file mode 100644 index cdb8ee98fd28a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/OpenProductsOnFrontendStep.php +++ /dev/null @@ -1,55 +0,0 @@ -products = $products; - $this->browser = $browser; - } - - /** - * Open products on frontend via url. - * - * @return void - */ - public function run() - { - foreach ($this->products as $product) { - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeOnProductPageStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeOnProductPageStep.php deleted file mode 100644 index 69f394d06c2d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeOnProductPageStep.php +++ /dev/null @@ -1,78 +0,0 @@ -attribute = $attribute; - $this->objectManager = $objectManager; - $this->catalogProductEdit = $catalogProductEdit; - } - - /** - * Click "Save" button on attribute form. - * - * @return void - */ - public function run() - { - $this->catalogProductEdit->getNewAttributeModal()->saveAttribute(); - } - - /** - * Delete attribute after test. - * - * @return void - */ - public function cleanup() - { - $this->objectManager->create( - \Magento\Catalog\Test\TestStep\DeleteAttributeStep::class, - ['attribute' => $this->attribute] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeSetStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeSetStep.php deleted file mode 100644 index 3a16be91713cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeSetStep.php +++ /dev/null @@ -1,42 +0,0 @@ -catalogProductSetEdit = $catalogProductSetEdit; - } - - /** - * Save attributeSet on attribute set page. - * - * @return void - */ - public function run() - { - $this->catalogProductSetEdit->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeStep.php deleted file mode 100644 index 8c31940a77870..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveAttributeStep.php +++ /dev/null @@ -1,78 +0,0 @@ -attributeNew = $attributeNew; - $this->attribute = $attribute; - $this->objectManager = $objectManager; - } - - /** - * Click "Save" button on attribute edit page. - * - * @return void - */ - public function run() - { - $this->attributeNew->getPageActions()->save(); - } - - /** - * Delete attribute after test. - * - * @return void - */ - public function cleanup() - { - $this->objectManager->create( - \Magento\Catalog\Test\TestStep\DeleteAttributeStep::class, - ['attribute' => $this->attribute] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveProductStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveProductStep.php deleted file mode 100644 index 6e2df5db89d71..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SaveProductStep.php +++ /dev/null @@ -1,52 +0,0 @@ -product = $product; - $this->catalogProductEdit = $catalogProductEdit; - } - - /** - * Save product. - * - * @return void - */ - public function run() - { - $this->catalogProductEdit->getFormPageActions()->save($this->product); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SetDefaultAttributeValueStep.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SetDefaultAttributeValueStep.php deleted file mode 100644 index cb6d0d65efc17..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestStep/SetDefaultAttributeValueStep.php +++ /dev/null @@ -1,83 +0,0 @@ -attribute = $attribute; - $this->catalogProductEdit = $catalogProductEdit; - $this->fixtureFactory = $fixtureFactory; - $this->attributeValue = $attributeValue; - } - - /** - * Set Default Attribute Value. - * - * @return void - */ - public function run() - { - $customAttribute = $this->attribute; - if ($this->attributeValue !== null) { - $customAttribute = ['value' => $this->attributeValue, 'attribute' => $customAttribute]; - } - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => ['custom_attribute' => $customAttribute]] - ); - $this->catalogProductEdit->getProductForm()->fill($product); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test1.png b/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test1.png deleted file mode 100644 index 3077df38da2ff..0000000000000 Binary files a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test1.png and /dev/null differ diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test2.png b/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test2.png deleted file mode 100644 index 3d219e6ee734b..0000000000000 Binary files a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test2.png and /dev/null differ diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test3.png b/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test3.png deleted file mode 100644 index f2ce1e259df50..0000000000000 Binary files a/dev/tests/functional/tests/app/Magento/Catalog/Test/_files/test3.png and /dev/null differ diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/curl/di.xml deleted file mode 100644 index 92fe8e537d03f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/curl/di.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/di.xml deleted file mode 100644 index d4f5cabff0fff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/di.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - high - - - - - middle - - - - - high - - - - - high - - - - - high - - - - - middle - - - - - high - - - - - middle - - - - - middle - - - - - high - - - - - middle - - - - - middle - - - - - high - - - - - middle - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - low - - - - - - - [name="product[%code%]"] - null - - - [name="product[%code%]"] - null - - - [name="product[%code%]"] - datepicker - - - [name="product[%code%]"] - select - - - [name="product[%code%]"] - multiselect - - - [name="product[%code%]"] - switcher - - - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/testcase.xml deleted file mode 100644 index 1061c61470f10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/testcase.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/ui/di.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/ui/di.xml deleted file mode 100644 index 7223ed5f6df20..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/ui/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/webapi/di.xml deleted file mode 100644 index 3037cae7a6462..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/etc/webapi/di.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProduct.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProduct.php deleted file mode 100644 index f51f5e2680415..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProduct.php +++ /dev/null @@ -1,97 +0,0 @@ -getLatest(); - - foreach ($products as $product) { - \PHPUnit\Framework\Assert::assertTrue( - $this->isProductDataInFile( - $exportedFields, - $product, - $exportData - ), - 'Product data was not found in exported file.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product data exists in exported file.'; - } - - /** - * Get product data from exported file. - * - * @param array $fields - * @param InjectableFixture $product - * @param Data $exportData - * @return bool - */ - private function isProductDataInFile( - array $fields, - InjectableFixture $product, - Data $exportData - ) { - $regexp = '/'; - foreach ($fields as $field) { - if ($field == 'additional_images' && $product->hasData('media_gallery')) { - $regexp .= '.*(\/?.*(jpg|jpeg|png))'; - } elseif ($field == 'special_price_from_date' && $product->getData('special_price_from_date')) { - $regexp .= $this->prepareSpecialPriceDateRegexp($product, 'special_price_from_date'); - } elseif ($field == 'special_price_to_date' && $product->getData('special_price_to_date')) { - $regexp .= $this->prepareSpecialPriceDateRegexp($product, 'special_price_to_date'); - } else { - $regexp .= '.*(' . $product->getData($field) . ')'; - } - } - $regexp .= '/U'; - - return (bool) preg_match($regexp, $exportData->getContent()); - } - - /** - * Prepare special price date field regular expression. - * - * @param InjectableFixture $product - * @param string $field - * @param string $dateFormat - * @return string - */ - private function prepareSpecialPriceDateRegexp(InjectableFixture $product, $field, $dateFormat = 'n/j/y') - { - return '.*' . str_replace('/', '\/', date($dateFormat, strtotime($product->getData($field)))); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProductDate.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProductDate.php deleted file mode 100644 index 65adf5923d772..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertExportProductDate.php +++ /dev/null @@ -1,42 +0,0 @@ -getLatest(); - - \PHPUnit\Framework\Assert::assertTrue( - (bool) strpos($exportData->getContent(), $dateTime->format('n/j/y, g')), - 'Date fields in exported file are shown in not global configuration time zone.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Date fields in exported file are shown in global configuration time zone.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertImportedProducts.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertImportedProducts.php deleted file mode 100644 index 5fed5854025c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertImportedProducts.php +++ /dev/null @@ -1,225 +0,0 @@ -import = $import; - $this->catalogProductEdit = $catalogProductEdit; - $this->webApi = $webApi; - $this->browser = $browser; - - $products = $this->import->getDataFieldConfig('import_file')['source']->getEntities(); - foreach ($products as $product) { - if ($product->getDataConfig()['type_id'] === $this->productType) { - $resultProductsData = $this->getDisplayedProductData($product); - $resultCsvData = $this->getResultCsv($product->getSku()); - \PHPUnit\Framework\Assert::assertEquals( - $resultProductsData, - $resultCsvData, - 'Products from page and csv are not match.' - ); - } - } - } - - /** - * Prepare displayed product data. - * - * @param FixtureInterface $product - * @return array - */ - protected function getDisplayedProductData(FixtureInterface $product) - { - $productData = $this->getDisplayedOnProductPageData($product); - - return $this->getResultProductsData($productData); - } - - /** - * Get product data that is displayed on product edit page in Admin. - * - * @param FixtureInterface $product - * @return array - */ - protected function getDisplayedOnProductPageData(FixtureInterface $product) - { - $productId = $this->retrieveProductBySku($product)['id']; - $this->catalogProductEdit->open(['id' => $productId]); - - return $this->catalogProductEdit->getProductForm()->getData($product); - } - - /** - * Prepare array from csv file. - * - * @param string $productSku - * @return array - */ - private function getResultCsv($productSku) - { - $csvData = $this->import->getDataFieldConfig('import_file')['source']->getCsv(); - - $csvKeys = array_shift($csvData); - foreach ($csvData as $data) { - $data = array_combine($csvKeys, $data); - if ($data['sku'] === $productSku) { - return $this->deleteUnusedData($data); - } - } - return []; - } - - /** - * Return prepared products data. Parses multidimensional array and returns array with necessary keys - * only (according with $this->neededKeys). - * Input array: [ - * 'sku' => 'simple', - * 'type' => 'simple', - * 'qty' => '100', - * 'weight' => '30', - * 'url_key' => 'simple_url', - * 'website_ids' => [ - * '1' - * ] - * ] - * Output array: ['type' => 'simple', 'qty' => '100'] - * - * @param array $productsData - * @return array - */ - protected function getResultProductsData(array $productsData) - { - $resultProductsData = []; - array_walk_recursive( - $productsData, - function ($value, $key) use (&$resultProductsData) { - if (array_key_exists($key, array_flip($this->neededKeys)) !== false) { - $resultProductsData[$key] = $value; - } - } - ); - - return $resultProductsData; - } - - /** - * Delete waste data from array. - * - * @param array $csvData - * @return array - */ - private function deleteUnusedData(array $csvData) - { - $data = []; - foreach ($csvData as $key => $value) { - if (array_key_exists($key, array_flip($this->neededKeys)) !== false) { - $data[$key] = $value; - } - } - - return $data; - } - - /** - * Retrieve product by sku. - * - * @param FixtureInterface $product - * @return mixed - */ - public function retrieveProductBySku(FixtureInterface $product) - { - $url = $_ENV['app_frontend_url'] . 'rest/all/V1/products/' . $product->getSku(); - $this->webApi->write($url, [], WebapiDecorator::GET); - $response = json_decode($this->webApi->read(), true); - $this->webApi->close(); - return $response; - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Products data from CSV import file and data from product edit page are correct and match.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsInGrid.php deleted file mode 100644 index a609367d0dfc1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -processAssert($entity, $productIndex); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products are present in products grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsOnStorefront.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsOnStorefront.php deleted file mode 100644 index d1887d6accba0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/Constraint/AssertProductsOnStorefront.php +++ /dev/null @@ -1,50 +0,0 @@ -open($_ENV['app_frontend_url'] . $entity->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertEquals( - $catalogProductView->getViewBlock()->getProductName(), - $entity->getName(), - "Can't find product in store front" - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products are present on storefront.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.php deleted file mode 100644 index b5cd056fb99ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.php +++ /dev/null @@ -1,141 +0,0 @@ - Export. - * 3. Select Entity Type = Products. - * 4. Fill Entity Attributes data. - * 5. Click "Continue". - * 6. Perform all assertions. - * - * @group ImportExport - * @ZephyrId MAGETWO-46112, MAGETWO-46113, MAGETWO-46121, MAGETWO-30602, MAGETWO-46114, MAGETWO-46116, MAGETWO-46109 - */ -class ExportProductsTest extends Injectable -{ - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Admin export index page. - * - * @var AdminExportIndex - */ - private $adminExportIndex; - - /** - * Assert export product. - * - * @var AssertExportProduct - */ - private $assertExportProduct; - - /** - * Cron command - * - * @var Cron - */ - private $cron; - - /** - * Inject data. - * - * @param FixtureFactory $fixtureFactory - * @param AdminExportIndex $adminExportIndex - * @param AssertExportProduct $assertExportProduct - * @param Cron $cron - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - AdminExportIndex $adminExportIndex, - AssertExportProduct $assertExportProduct, - Cron $cron - ) { - $this->fixtureFactory = $fixtureFactory; - $this->adminExportIndex = $adminExportIndex; - $this->assertExportProduct = $assertExportProduct; - $this->cron = $cron; - } - - /** - * Runs Export Product test. - * - * @param Export $export - * @param string $exportData - * @param array $exportedFields - * @param array $products - * @return void - */ - public function test( - Export $export, - $exportData, - array $exportedFields, - array $products - ) { - $this->cron->run(); - $this->cron->run(); - $products = $this->prepareProducts($products); - $this->adminExportIndex->open(); - $this->adminExportIndex->getExportedGrid()->deleteAllExportedFiles(); - - $exportData = $this->fixtureFactory->createByCode('exportData', ['dataset' => $exportData]); - $exportData->persist(); - $this->adminExportIndex->getExportForm()->fill($exportData); - $this->adminExportIndex->getFilterExport()->clickContinue(); - $this->cron->run(); - $this->cron->run(); - $this->assertExportProduct->processAssert($export, $exportedFields, $products); - } - - /** - * Prepare products for test. - * - * @param array $products - * @return array|null - */ - private function prepareProducts(array $products) - { - $createdProducts = []; - foreach ($products as $product) { - $data = isset($product['data']) ? $product['data'] : []; - if (isset($product['store'])) { - $store = $this->fixtureFactory->createByCode('store', ['dataset' => $product['store']]); - $store->persist(); - $data['website_ids'] = [['store' => $store]]; - } - $product = $this->fixtureFactory->createByCode( - $product['fixture'], - [ - 'dataset' => $product['dataset'], - 'data' => $data - ] - ); - $product->persist(); - $createdProducts[] = $product; - } - - return $createdProducts; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.xml b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.xml deleted file mode 100644 index be22eab8ac717..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ExportProductsTest.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - mftf_migrated:yes - default - - catalogProductSimple - default - - simple_image.jpeg - - - - sku - name - weight - visibility - price - url_key - additional_images - - - - mftf_migrated:yes - default - - catalogProductSimple - with_one_custom_option - - - sku - name - weight - visibility - price - url_key - - - - - mftf_migrated:yes - default - - catalogProductSimple - product_with_custom_color_attribute - - - sku - name - weight - visibility - price - url_key - - - - mftf_migrated:yes - default - - catalogProductSimple - default - - - sku - name - weight - visibility - price - url_key - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.php deleted file mode 100644 index 2049e90d488c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.php +++ /dev/null @@ -1,35 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.xml b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.xml deleted file mode 100644 index 77e5e2b91d93f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/TestCase/ImportProductsTest.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - mftf_migrated:yes - - Products - Add/Update - Stop on Error - 10 - , - , - - - catalogProductSimple::default_in_custom_website - catalogProductSimple::default - catalogProductSimple::default - - - Magento/CatalogImportExport/Test/_files/template/products_variation_1 - 3 - USD - - - - - catalog_category_product - catalog_product_category - - - - - - - mftf_migrated:yes - Products - Replace - Stop on Error - 10 - , - , - Magento/CatalogImportExport/Test/_files/template/products_variation_2 - 4 - 4 - catalogProductSimple::default_in_custom_website - catalogProductSimple::default - - catalog_category_product - catalog_product_category - - - - - - - stable:no - Products - Replace - Stop on Error - 10 - , - , - Magento/CatalogImportExport/Test/_files/template/products_variation_3 - 7 - 7 - catalogProductSimple::default_in_custom_website - - catalog_category_product - catalog_product_category - - - - - MAGETWO-71397: Magento\CatalogImportExport\Test\TestCase\ImportProductsTest fails randomly - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_1.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_1.php deleted file mode 100644 index 371ee68b68052..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_1.php +++ /dev/null @@ -1,38 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'product_type' => "simple", - 'name' => '%name%', - 'price' => '999.00', - 'url_key' => '%url_key%', - 'qty' => '999', - ], - ], - 'entity_1' => [ - 'data_0' => [ - 'sku' => '%sku%', - 'product_type' => "simple", - 'name' => '%name%', - 'price' => '999.00', - 'url_key' => '%url_key%', - 'qty' => '999', - ], - ], - 'entity_2' => [ - 'data_0' => [ - 'sku' => '%sku%', - 'product_type' => "simple", - 'name' => '%name%', - 'price' => '%price%.00', - 'url_key' => '%url_key%', - 'qty' => '%qty%', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_2.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_2.php deleted file mode 100644 index c4005f0b17fb3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_2.php +++ /dev/null @@ -1,67 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%name%', - 'product_websites' => 'base,%code%', - 'price' => '999.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '', - 'weight' => '', - 'qty' => '999', - 'configurable_variations' => '' - ], - ], - 'entity_1' => [ - 'data_0' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%name%', - 'product_websites' => 'base', - 'price' => '999.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '', - 'weight' => '', - 'qty' => '999', - 'configurable_variations' => '' - ], - ], - 'entity_2' => [ - 'data_0' => [ - 'sku' => '%configurable_attribute_sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%configurable_attribute_name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%configurable_attribute_url_key%', - 'additional_attributes' => '%configurable_additional_attributes%=black', - 'weight' => '1', - 'qty' => '50', - 'configurable_variations' => '' - ], - 'data_1' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "configurable", - 'name' => '%name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '%configurable_additional_attributes%=black', - 'weight' => '30', - 'qty' => '50', - 'configurable_variations' => - "sku=%configurable_attribute_sku%,%configurable_additional_attributes%=black" - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_3.php b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_3.php deleted file mode 100644 index d33c93f487a2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/_files/template/products_variation_3.php +++ /dev/null @@ -1,158 +0,0 @@ - [ - 'data_0' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%name%', - 'product_websites' => 'base,%code%', - 'price' => '999.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '', - 'weight' => '', - 'qty' => '999', - 'configurable_variations' => '', - 'associated_skus' => '', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - ], - 'entity_1' => [ - 'data_0' => [ - 'sku' => '%configurable_attribute_sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%configurable_attribute_name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%configurable_attribute_url_key%', - 'additional_attributes' => '%configurable_additional_attributes%=black', - 'weight' => '1', - 'qty' => '50', - 'configurable_variations' => '', - 'associated_skus' => '', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - 'data_1' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "configurable", - 'name' => '%name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '%configurable_additional_attributes%=black', - 'weight' => '30', - 'qty' => '50', - 'configurable_variations' => - "sku=%configurable_attribute_sku%,%configurable_additional_attributes%=black", - 'associated_skus' => '', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - ], - 'entity_2' => [ - 'data_0' => [ - 'sku' => '%grouped_attribute_sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%grouped_attribute_name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%grouped_attribute_url_key%', - 'additional_attributes' => '', - 'weight' => '1', - 'qty' => '50', - 'configurable_variations' => '', - 'associated_skus' => '', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - 'data_1' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "grouped", - 'name' => '%name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '', - 'weight' => '30', - 'qty' => '50', - 'configurable_variations' => "", - 'associated_skus' => '%grouped_attribute_sku%=1.0000', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - ], - 'entity_3' => [ - 'data_0' => [ - 'sku' => '%bundle_attribute_sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "simple", - 'name' => '%bundle_attribute_name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%bundle_attribute_url_key%', - 'additional_attributes' => '', - 'weight' => '1', - 'qty' => '50', - 'configurable_variations' => '', - 'associated_skus' => '', - 'bundle_shipment_type' => '', - 'bundle_values' => '', - 'bundle_price_type' => '', - 'bundle_price_view' => '', - 'bundle_sku_type' => '', - 'bundle_weight_type' => '' - ], - 'data_1' => [ - 'sku' => '%sku%', - 'attribute_set_code' => 'Default', - 'product_type' => "bundle", - 'name' => '%name%', - 'product_websites' => 'base', - 'price' => '50.00', - 'url_key' => '%url_key%', - 'additional_attributes' => '', - 'weight' => '30', - 'qty' => '50', - 'configurable_variations' => "", - 'associated_skus' => '%bundle_attribute_sku%', - 'bundle_shipment_type' => 'together', - 'bundle_values' => "name=Drop-down Option,type=select,required=1,sku=%bundle_attribute_sku%," - . "price=0.0000,default=0,default_qty=1.0000,price_type=dynamic", - 'bundle_price_type' => 'dynamic', - 'bundle_price_view' => 'Price range', - 'bundle_sku_type' => 'dynamic', - 'bundle_weight_type' => 'fixed' - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/etc/testcase.xml deleted file mode 100644 index be8bf8b89dd16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogImportExport/Test/etc/testcase.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogInventory/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/CatalogInventory/Test/Repository/ConfigData.xml deleted file mode 100644 index 368c53093f46f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogInventory/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - cataloginventory - 1 - Yes - 1 - - - - - - cataloginventory - 1 - Allow Qty Below 0 - 1 - - - - - - cataloginventory - 1 - No - 0 - - - - - - cataloginventory - 1 - No - 0 - - - - - - cataloginventory - 1 - No Backorders - 0 - - - - - - cataloginventory - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/FormPageActions.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/FormPageActions.php deleted file mode 100644 index 412f37278b5f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/FormPageActions.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->saveAndApplyButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog.php deleted file mode 100644 index 837c4f9bd6ab1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog.php +++ /dev/null @@ -1,95 +0,0 @@ - [ - 'selector' => '#promo_catalog_grid_filter_rule_id', - ], - 'name' => [ - 'selector' => '#promo_catalog_grid_filter_name', - ], - 'from_date' => [ - 'selector' => '[data-ui-id="widget-grid-column-filter-date-filter-from-date-from"]', - ], - 'to_date' => [ - 'selector' => '[data-ui-id="widget-grid-column-filter-date-1-filter-to-date-from"]', - ], - 'is_active' => [ - 'selector' => '#promo_catalog_grid_filter_is_active', - 'input' => 'select', - ], - 'rule_website' => [ - 'selector' => '#promo_catalog_grid_filter_rule_website', - 'input' => 'select', - ], - ]; - - /** - * Return row with given catalog price rule name. - * - * @param string $ruleName - * @return SimpleElement - */ - public function getGridRow($ruleName) - { - return $this->getRow(['name' => $ruleName]); - } - - /** - * Return id of catalog price rule with given name. - * - * @param string $ruleName - * @return string - */ - public function getCatalogPriceId($ruleName) - { - return $this->getGridRow($ruleName)->find('//td[@data-column="rule_id"]', Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Check if specific row exists in grid. - * - * @param array $filter - * @param bool $isSearchable - * @param bool $isStrict - * @return bool - */ - public function isRowVisible(array $filter, $isSearchable = true, $isStrict = true) - { - $this->search(['name' => $filter['name']]); - return parent::isRowVisible($filter, $isSearchable, $isStrict); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.php deleted file mode 100644 index db0cb926fcf74..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.php +++ /dev/null @@ -1,92 +0,0 @@ -waitPageToLoad(); - $sections = $this->getFixtureFieldsByContainers($fixture); - if ($replace) { - $sections = $this->prepareData($sections, $replace); - } - return $this->fillContainers($sections, $element); - } - - /** - * Replace placeholders in each values of data. - * - * @param array $tabs - * @param array $replace - * @return array - */ - protected function prepareData(array $tabs, array $replace) - { - foreach ($replace as $tabName => $fields) { - foreach ($fields as $key => $pairs) { - if (isset($tabs[$tabName][$key])) { - $tabs[$tabName][$key]['value'] = str_replace( - array_keys($pairs), - array_values($pairs), - $tabs[$tabName][$key]['value'] - ); - } - } - } - - return $tabs; - } - - /** - * Wait page to load. - * - * @return void - */ - protected function waitPageToLoad() - { - $this->waitForElementVisible($this->header); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get template block. - * - * @return Template - */ - private function getTemplateBlock() - { - return $this->blockFactory->create( - Template::class, - ['element' => $this->_rootElement->find($this->templateBlockSelector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.xml deleted file mode 100644 index 4f74b7ff554db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/PromoForm.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - \Magento\CatalogRule\Test\Block\Adminhtml\Promo\Catalog\Edit\Section\RuleInformation - [data-index="rule_information"] - css selector - - - switcher - - - [name='website_ids'] - multiselect - - - [name='customer_group_ids'] - multiselect - - - - - \Magento\CatalogRule\Test\Block\Adminhtml\Promo\Catalog\Edit\Section\Conditions - [data-index="block_promo_catalog_edit_tab_conditions"] - css selector - - - [id^="catalog_rule_formrule_conditions_fieldset_"] - css selector - conditions - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="actions"] - css selector - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/Conditions.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/Conditions.php deleted file mode 100644 index 4b6b6a871520f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/Conditions.php +++ /dev/null @@ -1,45 +0,0 @@ -_rootElement->find($this->addButton)->click(); - return $this->_rootElement->find( - sprintf($this->conditionFormat, $attribute->getFrontendLabel()), - Locator::SELECTOR_XPATH - )->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/RuleInformation.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/RuleInformation.php deleted file mode 100644 index 15cc36168ff6d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/Catalog/Edit/Section/RuleInformation.php +++ /dev/null @@ -1,34 +0,0 @@ -_rootElement->find($this->customerGroup)->getText(); - return false !== strpos($options, $customerGroup->getCustomerGroupCode()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/GridPageActions.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/GridPageActions.php deleted file mode 100644 index 88c5a23af911c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Adminhtml/Promo/GridPageActions.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->applyRules)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Conditions.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Conditions.php deleted file mode 100644 index ecf0921b5d13e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Block/Conditions.php +++ /dev/null @@ -1,73 +0,0 @@ -_rootElement->find('img.rule-param-add.v-middle')->click(); - } - - /** - * Ellipsis image click - */ - public function clickEllipsis() - { - $this->_rootElement->find('//a[contains(text(),"...")]', Locator::SELECTOR_XPATH)->click(); - } - - /** - * Select Condition type - * @param string $type - */ - public function selectCondition($type) - { - $this->_rootElement->find($this->conditionType, Locator::SELECTOR_CSS, 'select')->setValue($type); - } - - /** - * Select Condition value - * @param string $value - */ - public function selectConditionValue($value) - { - $this->_rootElement->find($this->conditionValue, Locator::SELECTOR_CSS, 'input')->setValue($value); - } - - /** - * Click save and continue button on form - */ - public function clickSaveAndContinue() - { - $this->_rootElement->find('#save_and_continue_edit')->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php deleted file mode 100644 index 38a0ae1d99091..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php +++ /dev/null @@ -1,101 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } else { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } - - $cmsIndexPage->open(); - foreach ($products as $key => $product) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName); - $priceBlock = $catalogCategoryViewPage->getListProductBlock()->getProductItem($product)->getPriceBlock(); - \PHPUnit\Framework\Assert::assertTrue( - $priceBlock->isVisible(), - 'Price block is not displayed for product ' . $product->getName() - ); - $actualPrice['special'] = (float)$priceBlock->getSpecialPrice(); - if ($productPrice[$key]['regular'] !== 'No') { - $actualPrice['regular'] = (float)$priceBlock->getOldPrice(); - $actualPrice['discount_amount'] = $actualPrice['regular'] - $actualPrice['special']; - $actualPrice['price_from'] = (float)$priceBlock->getPriceFrom(); - $actualPrice['price_to'] = (float)$priceBlock->getPriceTo(); - $actualPrice['old_price_from'] = (float)$priceBlock->getOldPriceFrom(); - $actualPrice['old_price_to'] = (float)$priceBlock->getOldPriceTo(); - } - $diff = $this->verifyData($productPrice[$key], $actualPrice); - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - implode(' ', $diff) - ); - } - } - - /** - * Check if arrays have equal values. - * - * @param array $fixtureData - * @param array $formData - * @return array - */ - protected function verifyData(array $fixtureData, array $formData) - { - $errorMessage = []; - foreach ($fixtureData as $key => $value) { - if (isset($formData[$key]) && (float)$value !== (float)$formData[$key]) { - $errorMessage[] = "Value " . $key . " is not equal." - . "\nExpected: " . $fixtureData[$key] - . "\nActual: " . $value . "\n"; - } - } - return $errorMessage; - } - - /** - * Text of catalog price rule visibility on catalog page (frontend). - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data on catalog page(frontend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedProductPage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedProductPage.php deleted file mode 100644 index 271305902d59b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedProductPage.php +++ /dev/null @@ -1,104 +0,0 @@ -objectManager->create( - LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } else { - $this->objectManager->create(LogoutCustomerOnFrontendStep::class)->run(); - } - - $cmsIndexPage->open(); - foreach ($products as $key => $product) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName); - $catalogCategoryViewPage->getListProductBlock()->getProductItem($product)->open(); - - $catalogProductViewPage->getViewBlock()->waitLoader(); - $productPriceBlock = $catalogProductViewPage->getViewBlock()->getPriceBlock($product); - $actualPrice['special'] = $productPriceBlock->getSpecialPrice(); - if ($productPrice[$key]['regular'] !== 'No') { - $actualPrice['regular'] = $productPriceBlock->getOldPrice(); - $actualPrice['discount_amount'] = $actualPrice['regular'] - $actualPrice['special']; - $actualPrice['price_from'] = $productPriceBlock->getPriceFrom(); - $actualPrice['price_to'] = $productPriceBlock->getPriceTo(); - $actualPrice['old_price_from'] = $productPriceBlock->getOldPriceFrom(); - $actualPrice['old_price_to'] = $productPriceBlock->getOldPriceTo(); - } - $diff = $this->verifyData($productPrice[$key], $actualPrice); - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - implode(' ', $diff) - ); - } - } - - /** - * Check if arrays have equal values. - * - * @param array $fixtureData - * @param array $formData - * @return array - */ - protected function verifyData(array $fixtureData, array $formData) - { - $errorMessage = []; - foreach ($fixtureData as $key => $value) { - if (isset($formData[$key]) && (float)$value !== (float)$formData[$key]) { - $errorMessage[] = "Value " . $key . " is not equal." - . "\nExpected: " . $fixtureData[$key] - . "\nActual: " . $value . "\n"; - } - } - return $errorMessage; - } - - /** - * Text of catalog price rule visibility on product page (frontend). - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data on product page(frontend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedShoppingCart.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedShoppingCart.php deleted file mode 100644 index 3e7fdcbb0f9fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedShoppingCart.php +++ /dev/null @@ -1,85 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } else { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } - - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - )->run(); - $checkoutCartPage->open(); - foreach ($products as $key => $product) { - $actualPrice = $checkoutCartPage->getCartBlock()->getCartItem($product)->getSubtotalPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $productPrice[$key]['sub_total'], - $actualPrice, - 'Wrong product price is displayed.' - . "\nExpected: " . $productPrice[$key]['sub_total'] - . "\nActual: " . $actualPrice . "\n" - ); - } - $checkoutCartPage->getTotalsBlock()->waitForShippingPriceBlock(); - $checkoutCartPage->getTotalsBlock()->waitForUpdatedTotals(); - $actualPrices['sub_total'] = $checkoutCartPage->getTotalsBlock()->getSubtotal(); - $actualPrices['grand_total'] = $checkoutCartPage->getTotalsBlock()->getGrandTotal(); - $expectedPrices['sub_total'] = $cartPrice['sub_total']; - $expectedPrices['grand_total'] = $cartPrice['grand_total']; - \PHPUnit\Framework\Assert::assertEquals( - $expectedPrices, - $actualPrices, - 'Wrong total cart prices are displayed.' - . "\nExpected: " . implode(PHP_EOL, $expectedPrices) - . "\nActual: " . implode(PHP_EOL, $actualPrices) . "\n" - ); - } - - /** - * Text of catalog price rule visibility in Shopping Cart (frontend). - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data in shopping cart(frontend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleForm.php deleted file mode 100644 index 17739f5524e13..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleForm.php +++ /dev/null @@ -1,99 +0,0 @@ -getData() - : array_merge($catalogPriceRuleOriginal->getData(), $catalogPriceRule->getData()); - $filter['name'] = $data['name']; - - $pageCatalogRuleIndex->open(); - $pageCatalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $formData = $pageCatalogRuleNew->getEditForm()->getData($catalogPriceRule); - $fixtureData = $catalogPriceRule->getData(); - //convert discount_amount to float to compare - if (isset($formData['discount_amount'])) { - $formData['discount_amount'] = (float)$formData['discount_amount']; - } - if (isset($fixtureData['discount_amount'])) { - $fixtureData['discount_amount'] = (float)$fixtureData['discount_amount']; - } - $diff = $this->verifyData($formData, $fixtureData); - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - implode(' ', $diff) - ); - } - - /** - * Check if arrays have equal values - * - * @param array $formData - * @param array $fixtureData - * @return array - */ - protected function verifyData(array $formData, array $fixtureData) - { - $errorMessage = []; - foreach ($fixtureData as $key => $value) { - if ($key == 'conditions') { - continue; - } - if (is_array($value)) { - $diff = array_diff($value, $formData[$key]); - $diff = array_merge($diff, array_diff($formData[$key], $value)); - if (!empty($diff)) { - $errorMessage[] = "Data in " . $key . " field not equal." - . "\nExpected: " . implode(", ", $value) - . "\nActual: " . implode(", ", $formData[$key]); - } - } else { - if ($value !== $formData[$key]) { - $errorMessage[] = "Data in " . $key . " field not equal." - . "\nExpected: " . $value - . "\nActual: " . $formData[$key]; - } - } - } - return $errorMessage; - } - - /** - * Text success verify Catalog Price Rule - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data on edit page(backend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleInGrid.php deleted file mode 100644 index 695323990063a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleInGrid.php +++ /dev/null @@ -1,76 +0,0 @@ -getData() - : array_merge($catalogPriceRuleOriginal->getData(), $catalogPriceRule->getData()); - - $filter = []; - foreach ($this->fieldsToFilter as $field) { - $filter[$field] = $data[$field]; - } - //add ruleWebsite to filter if there is one - if ($catalogPriceRule->getWebsiteIds() != null) { - $ruleWebsite = $catalogPriceRule->getWebsiteIds(); - $ruleWebsite = is_array($ruleWebsite) ? reset($ruleWebsite) : $ruleWebsite; - $filter['rule_website'] = $ruleWebsite; - } - //add from_date & to_date to filter if there are ones - if (isset($data['from_date']) && isset($data['to_date'])) { - $dateArray['from_date'] = date("M j, Y", strtotime($catalogPriceRule->getFromDate())); - $dateArray['to_date'] = date("M j, Y", strtotime($catalogPriceRule->getToDate())); - $filter = array_merge($filter, $dateArray); - } - - $pageCatalogRuleIndex->open(); - $errorMessage = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertTrue( - $pageCatalogRuleIndex->getCatalogRuleGrid()->isRowVisible($filter), - 'Catalog Price Rule with following data: \'' . $errorMessage . '\' ' - . 'is absent in Catalog Price Rule grid.' - ); - } - - /** - * Success text that Catalog Price Rule exists in grid - * - * @return string - */ - public function toString() - { - return 'Catalog Price Rule is present in Catalog Rule grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedCatalogPage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedCatalogPage.php deleted file mode 100644 index 2b87372f986eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedCatalogPage.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - foreach ($products as $product) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName); - $priceBlock = $catalogCategoryViewPage->getListProductBlock()->getProductItem($product)->getPriceBlock(); - \PHPUnit\Framework\Assert::assertFalse( - $priceBlock->isSpecialPriceVisible(), - "Catalog price rule is applied!\n" - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Catalog price rule was not applied to products on catalog page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedProductPage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedProductPage.php deleted file mode 100644 index d1d792d1c432b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedProductPage.php +++ /dev/null @@ -1,56 +0,0 @@ -open(); - foreach ($products as $product) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName); - $catalogCategoryViewPage->getListProductBlock()->getProductItem($product)->open(); - $productPriceBlock = $catalogProductViewPage->getViewBlock()->getPriceBlock(); - \PHPUnit\Framework\Assert::assertFalse( - $productPriceBlock->isSpecialPriceVisible(), - "Catalog price rule is applied!\n" - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Catalog price rule was not applied to products on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedShoppingCart.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedShoppingCart.php deleted file mode 100644 index 61fc3f9f527da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedShoppingCart.php +++ /dev/null @@ -1,56 +0,0 @@ -objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - )->run(); - $checkoutCartPage->open(); - foreach ($products as $key => $product) { - $actualPrice = $checkoutCartPage->getCartBlock()->getCartItem($product)->getSubtotalPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $productPrice[$key]['regular'], - $actualPrice, - 'Wrong product price is displayed.' - . "\nExpected: " . $productPrice[$key]['regular'] - . "\nActual: " . $actualPrice . "\n" - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data in shopping cart(frontend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotInGrid.php deleted file mode 100644 index 4969eb59ad65f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotInGrid.php +++ /dev/null @@ -1,51 +0,0 @@ - $catalogPriceRule->getId(), - 'name' => $catalogPriceRule->getName(), - ]; - $pageCatalogRuleIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $pageCatalogRuleIndex->getCatalogRuleGrid()->isRowVisible($filter), - 'Catalog Price Rule \'' . $filter['rule_id'] . '\', ' - . 'with name \'' . $filter['name'] . '\', ' - . 'is present in Catalog Price Rule grid.' - ); - } - - /** - * Success text that Catalog Price Rule is NOT present in grid - * - * @return string - */ - public function toString() - { - return 'Catalog Price Rule is NOT present in Catalog Rule grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php deleted file mode 100644 index 28af4ca04622d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNoticeMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getNoticeMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::NOTICE_MESSAGE_RULES . self::NOTICE_MESSAGE_APPLY, - $actualMessage, - 'Wrong notice message is displayed.' - . "\nExpected: " . self::NOTICE_MESSAGE_RULES . self::NOTICE_MESSAGE_APPLY - . "\nActual: " . $actualMessage - ); - } - - /** - * Text notice message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that notice message is displayed'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleOnOnepageCheckout.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleOnOnepageCheckout.php deleted file mode 100644 index 6fc791d9b0155..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleOnOnepageCheckout.php +++ /dev/null @@ -1,84 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - )->run(); - $this->objectManager->create(\Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class)->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\FillBillingInformationStep::class, - ['customer' => $customer, 'checkoutMethod' => 'register'] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class, - ['shipping' => $shipping] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, - ['payment' => $payment] - )->run(); - $actualPrices['grand_total'] = $checkoutOnepage->getReviewBlock()->getGrandTotal(); - $actualPrices['sub_total'] = $checkoutOnepage->getReviewBlock()->getSubtotal(); - $expectedPrices['grand_total'] = $cartPrice['grand_total']; - $expectedPrices['sub_total'] = $cartPrice['sub_total']; - \PHPUnit\Framework\Assert::assertEquals( - $expectedPrices, - $actualPrices, - 'Wrong total cart prices are displayed.' - . "\nExpected: " . implode(PHP_EOL, $expectedPrices) - . "\nActual: " . implode(PHP_EOL, $actualPrices) . "\n" - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data on OnePage Checkout equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php deleted file mode 100644 index 0b857e9c839b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success message is displayed'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php deleted file mode 100644 index 7540f04c4a74a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertContains( - self::SUCCESS_MESSAGE, - $actualMessages, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . implode(',', $actualMessages) - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success message is displayed'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertProductAttributeIsUsedPromoRules.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertProductAttributeIsUsedPromoRules.php deleted file mode 100644 index 6a904276ed67b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertProductAttributeIsUsedPromoRules.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - $catalogRuleIndex->getGridPageActions()->addNew(); - $catalogRuleNew->getEditForm()->openSection('conditions'); - - /** @var Conditions $conditionsSection */ - $conditionsSection = $catalogRuleNew->getEditForm()->getSection('conditions'); - \PHPUnit\Framework\Assert::assertTrue( - $conditionsSection->isAttributeInConditions($attribute), - 'Product attribute can\'t be used on promo rules conditions.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product attribute can be used on promo rules conditions.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml deleted file mode 100644 index 487b54a6c10e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/CatalogRuleInterface.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/CatalogRuleInterface.php deleted file mode 100644 index a6390044617fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/CatalogRuleInterface.php +++ /dev/null @@ -1,16 +0,0 @@ - [ - 'type' => \Magento\CatalogRule\Model\Rule\Condition\Combine::class, - 'aggregator' => 'all', - 'value' => 1, - ], - 'Category' => [ - 'type' => \Magento\CatalogRule\Model\Rule\Condition\Product::class, - 'attribute' => 'category_ids', - ], - 'Attribute' => [ - 'type' => \Magento\CatalogRule\Model\Rule\Condition\Product::class, - 'attribute' => 'attribute_id', - ], - ]; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'simple_action' => [ - 'Apply as percentage of original' => 'by_percent', - 'Apply as fixed amount' => 'by_fixed', - 'Adjust final price to this percentage' => 'to_percent', - 'Adjust final price to discount value' => 'to_fixed', - ], - 'is_active' => [ - 'Active' => 1, - 'Inactive' => 0, - ], - 'stop_rules_processing' => [ - 'Yes' => 1, - 'No' => 0, - ], - ]; - - /** - * Mapping values for Websites - * - * @var array - */ - protected $websiteIds = [ - 'Main Website' => 1, - ]; - - /** - * Mapping values for Customer Groups - * - * @var array - */ - protected $customerGroupIds = [ - 'NOT LOGGED IN' => 0, - 'General' => 1, - 'Wholesale' => 2, - 'Retailer' => 3, - ]; - - /** - * POST request for creating Catalog Price Rule - * - * @param FixtureInterface $fixture - * @return mixed|void - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'catalog_rule/promo_catalog/save/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - "Catalog Price Rule entity creating by curl handler was not successful! Response: $response" - ); - } - - return ['id' => $this->getCategoryPriceRuleId($data)]; - } - - /** - * Prepare data from text to values - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData($fixture) - { - $data = $this->replaceMappingData($fixture->getData()); - if (isset($data['website_ids'])) { - $websiteIds = []; - foreach ($data['website_ids'] as $websiteId) { - $websiteIds[] = isset($this->websiteIds[$websiteId]) ? $this->websiteIds[$websiteId] : $websiteId; - } - $data['website_ids'] = $websiteIds; - } - if (isset($data['customer_group_ids'])) { - $customerGroupIds = []; - foreach ($data['customer_group_ids'] as $customerGroupId) { - $customerGroupIds[] = isset($this->customerGroupIds[$customerGroupId]) - ? $this->customerGroupIds[$customerGroupId] - : $customerGroupId; - } - $data['customer_group_ids'] = $customerGroupIds; - } - if (!isset($data['stop_rules_processing'])) { - $data['stop_rules_processing'] = 0; - } - - if (!isset($data['rule'])) { - $data['rule'] = null; - } - $data['rule'] = ['conditions' => $this->prepareCondition($data['rule'])]; - - return $data; - } - - /** - * Get id after creating Category Price Rule - * - * @param array $data - * @return mixed - * @throws \Exception - */ - public function getCategoryPriceRuleId(array $data) - { - // Sort data in grid to define category price rule id if more than 20 items in grid - $url = $_ENV['app_backend_url'] . 'catalog_rule/promo_catalog/index/sort/rule_id/dir/desc'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - - $pattern = '/col\-rule_id[\s\W]*(\d+).*?' . $data['name'] . '/siu'; - preg_match($pattern, $response, $matches); - if (empty($matches)) { - throw new \Exception('Cannot find Catalog Price Rule id! Response: ' . $response); - } - - return $matches[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleEdit.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleEdit.xml deleted file mode 100644 index 09c2ea130c325..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleIndex.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleIndex.xml deleted file mode 100644 index 412c86ddef8b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleIndex.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleNew.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleNew.xml deleted file mode 100644 index ba4ff8d42d951..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Page/Adminhtml/CatalogRuleNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml deleted file mode 100644 index 612f4e11f46b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Repository/CatalogRule.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - CatalogPriceRule %isolation% - Catalog Price Rule Description - Active - - Main Website - - - NOT LOGGED IN - - Apply as percentage of original - 50 - - - - Active Catalog Rule - Rule Description - Active - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - 3/25/14 - 3/29/14 - 1 - Apply as percentage of original - 50 - - - - Inactive Catalog Price Rule - Inactive - - Main Website - - - NOT LOGGED IN - - Apply as percentage of original - 50 - - - - Active Catalog Rule with conditions %isolation% - Rule Description - Active - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - [Category|is|2] - Apply as percentage of original - 10 - - - - rule_name%isolation% - Rule Description - Active - - Main Website - - - General - - [Category|is|2] - Adjust final price to this percentage - 50 - - - - catalog_price_rule_priority_0 - -50% of price, Priority = 0 - Active - - Main Website - - - NOT LOGGED IN - - 0 - Apply as percentage of original - 50 - - - - catalog_price_rule_priority_1_stop_further_rules - Priority 1, -5 Apply as fixed amount - Active - - Main Website - - - NOT LOGGED IN - - 1 - Apply as fixed amount - 5 - Yes - - - - catalog_price_rule_priority_2 - Priority 2, -10 Apply as fixed amount - Active - - Main Website - - - NOT LOGGED IN - - 2 - Apply as fixed amount - 10 - - - - catalog_price_rule_all_groups_%isolation% - -50% of price, Priority = 0 - Active - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - 0 - Apply as percentage of original - 50 - - - - CatalogPriceRule %isolation% - Catalog Price Rule Description - Active - - Main Website - - - NOT LOGGED IN - - Apply as percentage of original - 10 - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/AbstractCatalogRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/AbstractCatalogRuleEntityTest.php deleted file mode 100644 index fd25edef32fcb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/AbstractCatalogRuleEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ -catalogRuleIndex = $catalogRuleIndex; - $this->catalogRuleNew = $catalogRuleNew; - $this->adminCache = $adminCache; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\CatalogRule\Test\TestStep\DeleteAllCatalogRulesStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.php deleted file mode 100644 index 6e68dd5f10e5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.php +++ /dev/null @@ -1,184 +0,0 @@ -promo = $promo; - if ($customer !== null) { - $customer->persist(); - } - - $products = $stepFactory->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - )->run()['products']; - - foreach ($catalogRules as $catalogRule) { - foreach ($products as $product) { - $catalogPriceRule = $this->createCatalogPriceRule($catalogRule, $product, $customer); - if ($isCronEnabled) { - $cron->run(); - $cron->run(); - } else { - $catalogRuleEdit->open(['id' => $catalogPriceRule->getId()]); - $this->catalogRuleNew->getFormPageActions()->saveAndApply(); - } - } - } - return ['products' => $products]; - } - - /** - * Prepare condition for catalog price rule. - * - * @param FixtureInterface $product - * @param array $catalogPriceRule - * @return array - */ - protected function prepareCondition(FixtureInterface $product, array $catalogPriceRule) - { - $conditionEntity = explode('|', trim($catalogPriceRule['data']['rule'], '[]'))[0]; - $actionName = 'get' . $conditionEntity; - if (method_exists($this, $actionName)) { - $result = $this->$actionName($product); - foreach ($result as $key => $value) { - $catalogPriceRule['data']['rule'] = str_replace($key, $value, $catalogPriceRule['data']['rule']); - } - return $catalogPriceRule; - } else { - $message = sprintf('Method "%s" does not exist in %s', $actionName, get_class($this)); - throw new \BadMethodCallException($message); - } - } - - /** - * Add category_id to catalog price rule. - * - * @param FixtureInterface $product - * @return array - */ - protected function getCategory(FixtureInterface $product) - { - $result['%category_id%'] = $product->getDataFieldConfig('category_ids')['source']->getIds()[0]; - return $result; - } - - /** - * Add attribute_id to catalog price rule. - * - * @param FixtureInterface $product - * @return array - */ - protected function getAttribute(FixtureInterface $product) - { - $attributes = $product->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source']->getAttributes(); - $result['%attribute_id%'] = $attributes[0]->getAttributeCode(); - $result['%attribute_value%'] = $attributes[0]->getOptions()[$this->promo]['id']; - return $result; - } - - /** - * Create customer with customer group and apply customer group to catalog price rule. - * - * @param array $catalogPriceRule - * @param Customer $customer - * @return array - */ - protected function applyCustomerGroup(array $catalogPriceRule, Customer $customer) - { - /** @var \Magento\Customer\Test\Fixture\CustomerGroup $customerGroup */ - $customerGroup = $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup(); - $catalogPriceRule['data']['customer_group_ids']['option_0'] = $customerGroup->getCustomerGroupId(); - - return $catalogPriceRule; - } - - /** - * Create catalog price rule. - * - * @param array $catalogPriceRule - * @param FixtureInterface $product - * @param Customer $customer - * @return CatalogRule - */ - protected function createCatalogPriceRule( - array $catalogPriceRule, - FixtureInterface $product, - Customer $customer = null - ) { - if (isset($catalogPriceRule['data']['rule'])) { - $catalogPriceRule = $this->prepareCondition($product, $catalogPriceRule); - } - if ($customer !== null) { - $catalogPriceRule = $this->applyCustomerGroup($catalogPriceRule, $customer); - } - - $catalogPriceRule = $this->fixtureFactory->createByCode('catalogRule', $catalogPriceRule); - $catalogPriceRule->persist(); - - return $catalogPriceRule; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.xml deleted file mode 100644 index 8b36f78e4fc84..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/ApplyCatalogPriceRulesTest.xml +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - test_type:extended_acceptance_test - catalog_price_rule_priority_0 - catalog_price_rule_priority_2 - catalogProductSimple::simple_for_salesrule_2 - 15 - 20 - 35 - 15 - 15 - 50 - - - - - - catalog_price_rule_priority_0 - catalog_price_rule_priority_1_stop_further_rules - catalog_price_rule_priority_2 - catalogProductSimple::simple_for_salesrule_2 - 20 - 25 - 30 - 20 - 20 - 50 - - - - - - active_catalog_price_rule_with_conditions - active_catalog_rule - catalogProductSimple::simple_for_salesrule_2 - 45 - 50 - 5 - 45 - 45 - 50 - - - - - - test_type:extended_acceptance_test - catalogProductSimple::product_with_custom_color_attribute - Catalog Price Rule %isolation% - Active - Main Website - NOT LOGGED IN - [Attribute|%attribute_id%|is|%attribute_value%] - Adjust final price to discount value - 99.99 - 99.99 - 104.99 - 460.01 - 99.99 - 99.99 - 560 - - - - - - catalogProductSimple::MAGETWO-23036 - rule_name%isolation% - Active - Main Website - NOT LOGGED IN - [Category|is|%category_id%] - Adjust final price to this percentage - 90 - 90 - 95 - 10 - 90 - 90 - 100 - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - customer_with_new_customer_group - catalogProductSimple::simple_10_dollar - rule_name%isolation% - Active - Main Website - [Category|is|%category_id%] - Apply as percentage of original - 50 - 5 - 10 - 5 - 5 - 5 - 10 - Flat Rate - Fixed - - - - - - - - - mftf_migrated:yes - catalogProductSimple::with_default_custom_option - catalogProductSimple::with_percent_and_fixed_custom_option - catalogProductSimple::with_custom_options_and_price_56_78 - customer_US - CatalogPriceRule %isolation% - Active - Main Website - default - Apply as percentage of original - 13 - Yes - 164.99 - 179.99 - 7.38 - 8.04 - 7.38 - 49.40 - 53.85 - 61.74 - 49.40 - 61.74 - 53.85 - 56.78 - 61.98 - 69.12 - Flat Rate - Fixed - UK_address - free - - - - - mftf_migrated:yes - configurableProduct::product_with_price_10 - catalogProductSimple::simple_10_dollar - NOT LOGGED IN - CatalogPriceRule %isolation% - Yes - Active - Main Website - Apply as percentage of original - 10 - 18 - 28 - 9 - 9 - No - 9 - 9 - 10 - 1 - customer_US - default - Flat Rate - Fixed - UK_address - checkmo - - - - - mftf_migrated:yes - catalogProductSimple::with_fixed_custom_option_price_100 - customer_US - CatalogPriceRule %isolation% - Active - Main Website - default - Apply as percentage of original - 10 - 125 - 130 - 90 - 100 - 10 - 125 - Flat Rate - Fixed - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.php deleted file mode 100644 index a135a80ad7d4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.php +++ /dev/null @@ -1,119 +0,0 @@ - Catalog Price Rules. - * 3. Press "+" button to start create new catalog price rule. - * 4. Fill in all data according to data set. - * 5. Save rule. - * 6. Perform appropriate assertions. - * - * @group Catalog_Price_Rules - * @ZephyrId MAGETWO-24341 - */ -class CreateCatalogPriceRuleEntityTest extends AbstractCatalogRuleEntityTest -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Create Catalog Price Rule. - * - * @param CatalogRule $catalogPriceRule - * @param string $product - * @param string $conditionEntity - * @param Customer $customer - * @return array - */ - public function test( - CatalogRule $catalogPriceRule, - $product = null, - $conditionEntity = null, - Customer $customer = null - ) { - // Prepare data - /** @var CatalogProductSimple $productSimple */ - $productSimple = $this->fixtureFactory->createByCode('catalogProductSimple', ['dataset' => $product]); - $catalogPriceRule = $this->applyCustomerGroup($catalogPriceRule, $customer); - $replace = $this->prepareCondition($productSimple, $conditionEntity); - - // Steps - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getGridPageActions()->addNew(); - $this->catalogRuleNew->getEditForm()->fill($catalogPriceRule, null, $replace); - $this->catalogRuleNew->getFormPageActions()->save(); - } - - /** - * Create customer with customer group and apply customer group to catalog price rule. - * - * @param CatalogRule $catalogPriceRule - * @param Customer|null $customer - * @return array - */ - protected function applyCustomerGroup(CatalogRule $catalogPriceRule, Customer $customer = null) - { - if ($customer !== null) { - $customer->persist(); - /** @var \Magento\Customer\Test\Fixture\CustomerGroup $customerGroup */ - $customerGroup = $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup(); - $catalogPriceRule = $this->fixtureFactory->createByCode( - 'catalogRule', - [ - 'data' => array_merge( - $catalogPriceRule->getData(), - ['customer_group_ids' => $customerGroup->getCustomerGroupCode()] - ) - ] - ); - } - - return $catalogPriceRule; - } - - /** - * Prepare condition for catalog price rule. - * - * @param CatalogProductSimple $productSimple - * @param string $conditionEntity - * @return array - */ - private function prepareCondition(CatalogProductSimple $productSimple, $conditionEntity) - { - $result = []; - - switch ($conditionEntity) { - case 'category': - $result['%category_id%'] = $productSimple->getDataFieldConfig('category_ids')['source']->getIds()[0]; - break; - case 'attribute': - /** @var \Magento\Catalog\Test\Fixture\CatalogProductAttribute[] $attrs */ - $attributes = $productSimple->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source']->getAttributes(); - - $result['%attribute_name%'] = $attributes[0]->getFrontendLabel(); - $result['%attribute_value%'] = $attributes[0]->getOptions()[0]['view']; - break; - } - - return [ - 'conditions' => [ - 'conditions' => $result, - ], - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml deleted file mode 100644 index 1f16e28c067d8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/CreateCatalogPriceRuleEntityTest.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - CatalogPriceRule %isolation% - Catalog Price Rule Description - Yes - Main Website - Wholesale - Apply as percentage of original - 50 - - - - - - - mftf_migrated:yes - CatalogPriceRule %isolation% - Catalog Price Rule Description - No - Main Website - General - - - Apply as fixed amount - 10 - mftf_migrated:yes - - - - - - - MAGETWO-23036 - rule_name%isolation% - Yes - Main Website - NOT LOGGED IN - category - [Category|is|%category_id%] - Adjust final price to this percentage - 90 - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - customer_with_new_customer_group - simple_10_dollar - rule_name%isolation% - Yes - Main Website - category - [Category|is|%category_id%] - Apply as percentage of original - 50 - - - - - - test_type:extended_acceptance_test - product_with_custom_color_attribute - Catalog Price Rule %isolation% - Yes - Main Website - NOT LOGGED IN - attribute - [%attribute_name%|is|%attribute_value%] - Adjust final price to discount value - 99.99 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.php deleted file mode 100644 index 0760e90617d11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.php +++ /dev/null @@ -1,102 +0,0 @@ - Catalog Price Rules. - * 3. Select required catalog price rule from preconditions. - * 4. Click on the "Delete" button. - * 5. Perform all assertions. - * - * @group Catalog_Price_Rules - * @ZephyrId MAGETWO-25211, MAGETWO-20431 - */ -class DeleteCatalogPriceRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page CatalogRuleIndex. - * - * @var CatalogRuleIndex - */ - protected $catalogRuleIndex; - - /** - * Page CatalogRuleNew. - * - * @var CatalogRuleNew - */ - protected $catalogRuleNew; - - /** - * Injection data. - * - * @param CatalogRuleIndex $catalogRuleIndex - * @param CatalogRuleNew $catalogRuleNew - * @return void - */ - public function __inject( - CatalogRuleIndex $catalogRuleIndex, - CatalogRuleNew $catalogRuleNew - ) { - $this->catalogRuleIndex = $catalogRuleIndex; - $this->catalogRuleNew = $catalogRuleNew; - } - - /** - * Delete Catalog Price Rule test. - * - * @param CatalogRule $catalogPriceRule - * @param string $product - * @param Customer|null $customer - * @return array - */ - public function test(CatalogRule $catalogPriceRule, $product, Customer $customer = null) - { - // Precondition - $catalogPriceRule->persist(); - - if ($customer) { - $customer->persist(); - } - - $filter = [ - 'name' => $catalogPriceRule->getName(), - 'rule_id' => $catalogPriceRule->getId(), - ]; - // Steps - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $this->catalogRuleNew->getFormPageActions()->delete(); - $this->catalogRuleNew->getModalBlock()->acceptAlert(); - $products = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $product] - )->run(); - - return [ - 'products' => $products['products'] - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml deleted file mode 100644 index 3862d01007699..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - active_catalog_price_rule_with_conditions - catalogProductSimple::simple_for_salesrule_1 - customer_US - 100 - 100 - 105 - Flat Rate - Fixed - checkmo - mftf_migrated:yes - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 4a965d5708947..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > Catalog Price Rule - Catalog Price Rule - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.php deleted file mode 100644 index 049d2a8527a4c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.php +++ /dev/null @@ -1,105 +0,0 @@ - Catalog Price Rules. - * 3. Click Catalog Price Rule from grid. - * 4. Edit test value(s) according to dataset. - * 5. Click 'Save'/ 'Apply' button. - * 6. Create simple product with category. - * 7. Perform all asserts. - * - * @group Catalog_Price_Rules - * @ZephyrId MAGETWO-25187 - */ -class UpdateCatalogPriceRuleEntityTest extends AbstractCatalogRuleEntityTest -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Update catalog price rule. - * - * @param CatalogRule $catalogPriceRule - * @param CatalogRule $catalogPriceRuleOriginal - * @param Customer $customer - * @param Cron $cron - * @param string $saveAction - * @param bool $isCronEnabled - * @return array - */ - public function test( - CatalogRule $catalogPriceRule, - CatalogRule $catalogPriceRuleOriginal, - Cron $cron, - $saveAction, - Customer $customer = null, - $isCronEnabled = false - ) { - // Preconditions - $catalogPriceRuleOriginal->persist(); - - if ($customer !== null) { - $customer->persist(); - } - - if ($isCronEnabled) { - $cron->run(); - $cron->run(); - } - - // Prepare data - $productSimple = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => 'product_with_category'] - ); - - /** @var CategoryIds $sourceCategories */ - $sourceCategories = $productSimple->getDataFieldConfig('category_ids')['source']; - $replace = [ - 'conditions' => [ - 'conditions' => [ - '%category_1%' => $sourceCategories->getIds()[0], - ], - ], - ]; - $filter = [ - 'name' => $catalogPriceRuleOriginal->getName(), - 'rule_id' => $catalogPriceRuleOriginal->getId(), - ]; - - // Steps - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $this->catalogRuleNew->getEditForm()->fill($catalogPriceRule, null, $replace); - $this->catalogRuleNew->getFormPageActions()->$saveAction(); - - if ($isCronEnabled) { - $cron->run(); - $cron->run(); - } - - // Create simple product with category - $productSimple->persist(); - - return ['products' => [$productSimple]]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml deleted file mode 100644 index e2916432c8eb7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestCase/UpdateCatalogPriceRuleEntityTest.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - active_catalog_price_rule_with_conditions - New Catalog Price Rule Name %isolation% - No - save - - - - - - - - test_type:extended_acceptance_test - customer_US - active_catalog_price_rule_with_conditions - New Catalog Price Rule Name %isolation% - New Catalog Price Rule Description %isolation% - Yes - [Category|is|%category_1%] - Apply as fixed amount - 35 - saveAndApply - 65 - 70 - 35 - 65 - 65 - 100 - Flat Rate - Fixed - checkmo - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/CreateCatalogRuleStep.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/CreateCatalogRuleStep.php deleted file mode 100644 index 519b6815d819f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/CreateCatalogRuleStep.php +++ /dev/null @@ -1,83 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->catalogRule = $catalogRule; - $this->deleteAllCatalogRule = $deleteRule; - } - - /** - * Create catalog rule. - * - * @return array - */ - public function run() - { - $result['catalogRule'] = null; - if ($this->catalogRule != '-') { - $catalogRule = $this->fixtureFactory->createByCode( - 'catalogRule', - ['dataset' => $this->catalogRule] - ); - $catalogRule->persist(); - $result['catalogRule'] = $catalogRule; - } - return $result; - } - - /** - * Delete all catalog rule. - * - * @return void - */ - public function cleanup() - { - if ($this->catalogRule != '-') { - $this->deleteAllCatalogRule->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/DeleteAllCatalogRulesStep.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/DeleteAllCatalogRulesStep.php deleted file mode 100644 index ca4ec71c6d3e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/TestStep/DeleteAllCatalogRulesStep.php +++ /dev/null @@ -1,62 +0,0 @@ -catalogRuleIndex = $catalogRuleIndex; - $this->catalogRuleNew = $catalogRuleNew; - } - - /** - * Delete Catalog Rule on backend - * - * @return array - */ - public function run() - { - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->resetFilter(); - while ($this->catalogRuleIndex->getCatalogRuleGrid()->isFirstRowVisible()) { - $this->catalogRuleIndex->getCatalogRuleGrid()->openFirstRow(); - $this->catalogRuleNew->getFormPageActions()->delete(); - $this->catalogRuleNew->getModalBlock()->acceptAlert(); - $this->catalogRuleIndex->getSystemMessageDialog()->closePopup(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/curl/di.xml deleted file mode 100644 index 011a7bed2be8e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/di.xml deleted file mode 100644 index 525442d5b07e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/di.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - high - - - - - high - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/ui/di.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/ui/di.xml deleted file mode 100644 index 3fb402aa47b7c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/etc/ui/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php b/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php deleted file mode 100644 index 6609fe7af2b41..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php +++ /dev/null @@ -1,94 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } else { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } - - $cmsIndexPage->open(); - foreach ($products as $key => $product) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName); - $priceBlock = $catalogCategoryViewPage->getListProductBlock()->getProductItem($product)->getPriceBlock(); - \PHPUnit\Framework\Assert::assertTrue( - $priceBlock->isVisible(), - 'Price block is not displayed for product ' . $product->getName() - ); - // Product price with applied rule displayed as usual price for Configurable products (MAGETWO-64882) - $actualPrice['special'] = (float)$priceBlock->getPrice(); - $diff = $this->verifyData($actualPrice, $productPrice[$key]); - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - implode(' ', $diff) - ); - } - } - - /** - * Check if arrays have equal values. - * - * @param array $formData - * @param array $fixtureData - * @return array - */ - protected function verifyData(array $formData, array $fixtureData) - { - $errorMessage = []; - foreach ($formData as $key => $value) { - if ($value != $fixtureData[$key]) { - $errorMessage[] = "Value " . $key . " is not equal." - . "\nExpected: " . $fixtureData[$key] - . "\nActual: " . $value . "\n"; - } - } - return $errorMessage; - } - - /** - * Text of catalog price rule visibility on catalog page (frontend). - * - * @return string - */ - public function toString() - { - return 'Displayed catalog price rule data on catalog page(frontend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.php b/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.php deleted file mode 100644 index 674acfe28dd85..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.php +++ /dev/null @@ -1,50 +0,0 @@ -hasData('configurable_attributes_data')) { - $attributes = $product->getDataFieldConfig('configurable_attributes_data')['source'] - ->getAttributesData()['attribute_key_0']; - $result['%attribute_id%'] = $attributes['attribute_code']; - $result['%attribute_value%'] = $attributes['options']['option_key_' . $this->promo]['id']; - return $result; - } else { - return parent::getAttribute($product); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.xml deleted file mode 100644 index 1645c68f8fbbd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/ApplyConfigurableProductCatalogPriceRulesTest.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - mftf_migrated:yes - configurableProduct::Stellar_Solar_Jacket_SIZE_S - configurableProduct::Stellar_Solar_Jacket_SIZE_M - configurableProduct::Stellar_Solar_Jacket_SIZE_L - 2 - Catalog Price Rule %isolation% - Active - Main Website - NOT LOGGED IN - [Attribute|%attribute_id%|is|%attribute_value%] - Apply as fixed amount - 0.55 - 224.45 - 239.45 - 74.45 - 75 - No - 74.45 - 75 - No - 74.45 - 74.45 - No - Flat Rate - Fixed - UK_address - checkmo - - - - - - mftf_migrated:yes - configurableProduct::first_product_with_custom_options_and_option_key_1 - configurableProduct::first_product_with_custom_options_and_option_key_2 - configurableProduct::second_product_with_custom_options_and_option_key_1 - configurableProduct::second_product_with_custom_options_and_option_key_2 - customer_US - default - NOT LOGGED IN - CatalogPriceRule %isolation% - Active - Main Website - Apply as fixed amount - Yes - 5 - 382 - 402 - 15.01 - 86.99 - No - 15.01 - 163.99 - No - 15.01 - 27.01 - No - 15.01 - 104.01 - No - Flat Rate - Fixed - UK_address - checkmo - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml deleted file mode 100644 index d7d0c9e8b35d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/TestCase/DeleteCatalogPriceRuleEntityTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - active_catalog_price_rule_with_conditions - configurableProduct::two_options_by_one_dollar - 1 - mftf_migrated:yes - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Edit/SearchTermForm.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Edit/SearchTermForm.php deleted file mode 100644 index ffd44627d168d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Edit/SearchTermForm.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - selectstore - - - - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Grid.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Grid.php deleted file mode 100644 index 5130862cca428..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Adminhtml/Grid.php +++ /dev/null @@ -1,44 +0,0 @@ - [ - 'selector' => 'input[name="search_query"]', - ], - 'store_id' => [ - 'selector' => 'select[name="store_id"]', - 'input' => 'selectstore', - ], - 'results_from' => [ - 'selector' => 'input[name="num_results[from]"]', - ], - 'popularity_from' => [ - 'selector' => 'input[name="popularity[from]"]', - ], - 'redirect' => [ - 'selector' => 'input[name="redirect"]', - ], - 'display_in_terms' => [ - 'selector' => 'select[name="display_in_terms"]', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Date.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Date.php deleted file mode 100644 index 2ac9ab7609df1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Date.php +++ /dev/null @@ -1,57 +0,0 @@ -getData(); - - // Mapping - $mapping = $this->dataMapping($data, $mapping); - $attribute = $fixture->getDataFieldConfig('custom_attribute')['source']->getAttribute(); - $mappingDate['custom_attribute']['from'] = $mapping['custom_attribute']; - $mappingDate['custom_attribute']['to'] = $mapping['custom_attribute']; - $attributeCode = $attribute->getAttributeCode(); - $mappingDate['custom_attribute']['from']['selector'] = sprintf($this->dateFromSelector, $attributeCode); - $mappingDate['custom_attribute']['to']['selector'] = sprintf($this->dateToSelector, $attributeCode); - - $this->_fill($mappingDate, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Select.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Select.php deleted file mode 100644 index 0e8709e47eaf2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Select.php +++ /dev/null @@ -1,42 +0,0 @@ -getDataFieldConfig('custom_attribute')['source']->getAttribute(); - $mapping['custom_attribute']['selector'] = sprintf($this->selectSelector, $attribute->getAttributeCode()); - $mapping['custom_attribute']['input'] = 'select'; - $this->_fill($mapping, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Text.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Text.php deleted file mode 100644 index 01fab2c06c477..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/CustomAttribute/Text.php +++ /dev/null @@ -1,41 +0,0 @@ -getDataFieldConfig('custom_attribute')['source']->getAttribute(); - $mapping['custom_attribute']['selector'] = sprintf($this->inputSelector, $attribute->getAttributeCode()); - $this->_fill($mapping, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.php deleted file mode 100644 index 87aa2f75272c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.php +++ /dev/null @@ -1,127 +0,0 @@ -_rootElement->find($this->searchButtonSelector)->click(); - } - - /** - * Fill the root form. - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $fixture, SimpleElement $element = null) - { - // Prepare price data - $data = $fixture->getData(); - if (isset($data['price'])) { - $data = array_merge($data, $data['price']); - unset($data['price']); - } - if (isset($data['additional_attributes'])) { - $data = array_merge($data, $data['additional_attributes']); - unset($data['additional_attributes']); - } - - // Mapping - $mapping = $this->dataMapping($data); - $attributeType = $attributeCode = ''; - if ($fixture->hasData('custom_attribute')) { - /** @var CatalogProductAttribute $attribute */ - $attribute = $fixture->getDataFieldConfig('custom_attribute')['source']->getAttribute(); - $attributeType = $attribute->getFrontendInput(); - if ($attributeType == 'Text Area') { - $attributeType = 'Text Field'; - } - $attributeCode = $attribute->getAttributeCode(); - } - if ($this->hasRender($attributeType)) { - $element = $this->_rootElement->find(sprintf($this->customAttributeSelector, $attributeCode)); - $arguments = ['fixture' => $fixture, 'element' => $element, 'mapping' => $mapping]; - $this->callRender($attributeType, 'fill', $arguments); - } elseif ($attributeType == 'Price') { - $value = $data['custom_attribute']['value']; - $this->_rootElement->find('#' . $attributeCode)->setValue($value); - $this->_rootElement->find('#' . $attributeCode . '_to')->setValue($value); - } else { - $this->_fill($mapping, $element); - } - - return $this; - } - - /** - * Get form fields. - * - * @return array - */ - public function getFormLabels() - { - $labels = []; - $elements = $this->_rootElement->getElements($this->fieldSelector, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $labels[] = $element->find($this->labelSelector)->getText(); - } - return $labels; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.xml deleted file mode 100644 index ea16d5c2af338..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Form.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - #name - - - #sku - - - #description - - - #short_description - - - #price - - - #price_to - - - #weight - - - #weight_to - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Result.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Result.php deleted file mode 100644 index d3151f1fa4920..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/Result.php +++ /dev/null @@ -1,110 +0,0 @@ -_rootElement->find(sprintf($this->messagesSelector, $text), Locator::SELECTOR_XPATH) - ->isVisible(); - } - - /** - * Getting search data - * - * @return array - */ - public function getSearchSummaryItems() - { - $result = []; - $index = 1; - - $element = $this->_rootElement->find($this->searchSummary); - while ($element->find(sprintf($this->searchSummaryItems, $index), Locator::SELECTOR_XPATH)->isVisible()) { - $parentElement = $element->find(sprintf($this->searchSummaryItems, $index), Locator::SELECTOR_XPATH); - $childIndex = 1; - while ($parentElement->find( - sprintf($this->searchSummaryItem, $childIndex), - Locator::SELECTOR_XPATH - )->isVisible()) { - $result[] = $parentElement->find( - sprintf($this->searchSummaryItem, $childIndex), - Locator::SELECTOR_XPATH - )->getText(); - ++$childIndex; - } - ++$index; - } - - // Prepare data - foreach ($result as $key => $dataRow) { - $explodeData = explode(':', $dataRow); - $explodeData[1] = trim($explodeData[1]); - $explodeData[0] = str_replace(' ', '_', strtolower($explodeData[0])); - $explodeData[0] = str_replace('product_', '', $explodeData[0]); - if ($explodeData[0] === 'price') { - $matches = []; - if (preg_match('#^(\d+)[^\d]+(\d+)$#umis', $explodeData[1], $matches)) { // range - $result[$explodeData[0]][] = $matches[1]; - $result[$explodeData[0]][] = $matches[2]; - } elseif (preg_match('#^[^\d]+(\d+)$#umis', $explodeData[1], $matches)) { // up to - $result[$explodeData[0]][] = $matches[1]; - } elseif (preg_match('#^(\d+)[^\d]+$#umis', $explodeData[1], $matches)) { // greater - $result[$explodeData[0]][] = $matches[1]; - } - } else { - $result[$explodeData[0]] = explode(',', $explodeData[1]); - } - $result[$explodeData[0]] = array_map('trim', $result[$explodeData[0]]); - unset($result[$key]); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/SearchResultsTitle.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/SearchResultsTitle.php deleted file mode 100644 index afa001abdec09..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Block/Advanced/SearchResultsTitle.php +++ /dev/null @@ -1,37 +0,0 @@ -_rootElement->find(sprintf($this->searchResultsFor), Locator::SELECTOR_CSS) - ->getText(); - preg_match("~Search results for: \'(.*)\'~", $searchQueryResult, $matches); - $query = isset($matches[1]) ? $matches[1] : null; - return $query; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchAttributeIsAbsent.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchAttributeIsAbsent.php deleted file mode 100644 index f176f8e015d10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchAttributeIsAbsent.php +++ /dev/null @@ -1,50 +0,0 @@ -reindex(); - $advancedSearch->open(); - $formLabels = $advancedSearch->getForm()->getFormLabels(); - $label = $attribute->hasData('manage_frontend_label') - ? $attribute->getManageFrontendLabel() - : $attribute->getFrontendLabel(); - \PHPUnit\Framework\Assert::assertFalse( - in_array($label, $formLabels), - 'Created custom product attribute is present in advanced search form on frontend but must be absent.' - ); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Created custom product attribute is absent in advanced search form on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchEmptyTerm.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchEmptyTerm.php deleted file mode 100644 index 608e157a1fb2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchEmptyTerm.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Correct specify search term error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchNoResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchNoResult.php deleted file mode 100644 index 8d5275ae33eb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchNoResult.php +++ /dev/null @@ -1,45 +0,0 @@ -getSearchResultBlock()->isVisibleMessages(self::ERROR_MESSAGE), - "The error message '" . self::ERROR_MESSAGE . "' is not visible." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Error message is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductByAttribute.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductByAttribute.php deleted file mode 100644 index b5174189c9bed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductByAttribute.php +++ /dev/null @@ -1,91 +0,0 @@ -fixtureFactory = $fixtureFactory; - $cmsIndex->open(); - $cmsIndex->getFooterBlock()->openAdvancedSearch(); - $searchForm = $searchPage->getForm(); - $productSearch = $this->prepareFixture($product, $attributeValue); - - $searchForm->fill($productSearch); - $searchForm->submit(); - do { - $isVisible = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isVisible && $catalogSearchResult->getBottomToolbar()->nextPage()); - - \PHPUnit\Framework\Assert::assertTrue($isVisible, 'Product attribute is not searchable on Frontend.'); - } - - /** - * Preparation of fixture data before comparing. - * - * @param InjectableFixture $productSearch - * @param int|null $attributeValue - * @return CatalogProductSimple - */ - protected function prepareFixture(InjectableFixture $productSearch, $attributeValue) - { - $customAttribute = $productSearch->getDataFieldConfig('custom_attribute')['source']->getAttribute(); - if ($attributeValue !== null) { - $customAttribute = ['value' => $attributeValue, 'attribute' => $customAttribute]; - } - return $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => ['custom_attribute' => $customAttribute]] - ); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Product attribute is searchable on Frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductResult.php deleted file mode 100644 index e1496042870a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductResult.php +++ /dev/null @@ -1,103 +0,0 @@ -prepareExpectedResult($isVisibleInAdvancedSearch, $allProducts); - $foundedProducts = $this->advancedSearchProducts($resultPage, $allProducts); - \PHPUnit\Framework\Assert::assertEquals( - $expectedResult, - $foundedProducts, - 'Expected and founded products not the same.' - . "\nExpected: " . print_r($expectedResult) - . "\nActual: " . print_r($foundedProducts) - ); - } - - /** - * Returns array with expected products. - * - * @param array $isVisibleInAdvancedSearch - * @param array $products - * @return array - */ - private function prepareExpectedResult(array $isVisibleInAdvancedSearch, array $products) - { - $expectedResult = []; - foreach ($isVisibleInAdvancedSearch as $key => $value) { - if ($value == "Yes") { - $expectedResult[] = sprintf(self::FOUNDED_PRODUCT_MESSAGE, $products[$key]->getName()); - } - } - sort($expectedResult); - return $expectedResult; - } - - /** - * Returns array with found products. - * - * @param AdvancedResult $resultPage - * @param array $allProducts - * @return array - */ - private function advancedSearchProducts(AdvancedResult $resultPage, array $allProducts) - { - $products = $allProducts; - $foundedProducts = []; - do { - $dirtKeys = []; - foreach ($allProducts as $key => $product) { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - if ($isProductVisible) { - $foundedProducts[] = sprintf(self::FOUNDED_PRODUCT_MESSAGE, $products[$key]->getName()); - $dirtKeys[] = $key; - } - } - foreach ($dirtKeys as $key) { - unset($products[$key]); - } - } while ($resultPage->getBottomToolbar()->nextPage() && (count($products) > 0)); - - sort($foundedProducts); - return $foundedProducts; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All products are involved in the search were found successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php deleted file mode 100644 index 7f4a627abdc8f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAdvancedSearchProductsResult.php +++ /dev/null @@ -1,157 +0,0 @@ - 'tax_class', - ]; - - /** - * Assert that Advanced Search result page contains only product(s) according to requested from fixture - * - * @param array $products - * @param AdvancedResult $resultPage - * @param array $productsSearch - * @param CatalogProductSimple $productSearch - * @return void - */ - public function processAssert( - array $products, - AdvancedResult $resultPage, - array $productsSearch, - CatalogProductSimple $productSearch - ) { - $this->resultPage = $resultPage; - $searchResult = []; - foreach ($products as $key => $value) { - if ($value === 'Yes') { - /** @var CatalogProductSimple $productsSearch [$key] */ - $searchResult[$productsSearch[$key]->getSku()] = $productsSearch[$key]; - } - } - - $errors = $this->checkSearchData($searchResult, $productSearch); - foreach ($searchResult as $sku => $product) { - /** @var CatalogProductSimple $product */ - $name = $product->getName(); - do { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()); - - if (!$isProductVisible) { - $errors[] = '- failed to find the product (SKU - "' - . $sku . '", name - "' . $name . '") according to the search parameters'; - } - } - - \PHPUnit\Framework\Assert::assertTrue( - empty($errors), - "The following errors occurred:\n" . implode("\n", $errors) - ); - } - - /** - * Validation page displaying the search data - * - * @param array $searchResult - * @param CatalogProductSimple $productSearch - * @return array - */ - protected function checkSearchData(array $searchResult, CatalogProductSimple $productSearch) - { - $searchBlock = $this->resultPage->getSearchResultBlock(); - $errors = []; - $textMessage = self::NOTICE_MESSAGE; - if (empty($searchResult)) { - $textMessage = self::ERROR_MESSAGE; - } - - if (!$searchBlock->isVisibleMessages($textMessage)) { - $errors[] = '- message does not match the search script'; - } - - $searchData = $searchBlock->getSearchSummaryItems(); - $productData = $this->prepareFixtureData($productSearch); - foreach ($productData as $key => $data) { - if (!isset($searchData[$key])) { - $errors[] = '- "' . $key . '" not found on the page'; - } elseif ($searchData[$key] !== $data) { - $errors[] = '- "' . $key . '" value does not match the page'; - } - } - - return $errors; - } - - /** - * Preparation of fixture data before comparing - * - * @param CatalogProductSimple $productSearch - * @return array - */ - protected function prepareFixtureData(CatalogProductSimple $productSearch) - { - $compareData = []; - foreach ($productSearch->getData() as $key => $value) { - if ($key === 'price') { - if (isset($value['price_from'])) { - $compareData[$key][] = $value['price_from']; - } - if (isset($value['price_to'])) { - $compareData[$key][] = $value['price_to']; - } - } else { - $index = isset($this->placeholder[$key]) ? $this->placeholder[$key] : $key; - $compareData[$index][] = $value; - } - } - unset($compareData['url_key']); - - return $compareData; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'All products are involved in the search were found successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAttributeSearchableByLabel.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAttributeSearchableByLabel.php deleted file mode 100644 index c1de20531c8d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertAttributeSearchableByLabel.php +++ /dev/null @@ -1,92 +0,0 @@ -getSearchValue($attribute); - - $cmsIndex->open(); - $cmsIndex->getSearchBlock()->search($searchValue); - - do { - $isVisible = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isVisible && $catalogSearchResult->getBottomToolbar()->nextPage()); - - \PHPUnit\Framework\Assert::assertTrue($isVisible, 'Product attribute is not searchable on Frontend.'); - } - - /** - * Get search value for product attribute. - * - * @param CatalogProductAttribute $attribute - * @return string - */ - protected function getSearchValue(CatalogProductAttribute $attribute) - { - $searchValue = ''; - - switch ($attribute->getFrontendInput()) { - case 'Multiple Select': - case 'Dropdown': - foreach ($attribute->getOptions() as $option) { - if ($option['is_default'] == 'Yes') { - $searchValue = $option['admin']; - } - } - break; - case 'Text Field': - $searchValue = $attribute->getDefaultValueText(); - break; - case 'Text Area': - $searchValue = $attribute->getDefaultValueTextarea(); - break; - case 'Date': - $searchValue = $attribute->getDefaultValueDate(); - break; - case 'Yes/No': - $searchValue = $attribute->getDefaultValueYesno(); - break; - } - - return $searchValue; - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return 'Product attribute is searchable on Frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResult.php deleted file mode 100644 index 8b12484521195..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResult.php +++ /dev/null @@ -1,40 +0,0 @@ -getListProductBlock()->isVisible(), - 'Search result has been found.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Search result has not been found.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResultMessage.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResultMessage.php deleted file mode 100644 index 9ad45021bcdd1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchNoResultMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getSearchResultBlock()->isVisibleMessages(self::NOTICE_MESSAGE), - 'Wrong message is displayed or no message at all.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Notice message is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchQueryLength.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchQueryLength.php deleted file mode 100644 index 533f16d7c343c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchQueryLength.php +++ /dev/null @@ -1,41 +0,0 @@ -getSearchResultsTitleBlock()->getSearchQuery()), - 128, - 'Search query length is not truncated to 128 symbols.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Search query truncated to 128 symbols.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResult.php deleted file mode 100644 index cc236e0e539ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResult.php +++ /dev/null @@ -1,52 +0,0 @@ -getDataFieldConfig('query_text')['source']->getFirstProduct(); - - do { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()); - - \PHPUnit\Framework\Assert::assertTrue( - $isProductVisible, - "A product with name '" . $product->getName() . "' was not found." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Searched product has been successfully found.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResultOrder.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResultOrder.php deleted file mode 100644 index eefe0708f0163..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertCatalogSearchResultOrder.php +++ /dev/null @@ -1,74 +0,0 @@ -getDataFieldConfig('query_text')['source']; - $products = $queryText->getProducts(); - - $productsOrder = []; - foreach ($products as $productFixture) { - $productsOrder[] = $productFixture->getData('name'); - } - - do { - $productNamesOnPage = $resultPage->getListProductBlock()->getProductNames(); - - foreach ($productNamesOnPage as $productOnPage) { - $idxInArray = array_search($productOnPage, $productsOrder, true); - if (false !== $idxInArray) { - if (0 !== $idxInArray) { - \PHPUnit\Framework\Assert::assertEmpty( - $productsOrder, - 'Products are in incorrect order on the search result page' - ); - } - array_shift($productsOrder); - } - } - } while (count($productsOrder) && $resultPage->getBottomToolbar()->nextPage()); - - \PHPUnit\Framework\Assert::assertEmpty( - $productsOrder, - 'Products are in incorrect order on the search result page' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Searched products were successfully found and they're in the right order."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertConfigurableWithDisabledOptionCatalogSearchNoResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertConfigurableWithDisabledOptionCatalogSearchNoResult.php deleted file mode 100644 index d7f7cc40c34fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertConfigurableWithDisabledOptionCatalogSearchNoResult.php +++ /dev/null @@ -1,85 +0,0 @@ -getDataFieldConfig('query_text')['source']->getFirstProduct(); - - $matrix = isset($product->getConfigurableAttributesData()['matrix']) ? - $product->getConfigurableAttributesData()['matrix'] : - []; - - foreach ($matrix as $option) { - $product = $fixtureFactory->createByCode('catalogProductSimple', ['data' => ['status' => 'No']]); - $filter = ['sku' => $option['sku']]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - $editProductPage->getProductForm()->fill($product); - $editProductPage->getFormPageActions()->save(); - } - - $cmsIndex->open(); - $cmsIndex->getSearchBlock()->search($catalogSearch->getQueryText(), $queryLength); - - do { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()); - - \PHPUnit\Framework\Assert::assertFalse( - $isProductVisible, - "A product with name '" . $product->getName() . "' was found." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Search result has not been found.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductAddedToCartFromSearchResults.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductAddedToCartFromSearchResults.php deleted file mode 100644 index a5cbf201ccdf5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductAddedToCartFromSearchResults.php +++ /dev/null @@ -1,70 +0,0 @@ -getDataFieldConfig('query_text')['source']->getFirstProduct(); - - do { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()); - - $productName = $product->getName(); - - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, "A product with name $productName was not found."); - $resultPage->getListProductBlock()->getProductItem($product)->clickAddToCart(); - $catalogProductView->getViewBlock()->waitLoader(); - if (isset($product->getCheckoutData()['options'])) { - $catalogProductView->getViewBlock()->addToCart($product); - $message = $catalogProductView->getMessagesBlock()->getSuccessMessage(); - } else { - $message = $resultPage->getMessagesBlock()->getSuccessMessage(); - } - - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, $productName), - $message - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product was successfully added to cart from the search results page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductCanBeOpenedFromSearchResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductCanBeOpenedFromSearchResult.php deleted file mode 100644 index 4eaf9f9c86536..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertProductCanBeOpenedFromSearchResult.php +++ /dev/null @@ -1,58 +0,0 @@ -getDataFieldConfig('query_text')['source']->getFirstProduct(); - - do { - $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible(); - } while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()); - - $productName = $product->getName(); - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, "A product with name $productName was not found."); - - $resultPage->getListProductBlock()->getProductItem($product)->open(); - \PHPUnit\Framework\Assert::assertEquals( - $productName, - $catalogProductViewPage->getViewBlock()->getProductName(), - 'Wrong product page has been opened.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product can be opened from search results page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchAttributeTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchAttributeTest.php deleted file mode 100644 index b2a49a5543015..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchAttributeTest.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - $availableAttributes = $advancedSearch->getForm()->getFormLabels(); - if (isset($attributeForSearch['isVisible'])) { - \PHPUnit\Framework\Assert::assertTrue( - (false !== array_search($attributeForSearch['name'], $availableAttributes)), - 'Attribute ' . $attributeForSearch['name'] . 'was not found in Advanced Search Page.' - ); - } else { - \PHPUnit\Framework\Assert::assertTrue( - (false == array_search($attributeForSearch['name'], $availableAttributes)), - 'Attribute ' . $attributeForSearch['name'] . ' was found in Advanced Search Page.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Attribute was found in Advanced Search Page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermForm.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermForm.php deleted file mode 100644 index 71646664d1e97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermForm.php +++ /dev/null @@ -1,63 +0,0 @@ -open()->getGrid()->searchAndOpen(['search_query' => $searchTerm->getQueryText()]); - $formData = $editPage->getForm()->getData($searchTerm); - $fixtureData = $searchTerm->getData(); - - \PHPUnit\Framework\Assert::assertEquals( - $formData, - $fixtureData, - 'This form "Search Term" does not match the fixture data.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'These form "Search Term" correspond to the fixture data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermInGrid.php deleted file mode 100644 index 428f9cc1a0705..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermInGrid.php +++ /dev/null @@ -1,62 +0,0 @@ -open()->getGrid(); - $filters = [ - 'search_query' => $searchTerm->getQueryText(), - 'store_id' => $searchTerm->getStoreId(), - 'results_from' => $searchTerm->getNumResults(), - 'popularity_from' => $searchTerm->getPopularity(), - 'redirect' => $searchTerm->getRedirect(), - 'display_in_terms' => strtolower($searchTerm->getDisplayInTerms()), - ]; - - $filters = array_filter($filters); - $grid->search($filters); - unset($filters['store_id']); - \PHPUnit\Framework\Assert::assertTrue( - $grid->isRowVisible($filters, false), - 'Row terms according to the filters is not found.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Row term according to the filters is not found.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionNotOnFrontend.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionNotOnFrontend.php deleted file mode 100644 index e63df55a483c7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionNotOnFrontend.php +++ /dev/null @@ -1,50 +0,0 @@ -processAssert($cmsIndex, $browser, $term); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'All search terms were successfully removed (redirects to the specified URL was not performed).'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionsNotInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionsNotInGrid.php deleted file mode 100644 index 016058f59ab29..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermMassActionsNotInGrid.php +++ /dev/null @@ -1,47 +0,0 @@ -processAssert($indexPage, $term); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search terms were not found in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotInGrid.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotInGrid.php deleted file mode 100644 index 646a0b1472a5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotInGrid.php +++ /dev/null @@ -1,56 +0,0 @@ -getQueryText(); - $grid = $indexPage->open()->getGrid(); - $filters = [ - 'search_query' => $queryText, - 'store_id' => $searchTerm->getStoreId(), - 'results_from' => $searchTerm->getNumResults(), - 'popularity_from' => $searchTerm->getPopularity(), - 'redirect' => $searchTerm->getRedirect(), - 'display_in_terms' => strtolower($searchTerm->getDisplayInTerms()), - ]; - - $grid->search($filters); - unset($filters['store_id']); - \PHPUnit\Framework\Assert::assertFalse( - $grid->isRowVisible($filters, false), - 'Search term "' . $queryText . '" was found in grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search term was not found in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotOnFrontend.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotOnFrontend.php deleted file mode 100644 index 60fedfb160285..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermNotOnFrontend.php +++ /dev/null @@ -1,49 +0,0 @@ -getQueryText(); - $cmsIndex->open()->getSearchBlock()->search($queryText); - \PHPUnit\Framework\Assert::assertNotEquals( - $browser->getUrl(), - $searchTerm->getRedirect(), - 'Url in the browser corresponds to Url in fixture (redirect has been performed).' - . PHP_EOL . 'Search term: "' . $queryText . '"' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search term was successfully removed (redirects to the specified URL was not performed).'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermOnFrontend.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermOnFrontend.php deleted file mode 100644 index e3c5a408a3873..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermOnFrontend.php +++ /dev/null @@ -1,93 +0,0 @@ -searchBlock = $cmsIndex->open()->getSearchBlock(); - - if ($searchTerm->hasData('display_in_terms') && $searchTerm->getDisplayInTerms() === 'Yes') { - $errors = $this->checkSuggestSearch($searchTerm); - } - - $this->searchBlock->search($searchTerm->getQueryText()); - $windowUrl = $browser->getUrl(); - $redirectUrl = $searchTerm->getRedirect(); - if ($windowUrl !== $redirectUrl) { - $errors[] = '- url window (' . $windowUrl . ') does not match the url redirect(' . $redirectUrl . ')'; - } - - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - 'When checking on the frontend "Search terms" arose following errors:' . PHP_EOL . implode(PHP_EOL, $errors) - ); - } - - /** - * Check suggest block visibility - * - * @param CatalogSearchQuery $searchTerm - * @return array - */ - protected function checkSuggestSearch(CatalogSearchQuery $searchTerm) - { - $queryText = $searchTerm->getQueryText(); - $this->searchBlock->fillSearch($queryText); - if ($searchTerm->hasData('num_results')) { - $isVisible = $this->searchBlock->isSuggestSearchVisible( - $queryText, - $searchTerm->getNumResults() - ); - } else { - $isVisible = $this->searchBlock->isSuggestSearchVisible($queryText); - } - - return $isVisible ? [] : ['- block "Suggest Search" when searching was not found']; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Checking "Search terms" on frontend successful.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessDeleteMessage.php deleted file mode 100644 index c7d7c8bb6ddd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessDeleteMessage.php +++ /dev/null @@ -1,54 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search term success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessMassDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessMassDeleteMessage.php deleted file mode 100644 index e4d7ad20af6d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessMassDeleteMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - $expectedMessage = sprintf(self::SUCCESS_MESSAGE, count($searchTerms)); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Search terms success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessSaveMessage.php deleted file mode 100644 index 239fda4dceebe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSearchTermSuccessSaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . PHP_EOL . "Expected: " . self::SUCCESS_MESSAGE - . PHP_EOL . "Actual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search term success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSuggestSearchingResult.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSuggestSearchingResult.php deleted file mode 100644 index 5a0d5411670b7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Constraint/AssertSuggestSearchingResult.php +++ /dev/null @@ -1,65 +0,0 @@ -open(); - $searchBlock = $cmsIndex->getSearchBlock(); - - $queryText = $searchTerm->getQueryText(); - $searchBlock->fillSearch($queryText); - - if ($searchTerm->hasData('num_results')) { - $isVisible = $searchBlock->isSuggestSearchVisible($queryText, $searchTerm->getNumResults()); - } else { - $isVisible = $searchBlock->isSuggestSearchVisible($queryText); - } - - \PHPUnit\Framework\Assert::assertTrue( - $isVisible, - 'Block "Suggest Search" when searching was not found' - ); - $searchBlock->clickSuggestedText($queryText); - $assertCatalogSearchResult->processAssert($searchTerm, $resultPage); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Asserts window contains requested entity and quantity. Searched product has been successfully found.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml deleted file mode 100644 index 41aee857e5c84..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery/QueryText.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery/QueryText.php deleted file mode 100644 index 11a8693723f25..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery/QueryText.php +++ /dev/null @@ -1,136 +0,0 @@ -params = $params; - - $this->data = array_key_exists('search_query', $data) ? $data['search_query'] : null; - - $this->products = $this->createProducts($fixtureFactory, (array)$data['value']); - } - - /** - * @param FixtureFactory $fixtureFactory - * @param array $productsData - * @return InjectableFixture[] - */ - private function createProducts(FixtureFactory $fixtureFactory, $productsData) - { - $products = []; - foreach ($productsData as $productStringData) { - $productData = explode('::', $productStringData); - if (!empty($productData) && count($productData) > 1) { - $product = $this->createProduct($fixtureFactory, $productData); - - $searchValue = isset($productData[2]) ? $productData[2] : $productData[1]; - if ($this->data === null) { - if ($product->hasData($searchValue)) { - $getProperty = 'get' . str_replace('_', '', ucwords($searchValue, '_')); - $this->data = $product->$getProperty(); - } else { - $this->data = $searchValue; - } - } - - $products[] = $product; - } elseif ($this->data === null) { - $this->data = (string)$productData; - } - } - - return $products; - } - - /** - * @param FixtureFactory $fixtureFactory - * @param $productData - * @return InjectableFixture - */ - private function createProduct(FixtureFactory $fixtureFactory, $productData) - { - $fixtureCode = $this->getProductFixtureCode($productData); - $dataset = $this->getProductDataSet($productData); - $product = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - if (!$product->hasData('id')) { - $product->persist(); - } - - return $product; - } - - /** - * @param $productData - * @return string - */ - private function getProductFixtureCode($productData) - { - $fixtureCode = $productData[0]; - - return $fixtureCode; - } - - /** - * @param $productData - * @return string - */ - private function getProductDataSet($productData) - { - return (isset($productData[2]) || null !== $this->data) ? $productData[1] : ''; - } - - /** - * Get product fixture to search. - * - * @return InjectableFixture - */ - public function getFirstProduct() - { - return reset($this->products); - } - - /** - * Get product fixture to search. - * - * @return InjectableFixture[] - */ - public function getProducts() - { - return $this->products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/CatalogSearchQueryInterface.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/CatalogSearchQueryInterface.php deleted file mode 100644 index 9e04a58b1c994..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/CatalogSearchQueryInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'No' => 0, - ], - 'store_id' => [ - 'Main Website/Main Website Store/Default Store View' => 1, - ], - ]; - - /** - * Search term url. - * - * @var string - */ - protected $url = 'search/term/'; - - /** - * Post request for creating search term - * - * @param FixtureInterface $fixture|null [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->replaceMappingData($fixture->getData()); - $this->addNewSearchTerm($data); - - return ['id' => $this->getNewSearchTermId($data['query_text'])]; - } - - /** - * Add new search term. - * - * @param array $data - */ - protected function addNewSearchTerm(array $data) - { - $url = $_ENV['app_backend_url'] . $this->url . 'save'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $curl->read(); - $curl->close(); - } - - /** - * Getting search term id. - * - * @param string $queryText - * @return int - * @throws \Exception - */ - protected function getNewSearchTermId($queryText) - { - $filter = base64_encode('search_query=' . $queryText); - $url = $_ENV['app_backend_url'] . $this->url . 'index/filter/' . $filter; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - - if (!preg_match('#' . $this->url . 'edit/id/(\d+)/"#', $response, $matches)) { - throw new \Exception('Search term not found in grid!'); - } - - return (int)$matches[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchEdit.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchEdit.xml deleted file mode 100644 index 5e02ce8bf20f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchIndex.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchIndex.xml deleted file mode 100644 index d3b3295a79616..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/Adminhtml/CatalogSearchIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedResult.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedResult.xml deleted file mode 100644 index 2da7bf57fe666..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedResult.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedSearch.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedSearch.xml deleted file mode 100644 index 9885c49523dd2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/AdvancedSearch.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/CatalogsearchResult.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/CatalogsearchResult.xml deleted file mode 100644 index 589b44a883c56..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Page/CatalogsearchResult.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.xml deleted file mode 100644 index ab6d8bbf002bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Repository/CatalogSearchQuery.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - Query text %isolation% - catalogProductSimple::default - - Main Website/Main Website Store/Default Store View - http://example.com/ - No - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.php deleted file mode 100644 index 0ca27da58118d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.php +++ /dev/null @@ -1,85 +0,0 @@ -createByCode( - 'catalogProductSimple', - ['dataset' => 'abc_dfj_simple_for_advancedsearch'] - ); - $productSymbols->persist(); - - /** @var CatalogProductSimple $productNumbers */ - $productNumbers = $fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => 'adc_123_simple_for_advancedsearch'] - ); - $productNumbers->persist(); - - return [ - 'productsSearch' => [ - 'simple_1' => $productSymbols, - 'simple_2' => $productNumbers, - ] - ]; - } - - /** - * Run test creation for advanced search entity. - * - * @param CatalogProductSimple $productSearch - * @param CmsIndex $cmsIndex - * @param AdvancedSearch $searchPage - * @return void - */ - public function test( - CatalogProductSimple $productSearch, - CmsIndex $cmsIndex, - AdvancedSearch $searchPage - ) { - $cmsIndex->open(); - $cmsIndex->getFooterBlock()->openAdvancedSearch(); - $searchForm = $searchPage->getForm(); - $searchForm->fill($productSearch); - $searchForm->submit(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.xml deleted file mode 100644 index 9a26386c82cb8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/AdvancedSearchEntityTest.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - Yes - - - abc_dfj - abc_dfj - - - - mftf_migrated:yes - Search product in advanced search by name - - - Yes - adc_123 - - - - mftf_migrated:yes - Search product in advanced search by partial name - Yes - - - abc - - - - mftf_migrated:yes - Search product in advanced search by sku - Yes - - - abc_dfj - - - - mftf_migrated:yes - Search product in advanced search by partial sku - Yes - - - abc - - - - mftf_migrated:yes - Search product in advanced search by partial sku and description - Yes - - - abc - adc_full - - - - mftf_migrated:yes - Search product in advanced search by description - - - Yes - dfj_full - - - - mftf_migrated:yes - Search product in advanced search by short description - - - - - dfj_short - - - - mftf_migrated:yes - Search product in advanced search by partial short description - Yes - - - abc_short - - - - mftf_migrated:yes - Search product in advanced search by price to - Yes - Yes - 100 - - - - mftf_migrated:yes - Search product in advanced search by price from and price to - Yes - - - 50 - 50 - - - - mftf_migrated:yes - Search product in advanced search by name, sku, description, short description, price from and price to - Yes - - - abc_dfj - abc_dfj - adc_Full - abc_short - 49 - 500 - - - - mftf_migrated:yes - Search product in advanced search by name, sku, description, short description, price from and price to - Yes - - - abc_dfj - abc_dfj - adc_Full - abc_short - 49 - 50 - - - - mftf_migrated:yes - Negative product search - Negative_product_search - - - - mftf_migrated:yes - MAGETWO-18537: "Enter a search term and try again." error message is missed in Advanced Search - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.php deleted file mode 100644 index 3eb4059f19e55..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.php +++ /dev/null @@ -1,76 +0,0 @@ - SEO&Search > Search Terms. - * 5. Click "Add New Search Term" button. - * 6. Fill out all data according to dataset. - * 7. Save the Search Term. - * 8. Perform all assertions. - * - * @group Search_Terms - * @ZephyrId MAGETWO-26165 - */ -class CreateSearchTermEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Search term page. - * - * @var CatalogSearchIndex - */ - protected $indexPage; - - /** - * Search term edit page. - * - * @var CatalogSearchEdit - */ - protected $editPage; - - /** - * Inject pages. - * - * @param CatalogSearchIndex $indexPage - * @param CatalogSearchEdit $editPage - * @return void - */ - public function __inject(CatalogSearchIndex $indexPage, CatalogSearchEdit $editPage) - { - $this->indexPage = $indexPage; - $this->editPage = $editPage; - } - - /** - * Run create search term test. - * - * @param CatalogSearchQuery $searchTerm - * @return void - */ - public function test(CatalogSearchQuery $searchTerm) - { - // Steps - $this->indexPage->open(); - $this->indexPage->getGridPageActions()->addNew(); - $this->editPage->getForm()->fill($searchTerm); - $this->editPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.xml deleted file mode 100644 index 8c465544a3283..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/CreateSearchTermEntityTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - mftf_migrated:yes - catalogProductSimple::sku - Main Website/Main Website Store/Default Store View - http://example.com/ - No - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.php deleted file mode 100644 index f55478fc0d4e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.php +++ /dev/null @@ -1,82 +0,0 @@ -SEO & Search>Search - * 3. Search and open Search Term by "Search Query" - * 4. Click "Delete Search" button - * 5. Perform all assertions - * - * @group Search_Terms - * @ZephyrId MAGETWO-26491 - */ -class DeleteSearchTermEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Search term page - * - * @var CatalogSearchIndex - */ - protected $indexPage; - - /** - * Search term edit page - * - * @var CatalogSearchEdit - */ - protected $editPage; - - /** - * Inject pages - * - * @param CatalogSearchIndex $indexPage - * @param CatalogSearchEdit $editPage - * @return void - */ - public function __inject(CatalogSearchIndex $indexPage, CatalogSearchEdit $editPage) - { - $this->indexPage = $indexPage; - $this->editPage = $editPage; - } - - /** - * Run delete search term entity test - * - * @param CatalogSearchQuery $searchTerm - * @return void - */ - public function test(CatalogSearchQuery $searchTerm) - { - // Preconditions - $searchTerm->persist(); - $searchText = $searchTerm->getQueryText(); - // Steps - $this->indexPage->open(); - $this->indexPage->getGrid()->searchAndOpen(['search_query' => $searchText]); - $this->editPage->getFormPageActions()->delete(); - $this->editPage->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.xml deleted file mode 100644 index 8fdd7ef715521..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/DeleteSearchTermEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.php deleted file mode 100644 index a4bbbf790194e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.php +++ /dev/null @@ -1,85 +0,0 @@ -SEO & Search>Search - * 3. Select search terms created in preconditions - * 4. Select delete from mass-action - * 5. Submit form - * 6. Perform all assertions - * - * @group Search_Terms - * @ZephyrId MAGETWO-26599 - */ -class MassDeleteSearchTermEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Search term page - * - * @var CatalogSearchIndex - */ - protected $indexPage; - - /** - * Inject page - * - * @param CatalogSearchIndex $indexPage - * @return void - */ - public function __inject(CatalogSearchIndex $indexPage) - { - $this->indexPage = $indexPage; - } - - /** - * Run mass delete search term entity test - * - * @param string $searchTerms - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function test($searchTerms, FixtureFactory $fixtureFactory) - { - // Preconditions - $result = []; - $deleteSearchTerms = []; - $searchTerms = array_map('trim', explode(',', $searchTerms)); - foreach ($searchTerms as $term) { - list($fixture, $dataset) = explode('::', $term); - $term = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - /** @var CatalogSearchQuery $term */ - $term->persist(); - $deleteSearchTerms[] = ['search_query' => $term->getQueryText()]; - $result['searchTerms'][] = $term; - } - - // Steps - $this->indexPage->open(); - $this->indexPage->getGrid()->massaction($deleteSearchTerms, 'Delete', true); - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.xml deleted file mode 100644 index 3ef2b65c0224b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/MassDeleteSearchTermEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - catalogSearchQuery::default,catalogSearchQuery::default,catalogSearchQuery::default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index d9bb0f65e704e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > Search Terms - Search Terms - - - - mftf_migrated:yes - Reports > Search Terms - Search Terms Report - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.php deleted file mode 100644 index 9ab4fefc4dcf6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.php +++ /dev/null @@ -1,62 +0,0 @@ -cmsIndex = $cmsIndex; - } - - /** - * Run searching result test. - * - * @param CatalogSearchQuery $catalogSearch - * @param string|null $queryLength - * @return void - */ - public function test(CatalogSearchQuery $catalogSearch, $queryLength = null) - { - $this->cmsIndex->open(); - $this->cmsIndex->getSearchBlock()->search($catalogSearch->getQueryText(), $queryLength); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.xml deleted file mode 100644 index 42dd7b6c96e2e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SearchEntityResultsTest.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - catalogProductSimple::default::sku - - - - mftf_migrated:yes - catalogProductSimple::default::simple - - - - mftf_migrated:yes - catalogProductVirtual::default::virtual - - - - mftf_migrated:yes - configurableProduct::default::configurable - - - - mftf_migrated:yes - downloadableProduct::default::downloadable - - - - mftf_migrated:yes - groupedProduct::withSimpleProducts_without_qty::grouped - - - - mftf_migrated:yes - bundleProduct::bundle_dynamic_product::bundle - - - - mftf_migrated:yes - bundleProduct::bundle_fixed_product::bundle - - - - mftf_migrated:yes - catalogProductSimple::default::name - - - - mftf_migrated:yes - catalogProductSimple::product_with_special_symbols_in_name::name - - - - mftf_migrated:yes - TryToFindMeAndI'llFindYOU - catalogProductSimple::default - - - - - mftf_migrated:yes - catalogProductSimple::default::name - 2 - - - - stable:no - catalogProductSimple::default::name - 3 - - - - mftf_migrated:yes - catalogProductSimple::product_with_long_name::name - 128 - - - - stable:no - catalogProductSimple::product_with_long_name::name - 129 - - - - - mftf_migrated:yes - alaska - - catalogProductSimple::search_weight_term_twice_weight_1 - catalogProductSimple::search_weight_term_once_weight_1 - - - - - mftf_migrated:yes - alaska - - catalogProductSimple::search_weight_term_once_weight_5 - catalogProductSimple::search_weight_term_twice_weight_1 - - - - - mftf_migrated:yes - configurableProduct::one_simple_product_not_visible_individually::name - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.php deleted file mode 100644 index 0a3fed83bd340..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $cmsIndex->getSearchBlock()->search($searchTerm->getQueryText()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.xml deleted file mode 100644 index ffd9e902cdece..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/SuggestSearchingResultEntityTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - mftf_migrated:yes - catalogProductSimple::name - - - - - - mftf_migrated:yes - catalogProductSimple::sku - 1 - - - - mftf_migrated:yes - catalogProductSimple::abc_dfj_simple_for_advancedsearch::adc_Full - 1 - - - - - mftf_migrated:yes - catalogProductSimple::abc_dfj_simple_for_advancedsearch::abc_short - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.php deleted file mode 100644 index 73a959c29e4c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.php +++ /dev/null @@ -1,93 +0,0 @@ - SEO&Search > Search Terms. - * 5. Click "Edit" link of just added test word search term. - * 6. Fill out all data according to dataset. - * 7. Save the Search Term. - * 8. Perform all assertions. - * - * @group Search_Terms - * @ZephyrId MAGETWO-26100 - */ -class UpdateSearchTermEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * CMS index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Search term page. - * - * @var CatalogSearchIndex - */ - protected $indexPage; - - /** - * Search term edit page. - * - * @var CatalogSearchEdit - */ - protected $editPage; - - /** - * Inject pages. - * - * @param CmsIndex $cmsIndex - * @param CatalogSearchIndex $indexPage - * @param CatalogSearchEdit $editPage - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogSearchIndex $indexPage, - CatalogSearchEdit $editPage - ) { - $this->cmsIndex = $cmsIndex; - $this->indexPage = $indexPage; - $this->editPage = $editPage; - } - - /** - * Run update search term test. - * - * @param CatalogSearchQuery $searchTerm - * @return void - */ - public function test(CatalogSearchQuery $searchTerm) - { - // Preconditions - $searchText = $searchTerm->getQueryText(); - // Steps - $this->cmsIndex->open()->getSearchBlock()->search($searchText); - $this->indexPage->open()->getGrid()->searchAndOpen(['search_query' => $searchText]); - $this->editPage->getForm()->fill($searchTerm); - $this->editPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.xml deleted file mode 100644 index 2ce4bbaa8a6d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/TestCase/UpdateSearchTermEntityTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - catalogProductSimple::sku - Main Website/Main Website Store/Default Store View - 1 - 20 - http://example.com/ - No - mftf_migrated:yes - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/curl/di.xml deleted file mode 100644 index 4d39e440a1971..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/di.xml deleted file mode 100644 index ae90e1412f369..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/etc/di.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml deleted file mode 100644 index 7a007714c3c7e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Block/Adminhtml/Category/Edit/CategoryForm.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - checkbox - input[name='url_key_create_redirect'] - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertCategoryUrlDuplicateErrorMessage.php b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertCategoryUrlDuplicateErrorMessage.php deleted file mode 100644 index 30cb3cc9baf57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertCategoryUrlDuplicateErrorMessage.php +++ /dev/null @@ -1,61 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertContains( - self::ERROR_MESSAGE_TITLE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - - \PHPUnit\Framework\Assert::assertContains( - $category->getUrlKey(), - $actualMessage, - 'Category url is not present on error message.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Category url duplication error on save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertProductUrlDuplicateErrorMessage.php b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertProductUrlDuplicateErrorMessage.php deleted file mode 100644 index 0741a226ceaa4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Constraint/AssertProductUrlDuplicateErrorMessage.php +++ /dev/null @@ -1,72 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertContains( - self::ERROR_MESSAGE_TITLE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - - \PHPUnit\Framework\Assert::assertContains( - $product->getUrlKey(), - $actualMessage, - 'Product url is not present on error message.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - - \PHPUnit\Framework\Assert::assertContains( - $category->getUrlKey() . '/' . $product->getUrlKey(), - $actualMessage, - 'Category url is not present on error message.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product url duplication error on save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Fixture/Category.xml b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Fixture/Category.xml deleted file mode 100644 index 3ec07b1e3be46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/Fixture/Category.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.php b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.php deleted file mode 100644 index 6c471c26861b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.php +++ /dev/null @@ -1,87 +0,0 @@ -Inventory>Categories - * 3. Click on 'Add Category' button - * 4. Fill out all data according to data set - * 5. Save category - * 6. Verify created category - * 7. Navigate to the Products>Inventory>Categories - * 8. Click on 'Add Category' button - * 9. Fill out all data according to the same data set - * 10. Save category - * 11. Verify that a friendly url exists error message is displayed - * - * @group Category_Management - * @ZephyrId MAGETWO-70307 - */ -class CreateDuplicateUrlCategoryEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Catalog category index page - * - * @var CatalogCategoryIndex - */ - protected $catalogCategoryIndex; - - /** - * Catalog category edit page - * - * @var CatalogCategoryEdit - */ - protected $catalogCategoryEdit; - - /** - * Inject pages - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @return void - */ - public function __inject(CatalogCategoryIndex $catalogCategoryIndex, CatalogCategoryEdit $catalogCategoryEdit) - { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Create category - * - * @param Category $category - * @param string $addCategory - * @return array - */ - public function test(Category $category, $addCategory) - { - for ($index = 0; $index < 2; $index++) { - // Duplicate category - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($category, false); - $this->catalogCategoryIndex->getTreeCategories()->$addCategory(); - $this->catalogCategoryEdit->getEditForm()->fill($category); - $this->catalogCategoryEdit->getFormPageActions()->save(); - } - - return ['category' => $category]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.xml b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.xml deleted file mode 100644 index 8b15da5ecd2ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlCategoryEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - addSubcategory - default_category - Yes - Yes - Subcategory%isolation% - subcategory-%isolation% - test_type:acceptance_test, test_type:extended_acceptance_test, severity:S1, mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.php b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.php deleted file mode 100644 index 2cfaecd8efe5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.php +++ /dev/null @@ -1,118 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * * Navigate to Products > Catalog. - * 3. Start to create same simple product as step 3. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @group Products - * @ZephyrId MAGETWO-69427 - */ -class CreateDuplicateUrlProductEntity extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Configuration setting. - * - * @var string - */ - private $configData; - - /** - * Should cache be flushed - * - * @var bool - */ - private $flushCache; - - /** - * Prepare data. - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - - return [ - 'category' => $category - ]; - } - - /** - * Run create product simple entity test. - * - * @param CatalogProductSimple $product - * @param Category $category - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @param string $configData - * @param bool $flushCache - * @return array - */ - public function testCreate( - CatalogProductSimple $product, - Category $category, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage, - $flushCache = false, - $configData = null - ) { - $this->configData = $configData; - $this->flushCache = $flushCache; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => $this->flushCache] - )->run(); - - for ($index = 0; $index < 2; $index++) { - // Duplicate product - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $newProductPage->getProductForm()->fill($product, null, $category); - $newProductPage->getFormPageActions()->save(); - } - - return ['product' => $product]; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown() - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => $this->flushCache] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.xml b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.xml deleted file mode 100644 index 8110ed1ed00b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/TestCase/CreateDuplicateUrlProductEntity.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, severity:S1, mftf_migrated:yes - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 10000 - 50 - 657 - - - - diff --git a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/etc/di.xml deleted file mode 100644 index 8caceb8f240a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CatalogUrlRewrite/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - high - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart.php deleted file mode 100644 index c24de1865e3e4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart.php +++ /dev/null @@ -1,273 +0,0 @@ -waitForElementNotVisible($this->preloaderSpinner); - } - - /** - * Get Shopping Cart item. - * - * @param FixtureInterface $product - * @return CartItem - */ - public function getCartItem(FixtureInterface $product) - { - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - $cartItem = null; - - if ($this->hasRender($typeId)) { - $cartItem = $this->callRender($typeId, 'getCartItem', ['product' => $product]); - } else { - $cartItemBlock = $this->_rootElement->find( - sprintf($this->cartItemByProductName, $product->getName()), - Locator::SELECTOR_XPATH - ); - $cartItem = $this->blockFactory->create( - $this->cartItemClass, - ['element' => $cartItemBlock] - ); - } - - return $cartItem; - } - - /** - * Get "Proceed to One Page Checkout" block. - * - * @return Link - */ - public function getOnepageLinkBlock() - { - return Factory::getBlockFactory()->getMagentoCheckoutOnepageLink( - $this->_rootElement->find($this->onepageLinkBlock, Locator::SELECTOR_CSS) - ); - } - - /** - * Click "Check out with PayPal" button. - * - * @return void - */ - public function paypalCheckout() - { - $this->_rootElement->find($this->paypalCheckoutButton)->click(); - } - - /** - * Click "Check out with PayPal" button. - */ - public function inContextPaypalCheckout() - { - $this->waitForCheckoutButton(); - $this->_rootElement->find($this->inContextPaypalCheckoutButton)->click(); - $this->browser->selectWindow(); - $this->waitForFormLoaded(); - $this->browser->closeWindow(); - } - - /** - * Get total discount Price value. - * - * @return string - * @throws Exception - */ - public function getDiscountTotal() - { - $element = $this->_rootElement->find( - '//table[@id="shopping-cart-totals-table"]' . - '//tr[@class="totals"]' . - '//td[@class="amount"]//span[@class="price"]', - Locator::SELECTOR_XPATH - ); - if (!$element->isVisible()) { - throw new Exception('Error could not find the Discount Total in the HTML'); - } - return $element->getText(); - } - - /** - * Clear Shopping Cart. - * - * @return void - */ - public function clearShoppingCart() - { - while (!$this->cartIsEmpty()) { - $this->_rootElement->find($this->deleteItemButton)->click(); - } - } - - /** - * Check if Product is present in Shopping Cart or not. - * - * @param FixtureInterface $product - * @return boolean - */ - public function isProductInShoppingCart(FixtureInterface $product) - { - return $this->getCartItem($product)->isVisible(); - } - - /** - * Update Shopping Cart. - * - * @return void - */ - public function updateShoppingCart() - { - $this->_rootElement->find($this->updateShoppingCart)->click(); - } - - /** - * Check if Shopping Cart is empty or not. - * - * @return bool - */ - public function cartIsEmpty() - { - return $this->_rootElement->find($this->cartEmpty)->isVisible(); - } - - /** - * Wait while Shopping Cart container is loaded. - * - * @return void - */ - public function waitCartContainerLoading() - { - $this->waitForElementVisible($this->cartContainer); - } - - /** - * Wait until in-context checkout button is visible. - * - * @return void - */ - public function waitForCheckoutButton() - { - $this->waitForElementVisible($this->inContextPaypalCheckoutButton); - } - - /** - * Wait loading. - * - * @return void - */ - public function waitForLoader() - { - $this->waitForElementNotVisible($this->ajaxLoading); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php deleted file mode 100644 index 03a1e306c3ece..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/AbstractCartItem.php +++ /dev/null @@ -1,90 +0,0 @@ - a'; - - /** - * Selector for unit price. - * - * @var string - */ - protected $price = './/td[@class="col price"]//span[@class="price"]'; - - /** - * Selector for unit price including tax. - * - * @var string - */ - protected $priceInclTax = './/td[@class="col price"]/*[@class="price-including-tax"]/span'; - - /** - * Selector for unit price excluding tax. - * - * @var string - */ - protected $priceExclTax = './/td[@class="col price"]/*[@class="price-excluding-tax"]/span'; - - /** - * Quantity input selector. - * - * @var string - */ - protected $qty = './/input[@data-role="cart-item-qty"]'; - - /** - * Cart item sub-total xpath selector. - * - * @var string - */ - protected $subtotalPrice = '.col.subtotal .price'; - - /** - * Cart item sub-total excluding tax xpath selector. - * - * @var string - */ - protected $subTotalPriceExclTax = '.col.subtotal .price-excluding-tax .price'; - - /** - * Cart item sub-total including tax xpath selector. - * - * @var string - */ - protected $subTotalPriceInclTax = '.col.subtotal .price-including-tax .price'; - - /** - * Selector for options block. - * - * @var string - */ - protected $optionsBlock = './/dl[contains(@class, "item-options")]'; - - /** - * Escape currency in price. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartEmpty.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartEmpty.php deleted file mode 100644 index a602a12fa8ff9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartEmpty.php +++ /dev/null @@ -1,55 +0,0 @@ -_rootElement->getElements($this->messageText) as $item) { - $result[] = str_replace("\n", ' ', $item->getText()); - } - - return implode(' ', $result); - } - - /** - * Click link to main page. - * - * @return void - */ - public function clickLinkToMainPage() - { - $this->_rootElement->find($this->linkToMainPage)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php deleted file mode 100644 index f5141a5a574e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/CartItem.php +++ /dev/null @@ -1,289 +0,0 @@ -_rootElement->find($this->productName)->getText(); - } - - /** - * Get product price - * - * @return string|null - */ - public function getPrice() - { - $cartProductPrice = $this->_rootElement->find($this->price, Locator::SELECTOR_XPATH); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Get product price including tax - * - * @return string|null - */ - public function getPriceInclTax() - { - $cartProductPrice = $this->_rootElement->find($this->priceInclTax, Locator::SELECTOR_XPATH); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Get product price excluding tax - * - * @return string|null - */ - public function getPriceExclTax() - { - $cartProductPrice = $this->_rootElement->find($this->priceExclTax, Locator::SELECTOR_XPATH); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Set product quantity - * - * @param int $qty - * @return void - */ - public function setQty($qty) - { - $this->_rootElement->find($this->qty, Locator::SELECTOR_XPATH)->setValue($qty); - } - - /** - * Get product quantity - * - * @return string - */ - public function getQty() - { - return $this->_rootElement->find($this->qty, Locator::SELECTOR_XPATH)->getValue(); - } - - /** - * Get sub-total for the specified item in the cart - * - * @return string|null - */ - public function getSubtotalPrice() - { - $cartProductPrice = $this->_rootElement->find($this->subtotalPrice); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Get sub-total excluding tax for the specified item in the cart - * - * @return string|null - */ - public function getSubtotalPriceExclTax() - { - $cartProductPrice = $this->_rootElement->find($this->subTotalPriceExclTax); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Get sub-total including tax for the specified item in the cart - * - * @return string|null - */ - public function getSubtotalPriceInclTax() - { - $cartProductPrice = $this->_rootElement->find($this->subTotalPriceInclTax); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } - - /** - * Get product options in the cart - * - * @return array - */ - public function getOptions() - { - $optionsBlock = $this->_rootElement->find($this->optionsBlock, Locator::SELECTOR_XPATH); - $options = []; - - if ($optionsBlock->isVisible()) { - $titles = $optionsBlock->getElements('./dt', Locator::SELECTOR_XPATH); - $values = $optionsBlock->getElements('./dd', Locator::SELECTOR_XPATH); - - foreach ($titles as $key => $title) { - $value = $values[$key]->getText(); - $options[] = [ - 'title' => $title->getText(), - 'value' => $this->escapeCurrencyForOption($value), - ]; - } - } - - return $options; - } - - /** - * Get product options name in the cart - * - * @return string - */ - public function getOptionsName() - { - $optionsName = $this->_rootElement->find($this->optionsBlock . '//dt', Locator::SELECTOR_XPATH); - if (!$optionsName->isVisible()) { - return ''; - } - return $optionsName->getText(); - } - - /** - * Get product options value in the cart - * - * @return string - */ - public function getOptionsValue() - { - $optionsValue = $this->_rootElement->find($this->optionsBlock . '//dd', Locator::SELECTOR_XPATH); - if (!$optionsValue->isVisible()) { - return ''; - } - return $optionsValue->getText(); - } - - /** - * Get item Bundle options - * - * @param int $index - * @param int $itemIndex [optional] - * @param string $currency [optional] - * @return string - */ - public function getPriceBundleOptions($index, $itemIndex = 1, $currency = '$') - { - $formatPrice = sprintf($this->bundleOptions, $index, $itemIndex); - return trim($this->_rootElement->find($formatPrice, Locator::SELECTOR_XPATH)->getText(), $currency); - } - - /** - * Get product name - * - * @return string - */ - public function getName() - { - return $this->_rootElement->find($this->name, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Edit product item in cart - * - * @return void - */ - public function edit() - { - $this->_rootElement->find($this->edit)->click(); - } - - /** - * Remove product item from cart - * - * @return void - */ - public function removeItem() - { - $this->_rootElement->find($this->removeItem)->click(); - } - - /** - * Escape currency in option label - * - * @param string $label - * @return string - */ - protected function escapeCurrencyForOption($label) - { - return preg_replace('/^(\d+) x (\w+) \W([\d\.,]+)$/', '$1 x $2 $3', $label); - } - - /** - * Click "Move to Wish List". - * - * @return void - */ - public function moveToWishlist() - { - $this->_rootElement->find($this->wishlistButton)->click(); - } - - /** - * Check that edit button visible - * - * @return bool - */ - public function isEditButtonVisible() - { - return $this->_rootElement->find($this->edit)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/DiscountCodes.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/DiscountCodes.php deleted file mode 100644 index 710771de9d38a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/DiscountCodes.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->formWrapper)->isVisible()) { - $this->_rootElement->find($this->openForm, Locator::SELECTOR_CSS)->click(); - } - $this->_rootElement->find($this->couponCode, Locator::SELECTOR_CSS)->setValue($code); - $this->_rootElement->find($this->applyButton, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Pager.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Pager.php deleted file mode 100644 index 226070c0ea95f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Pager.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find($this->pages); - } - - /** - * Get Amount toolbar block from pager block - * - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getAmountToolbar() - { - return $this->_rootElement->find($this->amountToolbar); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.php deleted file mode 100644 index 3d293700db8c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.php +++ /dev/null @@ -1,307 +0,0 @@ -_rootElement->find($this->formWrapper)->isVisible()) { - $this->_rootElement->find($this->openForm)->click(); - } - } - - /** - * Get countries displayed at the top of country element. - * - * @return array - */ - public function getTopCountries() - { - $this->openEstimateShippingAndTax(); - $mapping = $this->dataMapping(array_flip(['country_id'])); - $countryField = $this->getElement($this->_rootElement, $mapping['country_id']); - $this->_rootElement->waitUntil( - function () use ($countryField) { - return $countryField->isVisible() ? true : null; - } - ); - return array_map( - function ($option) { - return $option->getAttribute('value'); - }, - $countryField->getElements($this->topOptions, Locator::SELECTOR_XPATH) - ); - } - - /** - * Select shipping method. - * - * @param array $shipping - * @return void - * @throws \Exception - */ - public function selectShippingMethod(array $shipping) - { - if (isset($shipping['shipping_service']) && isset($shipping['shipping_method'])) { - $selector = sprintf($this->shippingMethod, $shipping['shipping_service'], $shipping['shipping_method']); - if (!$this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->isVisible()) { - $this->openEstimateShippingAndTax(); - } - $element = $this->_rootElement->find($selector, Locator::SELECTOR_XPATH); - - if (!empty($element->getAttribute('checked'))) { - return; - } - - if (!$element->isDisabled()) { - $element->click(); - } else { - throw new \Exception("Unable to set value to field '$selector' as it's disabled."); - } - } - } - - /** - * Reset the address fields in the shipping and tax form. - * - * @return void - */ - public function resetAddress() - { - $this->openEstimateShippingAndTax(); - $fields = [ - 'country_id' => [ - 'selector' => '[name=country_id]', - 'strategy' => 'css selector', - 'input' => 'select', - 'class' => null, - 'value' => 'United States' - ], - 'region_id' => [ - 'selector' => '[name=region_id]', - 'strategy' => 'css selector', - 'input' => 'select', - 'class' => null, - 'value' => 'Please select a region, state or province.' - ], - 'postcode' => [ - 'selector' => '[name=postcode]', - 'strategy' => 'css selector', - 'input' => null, - 'class' => null, - 'value' => '' - ] - ]; - // Test environment may become unstable when form fields are filled in a default manner. - // Imitating behavior closer to the real user. - foreach ($fields as $field) { - $this->_fill([$field], $this->_rootElement); - $this->waitForUpdatedShippingMethods(); - } - } - - /** - * Fill shipping and tax form. - * - * @param Address $address - * @return void - */ - public function fillEstimateShippingAndTax(Address $address) - { - $this->openEstimateShippingAndTax(); - $data = $address->getData(); - $mapping = $this->dataMapping(array_intersect_key($data, array_flip($this->estimationFields))); - // sort array according to $this->estimationFields elements order - uksort($mapping, function ($a, $b) { - $a = array_search($a, $this->estimationFields); - $b = array_search($b, $this->estimationFields); - switch (true) { - case false !== $a && false !== $b: - return $a - $b; - case false !== $a: - return -1; - case false !== $b: - return 1; - default: - return 0; - } - }); - - // Test environment may become unstable when form fields are filled in a default manner. - // Imitating behavior closer to the real user. - foreach ($mapping as $field) { - $this->_fill([$field], $this->_rootElement); - $this->waitForUpdatedShippingMethods(); - } - } - - /** - * Determines if the specified shipping carrier/method is visible on the cart. - * - * @param $carrier - * @param $method - * @return bool - */ - public function isShippingCarrierMethodVisible($carrier, $method) - { - $shippingMethodForm = $this->_rootElement->find($this->shippingMethodForm); - $this->_rootElement->waitUntil( - function () use ($shippingMethodForm) { - return $shippingMethodForm->isVisible() ? true : null; - } - ); - $selector = sprintf($this->shippingMethod, $carrier, $method); - - return $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Wait for shipping methods block to update contents asynchronously. - * - * @return void - */ - public function waitForUpdatedShippingMethods() - { - // Code under test uses JavaScript delay at this point as well. - sleep(1); - $this->waitForElementNotVisible($this->blockWaitElement); - } - - /** - * Wait for common shipping price block to appear. - * - * @return void - */ - public function waitForCommonShippingPriceBlock() - { - $this->waitForElementVisible($this->commonShippingPriceSelector, Locator::SELECTOR_CSS); - } - - /** - * Wait until estimation form to appear. - * - * @return void - */ - public function waitForEstimateShippingAndTaxForm() - { - $browser = $this->browser; - $selector = $this->estimateShippingForm; - - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isPresent() ? true : null; - } - ); - } - - /** - * Wait for shipping method form. - * - * @return void - */ - public function waitForShippingMethodForm() - { - $browser = $this->browser; - $selector = $this->shippingMethodForm; - - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isPresent() ? true : null; - } - ); - } - - /** - * Wait for summary block to be loaded. - * - * @return void - */ - public function waitForSummaryBlock() - { - $this->waitForEstimateShippingAndTaxForm(); - $this->waitForShippingMethodForm(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.xml deleted file mode 100644 index 48d0008bc0e16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - select - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar.php deleted file mode 100644 index e40fda9c75eb5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar.php +++ /dev/null @@ -1,264 +0,0 @@ -waitCounterQty(); - if (!$this->browser->find($this->cartContent)->isVisible()) { - $this->browser->find($this->cartLink)->click(); - } - // Need this because there are a lot of JS processes that update shopping cart items - // and we cant control them all - sleep(5); - } - - /** - * Click "Proceed to Checkout" button. - * - * @return void - */ - public function clickProceedToCheckoutButton() - { - $this->_rootElement->find($this->proceedToCheckoutButton)->click(); - } - - /** - * Wait counter qty visibility. - * - * @return void - */ - protected function waitCounterQty() - { - $browser = $this->browser; - $selector = $this->counterQty; - $browser->waitUntil( - function () use ($browser, $selector) { - $counterQty = $browser->find($selector); - return $counterQty->isVisible() ? true : null; - } - ); - } - - /** - * Get empty minicart message. - * - * @return string - */ - public function getEmptyMessage() - { - $this->_rootElement->find($this->cartLink)->click(); - return $this->_rootElement->find($this->emptyCartMessage, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Is minicart items quantity block visible. - * - * @return bool - */ - public function isItemsQtyVisible() - { - return $this->_rootElement->find($this->productCounter, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Get qty of items in minicart. - * - * @return int - */ - public function getItemsQty() - { - return (int)$this->_rootElement->find($this->productCounter, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Returns message with count of visible items - * - * @return string - */ - public function getVisibleItemsCounter() - { - return $this->_rootElement->find($this->visibleProductCounter, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Get subtotal. - * - * @return string - */ - public function getSubtotal() - { - $this->openMiniCart(); - $subtotal = $this->_rootElement->find($this->subtotal)->getText(); - - return $this->escapeCurrency($subtotal); - } - - /** - * Get cart item block. - * - * @param FixtureInterface $product - * @return Item - */ - public function getCartItem(FixtureInterface $product) - { - $this->openMiniCart(); - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - $cartItem = null; - - if ($this->hasRender($typeId)) { - $cartItem = $this->callRender($typeId, 'getCartItem', ['product' => $product]); - } else { - $cartItemBlock = $this->_rootElement->find( - sprintf($this->cartProductList . $this->cartProductName, $product->getName()), - Locator::SELECTOR_XPATH - ); - $cartItem = $this->blockFactory->create( - \Magento\Checkout\Test\Block\Cart\Sidebar\Item::class, - ['element' => $cartItemBlock] - ); - } - - return $cartItem; - } - - /** - * Wait for init minicart. - * - * @return void - */ - public function waitInit() - { - $browser = $this->browser; - $selector = $this->counterNumberWrapper; - $browser->waitUntil( - function () use ($browser, $selector) { - $counterQty = $browser->find($selector); - return $counterQty->isVisible() ? true : null; - } - ); - } - - /** - * Wait for loader is not visible. - * - * @return void - */ - public function waitLoader() - { - $this->waitForElementNotVisible($this->loadingMask); - } - - /** - * Escape currency in price. - * - * @param string $price - * @param string $currency [optional] - * @return string - */ - protected function escapeCurrency($price, $currency = '$') - { - return str_replace($currency, '', $price); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar/Item.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar/Item.php deleted file mode 100644 index 038c411768969..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar/Item.php +++ /dev/null @@ -1,142 +0,0 @@ -waitForDeleteButtonVisible(); - $this->_rootElement->find($this->removeItem)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - $modal->waitModalWindowToDisappear(); - } - - /** - * Wait for Delete button is visible in the block. - * - * @return bool|null - */ - private function waitForDeleteButtonVisible() - { - $rootElement = $this->_rootElement; - $deleteButtonSelector = $this->removeItem; - return $rootElement->waitUntil( - function () use ($rootElement, $deleteButtonSelector) { - $element = $rootElement->find($deleteButtonSelector); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Click "Edit item" button. - * - * @return void - */ - public function clickEditItem() - { - $this->_rootElement->find($this->editItem)->click(); - } - - /** - * Edit qty. - * - * @param array $checkoutData - * @return void - */ - public function editQty(array $checkoutData) - { - if (isset($checkoutData['qty'])) { - $this->_rootElement->find($this->qty)->setValue($checkoutData['qty']); - $this->_rootElement->find($this->updateButton)->click(); - } - } - - /** - * Get product quantity. - * - * @return string - */ - public function getQty() - { - $rootElement = $this->_rootElement; - $qtySelector = $this->qty; - $this->browser->waitUntil( - function () use ($rootElement, $qtySelector) { - return $rootElement->find($qtySelector)->isVisible() ? true : null; - } - ); - return $this->_rootElement->find($this->qty)->getValue(); - } - - /** - * Get product price. - * - * @return string - */ - public function getPrice() - { - $price = $this->_rootElement->find($this->price)->getText(); - return parent::escapeCurrency($price); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Totals.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Totals.php deleted file mode 100644 index 1d3950091d064..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Totals.php +++ /dev/null @@ -1,279 +0,0 @@ -waitForUpdatedTotals(); - $grandTotal = $this->_rootElement->find($this->grandTotal, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Grand Total Text. - * - * @return string|null - */ - public function getGrandTotalIncludingTax() - { - $this->waitForGrandTotal(); - $priceElement = $this->_rootElement->find($this->grandTotalInclTax, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Get Grand Total Text. - * - * @return string|null - */ - public function getGrandTotalExcludingTax() - { - $priceElement = $this->_rootElement->find($this->grandTotalExclTax, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Get Tax text from Order Totals. - * - * @return string|null - */ - public function getTax() - { - $priceElement = $this->_rootElement->find($this->tax, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Check that Tax is visible. - * - * @return bool - */ - public function isTaxVisible() - { - return $this->_rootElement->find($this->tax, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Get Subtotal text. - * - * @return string - */ - public function getSubtotal() - { - $subTotal = $this->_rootElement->find($this->subtotal, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal text. - * - * @return string|null - */ - public function getSubtotalIncludingTax() - { - $priceElement = $this->_rootElement->find($this->subtotalInclTax, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Get Subtotal text. - * - * @return string|null - */ - public function getSubtotalExcludingTax() - { - $priceElement = $this->_rootElement->find($this->subtotalExclTax, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Method that escapes currency symbols. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } - - /** - * Get discount. - * - * @return string|null - */ - public function getDiscount() - { - $this->waitForElementNotVisible($this->blockWaitElement); - $this->waitForElementVisible($this->discount, Locator::SELECTOR_CSS); - $priceElement = $this->_rootElement->find($this->discount, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Get shipping price. - * - * @return string|null - */ - public function getShippingPrice() - { - $priceElement = $this->_rootElement->find($this->shippingPriceSelector, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Get shipping price. - * - * @return string|null - */ - public function getShippingPriceInclTax() - { - $priceElement = $this->_rootElement->find($this->shippingPriceInclTaxSelector, Locator::SELECTOR_CSS); - return $priceElement->isVisible() ? $this->escapeCurrency($priceElement->getText()) : null; - } - - /** - * Is visible shipping price block. - * - * @return bool - */ - public function isVisibleShippingPriceBlock() - { - return $this->_rootElement->find($this->shippingPriceBlockSelector, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Wait for totals block to update contents asynchronously. - * - * @return void - */ - public function waitForUpdatedTotals() - { - // Code under may use JavaScript delay at this point as well. - sleep(1); - $this->waitForElementNotVisible($this->blockWaitElement); - } - - /** - * Wait for shipping block to appear - * - * @return bool|null - */ - public function waitForShippingPriceBlock() - { - $this->waitForElementVisible($this->shippingPriceBlockSelector, Locator::SELECTOR_CSS); - } - - /** - * Wait for "Grand Total" row to appear. - * - * @return void - */ - public function waitForGrandTotal() - { - $this->waitForUpdatedTotals(); - $this->waitForElementVisible($this->grandTotal); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/AbstractReview.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/AbstractReview.php deleted file mode 100644 index 70160f3fc1901..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/AbstractReview.php +++ /dev/null @@ -1,399 +0,0 @@ -strong'; - - /** - * Grand total excluding tax search mask. - * - * @var string - */ - protected $grandTotalExclTax = '.grand.totals.excl .price'; - - /** - * Grand total including tax search mask. - * - * @var string - */ - protected $grandTotalInclTax = '.grand.totals.incl .price'; - - /** - * Subtotal search mask. - * - * @var string - */ - protected $subtotal = '.totals.sub .price'; - - /** - * Subtotal excluding tax search mask. - * - * @var string - */ - protected $subtotalExclTax = '.totals.sub.excl .price'; - - /** - * Subtotal including tax search mask. - * - * @var string - */ - protected $subtotalInclTax = '.totals.sub.incl .price'; - - /** - * Tax search mask. - * - * @var string - */ - protected $tax = '.totals-tax .price'; - - /** - * Discount search mask. - * - * @var string - */ - protected $discount = '.totals.discount .price'; - - /** - * Shipping excluding tax search mask. - * - * @var string - */ - protected $shippingExclTax = '.totals.shipping.excl .price'; - - /** - * Shipping including tax search mask. - * - * @var string - */ - protected $shippingInclTax = '.totals.shipping.incl .price'; - - /** - * Product price excluding tax search mask. - * - * @var string - */ - protected $itemExclTax = '.price-excluding-tax .price'; - - /** - * Product price including tax search mask. - * - * @var string - */ - protected $itemInclTax = '.price-including-tax .price'; - - // @codingStandardsIgnoreStart - /** - * Product price subtotal excluding tax search mask. - * - * @var string - */ - protected $itemSubExclTax = '.subtotal .price-excluding-tax .price'; - - /** - * Product price subtotal including tax search mask. - * - * @var string - */ - protected $itemSubInclTax = '.subtotal .price-including-tax .price'; - // @codingStandardsIgnoreEnd - - /** - * Wait element. - * - * @var string - */ - protected $waitElement = '.loading-mask'; - - /** - * Selector for cart items block - * - * @var string - */ - protected $itemsBlock = '.block.items-in-cart > .title'; - - /** - * Selector for items counter - * - * @var string - */ - protected $itemsCounterSelector = '.items-in-cart .title'; - - /** - * Selector for list of cart items - * - * @var string - */ - protected $cartItemsContentSelector = '.content.minicart-items'; - - /** - * @constructor - * @param SimpleElement $element - * @param BlockFactory $blockFactory - * @param BrowserInterface $browser - */ - public function __construct(SimpleElement $element, BlockFactory $blockFactory, BrowserInterface $browser) - { - parent::__construct($element, $blockFactory, $browser); - } - - /** - * Get Grand Total Text. - * - * @return array|string - */ - public function getGrandTotal() - { - $grandTotal = $this->_rootElement->find($this->grandTotal)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Item price excluding tax. - * - * @param string $productName - * @return string|null - */ - public function getItemPriceExclTax($productName) - { - $productItem = $this->_rootElement->find( - sprintf($this->productItemByName, $productName), - Locator::SELECTOR_XPATH - ); - $price = $productItem->find($this->itemExclTax); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price including tax. - * - * @param string $productName - * @return string|null - */ - public function getItemPriceInclTax($productName) - { - $productItem = $this->_rootElement->find( - sprintf($this->productItemByName, $productName), - Locator::SELECTOR_XPATH - ); - $price = $productItem->find($this->itemInclTax); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item subtotal price excluding tax. - * - * @param string $productName - * @return string|null - */ - public function getItemSubExclTax($productName) - { - $productItem = $this->_rootElement->find( - sprintf($this->productItemByName, $productName), - Locator::SELECTOR_XPATH - ); - $price = $productItem->find($this->itemSubExclTax); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item subtotal price excluding tax. - * - * @param string $productName - * @return string|null - */ - public function getItemSubInclTax($productName) - { - $productItem = $this->_rootElement->find( - sprintf($this->productItemByName, $productName), - Locator::SELECTOR_XPATH - ); - $price = $productItem->find($this->itemSubInclTax); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get cart item. - * - * @param string $productName - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getItemElement($productName) - { - return $this->_rootElement->find( - sprintf($this->productItemByName, $productName), - Locator::SELECTOR_XPATH - ); - } - - /** - * Click to expand cart items block - * - * @return void - */ - public function expandItemsBlock() - { - if (!$this->_rootElement->find($this->cartItemsContentSelector)->isVisible()) { - $this->browser->find($this->itemsBlock)->click(); - } - } - - /** - * Returns checkout summary block items counter value - * - * @return string - */ - public function getVisibleItemsCounter() - { - return $this->_rootElement->find($this->itemsCounterSelector)->getText(); - } - - /** - * Returns go to cart link element - * - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getGoToCartLink() - { - return $this->_rootElement->find('.action.viewcart'); - } - - /** - * Get Grand Total excluding tax text. - * - * @return string - */ - public function getGrandTotalExclTax() - { - $grandTotal = $this->_rootElement->find($this->grandTotalExclTax)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Grand Total including tax text. - * - * @return string - */ - public function getGrandTotalInclTax() - { - $grandTotal = $this->_rootElement->find($this->grandTotalInclTax)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Tax text from Order Totals. - * - * @return string|null - */ - public function getTax() - { - $tax = $this->_rootElement->find($this->tax, Locator::SELECTOR_CSS); - return $tax->isVisible() ? $this->escapeCurrency($tax->getText()) : null; - } - - /** - * Get Discount text from Order Totals. - * - * @return string|null - */ - public function getDiscount() - { - $discount = $this->_rootElement->find($this->discount); - return $discount->isVisible() ? $this->escapeCurrency($discount->getText()) : null; - } - - /** - * Get Subtotal text. - * - * @return array|string - */ - public function getSubtotal() - { - $subTotal = $this->_rootElement->find($this->subtotal)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal excluding tax text. - * - * @return string - */ - public function getSubtotalExclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalExclTax)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal including tax text. - * - * @return string - */ - public function getSubtotalInclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalInclTax)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Shipping including tax price text. - * - * @return string|null - */ - public function getShippingInclTax() - { - $subTotal = $this->_rootElement->find($this->shippingInclTax); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Get Shipping excluding tax price text. - * - * @return string|null - */ - public function getShippingExclTax() - { - $subTotal = $this->_rootElement->find($this->shippingExclTax); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Method that escapes currency symbols. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/CustomAddress.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/CustomAddress.php deleted file mode 100644 index 6bb0c20570383..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/CustomAddress.php +++ /dev/null @@ -1,51 +0,0 @@ -_rootElement->find($this->updateButtonSelector)->click(); - } - - /** - * Set address value from dropdown. - * - * @param string $value - * @return void - */ - public function selectAddress($value) - { - $this->_rootElement->find($this->select, Locator::SELECTOR_CSS, 'select')->setValue($value); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Link.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Link.php deleted file mode 100644 index 74edd334e07d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Link.php +++ /dev/null @@ -1,37 +0,0 @@ -_rootElement->click(); - } - - /** - * Get title of Proceed to Checkout link - * - * @return string - */ - public function getTitle() - { - return $this->_rootElement->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php deleted file mode 100644 index b564986190ca0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.php +++ /dev/null @@ -1,125 +0,0 @@ -isRegisteredCustomer()) { - $this->loginCustomer($fixture->getCustomer()); - } else { - $this->guestCheckout(); - $this->clickContinue(); - } - } - - /** - * Perform guest checkout. - * - * @return void - */ - public function guestCheckout() - { - $this->waitForElementVisible($this->guestCheckout); - $this->_rootElement->find($this->guestCheckout)->click(); - } - - /** - * Login customer during checkout. - * - * @param FixtureInterface $customer - * @return void - */ - public function loginCustomer(FixtureInterface $customer) - { - $this->fill($customer); - $this->_rootElement->find($this->login)->click(); - $this->waitForElementNotVisible($this->loadingMask); - } - - /** - * Fill required fields for guest checkout. - * - * @param Customer $customer - * @return void - */ - public function fillGuestFields(Customer $customer) - { - $mapping = $this->dataMapping(); - $this->_rootElement->find($mapping['email']['selector'], $mapping['email']['strategy']) - ->setValue($customer->getEmail()); - $this->waitForElementNotVisible($this->loadingMask); - } - - /** - * Click continue on checkout method block. - * - * @return void - */ - public function clickContinue() - { - $this->_rootElement->find($this->continue)->click(); - $browser = $this->browser; - $selector = $this->loadingMask; - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() == false ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.xml deleted file mode 100644 index 2ca14e34b4899..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Login.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - [name='username'] - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment.php deleted file mode 100644 index 8d6a346e0cd7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment.php +++ /dev/null @@ -1,170 +0,0 @@ -paymentMethodInput, $paymentMethod); - $paymentLabelSelector = sprintf($this->paymentMethodLabel, $paymentMethod); - - try { - $this->waitForElementNotVisible($this->waitElement); - $this->waitForElementVisible($paymentLabelSelector); - } catch (\Exception $exception) { - throw new \Exception('Such payment method is absent.'); - } - $browser = $this->browser; - $browser->waitUntil( - function () use ($browser, $paymentSelector) { - return $browser->find($paymentSelector); - } - ); - $paymentRadioButton = $this->_rootElement->find($paymentSelector); - if ($paymentRadioButton->isVisible()) { - $paymentRadioButton->click(); - } - - if (isset($payment['po_number'])) { - $this->_rootElement->find($this->purchaseOrderNumber)->setValue($payment['po_number']); - } - if ($creditCard !== null && $fillCreditCardOn3rdParty === false) { - $this->callRender($paymentForm, 'fill', [$creditCard]); - } - } - - /** - * Check visibility of payment method block by payment method type. - * - * @param array $payment - * @return bool - */ - public function isVisiblePaymentMethod(array $payment) - { - $paymentSelector = sprintf($this->paymentMethodInput, $payment['method']); - - return $this->_rootElement->find($paymentSelector)->isVisible(); - } - - /** - * Get selected payment method block. - * - * @return \Magento\Checkout\Test\Block\Onepage\Payment\Method - */ - public function getSelectedPaymentMethodBlock() - { - $element = $this->_rootElement->find($this->activePaymentMethodSelector); - - return $this->blockFactory->create( - \Magento\Checkout\Test\Block\Onepage\Payment\Method::class, - ['element' => $element] - ); - } - - /** - * Press "Place Order" button. - * - * @return void - */ - public function placeOrder() - { - $this->_rootElement->find($this->placeOrder)->click(); - $this->waitForElementNotVisible($this->waitElement); - } - - /** - * Retrieve list of payment methods. - * - * @return array - */ - public function getPaymentMethods() - { - $paymentMethodsArray = []; - $paymentMethods = $this->_rootElement->getElements($this->paymentMethodLabels); - foreach ($paymentMethods as $paymentMethod) { - $paymentMethodsArray[] = $paymentMethod->getText(); - } - return $paymentMethodsArray; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/DiscountCodes.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/DiscountCodes.php deleted file mode 100644 index f3115b7b4c00e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/DiscountCodes.php +++ /dev/null @@ -1,58 +0,0 @@ -_rootElement->find($this->openForm, Locator::SELECTOR_CSS)->click(); - $this->_rootElement->find($this->couponCode, Locator::SELECTOR_CSS)->setValue($code); - $this->_rootElement->find($this->applyButton, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method.php deleted file mode 100644 index ac12df884072c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method.php +++ /dev/null @@ -1,92 +0,0 @@ -waitForElementNotVisible($this->preloaderSpinner); - } - - /** - * Place order. - * - * @return void - */ - public function clickPlaceOrder() - { - $this->_rootElement->find($this->placeOrderButton)->click(); - $this->waitForElementNotVisible($this->waitElement); - } - - /** - * Click "Check out with PayPal" button. - */ - public function inContextPaypalCheckout() - { - $this->waitForElementNotVisible($this->waitElement); - $this->_rootElement->find($this->placeOrderButton)->click(); - $this->browser->selectWindow(); - $this->waitForFormLoaded(); - $this->browser->closeWindow(); - } - - /** - * Get "Billing Address" block. - * - * @return \Magento\Checkout\Test\Block\Onepage\Payment\Method\Billing - */ - public function getBillingBlock() - { - $element = $this->_rootElement->find($this->billingAddressSelector); - - return $this->blockFactory->create( - \Magento\Checkout\Test\Block\Onepage\Payment\Method\Billing::class, - ['element' => $element] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php deleted file mode 100644 index f9eadfa948341..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php +++ /dev/null @@ -1,99 +0,0 @@ -_rootElement->find($this->newAddressSelect, Locator::SELECTOR_CSS, 'select'); - if ($select && $select->isVisible()) { - $select->setValue($this->newAddressOption); - } - $this->fill($billingAddress); - $this->clickUpdate(); - $this->waitForElementNotVisible($this->waitElement); - } - - /** - * Click update on billing information block. - * - * @return void - */ - public function clickUpdate() - { - $this->_rootElement->find($this->updateButtonSelector)->click(); - } - - /** - * Get "Same as shipping" checkbox value. - * - * @return string - */ - public function getSameAsShippingCheckboxValue() - { - return $this->_rootElement->find($this->sameAsShippingCheckbox, Locator::SELECTOR_CSS, 'checkbox')->getValue(); - } - - /** - * Unset "Same as shipping" checkbox value. - * - * @return void - */ - public function unsetSameAsShippingCheckboxValue() - { - $this->_rootElement->find($this->sameAsShippingCheckbox, Locator::SELECTOR_CSS, 'checkbox')->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.xml deleted file mode 100644 index dc50d43d78e7e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - billingAddress - - - ./ancestor::*[contains(@class, 'checkout-payment-method')]//input[contains(@name, 'username')] - xpath - - - input[name*=firstname] - - - input[name*=lastname] - - - input[name*=company] - - - input[name*='street[0]'] - - - input[name*=city] - - - select[name*=region_id] - select - - - input[name*=region] - - - input[name*=postcode] - - - select[name*=country_id] - select - - - input[name*=telephone] - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Registration.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Registration.php deleted file mode 100644 index eda93a53a4866..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Registration.php +++ /dev/null @@ -1,34 +0,0 @@ -_rootElement->find($this->createAccountButton, Locator::SELECTOR_CSS)->click(); - $this->waitForElementNotVisible($this->createAccountButton, Locator::SELECTOR_CSS); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Review.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Review.php deleted file mode 100644 index 9fe94c9e969ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Review.php +++ /dev/null @@ -1,17 +0,0 @@ -_rootElement->find($this->emailError)->getText(); - } - - /** - * Get email tooltip. - * - * @return string - */ - public function getEmailTooltip() - { - $this->_rootElement->find($this->emailTooltipButton)->click(); - return $this->_rootElement->find($this->emailTooltipContent)->getText(); - } - - /** - * Get email instructions. - * - * @return string - */ - public function getEmailInstructions() - { - return $this->_rootElement->find($this->emailInstructions)->getText(); - } - - /** - * Click on "New Address" button. - * - * @return void - */ - public function clickOnNewAddressButton() - { - $this->waitForElementNotVisible($this->waitElement); - $this->_rootElement->find($this->newAddressButton)->click(); - } - - /** - * Get Address Modal Block. - * - * @return AddressModal - */ - public function getAddressModalBlock() - { - return $this->blockFactory->create( - AddressModal::class, - ['element' => $this->browser->find($this->addressModalBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Returns form's required elements - * - * @return \Magento\Mtf\Client\ElementInterface[] - */ - public function getRequiredFields() - { - return $this->_rootElement->getElements("div .field._required"); - } - - /** - * @return array - */ - public function getSelectedAddress() - { - return $this->_rootElement->find($this->selectedAddress, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get address block. - * - * @param String $address - */ - public function editAddress($address) - { - $addresses = $this->_rootElement->getElements($this->shippingAddressBlock); - foreach ($addresses as $addressBlock) { - if (strpos($addressBlock->getText(), $address) === 0) { - $addressBlock->find($this->editAddressButton)->click(); - break; - } - } - } - - /** - * Select address. - * - * @param string $address - * @return void - */ - public function selectAddress($address) - { - $addresses = $this->_rootElement->getElements($this->shippingAddressBlock); - foreach ($addresses as $addressBlock) { - if (strpos($addressBlock->getText(), $address) === 0 && !$this->isAddressSelected($address)) { - $addressBlock->find($this->addressSelectButton)->click(); - break; - } - } - } - - /** - * Check if address selected. - * - * @param string $address - * @return bool - */ - public function isAddressSelected($address) - { - $text = $this->_rootElement->find($this->shippingAddressBlock . $this->selectedShippingAddressBlock)->getText(); - - return $text == $address; - } - - /** - * Checks if new address button is visible. - * - * @return bool - */ - public function isPopupNewAddressButtonVisible() - { - $button = $this->_rootElement->find($this->popupSelector); - return $button->isVisible(); - } - - /** - * Clicks new address button. - * - * @return void - */ - public function clickPopupNewAddressButton() - { - $this->_rootElement->find($this->popupSelector)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.xml deleted file mode 100644 index 71115e402880c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - #customer-email - - - - - - input[name="street[0]"] - - - - select - - - select - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.php deleted file mode 100644 index 825db64dd6772..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.php +++ /dev/null @@ -1,101 +0,0 @@ -_rootElement->find($this->saveButton)->click(); - } - - /** - * Click on 'Cancel' button. - * - * @return void - */ - public function cancel() - { - $this->_rootElement->find($this->cancelButton)->click(); - } - - /** - * Get Error messages for attributes. - * - * @return array - */ - public function getErrorMessages() - { - $result = []; - foreach ($this->_rootElement->getElements($this->errorField) as $item) { - $result[$item->find($this->fieldLabel)->getText()] = $item->find($this->errorMessage)->getText(); - } - - return $result; - } - - /** - * Fixture mapping. - * - * @param array|null $fields - * @param string|null $parent - * @return array - */ - protected function dataMapping(array $fields = null, $parent = null) - { - if (isset($fields['custom_attribute'])) { - $this->placeholders = ['attribute_code' => $fields['custom_attribute']['code']]; - $this->applyPlaceholders(); - } - return parent::dataMapping($fields, $parent); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.xml deleted file mode 100644 index ff84b4ec36d76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/AddressModal.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - input[name="street[0]"] - - - - select - - - select - - - - - [name="custom_attributes[%attribute_code%]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/Method.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/Method.php deleted file mode 100644 index f5024d3eb7b26..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping/Method.php +++ /dev/null @@ -1,130 +0,0 @@ -waitForElementNotVisible($this->blockWaitElement); - } - - /** - * Retrieve if the shipping methods loader appears. - * - * @return bool|null - */ - public function isLoaderAppeared() - { - $this->_rootElement->click(); - return $this->waitForElementVisible($this->waitElement); - } - - /** - * Select shipping method. - * - * @param array $method - * @return void - */ - public function selectShippingMethod(array $method) - { - $this->waitForShippingRates(); - $selector = sprintf($this->shippingMethod, $method['shipping_method'], $method['shipping_service']); - $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Check whether shipping method is available in the shipping rates. - * - * @param array $method - * @return bool - */ - public function isShippingMethodAvailable(array $method) - { - $this->waitForShippingRates(); - $selector = sprintf($this->shippingMethod, $method['shipping_method'], $method['shipping_service']); - return $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Click continue button. - * - * @return void - */ - public function clickContinue() - { - $this->_rootElement->find($this->continue)->click(); - $browser = $this->browser; - $selector = $this->waitElement; - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() == false ? true : null; - } - ); - } - - /** - * Get shipping method amount. - * - * @param array $method - * @return string - */ - public function getShippingMethodAmount(array $method) - { - $selector = sprintf($this->shippingMethodAmount, $method['shipping_method'], $method['shipping_service']); - return $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php deleted file mode 100644 index 7296449ae54e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php +++ /dev/null @@ -1,32 +0,0 @@ -browser->find($this->saveAddressButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml deleted file mode 100644 index 8167c7c6aa3e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - input[name="street[0]"] - - - - select - - - select - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Success.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Success.php deleted file mode 100644 index 8f88988dbc7be..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Success.php +++ /dev/null @@ -1,82 +0,0 @@ -_rootElement->find($this->continueShopping); - $this->_rootElement->waitUntil( - function () use ($continueShopping) { - return $continueShopping->isVisible() ? true : null; - } - ); - if ($fixture->getCustomer()) { - return $this->_rootElement->find($this->orderId, Locator::SELECTOR_CSS)->getText(); - } else { - return $this->getGuestOrderId(); - } - } - - /** - * Get Id of placed order for guest checkout - * - * @return string - */ - public function getGuestOrderId() - { - $orderString = $this->_rootElement->find($this->orderIdGuest, Locator::SELECTOR_XPATH)->getText(); - preg_match('/[\d]+/', $orderString, $orderId); - return end($orderId); - } - - /** - * Click order id link - * - * @return void - */ - public function openOrder() - { - $this->_rootElement->find($this->orderId, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnCategoryPage.php deleted file mode 100644 index 11b1a9ed19df0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnCategoryPage.php +++ /dev/null @@ -1,61 +0,0 @@ -open(); - $categoryName = $category === null ? $product->getCategoryIds()[0] : $category->getName(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, 'Product is absent on category page.'); - - \PHPUnit\Framework\Assert::assertFalse( - $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisibleAddToCardButton(), - 'Button "Add to Cart" is present on category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Button "Add to Cart" is absent on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnProductPage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnProductPage.php deleted file mode 100644 index 455b91aa25456..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnProductPage.php +++ /dev/null @@ -1,48 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getViewBlock()->isVisibleAddToCardButton(), - 'Button "Add to Cart" is present on product page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Button "Add to Cart" is absent on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnCategoryPage.php deleted file mode 100644 index 161083ba21b00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnCategoryPage.php +++ /dev/null @@ -1,60 +0,0 @@ -open(); - $categoryName = $category === null ? $product->getCategoryIds()[0] : $category->getName(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isProductVisible && $catalogCategoryView->getBottomToolbar()->nextPage()) { - $isProductVisible = $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisible(); - } - \PHPUnit\Framework\Assert::assertTrue($isProductVisible, 'Product is absent on category page.'); - - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getListProductBlock()->getProductItem($product)->isVisibleAddToCardButton(), - 'Button "Add to Cart" is absent on category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Button "Add to Cart" is present on category page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnProductPage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnProductPage.php deleted file mode 100644 index 007349cf086f3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnProductPage.php +++ /dev/null @@ -1,48 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->isVisibleAddToCardButton(), - 'Button "Add to Cart" is absent on product page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Button "Add to Cart" is present on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddedProductToCartSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddedProductToCartSuccessMessage.php deleted file mode 100644 index b12339b3fc66d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddedProductToCartSuccessMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -getName()), - $checkoutCart->getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Add to cart success message is present on Shopping Cart page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressAbsentInPayment.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressAbsentInPayment.php deleted file mode 100644 index bfc664b963f68..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressAbsentInPayment.php +++ /dev/null @@ -1,43 +0,0 @@ -getPaymentBlock() - ->getSelectedPaymentMethodBlock() - ->getBillingBlock() - ->isVisible(), - 'Billing address is present in payment method' - ); - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Billing address is absent in payment method'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressSameAsShippingCheckbox.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressSameAsShippingCheckbox.php deleted file mode 100644 index c40e8f533d034..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertBillingAddressSameAsShippingCheckbox.php +++ /dev/null @@ -1,48 +0,0 @@ -getPaymentBlock() - ->getSelectedPaymentMethodBlock() - ->getBillingBlock() - ->getSameAsShippingCheckboxValue(); - - \PHPUnit\Framework\Assert::assertEquals( - $billingCheckboxState, - $actualResult, - '"Same as Shipping" checkbox has wrong value' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return '"Same as Shipping" checkbox has correct value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCancelSuccessMessageInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCancelSuccessMessageInShoppingCart.php deleted file mode 100644 index ae6e476203e4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCancelSuccessMessageInShoppingCart.php +++ /dev/null @@ -1,56 +0,0 @@ -waitUntil( - function () use ($browser, $path) { - return $_ENV['app_frontend_url'] . $path . '/' === $browser->getUrl() . 'index/' ? true : null; - } - ); - - $actualMessage = $checkoutCart->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Success message is not present or has wrong text.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cancel success message is present or has a correct text.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartBundleOptionTitle.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartBundleOptionTitle.php deleted file mode 100644 index 960b5fa492918..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartBundleOptionTitle.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertEquals( - $checkoutCart->getCartItemBlock()->getOptionsName(), - $optionTitle - ); - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Assert cart bundle option title is shown properly after change.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartIsEmpty.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartIsEmpty.php deleted file mode 100644 index cf05079b0a079..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartIsEmpty.php +++ /dev/null @@ -1,92 +0,0 @@ -open(); - $cartEmptyBlock = $checkoutCart->getCartEmptyBlock(); - - \PHPUnit\Framework\Assert::assertEquals( - self::TEXT_EMPTY_CART, - $cartEmptyBlock->getText(), - 'Wrong text on empty cart page.' - ); - - $cartEmptyBlock->clickLinkToMainPage(); - $this->assertUrlEqual( - $_ENV['app_frontend_url'], - $browser->getUrl(), - true, - 'Wrong link to main page on empty cart page: expected - ' . $_ENV['app_frontend_url'] - . ', actual - ' . $browser->getUrl() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Shopping Cart is empty.'; - } - - /** - * Asserts that two urls are equal - * - * @param string $expectedUrl - * @param string $actualUrl - * @param bool $ignoreScheme - * @param string $message - * @return void - */ - private function assertUrlEqual( - string $expectedUrl, - string $actualUrl, - bool $ignoreScheme = false, - string $message = '' - ): void { - $urlArray1 = parse_url($expectedUrl); - $urlArray2 = parse_url($actualUrl); - if ($ignoreScheme) { - unset($urlArray1['scheme']); - unset($urlArray2['scheme']); - } - \PHPUnit\Framework\Assert::assertTrue( - $urlArray1 === $urlArray2, - $message - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartItemsOptions.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartItemsOptions.php deleted file mode 100644 index b0ed9d358f93a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartItemsOptions.php +++ /dev/null @@ -1,174 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - - /** @var Items $sourceProducts */ - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - $items = $cart->getItems(); - $productsData = []; - $cartData = []; - - foreach ($items as $key => $item) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productName = $product->getName(); - /** @var FixtureInterface $item */ - $checkoutItem = $item->getData(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - - $productsData[$productName] = [ - 'options' => $this->sortDataByPath($checkoutItem['options'], '::title'), - ]; - $cartData[$productName] = [ - 'options' => $this->sortDataByPath($cartItem->getOptions(), '::title'), - ]; - } - - $error = $this->verifyContainsData($productsData, $cartData, true); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Verify form data contains in fixture data. - * - * @param array $fixtureData - * @param array $formData - * @param bool $isStrict [optional] - * @param bool $isPrepareError [optional] - * @return array|string - */ - protected function verifyContainsData( - array $fixtureData, - array $formData, - $isStrict = false, - $isPrepareError = true - ) { - $errors = []; - - foreach ($fixtureData as $key => $value) { - if (in_array($key, $this->skippedFields)) { - continue; - } - - $formValue = isset($formData[$key]) ? $formData[$key] : null; - if ($formValue && !is_array($formValue)) { - $formValue = trim($formValue, '. '); - } - - if (null === $formValue) { - $errors[] = '- field "' . $key . '" is absent in form'; - } elseif (is_array($value) && is_array($formValue)) { - $valueErrors = $this->verifyContainsData($value, $formValue, true, false); - if (!empty($valueErrors)) { - $errors[$key] = $valueErrors; - } - } elseif (($key == 'value') && $this->equals($fixtureData['value'], $formData['value'])) { - $errors[] = $this->errorFormat($value, $formValue, $key); - } elseif (null === strpos($value, $formValue)) { - $errors[] = $this->errorFormat($value, $formValue, $key); - } - } - - if ($isStrict) { - $diffData = array_diff(array_keys($formData), array_keys($fixtureData)); - if ($diffData) { - $errors[] = '- fields ' . implode(', ', $diffData) . ' is absent in fixture'; - } - } - - if ($isPrepareError) { - return $this->prepareErrors($errors); - } - return $errors; - } - - /** - * Check that params are equals. - * - * @param mixed $expected - * @param mixed $actual - * @return bool - */ - protected function equals($expected, $actual) - { - return (null === strpos($expected, $actual)); - } - - /** - * Format error. - * - * @param mixed $value - * @param mixed $formValue - * @param mixed $key - * @return string - */ - protected function errorFormat($value, $formValue, $key) - { - if (is_array($value)) { - $value = $this->arrayToString($value); - } - if (is_array($formValue)) { - $formValue = $this->arrayToString($formValue); - } - - return sprintf($this->errorMessage, $key, $formValue, $value); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product options on the page match.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartPerCustomer.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartPerCustomer.php deleted file mode 100644 index b5324870872ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCartPerCustomer.php +++ /dev/null @@ -1,80 +0,0 @@ - $customer) { - if (!empty($cartFixtures[$index])) { - $stepFactory->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf( - self::WELCOME_MESSAGE, - $customer->getFirstname() . ' ' . $customer->getLastname() - ), - $cmsIndex->getLinksBlock()->getWelcomeText(), - 'Customer welcome message is wrong.' - ); - $assertProductQty->processAssert($checkoutCart, $cartFixtures[$index]); - $assertSubtotal->processAssert($checkoutCart, $cartFixtures[$index]); - $assertGrandtotal->processAssert($checkoutCart, $cartFixtures[$index]); - $assertMinicart->processAssert($cmsIndex, $cartFixtures[$index]); - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shopping cart data is correct for each customer.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCheckoutErrorMessage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCheckoutErrorMessage.php deleted file mode 100644 index 2631845c4976c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCheckoutErrorMessage.php +++ /dev/null @@ -1,42 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Wrong error message is displayed.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Error message on Checkout onepage page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCustomerIsRedirectedToCheckoutFromCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCustomerIsRedirectedToCheckoutFromCart.php deleted file mode 100644 index 7f717964059eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertCustomerIsRedirectedToCheckoutFromCart.php +++ /dev/null @@ -1,115 +0,0 @@ -stepFactory = $stepFactory; - - $miniShoppingCart = $cmsIndex->getCartSidebarBlock(); - $miniShoppingCart->openMiniCart(); - $miniShoppingCart->clickProceedToCheckoutButton(); - - \PHPUnit\Framework\Assert::assertTrue( - !$checkoutOnepage->getMessagesBlock()->isVisible() - && $checkoutOnepage->getShippingMethodBlock()->isVisible(), - 'Checkout first step is not available.' - ); - - if (isset($checkoutData['shippingAddress'])) { - $this->getOrder($checkoutData); - } - - //Assert that Order Grand Total is correct on order page in backend. - $assertOrderGrandTotal->processAssert($salesOrderView, $orderIndex, $prices, $this->orderId); - } - - /** - * Get Order. - * - * @param array $checkoutData - * @return void - */ - protected function getOrder(array $checkoutData) - { - $this->stepFactory->create( - \Magento\Checkout\Test\TestStep\FillShippingAddressStep::class, - ['shippingAddress' => $checkoutData['shippingAddress']] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class, - ['shipping' => $checkoutData['shipping']] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, - ['payment' => $checkoutData['payment']] - )->run(); - $this->orderId = $this->objectManager->create( - \Magento\Checkout\Test\TestStep\PlaceOrderStep::class - )->run()['orderId']; - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Checkout first step is available.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertDiscountInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertDiscountInShoppingCart.php deleted file mode 100644 index 4ded49525b99c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertDiscountInShoppingCart.php +++ /dev/null @@ -1,47 +0,0 @@ -open(); - $checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - \PHPUnit\Framework\Assert::assertEquals( - number_format($cart->getDiscount(), 2), - $checkoutCart->getTotalsBlock()->getDiscount(), - 'Discount amount in the shopping cart not equals to discount amount from fixture.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Discount in the shopping cart equals to expected discount amount from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailErrorValidationMessage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailErrorValidationMessage.php deleted file mode 100644 index b5d2b9a98c013..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailErrorValidationMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getShippingBlock()->getEmailError(), - 'Email validation message is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Email validation message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailToolTips.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailToolTips.php deleted file mode 100644 index 583a3456c5119..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEmailToolTips.php +++ /dev/null @@ -1,58 +0,0 @@ -getShippingBlock()->getEmailTooltip(), - 'Email tooltip is not correct.' - ); - - \PHPUnit\Framework\Assert::assertEquals( - self::EMAIL_INSTRUCTIONS, - $checkoutOnepage->getShippingBlock()->getEmailInstructions(), - 'Email instructions are not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Email field tooltips are present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEstimateShippingAndTax.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEstimateShippingAndTax.php deleted file mode 100644 index dfb94c1554184..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertEstimateShippingAndTax.php +++ /dev/null @@ -1,115 +0,0 @@ -assertSubtotalInShoppingCart = $assertSubtotalInShoppingCart; - $this->assertGrandTotalInShoppingCart = $assertGrandTotalInShoppingCart; - $this->assertTaxInShoppingCart = $assertTaxInShoppingCart; - $this->assertShippingInShoppingCart = $assertShippingInShoppingCart; - } - - /** - * Assert that grand total is equal to expected. - * Assert that subtotal total in the shopping cart is equals to expected total from data set. - * Assert that tax amount is equal to expected. - * Assert that shipping amount is equal to expected. - * - * @param CheckoutCart $checkoutCart - * @param Cart $cart - * @param boolean $requireReload - * @return void - */ - public function processAssert(CheckoutCart $checkoutCart, Cart $cart, $requireReload = true) - { - if ($cart->hasData('tax_amount')) { - $this->assertTaxInShoppingCart->processAssert($checkoutCart, $cart, $requireReload); - } - if ($cart->hasData('subtotal')) { - $this->assertSubtotalInShoppingCart->processAssert($checkoutCart, $cart, $requireReload); - } - if ($cart->hasData('grand_total')) { - $this->assertGrandTotalInShoppingCart->processAssert($checkoutCart, $cart, $requireReload); - } - if ($cart->hasData('shipping_amount')) { - $this->assertShippingInShoppingCart->processAssert($checkoutCart, $cart, $requireReload); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Grand total, subtotal and tax, shipping amounts in the shopping cart equal to expected from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalInShoppingCart.php deleted file mode 100644 index 432bbd4f2146e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalInShoppingCart.php +++ /dev/null @@ -1,56 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - $checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - } - - $fixtureGrandTotal = number_format($cart->getGrandTotal(), 2); - $pageGrandTotal = $checkoutCart->getTotalsBlock()->getGrandTotal(); - \PHPUnit\Framework\Assert::assertEquals( - $fixtureGrandTotal, - $pageGrandTotal, - 'Grand total price in the shopping cart not equals to grand total price from fixture.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Grand total price in the shopping cart equals to expected grand total price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalOrderReview.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalOrderReview.php deleted file mode 100644 index 1cd12809bdc8a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertGrandTotalOrderReview.php +++ /dev/null @@ -1,52 +0,0 @@ -getReviewBlock()->waitForElementNotVisible($this->waitElement); - $checkoutReviewGrandTotal = $checkoutOnepage->getReviewBlock()->getGrandTotal(); - - \PHPUnit\Framework\Assert::assertEquals( - number_format($grandTotal, 2), - $checkoutReviewGrandTotal, - "Grand Total price: $checkoutReviewGrandTotal not equals with price from data set: $grandTotal" - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Grand Total price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertItemsCounterInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertItemsCounterInMiniShoppingCart.php deleted file mode 100644 index 2b9815c6f90d3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertItemsCounterInMiniShoppingCart.php +++ /dev/null @@ -1,45 +0,0 @@ -getCartSidebarBlock(); - $sidebar->openMiniCart(); - - \PHPUnit\Framework\Assert::assertEquals( - $sidebar->getItemsQty(), - $totalItemsCountInShoppingCart, - 'Wrong quantity of Cart items in mini shopping cart' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products qty in cart is equal to fixtures count'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartNotPresentInSummaryBlock.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartNotPresentInSummaryBlock.php deleted file mode 100644 index f12dfceccdeaa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartNotPresentInSummaryBlock.php +++ /dev/null @@ -1,39 +0,0 @@ -getReviewBlock(); - - \PHPUnit\Framework\Assert::assertFalse( - $reviewBlock->getGoToCartLink()->isVisible(), - 'Go to Cart link present in summary block' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Verify that Go to Cart link not present in checkout summary block'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartPresentInSummaryBlock.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartPresentInSummaryBlock.php deleted file mode 100644 index 82f097f60dda3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertLinkGoToCartPresentInSummaryBlock.php +++ /dev/null @@ -1,39 +0,0 @@ -getReviewBlock(); - - \PHPUnit\Framework\Assert::assertTrue( - $reviewBlock->getGoToCartLink()->isVisible(), - 'Go to Cart link not present in summary block' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Verify that Go to Cart link is present in checkout summary block'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartEmpty.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartEmpty.php deleted file mode 100644 index bb1f68c2d1278..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartEmpty.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertEquals( - self::TEXT_EMPTY_MINICART, - $cmsIndex->getCartSidebarBlock()->getEmptyMessage(), - 'Empty minicart message not found' - ); - - \PHPUnit\Framework\Assert::assertFalse( - $cmsIndex->getCartSidebarBlock()->isItemsQtyVisible(), - 'Minicart is not empty' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Minicart is empty'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartItemsQty.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartItemsQty.php deleted file mode 100644 index 012c1d4eeba07..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMinicartItemsQty.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertSame( - (int)$expectedItemsQty, - $cmsIndex->getCartSidebarBlock()->getItemsQty(), - 'The quantity of items in shopping cart is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'The quantity of items in mini shopping cart is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMyCartLinkRedirect.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMyCartLinkRedirect.php deleted file mode 100644 index b1db3c849f5ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertMyCartLinkRedirect.php +++ /dev/null @@ -1,48 +0,0 @@ -open(); - $cmsIndex->getCartSidebarBlock()->openMiniCart(); - \PHPUnit\Framework\Assert::assertEquals( - self::CART_PAGE_TITLE, - $cmsIndex->getTitleBlock()->getTitle(), - 'Wrong page is displayed instead of the shopping cart page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'My Cart link redirects to the shopping cart page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertOrderSuccessPlacedMessage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertOrderSuccessPlacedMessage.php deleted file mode 100644 index e5d4b300c2802..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertOrderSuccessPlacedMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getTitleBlock()->getTitle(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Success message on Checkout onepage success page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersNotPresentInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersNotPresentInShoppingCart.php deleted file mode 100644 index 12ef4c6860270..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersNotPresentInShoppingCart.php +++ /dev/null @@ -1,43 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertFalse( - $checkoutCart->getTopPagerBlock()->getPagesBlock()->isVisible(), - 'The top pager of Items Grid is visible.' - ); - \PHPUnit\Framework\Assert::assertFalse( - $checkoutCart->getBottomPagerBlock()->getPagesBlock()->isVisible(), - 'The bottom pager of Items Grid is visible.' - ); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Pager is absent on the shopping cart page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersPresentInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersPresentInShoppingCart.php deleted file mode 100644 index 6593263013f89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersPresentInShoppingCart.php +++ /dev/null @@ -1,42 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $checkoutCart->getTopPagerBlock()->getPagesBlock()->isVisible(), - 'The top pager of Items Grid is not visible.' - ); - \PHPUnit\Framework\Assert::assertTrue( - $checkoutCart->getBottomPagerBlock()->getPagesBlock()->isVisible(), - 'The bottom pager of Items Grid is not visible.' - ); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Pager present on the shopping cart page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersSummaryText.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersSummaryText.php deleted file mode 100644 index fa5b3af52bc76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPagersSummaryText.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - $configSection = $config->getSection(); - $pagerSize = $configSection['checkout/cart/number_items_to_display_pager']['value']; - $totalItems = count($cart->getItems()); - - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::PAGER_SUMMARY_TEXT, $pagerSize, $totalItems), - $checkoutCart->getTopPagerBlock()->getAmountToolbar()->getText(), - 'Top Pager summary text isn\'t satisfy test data' - ); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::PAGER_SUMMARY_TEXT, $pagerSize, $totalItems), - $checkoutCart->getBottomPagerBlock()->getAmountToolbar()->getText(), - 'Bottom Pager summary text isn\'t satisfy test data' - ); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Pagers summary text on the shopping cart is correct.' ; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodIsAbsentOnPaymentPage.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodIsAbsentOnPaymentPage.php deleted file mode 100644 index e625190a6cb13..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodIsAbsentOnPaymentPage.php +++ /dev/null @@ -1,41 +0,0 @@ -getPaymentBlock()->isVisiblePaymentMethod($payment), - 'Payment method' . $payment['method']. ' is present on Checkout Payment Page.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Payment method is absent on Checkout Payment Page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodPersistence.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodPersistence.php deleted file mode 100644 index 51f9ec7ba51d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPaymentMethodPersistence.php +++ /dev/null @@ -1,41 +0,0 @@ -getPaymentBlock()->isVisiblePaymentMethod($payment), - 'Payment method' . $payment['method']. ' is present on Checkout Payment Page.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Payment method is absent on Checkout Payment Page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPriceInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPriceInShoppingCart.php deleted file mode 100644 index 88d4a3e8d35ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertPriceInShoppingCart.php +++ /dev/null @@ -1,73 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - - /** @var Items $sourceProducts */ - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - $items = $cart->getItems(); - $productsData = []; - $cartData = []; - - foreach ($items as $key => $item) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productName = $product->getName(); - /** @var FixtureInterface $item */ - $checkoutItem = $item->getData(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - - $productsData[$productName] = [ - 'price' => $checkoutItem['price'], - ]; - $cartData[$productName] = [ - 'price' => $cartItem->getPrice(), - ]; - } - - $error = $this->verifyData($productsData, $cartData, true); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Price in the shopping cart equals to expected price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProceedToCheckoutButton.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProceedToCheckoutButton.php deleted file mode 100644 index b2a1a94dac448..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProceedToCheckoutButton.php +++ /dev/null @@ -1,49 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertEquals( - self::BUTTON_TITLE, - $checkoutCart->getProceedToCheckoutBlock()->getTitle() - ); - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Proceed To Checkout button presents in the Shopping Cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductAbsentInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductAbsentInMiniShoppingCart.php deleted file mode 100644 index 9afc9d3f0d714..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductAbsentInMiniShoppingCart.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $cmsIndex->getCartSidebarBlock()->openMiniCart(); - \PHPUnit\Framework\Assert::assertFalse( - $cmsIndex->getCartSidebarBlock()->getCartItem($deletedProduct)->isVisible(), - 'Product ' . $deletedProduct->getName() . ' is presents in Mini Shopping Cart.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is absent in Mini Shopping Cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductDataInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductDataInMiniShoppingCart.php deleted file mode 100644 index 530e945b7bc87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductDataInMiniShoppingCart.php +++ /dev/null @@ -1,71 +0,0 @@ -open(); - /** @var Items $sourceProducts */ - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - $items = $cart->getItems(); - $productsData = []; - $miniCartData = []; - - foreach ($items as $key => $item) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productName = $product->getName(); - /** @var FixtureInterface $item */ - $checkoutItem = $item->getData(); - $cartItem = $cmsIndex->getCartSidebarBlock()->getCartItem($product); - - $productsData[$productName]['price'] = ['price' => $checkoutItem['price']]; - $miniCartData[$productName]['price'] = [ - 'price' => $cartItem->getPrice() - ]; - $productsData[$productName]['qty'] = [ - 'qty' => $checkoutItem['qty'], - ]; - $miniCartData[$productName]['qty'] = [ - 'qty' => $cartItem->getQty(), - ]; - } - - $error = $this->verifyData($productsData, $miniCartData, true); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Price and qty in mini shopping cart equals to expected price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductIsNotEditable.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductIsNotEditable.php deleted file mode 100644 index 224f5ea91acd1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductIsNotEditable.php +++ /dev/null @@ -1,44 +0,0 @@ -getCartBlock()->getCartItem($product)->isEditButtonVisible(), - 'Added product is editable.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Added products by sku to shopping cart are not editable'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductOptionsAbsentInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductOptionsAbsentInShoppingCart.php deleted file mode 100644 index 1beee5c67a5ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductOptionsAbsentInShoppingCart.php +++ /dev/null @@ -1,64 +0,0 @@ -open(); - foreach ($products as $product) { - $cmsIndex->getCartSidebarBlock()->openMiniCart(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getCartSidebarBlock()->getCartItem($product)->isVisible(), - 'Product ' . $product->getName() . ' is absent in Mini Shopping Cart.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products is presents in Mini Shopping Cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductPresentInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductPresentInShoppingCart.php deleted file mode 100644 index 241c334f710ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductPresentInShoppingCart.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - foreach ($products as $product) { - \PHPUnit\Framework\Assert::assertTrue( - $checkoutCart->getCartBlock()->getCartItem($product)->isVisible(), - 'Product ' . $product->getName() . ' is absent in shopping cart.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'All expected products are present in shopping cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductQtyInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductQtyInShoppingCart.php deleted file mode 100644 index b80b4c85227c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductQtyInShoppingCart.php +++ /dev/null @@ -1,73 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - - /** @var Items $sourceProducts */ - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - $items = $cart->getItems(); - $productsData = []; - $cartData = []; - - foreach ($items as $key => $item) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productName = $product->getName(); - /** @var FixtureInterface $item */ - $checkoutItem = $item->getData(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - - $productsData[$productName] = [ - 'qty' => $checkoutItem['qty'], - ]; - $cartData[$productName] = [ - 'qty' => $cartItem->getQty(), - ]; - } - - $error = $this->verifyData($productsData, $cartData, true); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Quantity in the shopping cart equals to expected quantity from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductsAbsentInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductsAbsentInShoppingCart.php deleted file mode 100644 index 49e5e089b5803..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertProductsAbsentInShoppingCart.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - foreach ($products as $product) { - \PHPUnit\Framework\Assert::assertFalse( - $checkoutCart->getCartBlock()->getCartItem($product)->isVisible(), - 'Product ' . $product->getName() . ' is present in shopping cart.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All expected products are absent in shopping cart.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingAddressJsValidationMessagesIsAbsent.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingAddressJsValidationMessagesIsAbsent.php deleted file mode 100644 index e2625d8c962e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingAddressJsValidationMessagesIsAbsent.php +++ /dev/null @@ -1,47 +0,0 @@ -getShippingBlock()->getRequiredFields(); - - /** @var \Magento\Mtf\Client\ElementInterface $field */ - foreach ($requiredFields as $field) { - $errorContainer = $field->find("div .field-error"); - \PHPUnit\Framework\Assert::assertFalse( - $errorContainer->isVisible(), - 'Js validation error messages must be absent for required fields after checkout start.' - ); - } - } - - /** - * Returns string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Js validation messages are absent for required fields.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingInShoppingCart.php deleted file mode 100644 index 3d36228586544..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingInShoppingCart.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - } - - $fixtureShippingAmount = number_format((float)$cart->getShippingAmount(), 2); - $pageShippingAmount = $checkoutCart->getTotalsBlock()->getShippingPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $fixtureShippingAmount, - $pageShippingAmount, - 'Shipping amount in the shopping cart not equals to shipping amount from fixture.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipping amount in the shopping cart equals to expected shipping amount from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingMethodAvailableInCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingMethodAvailableInCart.php deleted file mode 100644 index 5fad47c960069..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingMethodAvailableInCart.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - } - - \PHPUnit\Framework\Assert::assertEquals( - $checkoutCart->getShippingBlock()->isShippingCarrierMethodVisible( - $shippingExists['shipping_service'], - $shippingExists['shipping_method'] - ), - $shippingExists['exists'] - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipping method in the shopping cart is or is not available as expected.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingTotalOrderReview.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingTotalOrderReview.php deleted file mode 100644 index 99221b91156b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertShippingTotalOrderReview.php +++ /dev/null @@ -1,45 +0,0 @@ -getReviewBlock()->getShippingExclTax(); - - \PHPUnit\Framework\Assert::assertEquals( - $reviewShippingTotal, - number_format($shippingTotal, 2), - 'Shipping price: \'' . $reviewShippingTotal - . '\' not equals with price from data set: \'' . $shippingTotal . '\'' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipping price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubTotalOrderReview.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubTotalOrderReview.php deleted file mode 100644 index 270ba0d77090d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubTotalOrderReview.php +++ /dev/null @@ -1,45 +0,0 @@ -getReviewBlock()->getSubtotal(); - - \PHPUnit\Framework\Assert::assertEquals( - $reviewSubTotal, - number_format($subTotal, 2), - 'Subtotal price: \'' . $reviewSubTotal - . '\' not equals with price from data set: \'' . $reviewSubTotal . '\'' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Subtotal price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInMiniShoppingCart.php deleted file mode 100644 index e69c17397d345..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInMiniShoppingCart.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $fixtureSubtotal = number_format($cart->getSubtotal(), 2); - $miniCartSubtotal = $cmsIndex->getCartSidebarBlock()->getSubtotal(); - \PHPUnit\Framework\Assert::assertEquals( - $fixtureSubtotal, - $miniCartSubtotal, - 'Subtotal price in mini shopping cart is not equal to subtotal price from fixture.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Subtotal in mini shopping cart equals to expected subtotal from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInShoppingCart.php deleted file mode 100644 index 5e743e735d42f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertSubtotalInShoppingCart.php +++ /dev/null @@ -1,76 +0,0 @@ -open(); - $this->waitForCartPageLoaded($checkoutCart); - } - - /** @var Items $sourceProducts */ - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - $items = $cart->getItems(); - $productsData = []; - $cartData = []; - - foreach ($items as $key => $item) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productName = $product->getName(); - /** @var FixtureInterface $item */ - $checkoutItem = $item->getData(); - $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); - - $productsData[$productName] = [ - 'subtotal' => $checkoutItem['subtotal'], - ]; - $cartData[$productName] = [ - 'subtotal' => $cartItem->getSubtotalPrice(), - ]; - } - - $error = $this->verifyData($productsData, $cartData, true); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Subtotal in the shopping cart equals to expected total from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxInShoppingCart.php deleted file mode 100644 index c0648f8a75922..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxInShoppingCart.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - } - - $fixtureTaxAmount = number_format((float)$cart->getTaxAmount(), 2); - $pageTaxAmount = $checkoutCart->getTotalsBlock()->getTax(); - \PHPUnit\Framework\Assert::assertEquals( - $fixtureTaxAmount, - $pageTaxAmount, - 'Tax amount in the shopping cart not equals to tax amount from fixture.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Tax amount in the shopping cart equals to expected tax amount from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxTotalOrderReview.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxTotalOrderReview.php deleted file mode 100644 index 954cd02b7a448..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTaxTotalOrderReview.php +++ /dev/null @@ -1,44 +0,0 @@ -getReviewBlock()->getTax(); - - \PHPUnit\Framework\Assert::assertEquals( - $reviewTaxTotal, - number_format($taxTotal, 2), - "Tax price '$reviewTaxTotal' not equals with price from data set '$taxTotal'." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Tax price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTopDestinationsInSelect.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTopDestinationsInSelect.php deleted file mode 100644 index 516a534ac7ef3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertTopDestinationsInSelect.php +++ /dev/null @@ -1,43 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertEquals( - $topDestinations, - $checkoutCart->getShippingBlock()->getTopCountries(), - 'Top countries are different from the ones selected as Top Destinations.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Countries selected as Top Destinations are at the top in select.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInCheckoutSummaryBlock.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInCheckoutSummaryBlock.php deleted file mode 100644 index 0df2866141297..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInCheckoutSummaryBlock.php +++ /dev/null @@ -1,60 +0,0 @@ -getReviewBlock(); - $reviewBlock->expandItemsBlock(); - - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - - $presentItems = 0; - foreach (array_keys($cart->getItems()) as $key) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - if ($reviewBlock->getItemElement($product->getName())->isVisible()) { - $presentItems++; - } - } - - \PHPUnit\Framework\Assert::assertEquals( - $checkoutSummaryMaxVisibleCartItemsCount, - $presentItems, - 'Wrong quantity of visible Cart items in checkout summary block.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Quantity of visible Cart items the same as checkout configuration value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInMiniShoppingCart.php deleted file mode 100644 index 04a34a829c662..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyInMiniShoppingCart.php +++ /dev/null @@ -1,59 +0,0 @@ -getCartSidebarBlock(); - $sidebar->openMiniCart(); - - $sourceProducts = $cart->getDataFieldConfig('items')['source']; - $products = $sourceProducts->getProducts(); - - $presentItems = 0; - /** @var Item $item */ - foreach (array_keys($cart->getItems()) as $key) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - if ($sidebar->getCartItem($product)->isVisible()) { - $presentItems++; - } - } - - \PHPUnit\Framework\Assert::assertEquals( - $minicartMaxVisibleCartItemsCount, - $presentItems, - 'Wrong quantity of visible Cart items in mini shopping cart' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Quantity of visible Cart items the same as minicart configuration value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageInMiniShoppingCart.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageInMiniShoppingCart.php deleted file mode 100644 index 8f7c2efb11122..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageInMiniShoppingCart.php +++ /dev/null @@ -1,63 +0,0 @@ -getCartSidebarBlock(); - $sidebar->openMiniCart(); - - if ($totalItemsCountInShoppingCart > $minicartMaxVisibleCartItemsCount) { - $counterMessage = sprintf( - self::VISIBLE_ITEMS_COUNTER_MASSAGE, - $minicartMaxVisibleCartItemsCount, - $totalItemsCountInShoppingCart - ); - } else { - $counterMessage = sprintf(self::ITEMS_COUNTER_MASSAGE, $totalItemsCountInShoppingCart); - } - - \PHPUnit\Framework\Assert::assertEquals( - $counterMessage, - $sidebar->getVisibleItemsCounter(), - 'Wrong counter text of visible Cart items in mini shopping cart' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Quantity of visible Cart items the same as minicart configuration value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageOnCheckoutSummaryBlock.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageOnCheckoutSummaryBlock.php deleted file mode 100644 index b3756b48b2646..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertVisibleItemsQtyMessageOnCheckoutSummaryBlock.php +++ /dev/null @@ -1,74 +0,0 @@ -getCartSidebarBlock(); - $sidebar->openMiniCart(); - $sidebar->clickProceedToCheckoutButton(); - - $reviewBlock = $checkoutPage->getReviewBlock(); - - if ($totalItemsCountInShoppingCart > $checkoutSummaryMaxVisibleCartItemsCount) { - $counterMessage = sprintf( - self::VISIBLE_ITEMS_COUNTER_MASSAGE, - $checkoutSummaryMaxVisibleCartItemsCount, - $totalItemsCountInShoppingCart - ); - } else { - $counterMessage = sprintf(self::ITEMS_COUNTER_MASSAGE, $totalItemsCountInShoppingCart); - } - - $count = $reviewBlock->getVisibleItemsCounter(); - - \PHPUnit\Framework\Assert::assertEquals( - $counterMessage, - $count, - 'Wrong counter text of visible Cart items in mini shopping cart' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Quantity of visible Cart items the same as minicart configuration value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/Utils/CartPageLoadTrait.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/Utils/CartPageLoadTrait.php deleted file mode 100644 index fa349554fa139..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/Utils/CartPageLoadTrait.php +++ /dev/null @@ -1,30 +0,0 @@ -getCartBlock()->waitForLoader(); - if (!$checkoutCart->getCartBlock()->cartIsEmpty()) { - $checkoutCart->getShippingBlock()->waitForSummaryBlock(); - $checkoutCart->getTotalsBlock()->waitForGrandTotal(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml deleted file mode 100644 index 1568d49e2cf88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php deleted file mode 100644 index 871f390df6a89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php +++ /dev/null @@ -1,78 +0,0 @@ -params = $params; - $this->products = isset($data['products']) ? $data['products'] : []; - } - - /** - * Get module name from fixture. - * - * @param FixtureInterface $product - * @return string - */ - protected function getModuleName(FixtureInterface $product) - { - preg_match('/^Magento\\\\([^\\\\]+)\\\\Test/', get_class($product), $match); - return isset($match[1]) ? $match[1] : ''; - } - - /** - * Return prepared dataset. - * - * @param null|string $key - * @return array - */ - public function getData($key = null) - { - foreach ($this->products as $product) { - $classItem = 'Magento\\' . $this->getModuleName($product) . '\Test\Fixture\Cart\Item'; - $item = ObjectManager::getInstance()->create($classItem, ['product' => $product]); - $item->getData(); - $this->data[] = $item; - } - - return parent::getData($key); - } - - /** - * Get source products. - * - * @return array - */ - public function getProducts() - { - return $this->products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutCart.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutCart.xml deleted file mode 100644 index 529270d962357..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutCart.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml deleted file mode 100644 index 81b6f1995864f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepageSuccess.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepageSuccess.xml deleted file mode 100644 index 4372a1b115153..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepageSuccess.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CmsIndex.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CmsIndex.xml deleted file mode 100644 index 694893c876a5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CmsIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Repository/ConfigData.xml deleted file mode 100644 index 4c61fce2f88b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - checkout - 1 - No - 0 - - - - - - checkout - 1 - Yes - 1 - - - - - - customer - 1 - No - 0 - - - - - - customer - 1 - Yes - 1 - - - - - - checkout - 1 - No - 0 - - - - - - checkout - 1 - Yes - 1 - - - - - - checkout - 1 - - 1 - - - - - checkout - 1 - - 20 - - - - - - checkout - 1 - - 20 - - - - - - checkout - 1 - - 2 - - - - - - checkout - 1 - - 10 - - - - - - checkout - 1 - - 3 - - - - - - checkout - 1 - - 10 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.php deleted file mode 100644 index f7385d2331ba1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.php +++ /dev/null @@ -1,273 +0,0 @@ -browser = $browser; - $this->fixtureFactory = $fixtureFactory; - $this->catalogProductView = $catalogProductView; - $this->cartPage = $cartPage; - $this->testStepFactory = $testStepFactory; - $this->cache = $cache; - $this->envWhitelist = $envWhitelist; - } - - /** - * Run test add products to shopping cart. - * - * @param array $productsData - * @param array $cart - * @param string|null $configData [optional] - * @param bool $flushCache [optional] - * @param bool $isValidationFailed - * @return array - */ - public function test( - array $productsData, - array $cart, - $configData = null, - $flushCache = false, - $isValidationFailed = false - ) { - // Preconditions - $this->configData = $configData; - $this->flushCache = $flushCache; - $this->envWhitelist->addHost('example.com'); - - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => $this->flushCache] - )->run(); - - if ($this->configData == 'enable_https_frontend_admin_with_url') { - $_ENV['app_backend_url'] = preg_replace('/(http[s]?)/', 'https', $_ENV['app_backend_url']); - $_ENV['app_frontend_url'] = preg_replace('/(http[s]?)/', 'https', $_ENV['app_frontend_url']); - } - $products = $this->prepareProducts($productsData); - - // Steps - $this->addToCart($products, $isValidationFailed); - - $cart['data']['items'] = ['products' => $products]; - return [ - 'cart' => $this->fixtureFactory->createByCode('cart', $cart), - 'products' => $products - ]; - } - - /** - * Create products. - * - * @param array $productList - * @return array - */ - protected function prepareProducts(array $productList) - { - $addToCartStep = $this->testStepFactory->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $productList] - ); - - $result = $addToCartStep->run(); - return $result['products']; - } - - /** - * Add products to cart. - * - * @param array $products - * @param bool $isValidationFailed - * @return void - */ - protected function addToCart(array $products, $isValidationFailed) - { - $addToCartStep = $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products, 'isValidationFailed' => $isValidationFailed] - ); - $addToCartStep->run(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - // Workaround until MTA-3879 is delivered. - if ($this->configData == 'enable_https_frontend_admin_with_url') { - $this->getSystemConfigEditPage()->open(); - $this->getSystemConfigEditPage()->getForm() - ->getGroup('web', 'secure')->setValue('web', 'secure', 'use_in_frontend', 'No'); - $this->getSystemConfigEditPage()->getForm() - ->getGroup('web', 'secure')->setValue('web', 'secure', 'use_in_adminhtml', 'No'); - $this->getSystemConfigEditPage()->getForm() - ->getGroup('web', 'secure')->setValue('web', 'secure', 'base_url', $this->getBaseUrl()); - $this->getSystemConfigEditPage()->getForm() - ->getGroup('web', 'secure')->setValue('web', 'secure', 'base_link_url', $this->getBaseUrl()); - $this->getSystemConfigEditPage()->getPageActions()->save(); - $_ENV['app_backend_url'] = preg_replace('/(http[s]?)/', 'http', $_ENV['app_backend_url']); - $_ENV['app_frontend_url'] = preg_replace('/(http[s]?)/', 'http', $_ENV['app_frontend_url']); - $this->cache->flush(); - } - $this->envWhitelist->removeHost('example.com'); - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => $this->flushCache] - )->run(); - } - - /** - * Get base URL. - * - * @param bool $useHttps - * @return string - */ - private function getBaseUrl($useHttps = false) - { - $protocol = $useHttps ? 'https' : 'http'; - return preg_replace('/(http[s]?)/', $protocol, $_ENV['app_frontend_url']); - } - - /** - * Create System Config Edit Page. - * - * @return SystemConfigEdit - */ - private function getSystemConfigEditPage() - { - if (null === $this->configurationAdminPage) { - $this->configurationAdminPage = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->create( - \Magento\Backend\Test\Page\Adminhtml\SystemConfigEdit::class - ); - } - - return $this->configurationAdminPage; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.xml deleted file mode 100644 index 6baeae29566ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/AddProductsToShoppingCartEntityTest.xml +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - bundleProduct::bundle_dynamic_product - 210 - 200 - 2 - - - - - - - - - - bundleProduct::bundle_fixed_product - 761 - 756 - - - - - - - - - - catalogProductSimple::with_two_custom_option - 345 - 340 - - - - - - - - - - catalogProductVirtual::product_50_dollar - 50 - 50 - - - - - - - - - - severity:S0, mftf_migrated:yes - configurableProduct::default - 135 - 120 - - - - - - - - - - severity:S2, mftf_migrated:yes - downloadableProduct::with_two_separately_links - 22.43 - 22.43 - - - - - - - - - - severity:S2, mftf_migrated:yes - groupedProduct::three_simple_products - 1950 - 1920 - - - - - - - - - - severity:S0 - catalogProductSimple::with_two_custom_option - catalogProductVirtual::product_50_dollar - downloadableProduct::with_two_separately_links - groupedProduct::three_simple_products - configurableProduct::default - bundleProduct::bundle_fixed_product - bundleProduct::bundle_dynamic_product - 3473.43 - 3408.43 - enable_https_frontend_admin_with_url - true - 15 - - - - - - - - - - mftf_migrated:yes - disable_display_shopping_cart_sidebar - true - bundleProduct::bundle_dynamic_product - 210 - 200 - - - - - - - - - mftf_migrated:yes - catalogProductSimple::product_10_dollar - top_destinations_DE_ES_GB - 15.00 - 10.00 - - DE - ES - GB - - MAGETWO-61592 - [Shopping Cart] Top destinations are not displayed in the shopping cart summary - - - - severity:S2, mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - 10 - 11 - 6160.00 - true - - - - - - severity:S2, mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - 10 - 10 - 6160.00 - true - - - - - - severity:S2, mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - 10 - 10 - 6160.00 - true - - - - - - - severity:S2, mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - 10 - 11 - 6160.00 - true - - - - - - - severity:S2, mftf_migrated:yes - catalogProductVirtual::default - catalogProductVirtual::default - catalogProductVirtual::default - catalogProductVirtual::default - 2 - 3 - 4 - 6160.00 - true - checkout_max_items_display_count_to_2, minicart_max_items_display_count_to_3 - - - - - - - - - mftf_migrated:yes - catalogProductSimple::with_all_required_custom_option - 6160.00 - true - - - - - mftf_migrated:yes - catalogProductSimple::with_all_required_custom_option - 6160.00 - true - - - - mftf_migrated:yes - bundleProduct::bundle_with_multiselect_option_one_selection - 105 - 100 - 1 - - - - - - - - - mftf_migrated:yes - bundleProduct::bundle_with_multiselect_option_two_selections - 665 - 660 - 1 - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.php deleted file mode 100644 index 674ec3e50b725..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.php +++ /dev/null @@ -1,133 +0,0 @@ -cmsIndex = $cmsIndex; - $this->cartPage = $cartPage; - } - - /** - * Run test add products to shopping cart - * - * @param array $products - * @param int $deletedProductIndex - * @return array - */ - public function test(array $products, $deletedProductIndex) - { - // Preconditions - $products = $this->prepareProducts($products); - $this->cartPage->open(); - $this->cartPage->getCartBlock()->clearShoppingCart(); - - // Steps - $this->addToCart($products); - $this->cartPage->getMessagesBlock()->waitSuccessMessage(); - $this->removeProduct($products[$deletedProductIndex]); - $deletedProduct = $products[$deletedProductIndex]; - unset($products[$deletedProductIndex]); - - return ['products' => $products, 'deletedProduct' => $deletedProduct]; - } - - /** - * Create products - * - * @param array $productList - * @return InjectableFixture[] - */ - protected function prepareProducts(array $productList) - { - $productsStep = ObjectManager::getInstance()->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $productList] - ); - - $result = $productsStep->run(); - return $result['products']; - } - - /** - * Add products to cart - * - * @param array $products - * @return void - */ - protected function addToCart(array $products) - { - $addToCartStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - ); - $addToCartStep->run(); - } - - /** - * Remove product form cart - * - * @param FixtureInterface $product - * @return void - */ - protected function removeProduct(FixtureInterface $product) - { - $this->cmsIndex->open(); - $this->cmsIndex->getCartSidebarBlock()->openMiniCart(); - $this->cmsIndex->getCartSidebarBlock()->getCartItem($product)->removeItemFromMiniCart(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml deleted file mode 100644 index 43ad90fd45be3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - severity:S0, mftf_migrated:yes - delete Simple - catalogProductSimple::default - catalogProductVirtual::default - 0 - - - - - severity:S1, mftf_migrated:yes - delete Simple - catalogProductSimple::default - 0 - - - - severity:S2 - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - catalogProductSimple::default - 0 - 10 - 10 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.php deleted file mode 100644 index a45ae1e48e058..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.php +++ /dev/null @@ -1,146 +0,0 @@ -browser = $browser; - $this->fixtureFactory = $fixtureFactory; - $this->catalogProductView = $catalogProductView; - $this->cartPage = $cartPage; - } - - /** - * Run test add products to shopping cart - * - * @param array $productsData - * @return void - */ - public function test($productsData) - { - // Preconditions - $products = $this->prepareProducts($productsData); - - // Steps - $this->addToCart($products); - $this->removeProducts($products); - } - - /** - * Create products - * - * @param array $productList - * @return InjectableFixture[] - */ - protected function prepareProducts($productList) - { - $createProductsStep = ObjectManager::getInstance()->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $productList] - ); - - $result = $createProductsStep->run(); - return $result['products']; - } - - /** - * Add products to cart - * - * @param array $products - * @return void - */ - protected function addToCart(array $products) - { - $addToCartStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - ); - $addToCartStep->run(); - } - - /** - * Remove products form cart - * - * @param array $products - * @return void - */ - protected function removeProducts(array $products) - { - $this->cartPage->open(); - foreach ($products as $product) { - $this->cartPage->getCartBlock()->getCartItem($product)->removeItem(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.xml deleted file mode 100644 index ef7263516889e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/DeleteProductsFromShoppingCartTest.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - bundleProduct::bundle_dynamic_product - - - - severity:S2, mftf_migrated:yes - bundleProduct::bundle_fixed_product - - - - to_maintain:yes, severity:S1 - catalogProductSimple::with_two_custom_option - - - - severity:S2, mftf_migrated:yes - catalogProductVirtual::product_50_dollar - - - - severity:S1, mftf_migrated:yes - configurableProduct::default - - - - severity:S2, mftf_migrated:yes - downloadableProduct::with_two_separately_links - - - - severity:S2, mftf_migrated:yes - groupedProduct::three_simple_products - - - - to_maintain:yes, severity:S1 - catalogProductSimple::with_two_custom_option - catalogProductVirtual::product_50_dollar - downloadableProduct::with_two_separately_links - groupedProduct::three_simple_products - configurableProduct::default - bundleProduct::bundle_fixed_product - bundleProduct::bundle_dynamic_product - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.php deleted file mode 100644 index 9b85d27ecf07c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.php +++ /dev/null @@ -1,45 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.xml deleted file mode 100644 index 64ed05904469e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/EditShippingAddressOnePageCheckoutTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - johndoe_with_addresses - UK_address_without_email - empty_UK_address_without_email - Flat Rate - Fixed - Yes - - catalogProductSimple::default - - checkmo - false - false - true - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutDeclinedTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutDeclinedTest.php deleted file mode 100644 index 22814f35fcc90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutDeclinedTest.php +++ /dev/null @@ -1,46 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutFromMiniShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutFromMiniShoppingCartTest.php deleted file mode 100644 index e28f1bed31d71..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutFromMiniShoppingCartTest.php +++ /dev/null @@ -1,51 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.php deleted file mode 100644 index 2763982657072..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.php +++ /dev/null @@ -1,37 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.xml deleted file mode 100644 index 8d57f36db47db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutJsValidationTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S2,mftf_migrated:yes - catalogProductSimple::default - guest - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.php deleted file mode 100644 index 0ee22474f435e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.php +++ /dev/null @@ -1,84 +0,0 @@ -envWhitelist = $envWhitelist; - } - - /** - * Runs one page checkout test. - * - * @return void - */ - public function test() - { - $this->envWhitelist->addHost('example.com'); - $this->executeScenario(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.xml deleted file mode 100644 index 361c5031f3317..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutOfflinePaymentMethodsTest.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - severity:S1 - catalogProductSimple::default - johndoe_with_addresses - login - - 565.00 - - Flat Rate - Fixed - checkmo - checkmo, disable_guest_checkout, disable_customer_redirect_after_logging - - - - severity:S1 - catalogProductSimple::default - register_customer - register_before_checkout - - 565.00 - - Flat Rate - Fixed - US_address_1_without_email - checkmo - checkmo, disable_guest_checkout, disable_customer_redirect_after_logging, enable_https_frontend_only - - - - severity:S0 - catalogProductVirtual::default - downloadableProduct::with_two_separately_links - active_sales_rule_for_all_groups - customer_UK_1_default_billing_address - login - - 16.21 - - checkmo - Pending - Back, Send Email, Cancel, Hold, Invoice, Edit - checkmo_specificcountry_gb - - - - - - - severity:S0 - catalogProductSimple::default - active_sales_rule_for_all_groups - default - guest - US_address_1 - Flat Rate - Fixed - - 285.00 - - banktransfer - Processing - Back, Send Email, Cancel, Hold, Invoice, Edit - banktransfer - - - - - - - - severity:S1 - catalogProductSimple::product_with_qty_25 - 0 - out of stock - default - guest - UK_address - Flat Rate - Fixed - - 375.00 - - banktransfer - Processing - Back, Send Email, Cancel, Hold, Invoice, Edit - banktransfer_specificcountry_gb, can_subtract_and_can_back_in_stock - - - - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, severity:S0 - catalogProductSimple::product_with_special_price - configurableProduct::product_with_special_price - default - login - US_address_1_without_email - Flat Rate - Fixed - - 28.00 - - 18.00 - 10.00 - 28.00 - Yes - checkmo - checkmo - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, severity:S0 - catalogProductSimple::product_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - guest - US_address_1 - Free Shipping - Free - - 130.98 - - 121.00 - 9.98 - 0.00 - 130.98 - Yes - false - true - checkmo - checkmo, freeshipping_minimum_order_amount_100 - - - - - - - severity:S0 - catalogProductVirtual::product_50_dollar - active_sales_rule_with_fixed_price_discount_coupon - default - UK_address_without_email - guest - - 0.00 - - free - Pending - Back, Cancel, Send Email, Hold, Invoice, Edit - zero_subtotal_checkout - - - - - - - severity:S1 - catalogProductSimple::product_with_qty_25 - guest - UK_address_without_email - Flat Rate - Fixed - - 375 - - checkmo - Processing - Back, Send Email, Cancel, Hold, Invoice, Edit - - - - - - - - - severity:S0 - catalogProductSimple::default - default - 12312Qa. - register - UK_address_2 - UK_address_without_email - Flat Rate - Fixed - - 565.00 - - checkmo - - - - - severity:S1 - catalogProductSimple::simple_with_tier_price_and_order_qty_3 - default - login - UK_address_without_email - UK_address_2_without_email - Flat Rate - Fixed - - 87.00 - - banktransfer - banktransfer_specificcountry_gb - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php deleted file mode 100644 index 9ca3f439ed573..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php +++ /dev/null @@ -1,56 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index 0e646ecea04f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - catalogProductSimple::default - customer_UK_US_addresses - sign_in - - 1 - - - 565.00 - - Flat Rate - false - Fixed - checkmo - checkmo - - - - - severity:S1, mftf_migrated:yes - catalogProductSimple::default - customer_US_DE_UK - login - - 1 - - - 2 - - - 565.00 - - Flat Rate - false - Fixed - checkmo - checkmo - - - - - - severity:S1, mftf_migrated:yes - catalogProductSimple::default - johndoe_with_addresses - sign_in - - 565.00 - - UK_address_without_email - Flat Rate - Fixed - false - US_address_1_without_email - checkmo - checkmo - - - - - - severity:S1, mftf_migrated:yes - catalogProductSimple::default - customer_UK_US_addresses - login - - 0 - - - 0 - - - 565.00 - - Flat Rate - Fixed - checkmo - checkmo_specificcountry_gb - - - - - - severity:S0, mftf_migrated:yes - catalogProductVirtual::default - downloadableProduct::with_two_separately_links - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - catalogProductSimple::simple_10_dollar - groupedProduct::three_simple_products - default - login - UK_address_without_email_first_name_last_name - Flat Rate - Fixed - - 2118.43 - - checkmo - checkmo - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.php deleted file mode 100644 index 33e1e64129114..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.php +++ /dev/null @@ -1,60 +0,0 @@ -createByCode('catalogProductSimple', ['dataset' => 'default']); - $products[$i]->persist(); - } - - return ['preconditionProducts' => $products]; - } - - /** - * Run shopping cart pager test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.xml deleted file mode 100644 index e03351de7a2b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPagerTest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - severity:S2,mftf_migrated:yes - - - - severity:S2,mftf_migrated:yes - default_number_of_items_per_page_on_shopping_cart - catalogProductSimple::default - - - - - severity:S2,mftf_migrated:yes - catalogProductSimple::default - 1 - - - - severity:S2,mftf_migrated:yes - one_item_per_page_on_shopping_cart - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.php deleted file mode 100644 index 7365195d0cd44..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.php +++ /dev/null @@ -1,169 +0,0 @@ -checkoutCart = $checkoutCart; - $this->fixtureFactory = $fixtureFactory; - $this->cache = $cache; - } - - /** - * Run test for shopping cart with different customers. - * - * @param array $productsData - * @param string $customerDataset - * @param array $checkoutData - * @return array - */ - public function test( - array $productsData, - $customerDataset, - array $checkoutData - ) { - //Preconditions - $this->cache->flush(); - $products = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $productsData] - )->run()['products']; - - $customers = []; - $cartFixtures = []; - for ($i = 0, $count = count($checkoutData); $i < $count; $i++) { - $customers[$i] = $this->fixtureFactory->createByCode('customer', ['dataset' => $customerDataset]); - $customers[$i]->persist(); - - if (isset($checkoutData[$i])) { - $cartFixtures[$i] = $this->prepareShoppingCart($customers[$i], $checkoutData[$i], $products); - } - } - - //Steps - if (!empty($customers[0])) { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customers[0]] - )->run(); - $this->checkoutCart->open(); - $this->checkoutCart->open(); - } - - return [ - 'customers' => $customers, - 'cartFixtures' => $cartFixtures, - ]; - } - - /** - * Prepare shopping cart for customer. - * - * @param Customer $customer - * @param array $checkoutData - * @param array $products - * @return \Magento\Checkout\Test\Fixture\Cart|null - */ - private function prepareShoppingCart(Customer $customer, array $checkoutData, array $products) - { - $productsInCart = []; - if (isset($checkoutData['items'])) { - foreach ($checkoutData['items'] as $index => $dataset) { - if (isset($products[$index])) { - $productFixture = $this->fixtureFactory->create( - get_class($products[$index]), - [ - 'data' => array_merge( - $products[$index]->getData(), - ['checkout_data' => ['dataset' => $dataset]] - ) - ] - ); - $productsInCart[] = $productFixture; - } - } - } - - if (!empty($productsInCart)) { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $productsInCart] - )->run(); - - $cart['data'] = isset($checkoutData['totals']) ? $checkoutData['totals'] : []; - $cart['data']['items'] = ['products' => $productsInCart]; - return $this->fixtureFactory->createByCode('cart', $cart); - } - - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.xml deleted file mode 100644 index cd6a9559e31df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::with_two_custom_option - johndoe_unique_firstname - - - - simple_order_default - simple_with_two_custom_option - - - 900.00 - 910.00 - - - - - simple_with_two_custom_option_qty_2 - - - 740.00 - 750.00 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.php deleted file mode 100644 index 5bccfcd47939a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.php +++ /dev/null @@ -1,187 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - $this->fixtureFactory = $fixtureFactory; - $this->envWhitelist = $envWhitelist; - } - - /** - * Update product from mini shopping cart. - * @param array $originalProduct - * @param array $checkoutData - * @param boolean $useMiniCartToEditQty - * @param array $shippingAddress - * @param array $shipping - * @param array $payment - * @param Customer $customer - * @return array - */ - public function test( - array $originalProduct, - array $checkoutData, - $useMiniCartToEditQty = false, - $shippingAddress = null, - $shipping = null, - $payment = null, - Customer $customer = null - ) { - // Preconditions: - $this->envWhitelist->addHost('example.com'); - if ($customer !== null) { - $customer->persist(); - } - $product = $this->createProduct($originalProduct); - $this->addToCart($product); - - // Steps: - $productData = $product->getData(); - $productData['checkout_data'] = $checkoutData; - $newProduct = $this->createProduct([explode('::', $originalProduct[0])[0]], [$productData]); - $miniShoppingCart = $this->cmsIndex->getCartSidebarBlock(); - $miniShoppingCart->openMiniCart(); - - if ($useMiniCartToEditQty) { - $miniShoppingCart->getCartItem($newProduct)->editQty($newProduct->getCheckoutData()); - } else { - $miniShoppingCart->getCartItem($newProduct)->clickEditItem(); - $this->catalogProductView->getViewBlock()->addToCart($newProduct); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - // Prepare data for asserts: - $cart['data']['items'] = ['products' => [$newProduct]]; - $deletedCart['data']['items'] = ['products' => [$product]]; - - return [ - 'deletedCart' => $this->fixtureFactory->createByCode('cart', $deletedCart), - 'cart' => $this->fixtureFactory->createByCode('cart', $cart), - 'checkoutData' => [ - 'shippingAddress' => $shippingAddress, - 'shipping' => $shipping, - 'payment' => $payment - ] - ]; - } - - /** - * Create product. - * - * @param array $product - * @param array $data [optional] - * @return FixtureInterface - */ - protected function createProduct(array $product, array $data = []) - { - $createProductsStep = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $product, 'data' => $data] - ); - return $createProductsStep->run()['products'][0]; - } - - /** - * Add product to cart. - * - * @param FixtureInterface $product - * @return void - */ - protected function addToCart(FixtureInterface $product) - { - $addToCartStep = $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - ); - $addToCartStep->run(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.xml deleted file mode 100644 index 4b99de09f2a7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateProductFromMiniShoppingCartEntityTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - https://github.com/magento-engcom/msi/issues/1624 - test_type:extended_acceptance_test, severity:S0, mftf_migrated:yes - catalogProductSimple::default - simple_order_qty_2 - true - - 1130 - - customer_US - Flat Rate - Fixed - UK_address - free - - - - - - test_type:extended_acceptance_test, severity:S0 - configurableProduct::default - configurable_update_mini_shopping_cart - - - - - - - test_type:extended_acceptance_test, severity:S0 - bundleProduct::bundle_fixed_product - bundle_update_mini_shopping_cart - - - - - - - test_type:extended_acceptance_test, severity:S1 - downloadableProduct::with_two_separately_links - downloadable_update_mini_shopping_cart - - - - - - - test_type:extended_acceptance_test, severity:S1 - catalogProductVirtual::default - virtual_update_mini_shopping_cart - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.php deleted file mode 100644 index 83f19f160925e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.php +++ /dev/null @@ -1,124 +0,0 @@ -browser = $browser; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Inject data - * - * @param CatalogProductView $catalogProductView - * @param CheckoutCart $checkoutCart - * @return void - */ - public function __inject( - CatalogProductView $catalogProductView, - CheckoutCart $checkoutCart - ) { - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - } - - /** - * Update Shopping Cart - * - * @param CatalogProductSimple $product - * @return array - */ - public function test(CatalogProductSimple $product) - { - // Preconditions - $product->persist(); - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->clearShoppingCart(); - - // Steps - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $productView = $this->catalogProductView->getViewBlock(); - $productView->fillOptions($product); - $productView->setQty($product->getCheckoutData()['qty']); - $productView->clickAddToCart(); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - $qty = $product->getCheckoutData()['qty']; - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->getCartItem($product)->setQty($qty); - $this->checkoutCart->getCartBlock()->updateShoppingCart(); - - $cart['data']['items'] = ['products' => [$product]]; - return ['cart' => $this->fixtureFactory->createByCode('cart', $cart)]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.xml deleted file mode 100644 index 5caa3ba9b924e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/UpdateShoppingCartTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - severity:S0,mftf_migrated:yes - default - 100 - 3 - 100 - 300 - - - - - - - severity:S0,mftf_migrated:yes - with_two_custom_option - 50 - 11 - 65 - 715 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.php deleted file mode 100644 index 17df4f7da2b84..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.php +++ /dev/null @@ -1,74 +0,0 @@ -persist(); - - $cartPage->open(); - $cartPage->getCartBlock()->clearShoppingCart(); - - //Steps - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $productView = $catalogProductView->getViewBlock(); - $productView->fillOptions($product); - $productView->setQty($product->getCheckoutData()['qty']); - $productView->clickAddToCart(); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - $checkoutOnepage->open(); - $checkoutOnepage->getShippingBlock()->fill($customer); - $checkoutOnepage->getShippingMethodBlock()->clickContinue(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.xml deleted file mode 100644 index 8290d825593af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ValidateEmailOnCheckoutTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - johndoe - John - mftf_migrated:yes - - - - - johndoe#example.com - John - mftf_migrated:yes - - - - johndoe@example.c - John - mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/VerifyPaymentMethodOnCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/VerifyPaymentMethodOnCheckoutTest.php deleted file mode 100644 index d9ada68a1ca17..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/VerifyPaymentMethodOnCheckoutTest.php +++ /dev/null @@ -1,46 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddNewShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddNewShippingAddressStep.php deleted file mode 100644 index 66f442313a98c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddNewShippingAddressStep.php +++ /dev/null @@ -1,72 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->address = $shippingAddress; - $this->save = $save; - } - - /** - * Add new shipping address. - * - * @return array - */ - public function run() - { - $shippingBlock = $this->checkoutOnepage->getShippingBlock(); - $shippingBlock->clickOnNewAddressButton(); - if ($this->address) { - $shippingBlock->getAddressModalBlock()->fill($this->address); - } - if ($this->save) { - $shippingBlock->getAddressModalBlock()->save(); - } else { - $shippingBlock->getAddressModalBlock()->cancel(); - } - - return ['shippingAddress' => $this->address]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddProductsToTheCartStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddProductsToTheCartStep.php deleted file mode 100644 index 42d6c4502ef49..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/AddProductsToTheCartStep.php +++ /dev/null @@ -1,129 +0,0 @@ -catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - $this->cmsIndex = $cmsIndex; - $this->browser = $browser; - $this->fixtureFactory = $fixtureFactory; - $this->products = $products; - $this->isValidationFailed = $isValidationFailed; - } - - /** - * Add products to the cart. - * - * @return array - */ - public function run() - { - // Ensure that shopping cart is empty - $this->checkoutCart->open()->getCartBlock()->clearShoppingCart(); - - foreach ($this->products as $product) { - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->waitForElementNotVisible($this->loadingSelector); - $this->catalogProductView->getViewBlock()->addToCart($product); - - if ($this->isValidationFailed) { - $this->catalogProductView->getCustomOptionsBlock()->waitValidationErrorMessage(); - } else { - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - } - $cart['data']['items'] = ['products' => $this->products]; - sleep(10); - return ['cart' => $this->fixtureFactory->createByCode('cart', $cart)]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickPlaceOrderButtonStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickPlaceOrderButtonStep.php deleted file mode 100644 index 1f4c23a49dcf9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickPlaceOrderButtonStep.php +++ /dev/null @@ -1,41 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - } - - /** - * Click 'Place order' button. - * - * @return array - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickProceedToCheckoutStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickProceedToCheckoutStep.php deleted file mode 100644 index 41e20848960b3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ClickProceedToCheckoutStep.php +++ /dev/null @@ -1,44 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Proceed to checkout - * - * @return void - */ - public function run() - { - $this->checkoutCart->getProceedToCheckoutBlock()->proceedToCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/CreateCustomerAccountStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/CreateCustomerAccountStep.php deleted file mode 100644 index 13e4cfb195f9d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/CreateCustomerAccountStep.php +++ /dev/null @@ -1,98 +0,0 @@ -checkoutOnepageSuccess = $checkoutOnepageSuccess; - $this->checkoutMethod = $checkoutMethod; - $this->fixtureFactory = $fixtureFactory; - $this->customerAccountCreate = $customerAccountCreate; - $this->customerPassword = $customerPassword; - } - - /** - * Create customer account. - * - * @return void - */ - public function run() - { - if ($this->checkoutMethod === 'register') { - $this->checkoutOnepageSuccess->getRegistrationBlock()->createAccount(); - - $customerFixture = $this->fixtureFactory->createByCode( - 'customer', - [ - 'data' => [ - 'password' => $this->customerPassword, - 'password_confirmation' => $this->customerPassword, - ], - ] - ); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customerFixture); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EditShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EditShippingAddressStep.php deleted file mode 100644 index cd0918175b562..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EditShippingAddressStep.php +++ /dev/null @@ -1,101 +0,0 @@ -objectManager = $objectManager; - $this->checkoutOnepage = $checkoutOnepage; - $this->editAddress = $editShippingAddress; - $this->address = $shippingAddress; - $this->save = $editSave; - } - - /** - * Create customer account. - * - * @return array - */ - public function run() - { - $address = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $this->address, 'type' => 'html_without_company'] - )->render(); - - $shippingBlock = $this->checkoutOnepage->getShippingBlock(); - $shippingBlock->editAddress($address); - if ($this->editAddress) { - $shippingBlock->getAddressModalBlock()->fill($this->editAddress); - } - if ($this->save) { - $shippingBlock->getAddressModalBlock()->save(); - } else { - $shippingBlock->getAddressModalBlock()->cancel(); - } - - return ['shippingAddress' => $this->address]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EstimateShippingAndTaxStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EstimateShippingAndTaxStep.php deleted file mode 100644 index 0780b7d13a285..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/EstimateShippingAndTaxStep.php +++ /dev/null @@ -1,125 +0,0 @@ -checkoutCart = $checkoutCart; - $this->address = $address; - $this->assertEstimateShippingAndTax = $assertEstimateShippingAndTax; - $this->fixtureFactory = $fixtureFactory; - $this->products = $products; - $this->shipping = $shipping; - $this->cart = $cart; - } - - /** - * Estimate shipping and tax and process assertions for totals. - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->waitCartContainerLoading(); - sleep(20); - /** @var \Magento\Checkout\Test\Fixture\Cart $cart */ - if ($this->cart !== null) { - $cart = $this->fixtureFactory->createByCode( - 'cart', - ['data' => array_merge($this->cart->getData(), ['items' => ['products' => $this->products]])] - ); - $this->checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($this->address); - if (!empty($this->shipping)) { - $this->checkoutCart->getShippingBlock()->selectShippingMethod($this->shipping); - } - $this->checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - $this->assertEstimateShippingAndTax->processAssert($this->checkoutCart, $cart, false); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillBillingInformationStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillBillingInformationStep.php deleted file mode 100644 index 52b296c2e01fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillBillingInformationStep.php +++ /dev/null @@ -1,186 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->billingAddress = $billingAddress; - $this->shippingAddress = $shippingAddress; - $this->assertBillingAddressCheckbox = $assertBillingAddressCheckbox; - $this->customer = $customer; - $this->objectManager = $objectManager; - $this->billingCheckboxState = $billingCheckboxState; - $this->billingAddressCustomer = $billingAddressCustomer; - $this->editBillingInformation = $editBillingInformation; - } - - /** - * Fill billing address. - * - * @return array - */ - public function run() - { - $billingAddress = $this->billingAddress; - if ($this->billingCheckboxState) { - $this->assertBillingAddressCheckbox->processAssert($this->checkoutOnepage, $this->billingCheckboxState); - } - - if (!$this->editBillingInformation) { - $billingAddress = $this->billingCheckboxState === 'Yes' - ? $this->shippingAddress - : $this->getDefaultBillingAddress(); - - return ['billingAddress' => $billingAddress]; - } - - if ($this->billingAddress) { - $selectedPaymentMethod = $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock(); - if ($this->shippingAddress) { - $selectedPaymentMethod->getBillingBlock()->unsetSameAsShippingCheckboxValue(); - } - $selectedPaymentMethod->getBillingBlock()->fillBilling($this->billingAddress); - $billingAddress = $this->billingAddress; - } - - if (isset($this->billingAddressCustomer['added'])) { - $addressIndex = $this->billingAddressCustomer['added']; - $billingAddress = $this->customer->getDataFieldConfig('address')['source'] - ->getAddresses()[$addressIndex]; - $address = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $billingAddress, 'type' => 'html_for_select_element'] - )->render(); - $selectedPaymentMethod = $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock(); - $selectedPaymentMethod->getBillingBlock()->unsetSameAsShippingCheckboxValue(); - $this->checkoutOnepage->getCustomAddressBlock()->selectAddress($address); - $selectedPaymentMethod->getBillingBlock()->clickUpdate(); - } - - return [ - 'billingAddress' => $billingAddress - ]; - } - - /** - * Get default billing address - * - * @return Address|null - */ - private function getDefaultBillingAddress() - { - $addresses = $this->customer->hasData('address') - ? $this->customer->getDataFieldConfig('address')['source']->getAddresses() - : []; - $defaultAddress = null; - foreach ($addresses as $address) { - if ($address->getDefaultBilling() === 'Yes') { - $defaultAddress = $address; - break; - } - } - - return $defaultAddress; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php deleted file mode 100644 index e4aea7302c337..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php +++ /dev/null @@ -1,131 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->customer = $customer; - $this->objectManager = $objectManager; - $this->fixtureFactory = $fixtureFactory; - $this->shippingAddress = $shippingAddress; - $this->shippingAddressCustomer = $shippingAddressCustomer; - } - - /** - * Fill shipping address. - * - * @return array - */ - public function run() - { - $shippingAddress = null; - if ($this->shippingAddress) { - $shippingBlock = $this->checkoutOnepage->getShippingBlock(); - if ($shippingBlock->isPopupNewAddressButtonVisible()) { - $shippingBlock->clickPopupNewAddressButton(); - $this->checkoutOnepage->getShippingAddressPopupBlock() - ->fill($this->shippingAddress) - ->clickSaveAddressButton(); - } else { - $shippingBlock->fill($this->shippingAddress); - } - $shippingAddress = $this->shippingAddress; - } - if (isset($this->shippingAddressCustomer['new'])) { - $shippingAddress = $this->fixtureFactory->create( - 'address', - ['dataset' => $this->shippingAddressCustomer['new']] - ); - $this->checkoutOnepage->getShippingBlock()->clickPopupNewAddressButton(); - $this->checkoutOnepage->getShippingAddressPopupBlock()->fill($shippingAddress)->clickSaveAddressButton(); - } - if (isset($this->shippingAddressCustomer['added'])) { - $addressIndex = $this->shippingAddressCustomer['added']; - $shippingAddress = $this->customer->getDataFieldConfig('address')['source']->getAddresses()[$addressIndex]; - $address = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $shippingAddress, 'type' => 'html_without_company'] - )->render(); - $shippingBlock = $this->checkoutOnepage->getShippingBlock(); - $shippingBlock->selectAddress($address); - } - - return [ - 'shippingAddress' => $shippingAddress, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodOnEstimateStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodOnEstimateStep.php deleted file mode 100644 index 0d3c251862c9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodOnEstimateStep.php +++ /dev/null @@ -1,70 +0,0 @@ -checkoutCart = $checkoutCart; - $this->address = $address; - $this->shipping = $shipping; - } - - /** - * Load shipping information and set the shipping method. - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->waitCartContainerLoading(); - $this->checkoutCart->getShippingBlock()->resetAddress(); - $this->checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($this->address); - if (!empty($this->shipping)) { - $this->checkoutCart->getShippingBlock()->selectShippingMethod($this->shipping); - } - $this->checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodStep.php deleted file mode 100644 index 91c4493fcb45e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingMethodStep.php +++ /dev/null @@ -1,55 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->shipping = $shipping; - } - - /** - * Select shipping method - * - * @return void - */ - public function run() - { - if (!empty($this->shipping)) { - $this->checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($this->shipping); - $this->checkoutOnepage->getShippingMethodBlock()->clickContinue(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/GetPlacedOrderIdStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/GetPlacedOrderIdStep.php deleted file mode 100644 index dc142d9acc2b7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/GetPlacedOrderIdStep.php +++ /dev/null @@ -1,74 +0,0 @@ -checkoutOnepageSuccess = $checkoutOnepageSuccess; - $this->decorator = $decorator; - } - - /** - * Get success placed order id. - * - * @return array - */ - public function run() - { - $incrementId = $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); - return [ - 'entityId' => $this->getEntityId($incrementId), - 'orderId' => $incrementId - ]; - } - - /** - * Get order entity id by increment id. - * - * @param string $incrementId - * @return string - */ - private function getEntityId($incrementId) - { - $url = $_ENV['app_frontend_url'] . 'rest/V1/orders/'; - $url .= '?searchCriteria[filterGroups][0][filters][0][field]=increment_id'; - $url .= '&searchCriteria[filterGroups][0][filters][0][value]=' . $incrementId; - $this->decorator->write($url, [], WebapiDecorator::GET); - $response = json_decode($this->decorator->read(), true); - $this->decorator->close(); - return $response['items'][0]['entity_id']; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php deleted file mode 100644 index 964f8f366f223..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php +++ /dev/null @@ -1,138 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->assertGrandTotalOrderReview = $assertGrandTotalOrderReview; - $this->checkoutOnepageSuccess = $checkoutOnepageSuccess; - $this->fixtureFactory = $fixtureFactory; - $this->products = $products; - $this->prices = $prices; - $this->order = $order; - $this->assertOrderSuccessPlacedMessage = $assertOrderSuccessPlacedMessage - ?: ObjectManager::getInstance()->create(AssertOrderSuccessPlacedMessage::class); - } - - /** - * Place order after checking order totals on review step. - * - * @return array - */ - public function run() - { - if (isset($this->prices['grandTotal'])) { - $this->assertGrandTotalOrderReview->processAssert($this->checkoutOnepage, $this->prices['grandTotal']); - } - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - $orderId = $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); - $this->assertOrderSuccessPlacedMessage->processAssert($this->checkoutOnepageSuccess); - $data = [ - 'id' => $orderId, - 'entity_id' => ['products' => $this->products] - ]; - $orderData = $this->order !== null ? $this->order->getData() : []; - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - ['data' => array_merge($data, $orderData)] - ); - - return [ - 'orderId' => $orderId, - 'order' => $order, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutFromMiniShoppingCartStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutFromMiniShoppingCartStep.php deleted file mode 100644 index 730dae516adcc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutFromMiniShoppingCartStep.php +++ /dev/null @@ -1,42 +0,0 @@ -miniShoppingCart = $cmsIndex->getCartSidebarBlock(); - } - - /** - * Proceed to checkout. - * - * @return void - */ - public function run() - { - $this->miniShoppingCart->openMiniCart(); - $this->miniShoppingCart->clickProceedToCheckoutButton(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutStep.php deleted file mode 100644 index 88e751b7ac66a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/ProceedToCheckoutStep.php +++ /dev/null @@ -1,44 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Proceed to checkout - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getProceedToCheckoutBlock()->proceedToCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RefreshPageStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RefreshPageStep.php deleted file mode 100644 index 4177c57846e8b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RefreshPageStep.php +++ /dev/null @@ -1,53 +0,0 @@ -browser = $browser; - $this->refresh = $refresh; - } - - /** - * Refresh page. - * - * @return void - */ - public function run() - { - if ($this->refresh) { - $this->browser->refresh(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RemoveProductsFromTheCartStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RemoveProductsFromTheCartStep.php deleted file mode 100644 index 6e1042eed5d83..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/RemoveProductsFromTheCartStep.php +++ /dev/null @@ -1,83 +0,0 @@ -cartPage = $cartPage; - $this->fixtureFactory = $fixtureFactory; - $this->products = $products; - $this->itemsToRemove = $itemsToRemove; - } - - /** - * Remove products from the shopping cart. - * - * @return array - */ - public function run() - { - if ($this->itemsToRemove !== null) { - $this->cartPage->open(); - $productsToRemove = array_slice($this->products, 1, $this->itemsToRemove); - foreach ($productsToRemove as $product) { - $this->cartPage->getCartBlock()->getCartItem($product)->removeItem(); - } - $this->products = array_slice($this->products, $this->itemsToRemove + 1); - } - $cart['data']['items'] = ['products' => $this->products]; - - return ['cart' => $this->fixtureFactory->createByCode('cart', $cart)]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php deleted file mode 100644 index f79cf8d7eb7fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php +++ /dev/null @@ -1,159 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->customerAccountCreatePage = $customerAccountCreatePage; - $this->customer = $customer; - $this->logoutCustomerOnFrontend = $logoutCustomerOnFrontend; - $this->clickProceedToCheckoutStep = $clickProceedToCheckoutStep; - $this->checkoutMethod = $checkoutMethod; - $this->proceedToCheckoutFromMiniShoppingCartStep = $proceedToCheckoutFromMiniShoppingCartStep; - } - - /** - * Run step that selecting checkout method. - * - * @return void - */ - public function run() - { - sleep(20); - $this->processLogin(); - $this->processRegister(); - sleep(20); - } - - /** - * Process login action. - * - * @return void - */ - private function processLogin() - { - if ($this->checkoutMethod === 'login') { - if ($this->checkoutOnepage->getAuthenticationPopupBlock()->isVisible()) { - $this->checkoutOnepage->getAuthenticationPopupBlock()->loginCustomer($this->customer); - $this->clickProceedToCheckoutStep->run(); - } else { - $this->checkoutOnepage->getLoginBlock()->loginCustomer($this->customer); - } - } elseif ($this->checkoutMethod === 'guest') { - $this->checkoutOnepage->getLoginBlock()->fillGuestFields($this->customer); - } elseif ($this->checkoutMethod === 'sign_in') { - $this->checkoutOnepage->getAuthenticationWrapperBlock()->signInLinkClick(); - $this->checkoutOnepage->getAuthenticationWrapperBlock()->loginCustomer($this->customer); - } - } - - /** - * Process customer register action. - * - * @return void - */ - private function processRegister() - { - if ($this->checkoutMethod === 'register_before_checkout') { - $this->checkoutOnepage->getAuthenticationPopupBlock()->createAccount(); - $this->customerAccountCreatePage->getRegisterForm()->registerCustomer($this->customer); - $this->proceedToCheckoutFromMiniShoppingCartStep->run(); - } - } - - /** - * Logout customer on frontend. - * - * @return void - */ - public function cleanup() - { - if ($this->checkoutMethod === 'login' || - $this->checkoutMethod === 'sign_in' || - $this->checkoutMethod === 'register_before_checkout') { - $this->logoutCustomerOnFrontend->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectPaymentMethodStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectPaymentMethodStep.php deleted file mode 100644 index ab9d54b7c71b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectPaymentMethodStep.php +++ /dev/null @@ -1,89 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->payment = $payment; - $this->creditCard = $creditCard; - $this->paymentForm = $paymentForm; - $this->fillCreditCardOn3rdParty = $fillCreditCardOn3rdParty; - } - - /** - * Run step that selecting payment method. - * - * @return void - */ - public function run() - { - if ($this->payment['method'] !== 'free') { - $this->checkoutOnepage->getPaymentBlock()->selectPaymentMethod( - $this->payment, - $this->creditCard, - $this->paymentForm, - $this->fillCreditCardOn3rdParty - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/di.xml deleted file mode 100644 index 9e819f147700e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/di.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S1 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S0 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S1 - - - - - S0 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/testcase.xml deleted file mode 100644 index f0b0194039a34..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/etc/testcase.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/AgreementGrid.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/AgreementGrid.php deleted file mode 100644 index b1217dd6c7d97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/AgreementGrid.php +++ /dev/null @@ -1,41 +0,0 @@ - [ - 'selector' => 'input[name="name"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/Block/Agreement/Edit/AgreementsForm.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/Block/Agreement/Edit/AgreementsForm.php deleted file mode 100644 index 304ba24ce032b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Adminhtml/Block/Agreement/Edit/AgreementsForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - select - - - select - - - select - - - [name="stores[]"] - multiselectgrouplist - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Multishipping/MultishippingAgreementReview.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Multishipping/MultishippingAgreementReview.php deleted file mode 100644 index e6f1d73f8bb11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Multishipping/MultishippingAgreementReview.php +++ /dev/null @@ -1,72 +0,0 @@ -_rootElement->find($this->notification)->getText(); - } - - /** - * Set agreement - * - * @param string $value - * @return void - */ - public function setAgreement($value) - { - $this->_rootElement->find($this->agreementCheckbox, Locator::SELECTOR_CSS, 'checkbox')->setValue($value); - } - - /** - * Check agreement - * - * @param CheckoutAgreement $agreement - * @return bool - */ - public function checkAgreement(CheckoutAgreement $agreement) - { - return $this->_rootElement - ->find(sprintf($this->agreement, $agreement->getCheckboxText()), Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Onepage/AgreementReview.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Onepage/AgreementReview.php deleted file mode 100644 index 12152fa95f1d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Block/Onepage/AgreementReview.php +++ /dev/null @@ -1,77 +0,0 @@ -_rootElement->find($this->notification)->getText(); - } - - /** - * Set agreement - * - * @param string $value - * @param CheckoutAgreement $agreement - * @return void - */ - public function setAgreement($value, CheckoutAgreement $agreement) - { - $this->getSelectedPaymentMethodBlock()->_rootElement->find( - sprintf($this->agreementCheckbox, $agreement->getCheckboxText()), - Locator::SELECTOR_XPATH, - 'checkbox' - )->setValue($value); - } - - /** - * Check agreement - * - * @param CheckoutAgreement $agreement - * @return bool - */ - public function checkAgreement(CheckoutAgreement $agreement) - { - return $this->_rootElement - ->find(sprintf($this->agreement, $agreement->getCheckboxText()), Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentInGrid.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentInGrid.php deleted file mode 100644 index 7fa9fb7bf2e32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentInGrid.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertFalse( - $agreementIndex->getAgreementGridBlock()->isRowVisible(['name' => $agreement->getName()]), - 'Checkout Agreement \'' . $agreement->getName() . '\' is present in agreement grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Checkout Agreement is absent in agreement grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentOnCheckout.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentOnCheckout.php deleted file mode 100644 index 9d4c245767dcd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermAbsentOnCheckout.php +++ /dev/null @@ -1,77 +0,0 @@ - ['dataSet' => 'US_address_1']]; - $productsData = ['products' => $products]; - $shippingMethodData = ['shipping' => $shipping]; - $paymentData = ['payment' => $payment]; - - $products = $objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - $productsData - )->run(); - $objectManager->create(\Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, $products)->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class - )->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingAddressStep::class, - $shippingAddressData - )->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class, - $shippingMethodData - )->run(); - $objectManager->create(\Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, $paymentData)->run(); - - \PHPUnit\Framework\Assert::assertFalse( - $checkoutOnepage->getAgreementReview()->checkAgreement($agreement), - 'Checkout Agreement \'' . $agreement->getName() . '\' is present in the Place order step.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Checkout Agreement is absent on checkout page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermInGrid.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermInGrid.php deleted file mode 100644 index 27ecba1f97e46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermInGrid.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $agreementIndex->getAgreementGridBlock()->isRowVisible(['name' => $agreement->getName()]), - 'Checkout Agreement \'' . $agreement->getName() . '\' is absent in agreement grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Checkout Agreement is present in agreement grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermOnCheckout.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermOnCheckout.php deleted file mode 100644 index cbf57310a6e32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermOnCheckout.php +++ /dev/null @@ -1,97 +0,0 @@ -getPaymentBlock(); - $shippingAddressData = ['shippingAddress' => ['dataSet' => 'US_address_1']]; - $productsData = ['products' => $products]; - $shippingMethodData = ['shipping' => $shipping]; - $paymentData = ['payment' => $payment]; - - $products = $objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - $productsData - )->run(); - $objectManager->create(\Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, $products)->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class - )->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingAddressStep::class, - $shippingAddressData - )->run(); - $objectManager->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class, - $shippingMethodData - )->run(); - $objectManager->create(\Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, $paymentData)->run(); - - $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - \PHPUnit\Framework\Assert::assertEquals( - self::NOTIFICATION_MESSAGE, - $checkoutOnepage->getAgreementReview()->getNotificationMassage(), - 'Notification required message of Terms and Conditions is absent.' - ); - $checkoutOnepage->getAgreementReview()->setAgreement('Yes', $agreement); - $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - $assertOrderSuccessPlacedMessage->processAssert($checkoutOnepageSuccess); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order was placed with checkout agreement successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermRequireMessageOnMultishippingCheckout.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermRequireMessageOnMultishippingCheckout.php deleted file mode 100644 index fba4690f23f82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermRequireMessageOnMultishippingCheckout.php +++ /dev/null @@ -1,93 +0,0 @@ - ['dataset' => 'johndoe_with_multiple_addresses']]; - $customer = $stepFactory->create(\Magento\Customer\Test\TestStep\CreateCustomerStep::class, $customer)->run(); - $products = $stepFactory->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - )->run(); - $stepFactory->create(\Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, $customer)->run(); - $stepFactory->create(\Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, $products)->run(); - $stepFactory->create(\Magento\Multishipping\Test\TestStep\ProceedToMultipleAddressCheckoutStep::class)->run(); - $stepFactory->create( - \Magento\Multishipping\Test\TestStep\FillCustomerAddressesStep::class, - array_merge($products, $customer) - )->run(); - $stepFactory->create( - \Magento\Multishipping\Test\TestStep\FillShippingInformationStep::class, - array_merge(['shippingMethod' => $shipping], $customer) - )->run(); - $stepFactory->create( - \Magento\Multishipping\Test\TestStep\SelectPaymentMethodStep::class, - ['payment' => $payment] - )->run(); - $stepFactory->create( - \Magento\CheckoutAgreements\Test\TestStep\CheckTermOnMultishippingStep::class, - ['agreementValue' => 'No'] - )->run(); - $stepFactory->create(\Magento\Multishipping\Test\TestStep\PlaceOrderStep::class)->run(); - \PHPUnit\Framework\Assert::assertEquals( - self::NOTIFICATION_MESSAGE, - $page->getAgreementReview()->getNotificationMassage(), - 'Notification required message of Terms and Conditions is absent.' - ); - $stepFactory->create( - \Magento\CheckoutAgreements\Test\TestStep\CheckTermOnMultishippingStep::class, - ['agreementValue' => 'Yes'] - )->run(); - $stepFactory->create(\Magento\Multishipping\Test\TestStep\PlaceOrderStep::class)->run(); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Validation error message for terms and conditions checkbox is present on multishipping checkout.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php deleted file mode 100644 index aae1217b65344..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessDeleteMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success delete message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Terms and Conditions success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php deleted file mode 100644 index afa9ac8340fb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Constraint/AssertTermSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Terms and Conditions success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml deleted file mode 100644 index d6d6635326c15..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement/Stores.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement/Stores.php deleted file mode 100644 index e6a1695bf3e96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement/Stores.php +++ /dev/null @@ -1,56 +0,0 @@ -params = $params; - if (isset($data['dataset'])) { - foreach ($data['dataset'] as $store) { - $store = $fixtureFactory->createByCode('store', ['dataset' => $store]); - /** @var Store $store */ - if (!$store->getStoreId()) { - $store->persist(); - } - $this->stores[] = $store; - $this->data[] = $store->getGroupId() . '/' . $store->getName(); - } - } - } - - /** - * Return array. - * - * @return Store[] - */ - public function getStores() - { - return $this->stores; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/CheckoutAgreementInterface.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/CheckoutAgreementInterface.php deleted file mode 100644 index f07714da3347f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/CheckoutAgreementInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'Enabled' => 1, - 'Disabled' => 0, - ], - 'is_html' => [ - 'HTML' => 1, - 'Text' => 0, - ], - ]; - - /** - * Url for save checkout agreement - * - * @var string - */ - protected $url = 'checkout/agreement/save/'; - - /** - * Post request for creating new checkout agreement - * - * @param FixtureInterface|null $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $url = $_ENV['app_backend_url'] . $this->url; - $data = $this->prepareData($fixture); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Checkout agreement creating by curl handler was not successful! Response: $response"); - } - preg_match('~id\/(\d*?)\/~', $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - - return ['agreement_id' => $id]; - } - - /** - * Prepare data - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData($fixture) - { - $data = []; - /** @var \Magento\CheckoutAgreements\Test\Fixture\CheckoutAgreement $fixture */ - $stores = $fixture->getDataFieldConfig('stores')['source']->getStores(); - foreach ($stores as $store) { - /** @var \Magento\Store\Test\Fixture\Store $store */ - $data['stores'][] = $store->getStoreId(); - } - $data = $this->replaceMappingData(array_merge($fixture->getData(), $data)); - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementIndex.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementIndex.xml deleted file mode 100644 index daa525f482c3a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementNew.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementNew.xml deleted file mode 100644 index 96461c9984818..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/Adminhtml/CheckoutAgreementNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml deleted file mode 100644 index a364b16d835ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/CheckoutOnepage.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/MultishippingCheckoutOverview.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/MultishippingCheckoutOverview.xml deleted file mode 100644 index a266b09278ddb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Page/MultishippingCheckoutOverview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/CheckoutAgreement.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/CheckoutAgreement.xml deleted file mode 100644 index 9dc9c7a60fb11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/CheckoutAgreement.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - DefaultName%isolation% - Enabled - Text - Manually - - default - - test_checkbox%isolation% - TestMessage%isolation% - - - - TermDisabledTextName%isolation% - Disabled - Text - Manually - - - default - - - test_checkbox%isolation% - TestMessage%isolation% - - - - - TermDisabledHtml%isolation% - Disabled - HTML - Manually - - - default - - - test_checkbox%isolation% - TestMessage%isolation% - - - - - TermEnabledTextName%isolation% - Enabled - Text - Manually - - - default - - - test_checkbox%isolation% - TestMessage%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/ConfigData.xml deleted file mode 100644 index 895bfef424c3c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - checkout - 1 - Yes - 1 - - - - - - checkout - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.php deleted file mode 100644 index b3f8cf24e2f4f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.php +++ /dev/null @@ -1,42 +0,0 @@ - Configuration > Sales > Checkout > Checkout Options - * - * Steps: - * 1. Open Backend Stores > Terms and Conditions - * 2. Create new "Terms and Conditions" - * 3. Fill data from dataset - * 4. Save - * 5. Perform all assertions - * - * @group Terms_and_Conditions - * @ZephyrId MAGETWO-29586, MAGETWO-32499 - */ -class CreateTermEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - const SEVERITY = 'S3'; - /* end tags */ - - /** - * Create term entity test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.xml deleted file mode 100644 index 1e96d9a64ae26..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/CreateTermEntityTest.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - test_type:extended_acceptance_test, severity:S3 - checkout_term_condition - catalogProductSimple::default - name%isolation% - Enabled - Text - Manually - default - test_checkbox%isolation% - TestMessage%isolation% - Flat Rate - Fixed - checkmo - - - - - - severity:S3 - checkout_term_condition - catalogProductSimple::default - name%isolation% - Enabled - HTML - Manually - default - test_checkbox%isolation% - <html> - Flat Rate - Fixed - checkmo - - - - - - severity:S3 - checkout_term_condition - catalogProductSimple::default - name%isolation% - Disabled - Text - Manually - default - test_checkbox%isolation% - TestMessage%isolation% - Flat Rate - Fixed - checkmo - - - - - - test_type:extended_acceptance_test, severity:S3 - checkout_term_condition - catalogProductSimple::default - catalogProductSimple::default - name%isolation% - Enabled - Text - Manually - default - test_checkbox%isolation% - TestMessage%isolation% - Flat Rate - Fixed - checkmo - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.php deleted file mode 100644 index ef8ef4854a706..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.php +++ /dev/null @@ -1,41 +0,0 @@ - Configuration > Sales > Checkout > Checkout Options. - * 2. Create term according to dataset. - * - * Steps: - * 1. Open Backend Stores > Terms and Conditions. - * 2. Open created Term from preconditions. - * 3. Click on 'Delete' button. - * 4. Perform all assertions. - * - * @group Terms_and_Conditions - * @ZephyrId MAGETWO-29687 - */ -class DeleteTermEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S3'; - /* end tags */ - - /** - * Delete Term Entity test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.xml deleted file mode 100644 index b8298ffcee3c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/DeleteTermEntityTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - severity:S3, mftf_migrated:yes - checkout_term_condition - catalogProductSimple::default - term_enabled_text - Flat Rate - Fixed - checkmo - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 3458e2944a9ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - Stores > Terms and Conditions - Terms and Conditions - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.php deleted file mode 100644 index 4a7dd9a3be6af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.php +++ /dev/null @@ -1,42 +0,0 @@ - Configuration > Sales > Checkout > Checkout Options - * 2. Create term according to dataset - * - * Steps: - * 1. Open Backend Stores > Terms and Conditions - * 2. Open created Term from preconditions - * 3. Fill data from dataset - * 4. Save - * 5. Perform all assertions - * - * @group Terms_and_Conditions - * @ZephyrId MAGETWO-29635 - */ -class UpdateTermEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Update Term Entity test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.xml deleted file mode 100644 index 875c6dca4ebf3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestCase/UpdateTermEntityTest.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - severity:S2 - checkout_term_condition - catalogProductSimple::default - term_disabled_text - name%isolation% - Enabled - HTML - Manually - default - test_checkbox%isolation% - TestMessage%isolation% - Flat Rate - Fixed - checkmo - - - - - - severity:S3 - checkout_term_condition - catalogProductSimple::default - term_disabled_html - name%isolation% - Enabled - Text - Manually - default - test_checkbox%isolation% - <html> - Flat Rate - Fixed - checkmo - - - - - - severity:S3 - checkout_term_condition - catalogProductSimple::default - term_enabled_text - name%isolation% - Disabled - HTML - Manually - default - test_checkbox%isolation% - TestMessage%isolation% - Flat Rate - Fixed - checkmo - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CheckTermOnMultishippingStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CheckTermOnMultishippingStep.php deleted file mode 100644 index 99a571acfb9de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CheckTermOnMultishippingStep.php +++ /dev/null @@ -1,52 +0,0 @@ -multishippingCheckoutOverview = $multishippingCheckoutOverview; - $this->agreementValue = $agreementValue; - } - - /** - * Process Terms and Conditions checkbox on multiple addresses checkout overview step. - * - * @return void - */ - public function run() - { - $this->multishippingCheckoutOverview->getAgreementReview()->setAgreement($this->agreementValue); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CreateTermEntityStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CreateTermEntityStep.php deleted file mode 100644 index e8c1a5b787e48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/CreateTermEntityStep.php +++ /dev/null @@ -1,87 +0,0 @@ -deleteAllTermsEntityStep = $deleteAllTermsEntityStep; - $this->agreementIndex = $agreementIndex; - $this->agreementNew = $agreementNew; - $this->agreement = $agreement; - } - - /** - * Create checkout agreement. - * - * @return array - */ - public function run() - { - $this->agreementIndex->open(); - $this->agreementIndex->getPageActionsBlock()->addNew(); - $this->agreementNew->getAgreementsForm()->fill($this->agreement); - $this->agreementNew->getPageActionsBlock()->save(); - return ['agreement' => $this->agreement]; - } - - /** - * Remove all created terms. - * - * @return void - */ - public function cleanup() - { - $this->deleteAllTermsEntityStep->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteAllTermsEntityStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteAllTermsEntityStep.php deleted file mode 100644 index bc99a36db314f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteAllTermsEntityStep.php +++ /dev/null @@ -1,62 +0,0 @@ -agreementNew = $agreementNew; - $this->agreementIndex = $agreementIndex; - } - - /** - * Delete terms on backend - * - * @return void - */ - public function run() - { - $this->agreementIndex->open(); - $this->agreementIndex->getAgreementGridBlock()->resetFilter(); - while ($this->agreementIndex->getAgreementGridBlock()->isFirstRowVisible()) { - $this->agreementIndex->getAgreementGridBlock()->openFirstRow(); - $this->agreementNew->getPageActionsBlock()->delete(); - $this->agreementNew->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteTermEntityStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteTermEntityStep.php deleted file mode 100644 index e0094fcb9e366..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/DeleteTermEntityStep.php +++ /dev/null @@ -1,68 +0,0 @@ -deleteAllTermsEntityStep = $deleteAllTermsEntityStep; - $this->agreementIndex = $agreementIndex; - $this->agreementNew = $agreementNew; - $this->agreement = $agreement; - } - - /** - * Delete checkout agreement. - * - * @return array - */ - public function run() - { - $this->agreementIndex->open()->getAgreementGridBlock()->searchAndOpen(['name' => $this->agreement->getName()]); - $this->agreementNew->getPageActionsBlock()->delete(); - $this->agreementNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/SetupTermEntityStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/SetupTermEntityStep.php deleted file mode 100644 index 77eaec3d1cab6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/SetupTermEntityStep.php +++ /dev/null @@ -1,62 +0,0 @@ -deleteAllTermsEntityStep = $deleteAllTermsEntityStep; - $this->agreement = $agreement; - } - - /** - * Create checkout agreement. - * - * @return array - */ - public function run() - { - $this->agreement->persist(); - return ['agreement' => $this->agreement]; - } - - /** - * Remove all created terms. - * - * @return void - */ - public function cleanup() - { - $this->deleteAllTermsEntityStep->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/UpdateTermEntityStep.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/UpdateTermEntityStep.php deleted file mode 100644 index ef4417cfd8b46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/TestStep/UpdateTermEntityStep.php +++ /dev/null @@ -1,77 +0,0 @@ -agreementIndex = $agreementIndex; - $this->agreementNew = $agreementNew; - $this->agreement = $agreement; - $this->agreementUpdated = $agreementUpdated; - } - - /** - * Update checkout agreement. - * - * @return array - */ - public function run() - { - $this->agreementIndex->open(); - $this->agreementIndex->getAgreementGridBlock()->searchAndOpen(['name' => $this->agreement->getName()]); - $this->agreementNew->getAgreementsForm()->fill($this->agreementUpdated); - $this->agreementNew->getPageActionsBlock()->save(); - return ['agreement' => $this->agreementUpdated]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/curl/di.xml deleted file mode 100644 index 7d5a141f14412..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/di.xml deleted file mode 100644 index 68209720a84a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/di.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - S3 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S3 - - - diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/testcase.xml deleted file mode 100644 index 2cd6c2a214bbb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/etc/testcase.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/CmsGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/CmsGrid.php deleted file mode 100644 index 6763d6a09ef4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/CmsGrid.php +++ /dev/null @@ -1,76 +0,0 @@ - [ - 'selector' => '[name="block_id[from]"]', - ], - 'block_id_to' => [ - 'selector' => '[name="block_id[to]"]', - ], - 'title' => [ - 'selector' => '[name="title"]', - ], - 'identifier' => [ - 'selector' => '[name="identifier"]', - ], - 'store_id' => [ - 'selector' => '[name="store_id"]', - 'input' => 'simplifiedselect' - ], - 'is_active' => [ - 'selector' => '//label[span[text()="Status"]]/following-sibling::div', - 'strategy' => 'xpath', - 'input' => 'dropdownmultiselect', - ], - 'creation_time_from' => [ - 'selector' => '[name="creation_time[from]"]', - ], - 'creation_time_to' => [ - 'selector' => '[name="creation_time[to]"]', - ], - 'update_time_from' => [ - 'selector' => '[name="update_time[from]"]', - ], - 'update_time_to' => [ - 'selector' => '[name="update_time[to]"]', - ], - ]; - - /** - * Click on "Edit" link. - * - * @param SimpleElement $rowItem - * @return void - */ - protected function clickEditLink(SimpleElement $rowItem) - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->editLink)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/BlockForm.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/BlockForm.php deleted file mode 100644 index 1147a3edf34ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/BlockForm.php +++ /dev/null @@ -1,85 +0,0 @@ -_rootElement->find($this->addVariableButton); - if ($addVariableButton->isVisible()) { - $addVariableButton->click(); - } - } - - /** - * Get for wysiwyg config block. - * - * @return Config - */ - public function getWysiwygConfig() - { - return $this->blockFactory->create( - \Magento\Cms\Test\Block\Adminhtml\Wysiwyg\Config::class, - ['element' => $this->_rootElement->find($this->customVariableBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Page Content Show/Hide Editor toggle button. - * - * @return void - */ - public function toggleEditor() - { - $content = $this->_rootElement->find($this->contentForm, Locator::SELECTOR_CSS); - $toggleButton = $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS); - if (!$content->isVisible() && $toggleButton->isVisible()) { - $toggleButton->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.php deleted file mode 100644 index 91df9fa8fc1c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.php +++ /dev/null @@ -1,58 +0,0 @@ -hideEditor(); - return parent::fill($fixture, $element); - } - - /** - * Hide WYSIWYG editor. - * - * @return void - */ - protected function hideEditor() - { - $content = $this->_rootElement->find($this->contentForm); - $toggleButton = $this->_rootElement->find($this->toggleButton); - if (!$content->isVisible() && $toggleButton->isVisible()) { - $toggleButton->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.xml deleted file mode 100644 index 31b2928000bb8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/CmsForm.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - [name="store_id"] - multiselectgrouplist - - - switcher - - - diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/FormPageActions.php deleted file mode 100644 index ce9d2fd665235..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Block/Edit/FormPageActions.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - parent::save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/FormPageActions.php deleted file mode 100644 index c0abe83a0737c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/FormPageActions.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS)->click(); - parent::save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.php deleted file mode 100644 index c08ea7aa9e29b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.php +++ /dev/null @@ -1,108 +0,0 @@ -_rootElement->find($this->contentForm, Locator::SELECTOR_CSS); - $toggleButton = $this->_rootElement->find($this->toggleButton, Locator::SELECTOR_CSS); - if (!$content->isVisible() && $toggleButton->isVisible()) { - $toggleButton->click(); - } - } - - /** - * Returns array with System Variables. - * - * @return array - */ - public function getSystemVariables() - { - $this->openTab('content'); - /** @var \Magento\Cms\Test\Block\Adminhtml\Page\Edit\Tab\Content $contentTab */ - $contentTab = $this->getTab('content'); - /** @var \Magento\Cms\Test\Block\Adminhtml\Wysiwyg\Config $config */ - $contentTab->clickInsertVariable(); - $config = $contentTab->getWysiwygConfig(); - - return $config->getAllVariables(); - } - - /** - * Open tab. - * - * @param string $tabName - * @return PageForm - */ - public function openTab($tabName) - { - $this->browser->find($this->header)->hover(); - $tab = $this->getContainerElement($tabName); - $tabHeader = $tab->find('.//*[contains(@class,"admin__collapsible-title")]', Locator::SELECTOR_XPATH); - if ($tabHeader->isVisible() && strpos($tabHeader->getAttribute('class'), '_show') === false) { - $tabHeader->hover(); - $tabHeader->click(); - } - return $this; - } - - /** - * Check if block with system variables is visible. - * - * @return bool - */ - public function isVariablesBlockVisible() - { - $this->openTab('content'); - /** @var \Magento\Cms\Test\Block\Adminhtml\Page\Edit\Tab\Content $contentTab */ - $contentTab = $this->getTab('content'); - $contentTab->clickInsertVariable(); - $this->waitForElementNotVisible($this->loader); - return $contentTab->isVariablesBlockVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.xml deleted file mode 100644 index 28de286b1411a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/PageForm.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - //div[div/strong/span[text()="Page Information"]] - xpath - - - <is_active> - <input>switcher</input> - </is_active> - </fields> - </page_information> - <content> - <class>\Magento\Cms\Test\Block\Adminhtml\Page\Edit\Tab\Content</class> - <selector>//div[div/strong/span[text()="Content"]]</selector> - <strategy>xpath</strategy> - <fields> - <content_heading /> - <content /> - </fields> - </content> - <page_in_websites> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>//div[div/strong/span[text()="Page in Websites"]]</selector> - <strategy>xpath</strategy> - <fields> - <store_id> - <selector>[name='store_id']</selector> - <input>multiselectgrouplist</input> - </store_id> - </fields> - </page_in_websites> - <design> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>//div[div/strong/span[text()="Design"]]</selector> - <strategy>xpath</strategy> - <fields> - <page_layout> - <input>select</input> - </page_layout> - <layout_update_xml> - <selector>#page_layout_update_xml</selector> - <input>textarea</input> - </layout_update_xml> - </fields> - </design> - <custom_design> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>//div[div/strong/span[text()="Custom Design Update"]]</selector> - <strategy>xpath</strategy> - <fields> - <custom_theme_from /> - <custom_theme_to /> - <custom_theme> - <input>select</input> - </custom_theme> - <custom_page_layout> - <input>select</input> - </custom_page_layout> - </fields> - </custom_design> - <seo> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>//div[div/strong/span[text()="Search Engine Optimization"]]</selector> - <strategy>xpath</strategy> - <fields> - <identifier /> - <meta_keywords> - <selector>#page_meta_keywords</selector> - <input>textarea</input> - </meta_keywords> - <meta_description> - <selector>#page_meta_description</selector> - <input>textarea</input> - </meta_description> - </fields> - </seo> -</tabs> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/Tab/Content.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/Tab/Content.php deleted file mode 100644 index 45053e604f035..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Edit/Tab/Content.php +++ /dev/null @@ -1,184 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block\Adminhtml\Page\Edit\Tab; - -use Magento\Mtf\Client\Locator; -use Magento\Backend\Test\Block\Widget\Tab; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Widget\Test\Block\Adminhtml\WidgetForm; -use Magento\Cms\Test\Block\Adminhtml\Wysiwyg\Config; - -/** - * Backend cms page content tab. - */ -class Content extends Tab -{ - /** - * System Variable block selector. - * - * @var string - */ - protected $systemVariableBlock = "./ancestor::body//div[div[@id='variables-chooser']]"; - - /** - * Widget block selector. - * - * @var string - */ - protected $widgetBlock = "//body//aside[div//*[@id='widget_options_form']]"; - - /** - * Insert Variable button selector. - * - * @var string - */ - protected $addVariableButton = ".add-variable"; - - /** - * Insert Widget button selector. - * - * @var string - */ - protected $addWidgetButton = '.action-add-widget'; - - /** - * Content input locator. - * - * @var string - */ - protected $content = '#cms_page_form_content'; - - /** - * Content Heading input locator. - * - * @var string - */ - protected $contentHeading = '[name="content_heading"]'; - - /** - * Header locator. - * - * @var string - */ - protected $header = 'header.page-header'; - - /** - * Clicking in content tab 'Insert Variable' button. - * - * @param SimpleElement $element [optional] - * @return void - */ - public function clickInsertVariable(SimpleElement $element = null) - { - $context = $element === null ? $this->_rootElement : $element; - $addVariableButton = $context->find($this->addVariableButton); - if ($addVariableButton->isVisible()) { - $addVariableButton->click(); - } - } - - /** - * Clicking in content tab 'Insert Widget' button. - * - * @param SimpleElement $element [optional] - * @return void - */ - public function clickInsertWidget(SimpleElement $element = null) - { - $context = $element === null ? $this->_rootElement : $element; - $addWidgetButton = $context->find($this->addWidgetButton); - if ($addWidgetButton->isVisible()) { - try { - $addWidgetButton->click(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - $this->browser->find($this->header)->hover(); - $addWidgetButton->click(); - } - } - } - - /** - * Get for wysiwyg config block. - * - * @return Config - */ - public function getWysiwygConfig() - { - return $this->blockFactory->create( - \Magento\Cms\Test\Block\Adminhtml\Wysiwyg\Config::class, - ['element' => $this->_rootElement->find($this->systemVariableBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get widget block. - * - * @return WidgetForm - */ - public function getWidgetBlock() - { - return $this->blockFactory->create( - \Magento\Widget\Test\Block\Adminhtml\WidgetForm::class, - ['element' => $this->_rootElement->find($this->widgetBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Fill data to content fields on content tab. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - $context = $element === null ? $this->_rootElement : $element; - $context->find($this->content)->setValue($fields['content']['value']['content']); - if (isset($fields['content_heading']['value'])) { - $element->find($this->contentHeading)->setValue($fields['content_heading']['value']); - } - if (isset($fields['content']['value']['widget']['dataset'])) { - foreach ($fields['content']['value']['widget']['dataset'] as $widget) { - $this->clickInsertWidget(); - $this->getWidgetBlock()->addWidget($widget); - } - } - if (isset($fields['content']['value']['variable'])) { - $this->clickInsertVariable(); - $config = $this->getWysiwygConfig(); - $config->selectVariableByName($fields['content']['value']['variable']); - } - - return $this; - } - - /** - * Get data of content tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - return [ - 'content' => [], - 'content_heading' => '' - ]; - } - - /** - * Check if system variables block is visible. - * - * @return bool - */ - public function isVariablesBlockVisible() - { - return $this->_rootElement->find($this->systemVariableBlock, Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Grid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Grid.php deleted file mode 100644 index df158c74a0f92..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Grid.php +++ /dev/null @@ -1,115 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block\Adminhtml\Page; - -use Magento\Mtf\Client\Locator; -use Magento\Ui\Test\Block\Adminhtml\DataGrid; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Backend Data Grid for managing "CMS Page" entities. - */ -class Grid extends DataGrid -{ - /** - * Action button (located above the Grid). - * - * @var string - */ - protected $actionButton = 'button.action-select'; - - /** - * Select action toggle. - * - * @var string - */ - protected $selectAction = '.action-select'; - - /** - * Filters array mapping. - * - * @var array - */ - protected $filters = [ - 'page_id_from' => [ - 'selector' => '[name="page_id[from]"]', - ], - 'page_id_to' => [ - 'selector' => '[name="page_id[to]"]', - ], - 'title' => [ - 'selector' => '[name="title"]', - ], - 'identifier' => [ - 'selector' => '[name="identifier"]', - ], - 'page_layout' => [ - 'selector' => '//label[span[text()="Layout"]]/following-sibling::div', - 'strategy' => 'xpath', - 'input' => 'dropdownmultiselect', - ], - 'store_id' => [ - 'selector' => '[name="store_id"]', - 'input' => 'selectstore' - ], - 'is_active' => [ - 'selector' => '//label[span[text()="Status"]]/following-sibling::div', - 'strategy' => 'xpath', - 'input' => 'dropdownmultiselect', - ], - 'creation_time_from' => [ - 'selector' => '[name="creation_time[from]"]', - ], - 'creation_time_to' => [ - 'selector' => '[name="creation_time[to]"]', - ], - 'update_time_from' => [ - 'selector' => '[name="update_time[from]"]', - ], - 'update_time_to' => [ - 'selector' => '[name="update_time[to]"]', - ] - ]; - - /** - * Locator value for "Preview" link inside action column. - * - * @var string - */ - protected $previewCmsPage = '[data-action="item-preview"]'; - - /** - * Click on "Edit" link. - * - * @param SimpleElement $rowItem - * @return void - */ - protected function clickEditLink(SimpleElement $rowItem) - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->editLink)->click(); - } - - /** - * Search item and open it on Frontend. - * - * @param array $filter - * @throws \Exception - * @return void - */ - public function searchAndPreview(array $filter) - { - $this->search($filter); - $rowItem = $this->getRow([$filter['title']]); - if ($rowItem->isVisible()) { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->previewCmsPage)->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Widget/Chooser.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Widget/Chooser.php deleted file mode 100644 index 80667dc6c5460..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Page/Widget/Chooser.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block\Adminhtml\Page\Widget; - -use Magento\Backend\Test\Block\Widget\Grid; - -/** - * Backend select page, block grid. - */ -class Chooser extends Grid -{ - /** - * Filters array mapping. - * - * @var array - */ - protected $filters = [ - 'chooser_identifier' => [ - 'selector' => 'input[name="chooser_identifier"]', - ], - ]; - - /** - * Locator value for link in action column. - * - * @var string - */ - protected $editLink = 'tbody tr .col-chooser_title'; -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Wysiwyg/Config.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Wysiwyg/Config.php deleted file mode 100644 index e68ef5c9d3d8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Adminhtml/Wysiwyg/Config.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block\Adminhtml\Wysiwyg; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * System variable management block. - */ -class Config extends Block -{ - /** - * Selector for getting all variables in list. - * - * @var string - */ - protected $variablesSelector = '.insert-variable > li > a'; - - /** - * Variable link selector. - * - * @var string - */ - protected $variableSelector = '//*[@class="insert-variable"]//a[contains(text(),"%s")]'; - - /** - * Returns array with all variables. - * - * @return array - */ - public function getAllVariables() - { - $values = []; - - $variableElements = $this->_rootElement->getElements($this->variablesSelector); - foreach ($variableElements as $variableElement) { - if ($variableElement->isVisible()) { - $values[] = $variableElement->getText(); - } - } - - return $values; - } - - /** - * Select variable by name. - * - * @param string $variableName - * @return void - */ - public function selectVariableByName($variableName) - { - $this->_rootElement->find(sprintf($this->variableSelector, $variableName), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Messages.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Messages.php deleted file mode 100644 index f938726b5195f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Messages.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block; - -/** - * Store front messages block. - */ -class Messages extends \Magento\Ui\Test\Block\Messages -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Page.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Page.php deleted file mode 100644 index d2ad91c3b7eda..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Block/Page.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Block; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Cms Page block for the content on the frontend. - */ -class Page extends Block -{ - /** - * Selector for initial script. - * - * @var string - */ - protected $initialScript = 'script[type="text/x-magento-init"]'; - - /** - * Cms page content class. - * - * @var string - */ - protected $cmsPageContentClass = ".column.main"; - - /** - * Cms page title. - * - * @var string - */ - protected $cmsPageTitle = ".page-title-wrapper"; - - /** - * Cms page text locator. - * - * @var string - */ - protected $textSelector = "//div[contains(.,'%s')]"; - - /** - * Widgets selectors. - * - * @var array - */ - protected $widgetSelectors = [ - 'CMS Page Link' => './/*/a[contains(.,"%s")]', - 'Catalog Category Link' => './/*/a[contains(.,"%s")]', - 'Catalog Product Link' => './/*/a[contains(.,"%s")]', - 'Recently Compared Products' => './/*/div[contains(@class,"block widget compared grid") and contains(.,"%s")]', - 'Recently Viewed Products' => './/*/div[contains(@class,"block widget viewed grid") and contains(.,"%s")]', - 'Catalog New Products List' => './/*/div[contains(@class,"widget new") and contains(.,"%s")]', - 'CMS Static Block' => './/*/div[contains(@class,"widget static block") and contains(.,"%s")]', - ]; - - /** - * Get page content text. - * - * @return string - */ - public function getPageContent() - { - return $this->_rootElement->find($this->cmsPageContentClass)->getText(); - } - - /** - * Get page title. - * - * @return string - */ - public function getPageTitle() - { - return $this->_rootElement->find($this->cmsPageTitle)->getText(); - } - - /** - * Wait for text is visible in the block. - * - * @param string $text - * @return void - */ - public function waitUntilTextIsVisible($text) - { - $text = sprintf($this->textSelector, $text); - $this->_rootElement->waitUntil( - function () use ($text) { - return $this->browser->find($text, Locator::SELECTOR_XPATH)->isVisible() == true ? false : null; - } - ); - } - - /** - * Check is visible widget selector. - * - * @param string $widgetType - * @param string $widgetText - * @return bool - * @throws \Exception - */ - public function isWidgetVisible($widgetType, $widgetText) - { - if (isset($this->widgetSelectors[$widgetType])) { - return $this->_rootElement - ->find(sprintf($this->widgetSelectors[$widgetType], $widgetText), Locator::SELECTOR_XPATH) - ->isVisible(); - } else { - throw new \Exception('Determine how to find the widget on the page.'); - } - } - - /** - * Waiting page initialization. - * - * @return void - */ - public function waitPageInit() - { - $this->waitForElementNotVisible($this->initialScript); - sleep(3); // TODO: remove after resolving an issue with ajax on Frontend. - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertAuthorizationLinkIsVisibleOnStoreFront.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertAuthorizationLinkIsVisibleOnStoreFront.php deleted file mode 100644 index 5f06bfd370160..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertAuthorizationLinkIsVisibleOnStoreFront.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that authorization link is visible on the Store Front. - */ -class AssertAuthorizationLinkIsVisibleOnStoreFront extends AbstractConstraint -{ - /** - * Assert that authorization link is visible on the Store Front. - * - * @param CmsIndex $cmsIndex - * @return void - */ - public function processAssert(CmsIndex $cmsIndex) - { - $cmsIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getLinksBlock()->isAuthorizationVisible(), - "Authorization link is not visible on the Store Front." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Authorization link is visible on the Store Front."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php deleted file mode 100644 index 07edc9c6dcb88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that after delete CMS block successful message appears. - */ -class AssertCmsBlockDeleteMessage extends AbstractConstraint -{ - const SUCCESS_DELETE_MESSAGE = 'You deleted the block.'; - - /** - * Assert that after delete CMS block successful message appears. - * - * @param CmsBlockIndex $cmsBlockIndex - * @return void - */ - public function processAssert(CmsBlockIndex $cmsBlockIndex) - { - $actualMessage = $cmsBlockIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS Block success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockInGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockInGrid.php deleted file mode 100644 index 5f071e92feec5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockInGrid.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS block can be found in grid. - */ -class AssertCmsBlockInGrid extends AbstractConstraint -{ - /** - * Assert that created CMS block can be found in grid via: - * title, identifier, store view, status, created and modified date. - * - * @param CmsBlock $cmsBlock - * @param CmsBlockIndex $cmsBlockIndex - * @return void - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function processAssert(CmsBlock $cmsBlock, CmsBlockIndex $cmsBlockIndex) - { - $cmsBlockIndex->open(); - $data = $cmsBlock->getData(); - $data['is_active'] = $data['is_active'] == 'Yes' ? 'Enabled' : 'Disabled'; - $filter = [ - 'title' => $data['title'], - 'identifier' => $data['identifier'], - 'is_active' => $data['is_active'], - ]; - - if (isset($data['stores'])) { - $filter['store_id'] = is_array($data['stores']) ? reset($data['stores']) : $data['stores']; - } - // add creation_time & update_time to filter if there are ones - if (isset($data['creation_time'])) { - $filter['creation_time_from'] = date("M j, Y", strtotime($cmsBlock->getCreationTime())); - } - if (isset($data['update_time'])) { - $filter['update_time_from'] = date("M j, Y", strtotime($cmsBlock->getUpdateTime())); - } - - $cmsBlockIndex->getCmsBlockGrid()->search($filter); - - if (isset($filter['store_id'])) { - $pieces = explode('/', $filter['store_id']); - $filter['store_id'] = end($pieces); - } - \PHPUnit\Framework\Assert::assertTrue( - $cmsBlockIndex->getCmsBlockGrid()->isRowVisible($filter, false, false), - 'CMS Block with ' - . 'title \'' . $filter['title'] . '\', ' - . 'identifier \'' . $filter['identifier'] . '\', ' - . 'store view \'' . $filter['store_id'] . '\', ' - . 'status \'' . $filter['is_active'] . '\', ' - . (isset($filter['creation_time_from']) - ? ('creation_time \'' . $filter['creation_time_from'] . '\', ') - : '') - . (isset($filter['update_time_from']) ? ('update_time \'' . $filter['update_time_from'] . '\'') : '') - . 'is absent in CMS Block grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS Block is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotInGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotInGrid.php deleted file mode 100644 index f4422af332a08..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotInGrid.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS block can't be found in grid. - */ -class AssertCmsBlockNotInGrid extends AbstractConstraint -{ - /** - * Assert that created CMS block can't be found in grid via: - * title, identifier, store view, status, created and modified date - * - * @param CmsBlock $cmsBlock - * @param CmsBlockIndex $cmsBlockIndex - * @return void - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function processAssert(CmsBlock $cmsBlock, CmsBlockIndex $cmsBlockIndex) - { - $cmsBlockIndex->open(); - $data = $cmsBlock->getData(); - $data['is_active'] = $data['is_active'] == 'Yes' ? 'Enabled' : 'Disabled'; - if (isset($data['stores'])) { - $storeId = is_array($data['stores']) ? reset($data['stores']) : $data['stores']; - $parts = explode("/", $storeId); - } - - $filter = [ - 'title' => $data['title'], - 'identifier' => $data['identifier'], - 'is_active' => $data['is_active'], - 'store_id' => end($parts), - ]; - - // add creation_time & update_time to filter if there are ones - if (isset($data['creation_time'])) { - $filter['creation_time_from'] = date("M j, Y", strtotime($cmsBlock->getCreationTime())); - } - if (isset($data['update_time'])) { - $filter['update_time_from'] = date("M j, Y", strtotime($cmsBlock->getUpdateTime())); - } - - \PHPUnit\Framework\Assert::assertFalse( - $cmsBlockIndex->getCmsBlockGrid()->isRowVisible($filter, true, false), - 'CMS Block with ' - . 'title \'' . $filter['title'] . '\', ' - . 'identifier \'' . $filter['identifier'] . '\', ' - . 'store view \'' . $filter['store_id'] . '\', ' - . 'status \'' . $filter['is_active'] . '\', ' - . (isset($filter['creation_time_from']) - ? ('creation_time \'' . $filter['creation_time_from'] . '\', ') - : '') - . (isset($filter['update_time_from']) ? ('update_time \'' . $filter['update_time_from'] . '\'') : '') - . 'exists in CMS Block grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS Block is not present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotOnCategoryPage.php deleted file mode 100644 index 11f6677f4a867..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotOnCategoryPage.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Catalog\Test\Fixture\Category; - -/** - * Assert that created CMS block non visible on frontend category page. - */ -class AssertCmsBlockNotOnCategoryPage extends AbstractConstraint -{ - /** - * Assert that created CMS block non visible on frontend category page - * (in order to assign block to category: go to category page> Display settings> CMS Block) - * - * @param CmsIndex $cmsIndex - * @param CmsBlock $cmsBlock - * @param CatalogCategoryView $catalogCategoryView - * @param FixtureFactory $fixtureFactory - * @param Category|null $category [optional] - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CmsBlock $cmsBlock, - CatalogCategoryView $catalogCategoryView, - FixtureFactory $fixtureFactory, - Category $category = null - ) { - if ($category === null) { - $category = $fixtureFactory->createByCode( - 'category', - [ - 'dataset' => 'default_subcategory', - 'data' => [ - 'display_mode' => 'Static block and products', - 'landing_page' => $cmsBlock->getTitle(), - ] - ] - ); - $category->persist(); - } - - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - $categoryViewContent = $catalogCategoryView->getViewBlock()->getContent(); - - \PHPUnit\Framework\Assert::assertNotEquals( - $cmsBlock->getContent(), - $categoryViewContent, - 'Wrong block content on category is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS block description is absent on Category page (frontend).'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockOnCategoryPage.php deleted file mode 100644 index d63791cf6b04b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockOnCategoryPage.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Assert that created CMS block displayed on frontend category page. - */ -class AssertCmsBlockOnCategoryPage extends AbstractConstraint -{ - /** - * Assert that created CMS block displayed on frontend category page (in order to assign block to category: - * go to category page> Display settings> CMS Block). - * - * @param CmsIndex $cmsIndex - * @param CmsBlock $cmsBlock - * @param CatalogCategoryView $catalogCategoryView - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CmsBlock $cmsBlock, - CatalogCategoryView $catalogCategoryView, - FixtureFactory $fixtureFactory - ) { - $category = $fixtureFactory->createByCode( - 'category', - [ - 'dataset' => 'default_subcategory', - 'data' => [ - 'display_mode' => 'Static block and products', - 'landing_page' => $cmsBlock->getTitle(), - ] - ] - ); - $category->persist(); - - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - $categoryViewContent = $catalogCategoryView->getViewBlock()->getContent(); - - \PHPUnit\Framework\Assert::assertEquals( - $cmsBlock->getContent(), - $categoryViewContent, - 'Wrong block content on category is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS block description is present on Category page (frontend).'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php deleted file mode 100644 index b1c44d28bdf64..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that after save block successful message appears. - */ -class AssertCmsBlockSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_SAVE_MESSAGE = 'You saved the block.'; - - /** - * Assert that after save block successful message appears. - * - * @param CmsBlockIndex $cmsBlockIndex - * @return void - */ - public function processAssert(CmsBlockIndex $cmsBlockIndex) - { - $actualMessage = $cmsBlockIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_SAVE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_SAVE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS Block success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDeleteMessage.php deleted file mode 100644 index 8752f40341a48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert success delete message. - */ -class AssertCmsPageDeleteMessage extends AbstractConstraint -{ - const SUCCESS_DELETE_MESSAGE = 'The page has been deleted.'; - - /** - * Assert that success message is displayed after Cms page delete. - * - * @param CmsPageIndex $cmsIndex - * @return void - */ - public function processAssert(CmsPageIndex $cmsIndex) - { - $actualMessage = $cmsIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cms page success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDisabledOnFrontend.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDisabledOnFrontend.php deleted file mode 100644 index 8ba2199d8cd6e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDisabledOnFrontend.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\CmsIndex as FrontCmsIndex; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS page with 'Status' - Disabled displays with '404 Not Found' message on Frontend. - */ -class AssertCmsPageDisabledOnFrontend extends AbstractConstraint -{ - const NOT_FOUND_MESSAGE = 'Whoops, our bad...'; - - /** - * Assert that created CMS page with 'Status' - Disabled displays with '404 Not Found' message on Frontend. - * - * @param CmsPage $cms - * @param FrontCmsIndex $frontCmsIndex - * @param CmsPageIndex $cmsIndex - * @param BrowserInterface $browser - * @return void - */ - public function processAssert( - CmsPage $cms, - FrontCmsIndex $frontCmsIndex, - CmsPageIndex $cmsIndex, - BrowserInterface $browser - ) { - $cmsIndex->open(); - $filter = ['title' => $cms->getTitle()]; - $cmsIndex->getCmsPageGridBlock()->searchAndPreview($filter); - $browser->selectWindow(); - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $frontCmsIndex->getTitleBlock()->getTitle(), - 'Wrong page is displayed.' - ); - } - - /** - * Not found page is display. - * - * @return string - */ - public function toString() - { - return 'Not found page is display.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDuplicateErrorMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDuplicateErrorMessage.php deleted file mode 100644 index 6f5df3904ef13..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageDuplicateErrorMessage.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Cms\Test\Fixture\CmsPage; - -/** - * Verify that page has not been created. - */ -class AssertCmsPageDuplicateErrorMessage extends AbstractConstraint -{ - /** - * Text title of the error message to be checked. - */ - const ERROR_MESSAGE_TITLE = 'The value specified in the URL Key field would generate a URL that already exists.'; - - /** - * Verify that page has not been created. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPage $cmsPage - * @return void - */ - public function processAssert(CmsPageIndex $cmsIndex, CmsPage $cmsPage) - { - $actualMessage = $cmsIndex->getMessagesBlock()->getErrorMessage(); - - \PHPUnit\Framework\Assert::assertContains( - self::ERROR_MESSAGE_TITLE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - - \PHPUnit\Framework\Assert::assertContains( - $cmsPage->getIdentifier(), - $actualMessage, - 'CMS page url is not present on error message.' - . "\nExpected: " . self::ERROR_MESSAGE_TITLE - . "\nActual:\n" . $actualMessage - ); - } - - /** - * Page with duplicated identifier has not been created. - * - * @return string - */ - public function toString() - { - return 'Assert that page with duplicated identifier has not been created.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageForm.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageForm.php deleted file mode 100644 index ab7f544bf4352..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageForm.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\Constraint\AbstractAssertForm; - -/** - * Assert that displayed CMS page data on edit page equals passed from fixture. - */ -class AssertCmsPageForm extends AbstractAssertForm -{ - /** - * Skipped fields for verify data. - * - * @var array - */ - protected $skippedFields = [ - 'page_id', - 'content', - 'content_heading', - 'custom_theme_from', - 'custom_theme_to', - ]; - - /** - * Assert that displayed CMS page data on edit page equals passed from fixture. - * - * @param CmsPage $cms - * @param CmsPageIndex $cmsIndex - * @param CmsPageNew $cmsPageNew - * @return void - */ - public function processAssert( - CmsPage $cms, - CmsPageIndex $cmsIndex, - CmsPageNew $cmsPageNew - ) { - $cmsIndex->open(); - $filter = ['title' => $cms->getTitle()]; - $cmsIndex->getCmsPageGridBlock()->searchAndOpen($filter); - - $cmsFormData = $cmsPageNew->getPageForm()->getData($cms); - $cmsFormData['store_id'] = implode('/', $cmsFormData['store_id']); - $cmsFixtureData = $cms->getData(); - $storeId = explode('/', $cms->getStoreId()); - $cmsFixtureData['store_id'] = array_pop($storeId); - $errors = $this->verifyData($cmsFixtureData, $cmsFormData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * CMS page data on edit page equals data from fixture. - * - * @return string - */ - public function toString() - { - return 'CMS page data on edit page equals data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageFormSingleStoreMode.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageFormSingleStoreMode.php deleted file mode 100644 index bf47e08309ce8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageFormSingleStoreMode.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; - -/** - * Assert that displayed CMS page data on edit page equals passed from fixture. - */ -class AssertCmsPageFormSingleStoreMode extends AssertCmsPageForm -{ - /** - * Assert that displayed CMS page data on edit page equals passed from fixture with enabled single store mode. - * - * @param CmsPage $cms - * @param CmsPageIndex $cmsIndex - * @param CmsPageNew $cmsPageNew - * @return void - */ - public function processAssert( - CmsPage $cms, - CmsPageIndex $cmsIndex, - CmsPageNew $cmsPageNew - ) { - $cmsIndex->open(); - $filter = ['title' => $cms->getTitle()]; - $cmsIndex->getCmsPageGridBlock()->searchAndOpen($filter); - - $cmsFormData = $cmsPageNew->getPageForm()->getData($cms); - $cmsFixtureData = $cms->getData(); - $errors = $this->verifyData($cmsFixtureData, $cmsFormData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageInGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageInGrid.php deleted file mode 100644 index d78e563b0373d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that CMS page present in grid and can be found by title. - */ -class AssertCmsPageInGrid extends AbstractConstraint -{ - /** - * Assert that cms page is present in pages grid. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPage $cms - * @param string $expectedStatus [optional] - * @return void - */ - public function processAssert(CmsPageIndex $cmsIndex, CmsPage $cms, $expectedStatus = '') - { - $filter = [ - 'title' => $cms->getTitle(), - 'is_active' => $expectedStatus - ]; - $cmsIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getCmsPageGridBlock()->isRowVisible($filter, true, false), - 'Cms page \'' . $cms->getTitle() . '\' is not present in pages grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cms page is present in pages grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageNotInGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageNotInGrid.php deleted file mode 100644 index ca0d6f43e99d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert Cms page is absent in grid. - */ -class AssertCmsPageNotInGrid extends AbstractConstraint -{ - /** - * Assert that Cms page is not present in pages grid. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPage $cmsPage - * @return void - */ - public function processAssert(CmsPageIndex $cmsIndex, CmsPage $cmsPage) - { - $filter = [ - 'title' => $cmsPage->getTitle(), - ]; - \PHPUnit\Framework\Assert::assertFalse( - $cmsIndex->getCmsPageGridBlock()->isRowVisible($filter), - 'Cms page \'' . $cmsPage->getTitle() . '\' is present in pages grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cms page is not present in pages grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageOnFrontend.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageOnFrontend.php deleted file mode 100644 index 93a32a12360ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageOnFrontend.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\CmsPage as FrontCmsPage; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS page with expected contents displayed on Frontend. - */ -class AssertCmsPageOnFrontend extends AbstractConstraint -{ - /** - * Assert that created CMS page with expected contents displayed on Frontend. - * - * @param CmsPage $cms - * @param FrontCmsPage $frontCmsPage, - * @param BrowserInterface $browser - * @param string $displayContent - * @return void - */ - public function processAssert( - CmsPage $cms, - FrontCmsPage $frontCmsPage, - BrowserInterface $browser, - $displayContent = null - ) { - $browser->open($_ENV['app_frontend_url'] . $cms->getIdentifier()); - $fixtureContent = $cms->getContent(); - \PHPUnit\Framework\Assert::assertContains( - $displayContent != null ? $displayContent : $fixtureContent['content'], - $frontCmsPage->getCmsPageBlock()->getPageContent(), - 'Wrong content is displayed.' - ); - } - - /** - * CMS Page content equals to data from fixture. - * - * @return string - */ - public function toString() - { - return 'CMS Page content equals to data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagePreview.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagePreview.php deleted file mode 100644 index b9b3649b48fec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagePreview.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\CmsIndex as FrontCmsIndex; -use Magento\Cms\Test\Page\CmsPage as FrontCmsPage; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that content of created cms page displayed in section 'maincontent' and equals passed from fixture. - */ -class AssertCmsPagePreview extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Assert that content of created cms page displayed in section 'maincontent' and equals passed from fixture. - * - * @param CmsPageIndex $cmsIndex - * @param FrontCmsIndex $frontCmsIndex - * @param FrontCmsPage $frontCmsPage - * @param CmsPage $cms - * @param BrowserInterface $browser - * @param string $displayContent - * @return void - */ - public function processAssert( - CmsPageIndex $cmsIndex, - FrontCmsIndex $frontCmsIndex, - FrontCmsPage $frontCmsPage, - CmsPage $cms, - BrowserInterface $browser, - $displayContent = null - ) { - $cmsIndex->open(); - $filter = ['title' => $cms->getTitle()]; - $cmsIndex->getCmsPageGridBlock()->searchAndPreview($filter); - $browser->selectWindow(); - - $fixtureContent = $cms->getContent(); - \PHPUnit\Framework\Assert::assertContains( - $displayContent != null ? $displayContent : $fixtureContent['content'], - $frontCmsPage->getCmsPageBlock()->getPageContent(), - 'Wrong content is displayed.' - ); - if (isset($fixtureContent['widget'])) { - foreach ($fixtureContent['widget']['dataset'] as $widget) { - \PHPUnit\Framework\Assert::assertTrue( - $frontCmsPage->getCmsPageBlock()->isWidgetVisible($widget['widget_type'], $widget['anchor_text']), - 'Widget \'' . $widget['widget_type'] . '\' is not displayed.' - ); - } - } - if ($cms->getContentHeading()) { - \PHPUnit\Framework\Assert::assertEquals( - $cms->getContentHeading(), - $frontCmsIndex->getTitleBlock()->getTitle(), - 'Wrong title is displayed.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'CMS Page content equals to data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php deleted file mode 100644 index 0770db6da6fa9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPageSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that after save a CMS page "You saved the page." successful message appears. - */ -class AssertCmsPageSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_SAVE_MESSAGE = 'You saved the page.'; - - /** - * Assert that after save a CMS page "You saved this page." successful message appears. - * - * @param CmsPageIndex $cmsIndex - * @return void - */ - public function processAssert(CmsPageIndex $cmsIndex) - { - $actualMessage = $cmsIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_SAVE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_SAVE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Success message is displayed. - * - * @return string - */ - public function toString() - { - return 'Success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesDisabledOnFrontend.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesDisabledOnFrontend.php deleted file mode 100644 index ebc220bc18533..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesDisabledOnFrontend.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\CmsIndex as FrontCmsIndex; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS pages with 'Status' - Disabled display with '404 Not Found' message on Frontend. - */ -class AssertCmsPagesDisabledOnFrontend extends AbstractConstraint -{ - /** - * Assert that created CMS pages with 'Status' - Disabled display with '404 Not Found' message on Frontend. - * - * @param FrontCmsIndex $frontCmsIndex - * @param CmsPageIndex $cmsIndex - * @param BrowserInterface $browser - * @param AssertCmsPageDisabledOnFrontend $assertCmsPageDisabledOnFrontend - * @param array $cmsPages - * @return void - */ - public function processAssert( - FrontCmsIndex $frontCmsIndex, - CmsPageIndex $cmsIndex, - BrowserInterface $browser, - AssertCmsPageDisabledOnFrontend $assertCmsPageDisabledOnFrontend, - array $cmsPages - ) { - foreach ($cmsPages as $cmsPage) { - $assertCmsPageDisabledOnFrontend->processAssert($cmsPage, $frontCmsIndex, $cmsIndex, $browser); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Pages with message "404 Not Found" are displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesInGrid.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesInGrid.php deleted file mode 100644 index 78f59067e6407..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that CMS pages are present in grid and can be found by title and status. - */ -class AssertCmsPagesInGrid extends AbstractConstraint -{ - /** - * Assert that cms pages are present in pages grid. - * - * @param CmsPageIndex $cmsIndex - * @param AssertCmsPageInGrid $assertCmsPageInGrid - * @param array $cmsPages - * @param string $expectedStatus - * @return void - */ - public function processAssert( - CmsPageIndex $cmsIndex, - AssertCmsPageInGrid $assertCmsPageInGrid, - $cmsPages, - $expectedStatus - ) { - foreach ($cmsPages as $cmsPage) { - $assertCmsPageInGrid->processAssert($cmsIndex, $cmsPage, $expectedStatus); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cms pages are present in pages grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesOnFrontendMultipleStoreViews.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesOnFrontendMultipleStoreViews.php deleted file mode 100644 index 9128db56a23a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsPagesOnFrontendMultipleStoreViews.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Page\CmsPage as FrontCmsPage; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS page with expected contents displayed on store view. - */ -class AssertCmsPagesOnFrontendMultipleStoreViews extends AbstractConstraint -{ - /** - * Assert that created CMS page with expected contents displayed on store view. - * - * @param array $cmsPages - * @param FrontCmsPage $frontCmsPage, - * @param CmsIndex $cmsIndex, - * @param BrowserInterface $browser - * @param string $displayContent - * @return void - */ - public function processAssert( - array $cmsPages, - FrontCmsPage $frontCmsPage, - CmsIndex $cmsIndex, - BrowserInterface $browser, - $displayContent = null - ) { - foreach ($cmsPages as $cmsPage) { - $browser->open($_ENV['app_frontend_url'] . $cmsPage->getIdentifier()); - $storeName = $cmsPage->getDataFieldConfig('store_id')['source']->getStore()->getData()['name']; - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($storeName); - \PHPUnit\Framework\Assert::assertContains( - $displayContent != null ? $displayContent : $cmsPage->getContent()['content'], - $frontCmsPage->getCmsPageBlock()->getPageContent(), - 'Wrong content page ' . $cmsPage->getTitle() . ' is displayed on store ' . $storeName . '.' - ); - } - } - - /** - * CMS Page content equals to data from fixture. - * - * @return string - */ - public function toString() - { - return 'Created CMS Page displayed on store view with expected content.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertUrlRewriteCmsPageRedirect.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertUrlRewriteCmsPageRedirect.php deleted file mode 100644 index bb19fdd0c6c53..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertUrlRewriteCmsPageRedirect.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Constraint; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\UrlRewrite\Test\Fixture\UrlRewrite; -use Magento\Variable\Test\Page\Adminhtml\SystemVariableNew; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that created CMS Page URL Rewrite lead to appropriate page in frontend. - */ -class AssertUrlRewriteCmsPageRedirect extends AbstractConstraint -{ - /** - * Assert that created CMS Page URL Rewrite lead to appropriate page in frontend. - * - * @param UrlRewrite $urlRewrite - * @param CmsPage $cmsPage - * @param SystemVariableNew $systemVariableNew - * @param BrowserInterface $browser - * @return void - */ - public function processAssert( - UrlRewrite $urlRewrite, - CmsPage $cmsPage, - SystemVariableNew $systemVariableNew, - BrowserInterface $browser - ) { - $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath()); - if ($urlRewrite->hasData('store_id')) { - $store = explode('/', $urlRewrite->getStoreId()); - $systemVariableNew->getFormPageActions()->selectStoreView($store[2]); - } - $url = $urlRewrite->getRedirectType() == 'No' - ? $urlRewrite->getRequestPath() - : $cmsPage->getTitle(); - - \PHPUnit\Framework\Assert::assertEquals( - $_ENV['app_frontend_url'] . $url, - $browser->getUrl(), - 'URL rewrite CMS Page redirect false.' - ); - } - - /** - * URL Rewrite lead to appropriate page in frontend. - * - * @return string - */ - public function toString() - { - return 'URL Rewrite lead to appropriate page in frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml deleted file mode 100644 index 17718c450376a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="cmsBlock" - module="Magento_Cms" - type="flat" - entity_type="cms_block" - collection="Magento\Cms\Model\ResourceModel\Block\Grid\Collection" - identifier="identifier" - handler_interface="Magento\Cms\Test\Handler\CmsBlock\CmsBlockInterface" - repository_class="Magento\Cms\Test\Repository\CmsBlock" class="Magento\Cms\Test\Fixture\CmsBlock"> - <field name="block_id" is_required="1" /> - <field name="title" is_required="" /> - <field name="identifier" is_required="" /> - <field name="content" is_required="" /> - <field name="creation_time" is_required="" /> - <field name="update_time" is_required="" /> - <field name="is_active" is_required="" /> - <field name="stores" is_required="1" source="Magento\Cms\Test\Fixture\CmsBlock\Stores" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock/Stores.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock/Stores.php deleted file mode 100644 index f975a2bcdd11a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock/Stores.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Fixture\CmsBlock; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Data source for 'stores' field. - * - * Data keys: - * - dataset - */ -class Stores extends DataSource -{ - /** - * Array with store fixtures. - * - * @var array - */ - protected $stores; - - /** - * Create custom Store if we have block with custom store view. - * - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data [optional] - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) - { - $this->params = $params; - if (isset($data['dataset'])) { - $datasets = is_array($data['dataset']) ? $data['dataset'] : [$data['dataset']]; - foreach ($datasets as $dataset) { - /** @var \Magento\Store\Test\Fixture\Store $store */ - $store = $fixtureFactory->createByCode('store', ['dataset' => $dataset]); - if (!$store->hasData('store_id')) { - $store->persist(); - } - $this->stores[] = $store; - $this->data[] = $store->getName() == 'All Store Views' - ? $store->getName() - : $store->getGroupId() . '/' . $store->getName(); - } - } - } - - /** - * Return stores. - * - * @return array - */ - public function getStores() - { - return $this->stores; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml deleted file mode 100644 index 5403ffdb8732c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="cmsPage" - module="Magento_Cms" - type="flat" - entity_type="cms_page" - collection="Magento\Cms\Model\ResourceModel\Page\Grid\Collection" - identifier="identifier" - repository_class="Magento\Cms\Test\Repository\CmsPage" - handler_interface="Magento\Cms\Test\Handler\CmsPage\CmsPageInterface" - class="Magento\Cms\Test\Fixture\CmsPage"> - <field name="page_id" is_required="1" group="null" /> - <field name="title" is_required="" group="page_information" /> - <field name="is_active" is_required="" group="page_information" /> - <field name="page_layout" is_required="" group="design" /> - <field name="meta_keywords" is_required="" group="seo" /> - <field name="meta_description" is_required="" group="seo" /> - <field name="identifier" group="seo" is_required="" /> - <field name="content_heading" is_required="" group="content" /> - <field name="content" is_required="" group="content" source="Magento\Cms\Test\Fixture\CmsPage\Content" repository="Magento\Cms\Test\Repository\CmsPage\Content" /> - <field name="creation_time" is_required="" /> - <field name="update_time" is_required="" /> - <field name="sort_order" is_required="" /> - <field name="layout_update_xml" is_required="" /> - <field name="custom_theme" is_required="" /> - <field name="custom_page_layout" is_required="" /> - <field name="custom_layout_update_xml" is_required="" /> - <field name="custom_theme_from" source="Magento\Backend\Test\Fixture\Source\Date" /> - <field name="custom_theme_to" source="Magento\Backend\Test\Fixture\Source\Date" /> - <field name="website_root" is_required="" /> - <field name="store_id" is_required="1" group="page_in_websites" source="Magento\Cms\Test\Fixture\CmsPage\StoreId" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/Content.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/Content.php deleted file mode 100644 index 7105c2c24b363..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/Content.php +++ /dev/null @@ -1,161 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Fixture\CmsPage; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Catalog\Test\Fixture\Category; -use Magento\Mtf\Repository\RepositoryFactory; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; - -/** - * Prepare content for cms page. - */ -class Content extends DataSource -{ - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Repository factory. - * - * @var RepositoryFactory - */ - protected $repositoryFactory; - - /** - * @constructor - * @param RepositoryFactory $repositoryFactory - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct( - RepositoryFactory $repositoryFactory, - FixtureFactory $fixtureFactory, - array $params, - array $data = [] - ) { - $this->fixtureFactory = $fixtureFactory; - $this->repositoryFactory = $repositoryFactory; - $this->params = $params; - $this->data = $data; - $this->prepareSourceData(); - } - - /** - * Prepare source data. - * - * @return void - */ - protected function prepareSourceData() - { - if (isset($this->data['widget']['dataset']) && isset($this->params['repository'])) { - $this->data['widget']['dataset'] = $this->repositoryFactory->get($this->params['repository'])->get( - $this->data['widget']['dataset'] - ); - $this->data = array_merge($this->data, $this->prepareWidgetData($this->data['widget'])); - } - } - - /** - * Prepare widget data for the source. - * - * @param array $widgets - * @return array - */ - protected function prepareWidgetData(array $widgets) - { - $data = []; - foreach ($widgets['dataset'] as $key => $widget) { - if (isset($widget['chosen_option']['category_path']) - && !isset($widget['chosen_option']['filter_sku']) - ) { - $category = $this->createCategory($widget); - $categoryName = $category->getData('name'); - $data['widget']['dataset'][$key]['chosen_option']['category_path'] = $categoryName; - } - if (isset($widget['chosen_option']['category_path']) && isset($widget['chosen_option']['filter_sku'])) { - $product = $this->createProduct($widget); - $categoryName = $product->getCategoryIds()[0]['name']; - $productSku = $product->getData('sku'); - $data['widget']['dataset'][$key]['chosen_option']['category_path'] = $categoryName; - $data['widget']['dataset'][$key]['chosen_option']['filter_sku'] = $productSku; - } - if ($widget['widget_type'] == 'Catalog New Products List') { - $this->createProduct(); - } - if ($widget['widget_type'] == 'CMS Static Block') { - $block = $this->createBlock($widget); - $blockIdentifier = $block->getIdentifier(); - $data['widget']['dataset'][$key]['chosen_option']['filter_identifier'] = $blockIdentifier; - } - } - - return $data; - } - - /** - * Create category. - * - * @param array $widget - * @return Category - */ - protected function createCategory($widget) - { - /** @var Category $category */ - $category = $this->fixtureFactory->createByCode( - 'category', - ['dataset' => $widget['chosen_option']['category_path']] - ); - if (!$category->hasData('id')) { - $category->persist(); - } - - return $category; - } - - /** - * Create product. - * - * @param array|null $widget [optional] - * @return CatalogProductSimple - */ - protected function createProduct($widget = null) - { - $dataset = $widget === null ? 'default' : $widget['chosen_option']['category_path']; - /** @var CatalogProductSimple $product */ - $product = $this->fixtureFactory->createByCode('catalogProductSimple', ['dataset' => $dataset]); - if (!$product->hasData('id')) { - $product->persist(); - } - - return $product; - } - - /** - * Create block. - * - * @param array $widget - * @return CmsBlock - */ - protected function createBlock($widget) - { - /** @var CmsBlock $block */ - $block = $this->fixtureFactory->createByCode($widget['chosen_option']['filter_identifier']); - if (!$block->hasData('block_id')) { - $block->persist(); - } - - return $block; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/StoreId.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/StoreId.php deleted file mode 100644 index 9ea2b56d1100a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage/StoreId.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Fixture\CmsPage; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Store\Test\Fixture\Store; - -/** - * Cms Page store id scope. - */ -class StoreId extends DataSource -{ - /** - * Store fixture. - * - * @var Store - */ - private $store; - - /** - * Fixture factory instance. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Data which have been passed from the variation. - * - * @var mixed - */ - private $variationData; - - /** - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array|string $data [optional] - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, $data = []) - { - $this->params = $params; - $this->fixtureFactory = $fixtureFactory; - $this->variationData = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - */ - public function getData($key = null) - { - if (null === $this->data) { - $this->processData(); - } - return parent::getData($key); - } - - /** - * Return Store fixture. - * - * @return Store - */ - public function getStore() - { - return $this->store; - } - - /** - * Process input data. - * - * @return void - */ - private function processData() - { - if (is_array($this->variationData) && isset($this->variationData['dataset'])) { - $store = $this->fixtureFactory->createByCode('store', $this->variationData); - /** @var Store $store */ - if (!$store->getStoreId()) { - $store->persist(); - } - $this->store = $store; - $this->data = $store->getGroupId() . '/' . $store->getName(); - } else { - $this->data = $this->variationData; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/CmsBlockInterface.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/CmsBlockInterface.php deleted file mode 100644 index 0f26dd646f265..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/CmsBlockInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Handler\CmsBlock; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CmsBlockInterface - */ -interface CmsBlockInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php deleted file mode 100644 index 919280ec5ea6a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Handler\CmsBlock; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Curl handler for creating CMS Block. - */ -class Curl extends AbstractCurl implements CmsBlockInterface -{ - /** - * Url for saving data. - * - * @var string - */ - protected $saveUrl = 'cms/block/save/back/edit'; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'is_active' => [ - 'Yes' => 1, - 'No' => 0, - ], - ]; - - /** - * Mapping values for Stores. - * - * @var array - */ - protected $stores = [ - 'All Store Views' => 0, - ]; - - /** - * POST request for creating CMS Block. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . $this->saveUrl; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("CMS Block entity creating by curl handler was not successful! Response: $response"); - } - - preg_match("`block_id\/(\d*?)\/`", $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - - return ['block_id' => $id]; - } - - /** - * Prepare data from text to values. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData($fixture) - { - $data = $this->replaceMappingData($fixture->getData()); - if (isset($data['stores'])) { - $stores = []; - foreach ($data['stores'] as $store) { - $stores[] = isset($this->stores[$store]) ? $this->stores[$store] : $store; - } - $data['stores'] = $stores; - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/CmsPageInterface.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/CmsPageInterface.php deleted file mode 100644 index bcba0d19c8ebe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/CmsPageInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Handler\CmsPage; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CmsPageInterface - */ -interface CmsPageInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php deleted file mode 100644 index 8a18f96b99b94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php +++ /dev/null @@ -1,105 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\Handler\CmsPage; - -use Magento\Backend\Test\Handler\Conditions; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Config\DataInterface; -use Magento\Mtf\System\Event\EventManagerInterface; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Curl handler for creating Cms page. - */ -class Curl extends Conditions implements CmsPageInterface -{ - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'is_active' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'store_id' => [ - 'All Store Views' => 0, - ], - 'page_layout' => [ - '1 column' => '1column', - '2 columns with left bar' => '2columns-left', - '2 columns with right bar' => '2columns-right', - '3 columns' => '3columns', - ] - ]; - - /** - * Url for save cms page. - * - * @var string - */ - protected $url = 'cms/page/save/back/edit/active_tab/main_section/'; - - /** - * Mapping values for data. - * - * @var array - */ - protected $additionalMappingData = []; - - /** - * @constructor - * @param DataInterface $configuration - * @param EventManagerInterface $eventManager - */ - public function __construct(DataInterface $configuration, EventManagerInterface $eventManager) - { - $this->mappingData = array_merge($this->mappingData, $this->additionalMappingData); - parent::__construct($configuration, $eventManager); - } - - /** - * Post request for creating a cms page. - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $url = $_ENV['app_backend_url'] . $this->url; - $data = $this->prepareData($this->replaceMappingData($fixture->getData())); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Cms page entity creating by curl handler was not successful! Response: $response"); - } - preg_match("~page_id\/(\d*?)\/~", $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - - return ['page_id' => $id]; - } - - /** - * Prepare data. - * - * @param array $data - * @return array - */ - protected function prepareData(array $data) - { - $data['stores'] = [$data['store_id']]; - unset($data['store_id']); - $data['content'] = $data['content']['content']; - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockEdit.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockEdit.xml deleted file mode 100644 index 768a7e5228b89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockEdit.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsBlockEdit" area="Adminhtml" mca="cms/block/edit" module="Magento_Cms"> - <block name="blockForm" class="Magento\Cms\Test\Block\Adminhtml\Block\Edit\BlockForm" locator="[id='page:main-container']" strategy="css selector" /> - <block name="pageMainActions" class="Magento\Cms\Test\Block\Adminhtml\Block\Edit\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockIndex.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockIndex.xml deleted file mode 100644 index f1ae75f14ddd5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsBlockIndex" area="Adminhtml" mca="cms/block/index" module="Magento_Cms"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator=".messages .message" strategy="css selector" /> - <block name="gridPageActions" class="Magento\Backend\Test\Block\GridPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="cmsBlockGrid" class="Magento\Cms\Test\Block\Adminhtml\Block\CmsGrid" locator="//div[contains(@data-bind, 'cms_block_listing')]" strategy="xpath" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockNew.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockNew.xml deleted file mode 100644 index e19928d66a428..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsBlockNew.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsBlockNew" area="Adminhtml" mca="cms/block/new" module="Magento_Cms"> - <block name="formPageActions" class="Magento\Cms\Test\Block\Adminhtml\Block\Edit\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="cmsForm" class="Magento\Cms\Test\Block\Adminhtml\Block\Edit\CmsForm" locator="[id='page:main-container']" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector" /> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageIndex.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageIndex.xml deleted file mode 100644 index 2737a68fc2fb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsPageIndex" area="Adminhtml" mca="cms/page/index" module="Magento_Cms"> - <block name="pageActionsBlock" class="Magento\Backend\Test\Block\GridPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="cmsPageGridBlock" class="Magento\Cms\Test\Block\Adminhtml\Page\Grid" locator="//div[contains(@data-bind, 'cms_page_listing')]" strategy="xpath" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator=".messages .message" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageNew.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageNew.xml deleted file mode 100644 index 1f82af342704b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/Adminhtml/CmsPageNew.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsPageNew" area="Adminhtml" mca="cms/page/new" module="Magento_Cms"> - <block name="pageForm" class="Magento\Cms\Test\Block\Adminhtml\Page\Edit\PageForm" locator="[id='page:main-container']" strategy="css selector" /> - <block name="pageMainActions" class="Magento\Cms\Test\Block\Adminhtml\Page\Edit\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsIndex.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsIndex.xml deleted file mode 100644 index e57b4a255a161..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsIndex.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsIndex" mca="cms/index/index" module="Magento_Cms"> - <block name="searchBlock" class="Magento\Catalog\Test\Block\Search" locator="#search_mini_form" strategy="css selector" /> - <block name="topmenu" class="Magento\Theme\Test\Block\Html\Topmenu" locator="[data-action='navigation']" strategy="css selector" /> - <block name="titleBlock" class="Magento\Theme\Test\Block\Html\Title" locator=".page-title-wrapper" strategy="css selector" /> - <block name="footerBlock" class="Magento\Theme\Test\Block\Html\Footer" locator="footer.page-footer" strategy="css selector" /> - <block name="logoBlock" class="Magento\Theme\Test\Block\Html\Logo" locator=".header .logo" strategy="css selector" /> - <block name="linksBlock" class="Magento\Theme\Test\Block\Links" locator=".panel.header" strategy="css selector" /> - <block name="storeSwitcherBlock" class="Magento\Store\Test\Block\Switcher" locator="[data-ui-id='language-switcher']" strategy="css selector" /> - <block name="currencyBlock" class="Magento\Directory\Test\Block\Currency\Switcher" locator=".switcher.currency" strategy="css selector" /> - <block name="cmsPageBlock" class="Magento\Cms\Test\Block\Page" locator=".page-main" strategy="css selector" /> - <block name="widgetView" class="Magento\Widget\Test\Block\WidgetView" locator=".widget" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Cms\Test\Block\Messages" locator=".messages" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsPage.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsPage.xml deleted file mode 100644 index 1a7adcd531c55..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsPage.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CmsPage" mca="cms/page" module="Magento_Cms"> - <block name="cmsPageBlock" class="Magento\Cms\Test\Block\Page" locator="#maincontent" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsBlock.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsBlock.xml deleted file mode 100644 index 1cbf8e407e936..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsBlock.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Cms\Test\Repository\CmsBlock"> - <dataset name="default"> - <field name="title" xsi:type="string">block_%isolation%</field> - <field name="identifier" xsi:type="string">identifier_%isolation%</field> - <field name="stores" xsi:type="array"> - <item name="dataset" xsi:type="array"> - <item name="0" xsi:type="string">all_store_views</item> - </item> - </field> - <field name="is_active" xsi:type="string">Yes</field> - <field name="content" xsi:type="string">description_%isolation%</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage.xml deleted file mode 100644 index d3582deaad358..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Cms\Test\Repository\CmsPage"> - <dataset name="default"> - <field name="title" xsi:type="string">page-%isolation%</field> - <field name="identifier" xsi:type="string">page-%isolation%</field> - <field name="store_id" xsi:type="string">All Store Views</field> - <field name="is_active" xsi:type="string">Yes</field> - <field name="content" xsi:type="array"> - <item name="content" xsi:type="string">Test Content</item> - </field> - <field name="content_heading" xsi:type="string">Heading-%isolation%</field> - <field name="page_layout" xsi:type="string">1 column</field> - </dataset> - - <dataset name="cms-page-duplicated"> - <field name="title" xsi:type="string">404 Not Found 1 Test%isolation%</field> - <field name="identifier" xsi:type="string">home</field> - <field name="store_id" xsi:type="string">All Store Views</field> - <field name="is_active" xsi:type="string">Yes</field> - <field name="content" xsi:type="array"> - <item name="content" xsi:type="string">Test Content</item> - </field> - <field name="meta_keywords" xsi:type="string">Page keywords</field> - <field name="meta_description" xsi:type="string">Page description</field> - </dataset> - - <dataset name="3_column_template"> - <field name="title" xsi:type="string">page-compare-%isolation%</field> - <field name="identifier" xsi:type="string">page-compare-%isolation%</field> - <field name="store_id" xsi:type="string">All Store Views</field> - <field name="is_active" xsi:type="string">Yes</field> - <field name="content" xsi:type="array"> - <item name="content" xsi:type="string">Test Content</item> - </field> - <field name="page_layout" xsi:type="string">3 columns</field> - </dataset> - - <dataset name="cms-page-searchable"> - <field name="title" xsi:type="string">page_%isolation%</field> - <field name="identifier" xsi:type="string">page_%isolation%</field> - <field name="store_id" xsi:type="string">All Store Views</field> - <field name="is_active" xsi:type="string">Yes</field> - <field name="content" xsi:type="array"> - <item name="content" xsi:type="string">Test Content</item> - </field> - <field name="content_heading" xsi:type="string">Heading_%isolation%</field> - <field name="page_layout" xsi:type="string">1 column</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage/Content.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage/Content.xml deleted file mode 100644 index fcba106ba71e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/CmsPage/Content.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Cms\Test\Repository\CmsPage\Content"> - <dataset name="default"> - <field name="widget_1" xsi:type="array"> - <item name="widget_type" xsi:type="string">CMS Page Link</item> - <item name="anchor_text" xsi:type="string">CMS Page Link anchor_text_%isolation%</item> - <item name="title" xsi:type="string">CMS Page Link anchor_title_%isolation%</item> - <item name="template" xsi:type="string">CMS Page Link Block Template</item> - <item name="chosen_option" xsi:type="array"> - <item name="filter_url_key" xsi:type="string">home</item> - </item> - </field> - </dataset> - - <dataset name="compared_products_grid"> - <field name="widget" xsi:type="array"> - <item name="widget_type" xsi:type="string">Recently Compared Products</item> - <item name="page_size" xsi:type="string">10</item> - <item name="template" xsi:type="string">Compared Products Grid Template</item> - <item name="show_attributes" xsi:type="array"> - <item name="name" xsi:type="string">Name</item> - <item name="image" xsi:type="string">Image</item> - <item name="price" xsi:type="string">Price</item> - </item> - <item name="show_buttons" xsi:type="array"> - <item name="add_to_cart" xsi:type="string">Add to Cart</item> - <item name="add_to_compare" xsi:type="string">Add to Compare</item> - <item name="add_to_wishlist" xsi:type="string">Add to Wishlist</item> - </item> - </field> - </dataset> - - <dataset name="new_products_grid"> - <field name="widget" xsi:type="array"> - <item name="widget_type" xsi:type="string">Catalog New Products List</item> - <item name="display_type" xsi:type="string">All products</item> - <item name="show_pager" xsi:type="string">Yes</item> - <item name="products_count" xsi:type="string">10</item> - <item name="template" xsi:type="string">New Products Grid Template</item> - </field> - </dataset> - - <dataset name="all_widgets"> - <field name="widget_1" xsi:type="array"> - <item name="widget_type" xsi:type="string">CMS Page Link</item> - <item name="anchor_text" xsi:type="string">CMS Page Link anchor_text_%isolation%</item> - <item name="title" xsi:type="string">CMS Page Link anchor_title_%isolation%</item> - <item name="template" xsi:type="string">CMS Page Link Block Template</item> - <item name="chosen_option" xsi:type="array"> - <item name="filter_url_key" xsi:type="string">home</item> - </item> - </field> - <field name="widget_2" xsi:type="array"> - <item name="widget_type" xsi:type="string">CMS Static Block</item> - <item name="template" xsi:type="string">CMS Static Block Default Template</item> - <item name="chosen_option" xsi:type="array"> - <item name="filter_url_key" xsi:type="string">cmsBlock</item> - </item> - </field> - <field name="widget_3" xsi:type="array"> - <item name="widget_type" xsi:type="string">Catalog Category Link</item> - <item name="anchor_text" xsi:type="string">Catalog Category Link anchor_text_%isolation%</item> - <item name="title" xsi:type="string">Catalog Category Link anchor_title_%isolation%</item> - <item name="template" xsi:type="string">Category Link Block Template</item> - <item name="chosen_option" xsi:type="array"> - <item name="filter_url_key" xsi:type="string">default_subcategory</item> - </item> - </field> - <field name="widget_4" xsi:type="array"> - <item name="widget_type" xsi:type="string">Catalog New Products List</item> - <item name="display_type" xsi:type="string">All products</item> - <item name="show_pager" xsi:type="string">Yes</item> - <item name="products_count" xsi:type="string">10</item> - <item name="template" xsi:type="string">New Products Grid Template</item> - <item name="cache_lifetime" xsi:type="string">86400</item> - </field> - <field name="widget_5" xsi:type="array"> - <item name="widget_type" xsi:type="string">Catalog Product Link</item> - <item name="anchor_text" xsi:type="string">Catalog Product Link anchor_text_%isolation%</item> - <item name="title" xsi:type="string">Catalog Product Link anchor_title_%isolation%</item> - <item name="template" xsi:type="string">Product Link Block Template</item> - <item name="chosen_option" xsi:type="array"> - <item name="category_path" xsi:type="string">product_with_category</item> - <item name="filter_sku" xsi:type="string">product_with_category</item> - </item> - </field> - <field name="widget_6" xsi:type="array"> - <item name="widget_type" xsi:type="string">Recently Compared Products</item> - <item name="page_size" xsi:type="string">10</item> - <item name="template" xsi:type="string">Compared Products Grid Template</item> - <item name="show_attributes" xsi:type="array"> - <item name="name" xsi:type="string">Name</item> - <item name="image" xsi:type="string">Image</item> - <item name="price" xsi:type="string">Price</item> - </item> - <item name="show_buttons" xsi:type="array"> - <item name="add_to_cart" xsi:type="string">Add to Cart</item> - <item name="add_to_compare" xsi:type="string">Add to Compare</item> - <item name="add_to_wishlist" xsi:type="string">Add to Wishlist</item> - </item> - </field> - <field name="widget_7" xsi:type="array"> - <item name="widget_type" xsi:type="string">Recently Viewed Products</item> - <item name="page_size" xsi:type="string">10</item> - <item name="template" xsi:type="string">Viewed Products Grid Template</item> - <item name="show_attributes" xsi:type="array"> - <item name="name" xsi:type="string">Name</item> - <item name="image" xsi:type="string">Image</item> - <item name="price" xsi:type="string">Price</item> - </item> - <item name="show_buttons" xsi:type="array"> - <item name="add_to_cart" xsi:type="string">Add to Cart</item> - <item name="add_to_compare" xsi:type="string">Add to Compare</item> - <item name="add_to_wishlist" xsi:type="string">Add to Wishlist</item> - </item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/ConfigData.xml deleted file mode 100644 index 222c181bb44c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="wysiwyg_disabled"> - <field name="cms/wysiwyg/enabled" xsi:type="array"> - <item name="scope" xsi:type="string">default</item> - <item name="scope_id" xsi:type="number">0</item> - <item name="label" xsi:type="string">Disabled Completely</item> - <item name="value" xsi:type="string">disabled</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/UrlRewrite.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/UrlRewrite.xml deleted file mode 100644 index 673423cdf90e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/Repository/UrlRewrite.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\UrlRewrite\Test\Repository\UrlRewrite"> - <dataset name="cms_default_no_redirect"> - <field name="request_path" xsi:type="string">test_request%isolation%</field> - <field name="target_path" xsi:type="array"> - <item name="entity" xsi:type="string">cms_page/%cmsPage::default%</item> - </field> - <field name="description" xsi:type="string">test description</field> - <field name="redirect_type" xsi:type="string">No</field> - <field name="store_id" xsi:type="string">Default Store View</field> - </dataset> - - <dataset name="cms_default_temporary_redirect"> - <field name="request_path" xsi:type="string">test_request%isolation%</field> - <field name="redirect_type" xsi:type="string">Temporary (302)</field> - <field name="store_id" xsi:type="string">Default Store View</field> - <field name="target_path" xsi:type="array"> - <item name="entity" xsi:type="string">cms_page/%cmsPage::default%</item> - </field> - <field name="description" xsi:type="string">test description</field> - </dataset> - - <dataset name="cms_default_permanent_redirect"> - <field name="request_path" xsi:type="string">test_request%isolation%</field> - <field name="redirect_type" xsi:type="string">Permanent (301)</field> - <field name="store_id" xsi:type="string">Default Store View</field> - <field name="target_path" xsi:type="array"> - <item name="entity" xsi:type="string">cms_page/%cmsPage::default%</item> - </field> - <field name="description" xsi:type="string">test description</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/AbstractCmsBlockEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/AbstractCmsBlockEntityTest.php deleted file mode 100644 index e97ce25cd745b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/AbstractCmsBlockEntityTest.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Backend\Test\Page\Adminhtml\StoreDelete; -use Magento\Backend\Test\Page\Adminhtml\StoreIndex; -use Magento\Backend\Test\Page\Adminhtml\StoreNew; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockNew; -use Magento\Mtf\TestCase\Injectable; - -/** - * Parent class for CMS Block tests. - */ -abstract class AbstractCmsBlockEntityTest extends Injectable -{ - /** - * Page CmsBlockIndex. - * - * @var CmsBlockIndex - */ - protected $cmsBlockIndex; - - /** - * Page CmsBlockNew. - * - * @var CmsBlockNew - */ - protected $cmsBlockNew; - - /** - * Page StoreIndex. - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page StoreNew. - * - * @var StoreNew - */ - protected $storeNew; - - /** - * Page StoreDelete. - * - * @var StoreDelete - */ - protected $storeDelete; - - /** - * Store Name. - * - * @var array - */ - protected $storeName; - - /** - * Skipped stores for tearDown. - * - * @var array - */ - protected $skippedStores = [ - 'All Store Views', - 'Main Website/Main Website Store/Default Store View', - ]; - - /** - * Injection data. - * - * @param CmsBlockIndex $cmsBlockIndex - * @param CmsBlockNew $cmsBlockNew - * @param StoreIndex $storeIndex - * @param StoreNew $storeNew - * @param StoreDelete $storeDelete - * @return void - */ - public function __inject( - CmsBlockIndex $cmsBlockIndex, - CmsBlockNew $cmsBlockNew, - StoreIndex $storeIndex, - StoreNew $storeNew, - StoreDelete $storeDelete - ) { - $this->cmsBlockIndex = $cmsBlockIndex; - $this->cmsBlockNew = $cmsBlockNew; - $this->storeIndex = $storeIndex; - $this->storeNew = $storeNew; - $this->storeDelete = $storeDelete; - } - - /** - * Delete Store after test. - * - * @return void - */ - public function tearDown(): void - { - foreach ($this->storeName as $store) { - if (in_array($store, $this->skippedStores)) { - continue; - } - $tmp = explode("/", $store); - $filter['store_title'] = end($tmp); - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpen($filter); - $this->storeNew->getFormPageActions()->delete(); - $this->storeDelete->getStoreForm()->fillForm(['create_backup' => 'No']); - $this->storeDelete->getFormPageActions()->delete(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.php deleted file mode 100644 index a366b4569821d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create two CMS pages. - * - * Steps: - * 1. Log in to Backend. - * 2. Navigate to Content > Elements > Pages. - * 3. Perform mass action on the newly created pages. - * 4. Perform assertions. - * - * @group CMS_Content - * @ZephyrId MAGETWO-35581 - */ -class CmsPageMassActionTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * CmsIndex page. - * - * @var CmsPageIndex - */ - protected $cmsIndex; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param CmsPageIndex $cmsIndex - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(CmsPageIndex $cmsIndex, FixtureFactory $fixtureFactory) - { - $this->cmsIndex = $cmsIndex; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Creating Cms page. - * - * @param array $cmsPages - * @param string $action - * @return array - */ - public function test(array $cmsPages, $action) - { - // Preconditions - $pages = []; - $pagesForMassAction = []; - foreach ($cmsPages as $key => $dataset) { - $pages[$key] = $this->fixtureFactory->createByCode('cmsPage', ['dataset' => $dataset]); - $pages[$key]->persist(); - $pagesForMassAction[$key] = ['id' => $pages[$key]->getPageId()]; - } - - // Test steps - $this->cmsIndex->open(); - $this->cmsIndex->getCmsPageGridBlock()->massaction($pagesForMassAction, $action); - - return [ - 'cmsPages' => $pages - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.xml deleted file mode 100644 index 68cdf5ba7b4c2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CmsPageMassActionTest" summary="Create two CMS Content Pages and perform mass action" ticketId="MAGETWO-35581"> - <variation name="CmsPageMassActionTestVariation1" summary="Create two CMS Content Pages and perform mass disable action"> - <data name="cmsPages/0" xsi:type="string">default</data> - <data name="cmsPages/1" xsi:type="string">3_column_template</data> - <data name="action" xsi:type="string">Disable</data> - <data name="expectedStatus" xsi:type="string">Disabled</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagesInGrid" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagesDisabledOnFrontend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.php deleted file mode 100644 index dec4a9a7549a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Fixture\CmsBlock; - -/** - * Preconditions: - * 1. Create store view. - * - * Steps: - * 1. Open Backend. - * 2. Go to Content > Blocks. - * 3. Click "Add New Block" button. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group CMS_Content - * @ZephyrId MAGETWO-25578 - */ -class CreateCmsBlockEntityTest extends AbstractCmsBlockEntityTest -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Create CMS Block. - * - * @param CmsBlock $cmsBlock - * @return void - */ - public function test(CmsBlock $cmsBlock) - { - // Prepare data for tearDown - $this->storeName = $cmsBlock->getStores(); - - // Steps - $this->cmsBlockIndex->open(); - $this->cmsBlockIndex->getGridPageActions()->addNew(); - $this->cmsBlockNew->getCmsForm()->fill($cmsBlock); - $this->cmsBlockNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.xml deleted file mode 100644 index bd9db3f34bdd7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsBlockEntityTest.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CreateCmsBlockEntityTest" summary="Create CMS Block" ticketId="MAGETWO-25578"> - <variation name="CreateCmsBlockEntityTestVariation1"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, severity:S1, mftf_migrated:yes</data> - <data name="cmsBlock/data/title" xsi:type="string">block_%isolation%</data> - <data name="cmsBlock/data/identifier" xsi:type="string">identifier_%isolation%</data> - <data name="cmsBlock/data/stores/dataset/option_0" xsi:type="string">All Store Views</data> - <data name="cmsBlock/data/is_active" xsi:type="string">Yes</data> - <data name="cmsBlock/data/content" xsi:type="string">description_%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockInGrid" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockOnCategoryPage" /> - </variation> - <variation name="CreateCmsBlockEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="cmsBlock/data/title" xsi:type="string">block_%isolation%</data> - <data name="cmsBlock/data/identifier" xsi:type="string">identifier_%isolation%</data> - <data name="cmsBlock/data/stores/dataset/option_0" xsi:type="string">default</data> - <data name="cmsBlock/data/is_active" xsi:type="string">No</data> - <data name="cmsBlock/data/content" xsi:type="string">description_%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockNotOnCategoryPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.php deleted file mode 100644 index b5c1eb058dcb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Steps: - * 1. Log in to Backend. - * 2. Navigate to Content > Elements > Pages. - * 3. Click "Add New Page", add page contents according to Test Data(Default Store View) and save. - * 4. Click "Add New Page", add page contents according to Test Data(Custom Store View 1) and save. - * 5. Click "Add New Page", add page contents according to Test Data(Custom Store View 2) and save. - * 6. Save CMS Page. - * 7. Verify created CMS Page. - * - * @group CMS_Content - * @ZephyrId MAGETWO-52467 - */ -class CreateCmsPageEntityMultipleStoreViewsTest extends Injectable -{ - /** - * CmsIndex page. - * - * @var CmsPageIndex - */ - protected $cmsIndex; - - /** - * CmsPageNew page. - * - * @var CmsPageNew - */ - protected $cmsPageNew; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPageNew $cmsPageNew - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(CmsPageIndex $cmsIndex, CmsPageNew $cmsPageNew, FixtureFactory $fixtureFactory) - { - $this->cmsIndex = $cmsIndex; - $this->cmsPageNew = $cmsPageNew; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Page cache for different CMS pages on multiple store views. - * - * @param array $cmsPages - * @return array - */ - public function test(array $cmsPages) - { - // Steps - $cmsPageFixtures = []; - foreach ($cmsPages as $cmsPage) { - $cmsPageFixture = $this->fixtureFactory->createByCode('cmsPage', ['data' => $cmsPage]); - $cmsPageFixtures[] = $cmsPageFixture; - - $this->cmsIndex->open(); - $this->cmsIndex->getPageActionsBlock()->addNew(); - $this->cmsPageNew->getPageForm()->fill($cmsPageFixture); - $this->cmsPageNew->getPageMainActions()->save(); - } - - return ['cmsPages' => $cmsPageFixtures]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.xml deleted file mode 100644 index 72a76dacc3297..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityMultipleStoreViewsTest.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CreateCmsPageEntityMultipleStoreViewsTest" summary="Page cache for different CMS pages on multiple store views" ticketId="MAGETWO-52467"> - <variation name="CreateCmsPageEntityMultipleStoreViewsTestVariation1"> - <data name="cmsPages/0/is_active" xsi:type="string">Yes</data> - <data name="cmsPages/0/title" xsi:type="string">NewCmsPage</data> - <data name="cmsPages/0/store_id/dataset" xsi:type="string">default</data> - <data name="cmsPages/0/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <data name="cmsPages/0/content/widget/dataset" xsi:type="string">default</data> - <data name="cmsPages/0/page_layout" xsi:type="string">1 column</data> - <data name="cmsPages/0/identifier" xsi:type="string">identifier_%isolation%</data> - <data name="cmsPages/1/is_active" xsi:type="string">Yes</data> - <data name="cmsPages/1/title" xsi:type="string">NewCmsPage</data> - <data name="cmsPages/1/store_id/dataset" xsi:type="string">custom</data> - <data name="cmsPages/1/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <data name="cmsPages/1/content/widget/dataset" xsi:type="string">compared_products_grid</data> - <data name="cmsPages/1/page_layout" xsi:type="string">1 column</data> - <data name="cmsPages/1/identifier" xsi:type="string">identifier_%isolation%</data> - <data name="cmsPages/2/is_active" xsi:type="string">Yes</data> - <data name="cmsPages/2/title" xsi:type="string">NewCmsPage</data> - <data name="cmsPages/2/store_id/dataset" xsi:type="string">custom</data> - <data name="cmsPages/2/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <data name="cmsPages/2/content/widget/dataset" xsi:type="string">new_products_grid</data> - <data name="cmsPages/2/page_layout" xsi:type="string">1 column</data> - <data name="cmsPages/2/identifier" xsi:type="string">identifier_%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagesOnFrontendMultipleStoreViews" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.php deleted file mode 100644 index b56a9f4d7705a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Cms\Test\Fixture\CmsPage as CmsPageFixture; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Steps: - * 1. Log in to Backend. - * 2. Navigate to Content > Elements > Pages. - * 3. Start to create new CMS Page. - * 4. Fill out fields data according to data set. - * 5. Save CMS Page. - * 6. Verify created CMS Page. - * - * @group CMS_Content - * @ZephyrId MAGETWO-25580 - */ -class CreateCmsPageEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * CmsIndex page. - * - * @var CmsPageIndex - */ - protected $cmsIndex; - - /** - * CmsPageNew page. - * - * @var CmsPageNew - */ - protected $cmsPageNew; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Configuration data. - * - * @var string - */ - private $configData; - - /** - * Inject pages. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPageNew $cmsPageNew - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(CmsPageIndex $cmsIndex, CmsPageNew $cmsPageNew, FixtureFactory $fixtureFactory) - { - $this->cmsIndex = $cmsIndex; - $this->cmsPageNew = $cmsPageNew; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Creating Cms page. - * - * @param array $data - * @param string $fixtureType - * @param string $configData - * @return array - */ - public function test(array $data, $fixtureType, $configData = '') - { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - // Steps - $cms = $this->fixtureFactory->createByCode($fixtureType, ['data' => $data]); - $this->cmsIndex->open(); - $this->cmsIndex->getPageActionsBlock()->addNew(); - $this->cmsPageNew->getPageForm()->fill($cms); - $this->cmsPageNew->getPageMainActions()->save(); - - return ['cms' => $cms]; - } - - /** - * Disable single store mode on config level. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'enable_single_store_mode', 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.xml deleted file mode 100644 index bf477e1215486..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageEntityTest.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CreateCmsPageEntityTest" summary="Create Cms Page" ticketId="MAGETWO-25580"> - <variation name="CreateCmsPageEntityTestVariation1" summary="Create CMS Content Page" ticketId="MAGETWO-12399"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, severity:S1, mftf_migrated:yes</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/is_active" xsi:type="string">Yes</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/store_id" xsi:type="string">All Store Views</data> - <data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageInGrid" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagePreview" /> - </variation> - <variation name="CreateCmsPageEntityTestVariation2" summary="Create page for default store view"> - <data name="tag" xsi:type="string">severity:S1, mftf_migrated:yes</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/is_active" xsi:type="string">Yes</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageForm" /> - </variation> - <variation name="CreateCmsPageEntityTestVariation4" summary="Create disabled page"> - <data name="tag" xsi:type="string">severity:S3, mftf_migrated:yes</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="data/is_active" xsi:type="string">No</data> - <data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageDisabledOnFrontend" /> - </variation> - <variation name="CreateCmsPageEntityTestVariation5" summary="Block Cache Exploit" ticketId="MAGETWO-48017"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="data/is_active" xsi:type="string">Yes</data> - <data name="data/content/content" xsi:type="string">\\{{block class='Magento\Framework\View\Element\Text' text='bla bla bla' cache_key='BACKEND_ACL_RESOURCES' cache_lifetime=999\}}</data> - <data name="displayContent" xsi:type="string">bla bla bla</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagePreview" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageOnFrontend" /> - </variation> - <variation name="CreateCmsPageEntityTestVariation6" summary="Create CMS page with single store mode" ticketId="MAGETWO-59654"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="configData" xsi:type="string">enable_single_store_mode</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/is_active" xsi:type="string">Yes</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageFormSingleStoreMode" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageOnFrontend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.php deleted file mode 100644 index c09acc3769357..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\UrlRewrite\Test\Fixture\UrlRewrite; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteEdit; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions - * 1. Create CMS Page. - * - * Steps - * 1. Login to backend as Admin. - * 2. Go to the Marketing > SEO & Search > URL Rewrites. - * 3. Click "Add Url Rewrite" button. - * 4. Select "For CMS Page" in Create URL Rewrite dropdown. - * 5. Select CMS page from preconditions in grid. - * 6. Fill data according to data set. - * 7. Save Rewrite. - * 8. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-24847 - */ -class CreateCmsPageRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Create CMS page rewrites. - * - * @param UrlRewrite $urlRewrite - * @return array - */ - public function test(UrlRewrite $urlRewrite) - { - //Steps - $this->urlRewriteIndex->open(); - $this->urlRewriteIndex->getPageActionsBlock()->addNew(); - $this->urlRewriteEdit->getUrlRewriteTypeSelectorBlock()->selectType($urlRewrite->getEntityType()); - $cmsPage = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity(); - $filter = ['title' => $cmsPage->getTitle()]; - $this->urlRewriteEdit->getCmsGridBlock()->searchAndOpen($filter); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - - return ['cmsPage' => $cmsPage]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.xml deleted file mode 100644 index 25338d3628b1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCmsPageRewriteEntityTest.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CreateCmsPageRewriteEntityTest" summary="Create CMS Page URL Rewrites" ticketId="MAGETWO-24847"> - <variation name="CreateCmsPageRewriteEntityTestVariation1"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, severity:S1</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">For CMS page</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">No</data> - <data name="urlRewrite/data/description" xsi:type="string">test_description_default</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - <variation name="CreateCmsPageRewriteEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">For CMS page</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%.html</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Temporary (302)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_302</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - <variation name="CreateCmsPageRewriteEntityTestVariation3"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">For CMS page</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%.htm</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Permanent (301)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_301</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - <variation name="CreateCmsPageRewriteEntityTestVariation4"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">For CMS page</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%.aspx</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Permanent (301)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_%isolation%</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml deleted file mode 100644 index 8adbc1ae46c7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\UrlRewrite\Test\TestCase\CreateCustomUrlRewriteEntityTest" summary="Create Custom URL Rewrites" ticketId="MAGETWO-25474"> - <variation name="CreateCustomUrlRewriteEntityTestVariation3"> - <data name="tag" xsi:type="string">severity:S1, mftf_migrated:yes</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">Custom</data> - <data name="urlRewrite/data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">cms_page_request_path%isolation%</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">No</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_full path</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteCustomRedirect" /> - </variation> - <variation name="CreateCustomUrlRewriteEntityTestVariation4"> - <data name="tag" xsi:type="string">severity:S1, mftf_migrated:yes</data> - <data name="urlRewrite/data/entity_type" xsi:type="string">Custom</data> - <data name="urlRewrite/data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="urlRewrite/data/target_path/entity" xsi:type="string">cms/page/view/page_id/%cmsPage::default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">cms_page_request_path%isolation%</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Temporary (302)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_full path</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteCustomRedirect" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.php deleted file mode 100644 index bb1aa1d3e328d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Cms\Test\Fixture\CmsPage as CmsPageFixture; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Steps: - * 1. Log in to Backend. - * 2. Navigate to Content > Elements > Pages. - * 3. Start to create new CMS Page. - * 4. Fill out fields data according to data set. - * 5. Save CMS Page. - * 6. Verify created CMS Page. - * 7. Navigate to Content > Elements > Pages. - * 8. Start to create new CMS Page. - * 9. Fill out the same fields data according to data set. - * 10. Save CMS Page. - * 11. Verify user friendly url rewrite message is displayed. - * - * @group CMS_Content - * @ZephyrId MAGETWO-70306 - */ -class CreateDuplicateUrlCmsPageEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * CmsIndex page. - * - * @var CmsPageIndex - */ - protected $cmsIndex; - - /** - * CmsPageNew page. - * - * @var CmsPageNew - */ - protected $cmsPageNew; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Configuration data. - * - * @var string - */ - private $configData; - - /** - * Inject pages. - * - * @param CmsPageIndex $cmsIndex - * @param CmsPageNew $cmsPageNew - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(CmsPageIndex $cmsIndex, CmsPageNew $cmsPageNew, FixtureFactory $fixtureFactory) - { - $this->cmsIndex = $cmsIndex; - $this->cmsPageNew = $cmsPageNew; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Creating Cms page. - * - * @param array $data - * @param string $fixtureType - * @param string $configData - * @return array - */ - public function test(array $data, $fixtureType, $configData = '') - { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - $cmsPage = $this->fixtureFactory->createByCode($fixtureType, ['data' => $data]); - - for ($index = 0; $index < 2; $index++) { - // Duplicate page - $this->cmsIndex->open(); - $this->cmsIndex->getPageActionsBlock()->addNew(); - $this->cmsPageNew->getPageForm()->fill($cmsPage); - $this->cmsPageNew->getPageMainActions()->save(); - } - - return ['cmsPage' => $cmsPage]; - } - - /** - * Disable single store mode on config level. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'enable_single_store_mode', 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.xml deleted file mode 100644 index 16cf79e3c565b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CreateDuplicateUrlCmsPageEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\CreateDuplicateUrlCmsPageEntityTest" summary="Create CMS Page URL Rewrites" ticketId="MAGETWO-70306"> - <variation name="CreateCmsPageEntityTestVariation1" summary="Create Duplicate Url CMS Content Page" > - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, severity:S1</data> - <data name="fixtureType" xsi:type="string">cmsPage</data> - <data name="data/is_active" xsi:type="string">Yes</data> - <data name="data/title" xsi:type="string">NewCmsPage%isolation%</data> - <data name="data/identifier" xsi:type="string">identifier-%isolation%</data> - <data name="data/store_id" xsi:type="string">All Store Views</data> - <data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageDuplicateErrorMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.php deleted file mode 100644 index 571c6341a7436..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Fixture\CmsBlock; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsBlockNew; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Catalog\Test\Fixture\Category; - -/** - * Preconditions: - * 1. Create CMS Block. - * - * Steps: - * 1. Open Backend. - * 2. Go to Content > Blocks. - * 3. Open created CMS block. - * 4. Click "Delete Block". - * 5. Perform all assertions. - * - * @group CMS_Content - * @ZephyrId MAGETWO-25698 - */ -class DeleteCmsBlockEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Page CmsBlockIndex. - * - * @var CmsBlockIndex - */ - protected $cmsBlockIndex; - - /** - * Page CmsBlockNew. - * - * @var CmsBlockNew - */ - protected $cmsBlockNew; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Injection data. - * - * @param CmsBlockIndex $cmsBlockIndex - * @param CmsBlockNew $cmsBlockNew - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CmsBlockIndex $cmsBlockIndex, - CmsBlockNew $cmsBlockNew, - FixtureFactory $fixtureFactory - ) { - $this->cmsBlockIndex = $cmsBlockIndex; - $this->cmsBlockNew = $cmsBlockNew; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Delete CMS Block. - * - * @param CmsBlock $cmsBlock - * @return array - */ - public function test(CmsBlock $cmsBlock) - { - // Precondition - $cmsBlock->persist(); - $filter = ['identifier' => $cmsBlock->getIdentifier()]; - $category = $this->createCategory($cmsBlock); - - // Steps - $this->cmsBlockIndex->open(); - $this->cmsBlockIndex->getCmsBlockGrid()->searchAndOpen($filter); - $this->cmsBlockNew->getFormPageActions()->delete(); - $this->cmsBlockNew->getModalBlock()->acceptAlert(); - - return ['category' => $category]; - } - - /** - * Create category. - * - * @param CmsBlock $cmsBlock - * @return Category - */ - private function createCategory(CmsBlock $cmsBlock) - { - $category = $this->fixtureFactory->createByCode( - 'category', - [ - 'dataset' => 'default_subcategory', - 'data' => [ - 'display_mode' => 'Static block and products', - 'landing_page' => $cmsBlock->getTitle(), - ] - ] - ); - $category->persist(); - - return $category; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.xml deleted file mode 100644 index 4e93b08399fb3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsBlockEntityTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\DeleteCmsBlockEntityTest" summary="Delete CMS Block" ticketId="MAGETWO-25698"> - <variation name="DeleteCmsBlockEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S1, stable:no</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockDeleteMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockNotInGrid" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockNotOnCategoryPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.php deleted file mode 100644 index 1358f4aa5a1c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. CMS Page is created. - * - * Steps: - * 1. Log in to Backend. - * 2. Navigate to CONTENT > Pages. - * 3. Click on CMS Page from grid. - * 4. Click "Delete Page" button. - * 5. Perform all assertions. - * - * @group CMS_Content - * @ZephyrId MAGETWO-23291 - */ -class DeleteCmsPageEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * CMS Index page. - * - * @var CmsPageIndex - */ - protected $cmsPageIndex; - - /** - * Edit CMS page. - * - * @var CmsPageNew - */ - protected $cmsPageNew; - - /** - * Inject pages. - * - * @param CmsPageIndex $cmsPageIndex - * @param CmsPageNew $cmsPageNew - * @return void - */ - public function __inject(CmsPageIndex $cmsPageIndex, CmsPageNew $cmsPageNew) - { - $this->cmsPageIndex = $cmsPageIndex; - $this->cmsPageNew = $cmsPageNew; - } - - /** - * Delete CMS Page. - * - * @param CmsPage $cmsPage - * @return void - */ - public function test(CmsPage $cmsPage) - { - // Preconditions - $cmsPage->persist(); - - // Steps - $this->cmsPageIndex->open(); - $this->cmsPageIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cmsPage->getTitle()]); - $this->cmsPageNew->getPageMainActions()->delete(); - $this->cmsPageNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.xml deleted file mode 100644 index dddb6a0e5b260..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageEntityTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\DeleteCmsPageEntityTest" summary="Delete CMS Page" ticketId="MAGETWO-23291"> - <variation name="DeleteCmsPageEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S1, stable:no</data> - <data name="cmsPage/dataset" xsi:type="string">default</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageDeleteMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageNotInGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.php deleted file mode 100644 index f8ea98dc90310..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\UrlRewrite\Test\Fixture\UrlRewrite; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteEdit; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create CMS Page. - * 2. Create CMS Page URL Redirect. - * - * Steps: - * 1. Login to backend as Admin. - * 2. Go to the Marketing > SEO & Search > URL Redirects. - * 3. Search and open created URL Redirect. - * 4. Delete Redirect. - * 5. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-25915 - */ -class DeleteCmsPageUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Delete CMS page rewrites entity. - * - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $urlRewrite) - { - // Precondition - $urlRewrite->persist(); - - // Steps - $this->urlRewriteIndex->open(); - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen(['request_path' => $urlRewrite->getRequestPath()]); - $this->urlRewriteEdit->getPageMainActions()->delete(); - $this->urlRewriteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.xml deleted file mode 100644 index 9a04e3552a137..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/DeleteCmsPageUrlRewriteEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\DeleteCmsPageUrlRewriteEntityTest" summary="Delete Cms Page URL Rewrites" ticketId="MAGETWO-25915"> - <variation name="DeleteCmsPageUrlRewriteEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="urlRewrite/dataset" xsi:type="string">cms_default_no_redirect</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteDeletedMessage" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteNotInGrid" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertPageByUrlRewriteIsNotFound" /> - </variation> - <variation name="DeleteCmsPageUrlRewriteEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="urlRewrite/dataset" xsi:type="string">cms_default_permanent_redirect</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteDeletedMessage" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertPageByUrlRewriteIsNotFound" /> - </variation> - <variation name="DeleteCmsPageUrlRewriteEntityTestVariation3"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="urlRewrite/dataset" xsi:type="string">cms_default_temporary_redirect</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteDeletedMessage" /> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertPageByUrlRewriteIsNotFound" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFilteringTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFilteringTest.xml deleted file mode 100644 index 7fad920812c50..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFilteringTest.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridFilteringTest" summary="Grid UI Component Filtering" ticketId="MAGETWO-41329"> - <variation name="CmsPageGridFiltering"> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="description" xsi:type="string">Verify cms page grid filtering</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">cmsPage</data> - <data name="fixtureDataSet" xsi:type="string">default</data> - <data name="filters" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">:title</item> - <item name="identifier" xsi:type="string">:identifier</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">:title</item> - <item name="page_id_from" xsi:type="string">:page_id</item> - </item> - </data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsPageIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsPageGridBlock</data> - <data name="idGetter" xsi:type="string">getPageId</data> - <constraint name="\Magento\Ui\Test\Constraint\AssertGridFiltering"/> - </variation> - <variation name="CmsBlockGridFiltering"> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="description" xsi:type="string">Verify cms block grid filtering</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">cmsBlock</data> - <data name="fixtureDataSet" xsi:type="string">default</data> - <data name="filters" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">:title</item> - </item> - <item name="1" xsi:type="array"> - <item name="block_id_from" xsi:type="string">:block_id</item> - </item> - </data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsBlockGrid</data> - <data name="idGetter" xsi:type="string">getBlockId</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridFiltering"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFullTextSearchTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFullTextSearchTest.xml deleted file mode 100644 index 03ea9b48ce7fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridFullTextSearchTest.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridFullTextSearchTest" summary="Grid UI Component Full Text Search" ticketId="MAGETWO-41023"> - <variation name="CmsPageGridFullTextSearch"> - <data name="tag" xsi:type="string">severity:S3, stable:no</data> - <data name="description" xsi:type="string">Verify cms page grid full text search</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">cmsPage</data> - <data name="fixtureDataSet" xsi:type="string">cms-page-searchable</data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsPageIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsPageGridBlock</data> - <data name="idGetter" xsi:type="string">getPageId</data> - <data name="fieldGetter" xsi:type="string">getTitle</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridFullTextSearch"/> - </variation> - <variation name="CmsBlockGridFullTextSearch"> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="description" xsi:type="string">Verify cms blocks grid full text search</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">cmsBlock</data> - <data name="fixtureDataSet" xsi:type="string">default</data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsBlockGrid</data> - <data name="idGetter" xsi:type="string">getBlockId</data> - <data name="fieldGetter" xsi:type="string">getTitle</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridFullTextSearch"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridSortingTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridSortingTest.xml deleted file mode 100644 index 30cbe79337855..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/GridSortingTest.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridSortingTest" summary="Grid UI Component Sorting" ticketId="MAGETWO-41328"> - <variation name="CmsPagesGridSorting"> - <data name="tag" xsi:type="string">severity:S3, stable:no</data> - <data name="description" xsi:type="string">Verify cms page grid sorting</data> - <data name="columnsForSorting" xsi:type="array"> - <item name="id" xsi:type="string">ID</item> - <item name="date" xsi:type="string">Created</item> - </data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsPageIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsPageGridBlock</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridSorting"/> - </variation> - <variation name="CmsBlocksGridSorting"> - <data name="tag" xsi:type="string">severity:S3, stable:no</data> - <data name="description" xsi:type="string">Verify cms blocks grid sorting</data> - <data name="steps" xsi:type="array"> - <item name="0" xsi:type="string">-</item> - <item name="1" xsi:type="string">-</item> - </data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">cmsBlock</data> - <data name="fixtureDataSet" xsi:type="string">default</data> - <data name="columnsForSorting" xsi:type="array"> - <item name="id" xsi:type="string">ID</item> - <item name="date" xsi:type="string">Created</item> - </data> - <data name="pageClass" xsi:type="string">Magento\Cms\Test\Page\Adminhtml\CmsBlockIndex</data> - <data name="gridRetriever" xsi:type="string">getCmsBlockGrid</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridSorting"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index cff5f7f2a5622..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Backend\Test\TestCase\NavigateMenuTest"> - <variation name="NavigateMenuTest18"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Content > Pages</data> - <data name="pageTitle" xsi:type="string">Pages</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - <variation name="NavigateMenuTest19"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Content > Blocks</data> - <data name="pageTitle" xsi:type="string">Blocks</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.php deleted file mode 100644 index 208c8221fed3c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Fixture\CmsBlock; - -/** - * Preconditions: - * 1. Create store view. - * 2. Create CMS Block. - * - * Steps: - * 1. Open Backend. - * 2. Go to Content > Blocks. - * 3. Open created CMS block. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group CMS_Content - * @ZephyrId MAGETWO-25941 - */ -class UpdateCmsBlockEntityTest extends AbstractCmsBlockEntityTest -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Run Update CMS Block test. - * - * @param CmsBlock $initialCmsBlock - * @param CmsBlock $cmsBlock - * @return void - */ - public function test(CmsBlock $initialCmsBlock, CmsBlock $cmsBlock) - { - // Prepare data for tearDown - $this->storeName = $cmsBlock->getStores(); - - // Precondition - $initialCmsBlock->persist(); - - // Steps - $this->cmsBlockIndex->open(); - $this->cmsBlockIndex->getCmsBlockGrid()->searchAndOpen(['identifier' => $initialCmsBlock->getIdentifier()]); - $this->cmsBlockNew->getCmsForm()->fill($cmsBlock); - $this->cmsBlockNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.xml deleted file mode 100644 index cf400e737e443..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsBlockEntityTest.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\UpdateCmsBlockEntityTest" summary="Update CMS Block" ticketId="MAGETWO-25941"> - <variation name="UpdateCmsBlockEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="cmsBlock/data/title" xsi:type="string">block_updated_%isolation%</data> - <data name="cmsBlock/data/identifier" xsi:type="string">identifier_updated_%isolation%</data> - <data name="cmsBlock/data/stores/dataset/option_0" xsi:type="string">all_store_views</data> - <data name="cmsBlock/data/is_active" xsi:type="string">Yes</data> - <data name="cmsBlock/data/content" xsi:type="string">description_updated_%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockInGrid" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockOnCategoryPage" /> - </variation> - <variation name="UpdateCmsBlockEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="cmsBlock/data/title" xsi:type="string">block_updated_%isolation%</data> - <data name="cmsBlock/data/identifier" xsi:type="string">identifier_updated_%isolation%</data> - <data name="cmsBlock/data/stores/dataset/option_0" xsi:type="string">default</data> - <data name="cmsBlock/data/is_active" xsi:type="string">No</data> - <data name="cmsBlock/data/content" xsi:type="string">description_updated_%isolation%</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsBlockNotOnCategoryPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.php deleted file mode 100644 index d3bcfaac58605..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Cms\Test\Fixture\CmsPage; -use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex; -use Magento\Cms\Test\Page\Adminhtml\CmsPageNew; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. CMS Page is created. - * - * Steps: - * 1. Log in to Backend. - * 2. Navigate to Content > Elements > Pages. - * 3. Click on CMS Page from grid. - * 4. Edit test value(s) according to data set. - * 5. Click 'Save' CMS Page. - * 6. Perform asserts. - * - * @group CMS_Content - * @ZephyrId MAGETWO-25186 - */ -class UpdateCmsPageEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * CMS Index page. - * - * @var CmsPageIndex - */ - protected $cmsPageIndex; - - /** - * Edit CMS page. - * - * @var CmsPageNew - */ - protected $cmsPageNew; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $factory; - - /** - * Inject page. - * - * @param CmsPageIndex $cmsPageIndex - * @param CmsPageNew $cmsPageNew - * @param CmsPage $cmsOriginal - * @param FixtureFactory $factory - * @return array - */ - public function __inject( - CmsPageIndex $cmsPageIndex, - CmsPageNew $cmsPageNew, - CmsPage $cmsOriginal, - FixtureFactory $factory - ) { - $cmsOriginal->persist(); - $this->cmsPageIndex = $cmsPageIndex; - $this->cmsPageNew = $cmsPageNew; - $this->factory = $factory; - return ['cmsOriginal' => $cmsOriginal]; - } - - /** - * Update CMS Page. - * - * @param CmsPage $cms - * @param CmsPage $cmsOriginal - * @return array - */ - public function test(CmsPage $cms, CmsPage $cmsOriginal) - { - // Steps - $this->cmsPageIndex->open(); - $this->cmsPageIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cmsOriginal->getTitle()]); - $this->cmsPageNew->getPageForm()->fill($cms); - $this->cmsPageNew->getPageMainActions()->save(); - - return [ - 'cms' => $this->factory->createByCode( - 'cmsPage', - ['data' => array_merge($cmsOriginal->getData(), $cms->getData())] - ) - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.xml deleted file mode 100644 index 61ca945adcad9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageEntityTest.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\UpdateCmsPageEntityTest" summary="Update Cms Page" ticketId="MAGETWO-25186"> - <variation name="UpdateCmsPageEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S3, mftf_migrated:yes</data> - <data name="cms/data/title" xsi:type="string">CmsPageEdited%isolation%</data> - <data name="cms/data/is_active" xsi:type="string">No</data> - <data name="cms/data/content/content" xsi:type="string">cms_page_text_content_after_edit</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageDisabledOnFrontend" /> - </variation> - <variation name="UpdateCmsPageEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S1, mftf_migrated:yes</data> - <data name="cms/data/title" xsi:type="string">CmsPageEdited%isolation%</data> - <data name="cms/data/identifier" xsi:type="string">cms_page_url_edited_%isolation%</data> - <data name="cms/data/content_heading" xsi:type="string">Content Heading TextEdited</data> - <data name="cms/data/content/content" xsi:type="string">cms_page_text_content_after_edit</data> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPageForm" /> - <constraint name="Magento\Cms\Test\Constraint\AssertCmsPagePreview" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.php deleted file mode 100644 index f44e77523cc24..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.php +++ /dev/null @@ -1,157 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Cms\Test\TestCase; - -use Magento\Backend\Test\Page\Adminhtml\StoreDelete; -use Magento\Backend\Test\Page\Adminhtml\StoreIndex; -use Magento\Backend\Test\Page\Adminhtml\StoreNew; -use Magento\UrlRewrite\Test\Fixture\UrlRewrite; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteEdit; -use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create custom store view. - * 2. Create CMS Page. - * 3. Create CMS Page URL Redirect. - * - * Steps: - * 1. Login to backend as Admin. - * 2. Go to the Marketing-> SEO & Search->URL Redirects. - * 3. Search and open created URL Redirect. - * 4. Fill data according to data set. - * 5. Save Redirect. - * 6. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-26173 - */ -class UpdateCmsPageRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Page StoreIndex. - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page StoreNew. - * - * @var StoreNew - */ - protected $storeNew; - - /** - * Page StoreDelete. - * - * @var StoreDelete - */ - protected $storeDelete; - - /** - * Store Name. - * - * @var string - */ - protected $storeName; - - /** - * Skipped stores for tearDown. - * - * @var array - */ - protected $skippedStores = [ - 'Main Website/Main Website Store/Default Store View', - ]; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @param StoreIndex $storeIndex - * @param StoreNew $storeNew - * @param StoreDelete $storeDelete - * @return void - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit, - StoreIndex $storeIndex, - StoreNew $storeNew, - StoreDelete $storeDelete - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - $this->storeIndex = $storeIndex; - $this->storeNew = $storeNew; - $this->storeDelete = $storeDelete; - } - - /** - * Update CMS page rewrites. - * - * @param UrlRewrite $urlRewrite - * @param UrlRewrite $cmsPageRewrite - * @return array - */ - public function test(UrlRewrite $urlRewrite, UrlRewrite $cmsPageRewrite) - { - // Preconditions - $cmsPageRewrite->persist(); - - // Steps - $this->urlRewriteIndex->open(); - $this->storeName = $urlRewrite->getStoreId(); - $filter = ['request_path' => $cmsPageRewrite->getRequestPath()]; - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - - return ['cmsPage' => $cmsPageRewrite->getDataFieldConfig('target_path')['source']->getEntity()]; - } - - /** - * Delete Store after test. - * - * @return void|null - */ - public function tearDown(): void - { - if (in_array($this->storeName, $this->skippedStores)) { - return; - } - $storeName = explode("/", $this->storeName); - $filter['store_title'] = end($storeName); - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpen($filter); - $this->storeNew->getFormPageActions()->delete(); - $this->storeDelete->getStoreForm()->fillForm(['create_backup' => 'No']); - $this->storeDelete->getFormPageActions()->delete(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.xml deleted file mode 100644 index 872a719d54fe9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/UpdateCmsPageRewriteEntityTest.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Cms\Test\TestCase\UpdateCmsPageRewriteEntityTest" summary="Update Cms Page URL Rewrites " ticketId="MAGETWO-26173"> - <variation name="UpdateCmsPageRewriteEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="cmsPageRewrite/dataset" xsi:type="string">cms_default_no_redirect</data> - <data name="urlRewrite/data/store_id" xsi:type="string">Main Website/Main Website Store/%default%</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">No</data> - <data name="urlRewrite/data/description" xsi:type="string">test_description_custom_store</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - <variation name="UpdateCmsPageRewriteEntityTestVariation2"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="cmsPageRewrite/dataset" xsi:type="string">cms_default_temporary_redirect</data> - <data name="urlRewrite/data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%.html</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Temporary (302)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_302</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - <variation name="UpdateCmsPageRewriteEntityTestVariation3"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="cmsPageRewrite/dataset" xsi:type="string">cms_default_permanent_redirect</data> - <data name="urlRewrite/data/store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</data> - <data name="urlRewrite/data/request_path" xsi:type="string">request_path%isolation%.htm</data> - <data name="urlRewrite/data/redirect_type" xsi:type="string">Permanent (301)</data> - <data name="urlRewrite/data/description" xsi:type="string">test description_301</data> - <constraint name="Magento\UrlRewrite\Test\Constraint\AssertUrlRewriteSaveMessage" /> - <constraint name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/etc/curl/di.xml deleted file mode 100644 index bc3254a2c9374..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/etc/curl/di.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\Cms\Test\Handler\CmsPage\CmsPageInterface" type="Magento\Cms\Test\Handler\CmsPage\Curl" /> - <preference for="Magento\Cms\Test\Handler\CmsBlock\CmsBlockInterface" type="Magento\Cms\Test\Handler\CmsBlock\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/etc/di.xml deleted file mode 100644 index bb19235ae1359..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Cms/Test/etc/di.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockDeleteMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockNotInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S3</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockNotOnCategoryPage"> - <arguments> - <argument name="severity" xsi:type="string">S3</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockOnCategoryPage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsBlockSuccessSaveMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageDeleteMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageDisabledOnFrontend"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageDuplicateErrorMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageForm"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageNotInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S3</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageOnFrontend"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPagePreview"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Cms\Test\Constraint\AssertUrlRewriteCmsPageRedirect"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Block/System/Config/AdminForm.php b/dev/tests/functional/tests/app/Magento/Config/Test/Block/System/Config/AdminForm.php deleted file mode 100644 index d3caa159c167e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Block/System/Config/AdminForm.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Config\Test\Block\System\Config; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - * Admin Security form in admin configurations. - * - * Locate Admin account sharing settings, see if its visible - */ -class AdminForm extends Form -{ - private $adminAccountSharingField = '#admin_security_admin_account_sharing'; - - public function adminAccountSharingAvailability() - { - return $this->_rootElement->find($this->adminAccountSharingField, Locator::SELECTOR_CSS)->isVisible(); - } - - /** - * Check if form is empty. - * - * @return bool - */ - public function isEmpty() - { - return $this->isVisible() && $this->_rootElement->getText() == ''; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Constraint/AssertAdminAccountSharing.php b/dev/tests/functional/tests/app/Magento/Config/Test/Constraint/AssertAdminAccountSharing.php deleted file mode 100644 index 3159d480ee93c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Constraint/AssertAdminAccountSharing.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Config\Test\Page\Adminhtml\AdminAccountSharing; - -/** - * Assert Admin account sharing is available in Stores>Configuration>advanced>admin grid. - */ -class AssertAdminAccountSharing extends AbstractConstraint -{ - /** - * Assert Admin account sharing is available in Stores>Configuration>advanced>admin grid. - * @param AdminAccountSharing $adminAccountSharing - */ - public function processAssert(AdminAccountSharing $adminAccountSharing) - { - \PHPUnit\Framework\Assert::assertTrue( - $adminAccountSharing->getAdminForm()->adminAccountSharingAvailability(), - 'Admin Account Sharing Option is not available' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Admin Account Sharing option is available and present in Stores>Configuration>Advanced>Admin Grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData.xml deleted file mode 100644 index 7fc0bfec1c8eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="configData" - module="Magento_Config" - type="flat" - entity_type="core_config_data" - collection="Magento\Config\Model\ResourceModel\Config\Data\Collection" - repository_class="Magento\Config\Test\Repository\ConfigData" - handler_interface="Magento\Config\Test\Handler\ConfigData\ConfigDataInterface" - class="Magento\Config\Test\Fixture\ConfigData"> - <field name="section" source="Magento\Config\Test\Fixture\ConfigData\Section" /> - <field name="config_id" is_required="1" /> - <field name="scope" is_required="" /> - <field name="scope_id" is_required="" /> - <field name="path" is_required="" /> - <field name="value" is_required="" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData/Section.php b/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData/Section.php deleted file mode 100644 index 8966f45e2f857..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Fixture/ConfigData/Section.php +++ /dev/null @@ -1,198 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\Fixture\ConfigData; - -use Magento\Store\Test\Fixture\Store; -use Magento\Store\Test\Fixture\Website; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\DataSource; - -/** - * Prepare Section entity. - */ -class Section extends DataSource -{ - /** - * Code of website. - */ - const WEBSITE_CODE = 'website'; - - /** - * Code of store view. - */ - const STORE_CODE = 'store'; - - /** - * Store View or Website fixture. - * - * @var Store|Website - */ - private $scope; - - /** - * Scope type. [website|store] - * - * @var string - */ - private $scopeType; - - /** - * Fixture Factory instance. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Rough fixture field data. - * - * @var array|null - */ - private $fixtureData = null; - - /** - * Scope data. - * - * @var array|null - */ - private $scopeData = null; - - /** - * Level of scope for set. - * If 'scope_type' = 'website', then 'set_level' MUST be 'website' only. - * - * @var string - */ - private $setLevel = null; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data [optional] - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) - { - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->fixtureData = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - */ - public function getData($key = null) - { - if ($this->data === null) { - if (isset($this->fixtureData['scope']['scope_type'])) { - $this->scopeData = $this->fixtureData['scope']; - $this->scopeType = $this->fixtureData['scope']['scope_type']; - $this->setLevel = $this->fixtureData['scope']['set_level']; - $this->prepareScopeData(); - unset($this->fixtureData['scope']); - } - $this->data = $this->replacePlaceholders($this->fixtureData); - } - - return parent::getData($key); - } - - /** - * Replace placeholders in parameters array. - * - * @param array $data - * @return array - */ - private function replacePlaceholders(array $data) - { - foreach ($data as &$params) { - $params = array_map(function ($value) { - if (is_string($value)) { - $value = str_replace( - '{{basic_url_to_secure}}', - preg_replace('/(http[s]?)/', 'https', $_ENV['app_frontend_url']), - $value - ); - $value = str_replace( - '{{basic_url_to_unsecure}}', - preg_replace('/(http[s]?)/', 'http', $_ENV['app_frontend_url']), - $value - ); - } - return $value; - }, $params); - } - return $data; - } - - /** - * Prepare scope data. - * - * @return void - * @throws \Exception - */ - private function prepareScopeData() - { - if (isset($this->scopeData['dataset'])) { - /** @var Store|Website $store */ - $this->scope = $this->fixtureFactory->createByCode( - $this->scopeType, - ['dataset' => $this->scopeData['dataset']] - ); - if (!$this->scope->hasData($this->scopeType . '_id')) { - $this->scope->persist(); - } - } elseif (isset($this->scopeData['fixture'])) { - $this->scope = $this->scopeData['fixture']; - } else { - throw new \Exception('Parameters "dataset" and "fixture" aren\'t identify.'); - } - - $this->prepareScope(); - } - - /** - * Prepare scope. - * - * @return void - * @throws \Exception - */ - private function prepareScope() - { - if ($this->setLevel == self::STORE_CODE && $this->scopeType == self::WEBSITE_CODE) { - throw new \Exception('Store level can\'t set to ["scope_type" = "website"].'); - } elseif ($this->setLevel == self::WEBSITE_CODE && $this->scopeType == self::STORE_CODE) { - $this->scopeType = $this->setLevel; - $this->scope = $this->scope - ->getDataFieldConfig('group_id')['source']->getStoreGroup() - ->getDataFieldConfig('website_id')['source']->getWebsite(); - } - } - - /** - * Return Store View or Website fixture. - * - * @return Store|Website - */ - public function getScope() - { - return $this->scope; - } - - /** - * Get get scope type [website|store]. - * - * @return string - */ - public function getScopeType() - { - return $this->scopeType; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/ConfigDataInterface.php b/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/ConfigDataInterface.php deleted file mode 100644 index 891afaaab1a2b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/ConfigDataInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\Handler\ConfigData; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface ConfigDataInterface - */ -interface ConfigDataInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/Curl.php b/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/Curl.php deleted file mode 100644 index 0d89a1d4eba6e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Handler/ConfigData/Curl.php +++ /dev/null @@ -1,171 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\Handler\ConfigData; - -use Magento\Config\Test\Fixture\ConfigData\Section; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; -use Magento\Store\Test\Fixture\Store; -use Magento\Store\Test\Fixture\Website; - -/** - * Setting config. - */ -class Curl extends AbstractCurl implements ConfigDataInterface -{ - /** - * FixtureInterface object. - * - * @var FixtureInterface - */ - private $fixture; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'scope' => [ - 'Website' => 'website', - 'Store' => 'group', - 'Store View' => 'store', - ], - ]; - - /** - * Post request for setting configuration. - * - * @param FixtureInterface|null $fixture [optional] - * @return void - */ - public function persist(FixtureInterface $fixture = null) - { - $this->fixture = $fixture; - $data = $this->prepareData($fixture); - foreach ($data as $scope => $item) { - $this->applyConfigSettings($item, $scope); - } - } - - /** - * Prepare POST data for setting configuration. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $configPath = []; - $result = []; - $fields = $fixture->getData(); - if (isset($fields['section'])) { - foreach ($fields['section'] as $key => $itemSection) { - if (is_array($itemSection)) { - $itemSection['path'] = $key; - } - parse_str($this->prepareConfigPath($itemSection), $configPath); - $result = array_merge_recursive($result, $configPath); - } - } - return $result; - } - - /** - * Prepare config path. - * - * From payment/cashondelivery/active to ['payment']['groups']['cashondelivery']['fields']['active'] - * - * @param array $input - * @return string - */ - protected function prepareConfigPath(array $input) - { - $resultArray = ''; - $path = explode('/', $input['path']); - foreach ($path as $position => $subPath) { - if ($position === 0) { - $resultArray .= $subPath; - continue; - } elseif ($position === (count($path) - 1)) { - $resultArray .= '[fields]'; - } else { - $resultArray .= '[groups]'; - } - $resultArray .= '[' . $subPath . ']'; - } - $valueCode = isset($input['inherit']) ? 'inherit' : 'value'; - $resultArray .= "[$valueCode]"; - if (isset($input['value']) && is_array($input['value'])) { - $values = []; - foreach ($input['value'] as $key => $value) { - $values[] = $resultArray . "[$key]=$value"; - } - $resultArray = implode('&', $values); - } else { - $resultArray .= '=' . $input[$valueCode]; - } - return $resultArray; - } - - /** - * Apply config settings via curl. - * - * @param array $data - * @param string $section - * @throws \Exception - */ - protected function applyConfigSettings(array $data, $section) - { - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $url = $this->getUrl($section); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception( - "Configuration settings are not applied! Url: $url" . PHP_EOL . "data: " . print_r($data, true) - ); - } - } - - /** - * Retrieve URL for request. - * - * @param string $section - * @return string - */ - protected function getUrl($section) - { - return $_ENV['app_backend_url'] . 'admin/system_config/save/section/' . $section . $this->getStoreViewUrl(); - } - - /** - * Get store view url. - * - * @return string - */ - private function getStoreViewUrl() - { - $result = ''; - /** @var Section $source */ - $source = $this->fixture->getDataFieldConfig('section')['source']; - /** @var Store|Website $scope */ - $scope = $source->getScope(); - if ($scope !== null) { - $code = $source->getScopeType(); - $result = $code . '/' . $scope->getData($code . '_id'); - } - - return $result ? '/' . $result : ''; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/Page/Adminhtml/AdminAccountSharing.xml b/dev/tests/functional/tests/app/Magento/Config/Test/Page/Adminhtml/AdminAccountSharing.xml deleted file mode 100644 index 0295e5d0378a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/Page/Adminhtml/AdminAccountSharing.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="AdminAccountSharing" area="Adminhtml" mca="admin/system_config/edit/section/admin/" module="Magento_Config"> - <block name="adminForm" class="Magento\Config\Test\Block\System\Config\AdminForm" locator="[id='page:main-container']" strategy="css selector" /> - </page> - <page name="ConfigIndex" area="Adminhtml" mca="admin/system_config/" module="Magento_Config"> - <block name="adminForm" class="Magento\Config\Test\Block\System\Config\AdminForm" locator="[id='page:main-container']" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.php b/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.php deleted file mode 100644 index 3191d975826f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\TestCase; - -use Magento\Mtf\TestCase\Injectable; -use Magento\Config\Test\Page\Adminhtml\AdminAccountSharing; - -/** - * Steps: - * 1. Log in to Admin. - * 2. Go to Stores>Configuration>Advanced>admin>Security. - * 3. * 7. Verify admin Account Sharing option availability. - * - * @group Config_(PS) - * @ZephyrId MAGETWO-47822 - */ -class VerifyAdminAccountSharingEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const DOMAIN = 'PS'; - const TO_MAINTAIN = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Admin account settings page. - * - * @var AdminAccountSharing - */ - private $adminAccountSharing; - - /** - * @param AdminAccountSharing $adminAccountSharing - */ - public function __inject( - AdminAccountSharing $adminAccountSharing - ) { - $this->adminAccountSharing = $adminAccountSharing; - } - - /** - * Create Verify Admin Account Sharing test. - * - * @return void - */ - public function test() - { - $this->adminAccountSharing->open(); - sleep(10); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.xml b/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.xml deleted file mode 100644 index f8210db2f3b91..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/TestCase/VerifyAdminAccountSharingEntityTest.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Config\Test\TestCase\VerifyAdminAccountSharingEntityTest" summary="Verify admin account sharing option availability" ticketId="MAGETWO-47822"> - <variation name="VerifyAdminAccountSharingEntityTestVariation1" summary="Verify Admin Account Sharing is available by default"> - <constraint name="Magento\Config\Test\Constraint\AssertAdminAccountSharing" /> - </variation> - </testCase> - </config> diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/TestStep/SetupConfigurationStep.php b/dev/tests/functional/tests/app/Magento/Config/Test/TestStep/SetupConfigurationStep.php deleted file mode 100644 index 1a60676f93d7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/TestStep/SetupConfigurationStep.php +++ /dev/null @@ -1,118 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Config\Test\TestStep; - -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestStep\TestStepInterface; -use Magento\Mtf\Util\Command\Cli\Cache; - -/** - * Setup configuration using handler. - */ -class SetupConfigurationStep implements TestStepInterface -{ - /** - * Factory for Fixtures. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Configuration data. - * - * @var string - */ - protected $configData; - - /** - * Rollback. - * - * @var bool - */ - protected $rollback; - - /** - * Flush cache. - * - * @var bool - */ - protected $flushCache; - - /** - * Cli command to do operations with cache. - * - * @var Cache - */ - private $cache; - - /** - * Preparing step properties. - * - * @param FixtureFactory $fixtureFactory - * @param Cache $cache - * @param string $configData - * @param bool $rollback - * @param bool $flushCache - */ - public function __construct( - FixtureFactory $fixtureFactory, - Cache $cache, - $configData = null, - $rollback = false, - $flushCache = false - ) { - $this->fixtureFactory = $fixtureFactory; - $this->configData = $configData; - $this->rollback = $rollback; - $this->flushCache = $flushCache; - $this->cache = $cache; - } - - /** - * Set config. - * - * @return array - */ - public function run() - { - if ($this->configData === null) { - return []; - } - $prefix = ($this->rollback == false) ? '' : '_rollback'; - - $configData = array_map('trim', explode(',', $this->configData)); - $result = []; - - foreach ($configData as $configDataSet) { - /** @var ConfigData $config */ - $config = $this->fixtureFactory->createByCode('configData', ['dataset' => $configDataSet . $prefix]); - if ($config->hasData('section')) { - $config->persist(); - $result = array_merge($result, $config->getSection()); - } - if ($this->flushCache) { - $this->cache->flush(); - } - } - $config = $this->fixtureFactory->createByCode('configData', ['data' => $result]); - - return ['config' => $config]; - } - - /** - * Rollback configuration. - * - * @return void - */ - public function cleanup() - { - $this->rollback = true; - $this->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Config/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Config/Test/etc/curl/di.xml deleted file mode 100644 index 31b16bfdd1cf5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Config/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\Config\Test\Handler\ConfigData\ConfigDataInterface" type="Magento\Config\Test\Handler\ConfigData\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Constraint/AssertImportedConfigurableProducts.php b/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Constraint/AssertImportedConfigurableProducts.php deleted file mode 100644 index 21386223c62c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Constraint/AssertImportedConfigurableProducts.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableImportExport\Test\Constraint; - -use Magento\CatalogImportExport\Test\Constraint\AssertImportedProducts; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Assert that products data from CSV import file and data from product edit page are correct and match. - */ -class AssertImportedConfigurableProducts extends AssertImportedProducts -{ - /** - * Product type. - * - * @var string - */ - protected $productType = 'configurable'; - - /** - * Needed configurable product data. - * - * @var array - */ - protected $neededKeys = [ - 'sku', - 'name', - 'additional_attributes', - 'configurable_variations', - 'url_key', - ]; - - /** - * Prepare configurable product data. - * - * @param FixtureInterface $product - * @return array - */ - protected function getDisplayedProductData(FixtureInterface $product) - { - $productData = $this->getDisplayedOnProductPageData($product); - $attributesData = $productData['configurable_attributes_data']['matrix']['0']; - $form = $this->catalogProductEdit->getProductForm(); - $form->openSection('variations'); - $productAttribute = $form->getSection('variations')->getVariationsBlock()->getProductAttribute(); - $productAttribute = str_replace(': ', '=', $productAttribute); - $productData['additional_attributes'] = $productAttribute; - $productData['configurable_variations'] = 'sku=' . $attributesData['sku'] . ',' . $productAttribute; - unset($productData['configurable_attributes_data']); - - return $this->getResultProductsData($productData); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Products data from CSV import file and data from product edit page are correct and match.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Fixture/Import/File.php b/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Fixture/Import/File.php deleted file mode 100644 index ee791e77b617b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/Fixture/Import/File.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\ConfigurableImportExport\Test\Fixture\Import; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Configurable product class file. - */ -class File -{ - /** - * Prepare configurable product data. - * - * @param FixtureInterface $product - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function getData(FixtureInterface $product, FixtureFactory $fixtureFactory) - { - $newProduct = $fixtureFactory->createByCode('configurableProduct', ['dataset' => 'with_one_attribute']); - $newProduct->persist(); - $newProductData = $newProduct->getData(); - $newAttributeData = $newProductData['configurable_attributes_data']['matrix']['attribute_key_0:option_key_0']; - $productData = $product->getData(); - - $productData['configurable_attribute_sku'] = $newAttributeData['sku']; - $productData['configurable_attribute_name'] = $newAttributeData['name']; - $productData['configurable_attribute_url_key'] = str_replace('_', '-', $newAttributeData['sku']); - $productData['configurable_additional_attributes'] = - $newProductData['configurable_attributes_data']['attributes_data']['attribute_key_0']['frontend_label']; - - return $productData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ExportProductsTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ExportProductsTest.xml deleted file mode 100644 index 0a2ce7ab7f183..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ExportProductsTest.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CatalogImportExport\Test\TestCase\ExportProductsTest" summary="Export products"> - <variation name="ExportProductsTestVariation7" summary="Export simple product and configured products with assigned images" ticketId="MAGETWO-46112"> - <data name="exportData" xsi:type="string">default</data> - <data name="products/1" xsi:type="array"> - <item name="fixture" xsi:type="string">configurableProduct</item> - <item name="dataset" xsi:type="string">product_with_size</item> - <item name="data" xsi:type="array"> - <item name="media_gallery" xsi:type="string">configurable_image.jpg</item> - <item name="configurable_attributes_data" xsi:type="array"> - <item name="media_gallery" xsi:type="string">option_image.jpg</item> - </item> - </item> - </data> - <data name="exportedFields" xsi:type="array"> - <item name="0" xsi:type="string">sku</item> - <item name="1" xsi:type="string">name</item> - <item name="2" xsi:type="string">weight</item> - <item name="3" xsi:type="string">visibility</item> - <item name="4" xsi:type="string">price</item> - <item name="5" xsi:type="string">url_key</item> - <item name="6" xsi:type="string">additional_images</item> - </data> - </variation> - <variation name="ExportProductsTestVariation8" summary="Export simple and configured products with custom options" ticketId="MAGETWO-46113, MAGETWO-46109"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="exportData" xsi:type="string">default</data> - <data name="products/1" xsi:type="array"> - <item name="fixture" xsi:type="string">configurableProduct</item> - <item name="dataset" xsi:type="string">first_product_with_custom_options_and_option_key_1</item> - </data> - <data name="exportedFields" xsi:type="array"> - <item name="0" xsi:type="string">sku</item> - <item name="1" xsi:type="string">name</item> - <item name="2" xsi:type="string">weight</item> - <item name="3" xsi:type="string">visibility</item> - <item name="4" xsi:type="string">price</item> - <item name="5" xsi:type="string">url_key</item> - </data> - </variation> - <variation name="ExportProductsTestVariation9" summary="Export simple product assigned to Main Website and configurable product assigned to Custom Website" ticketId="MAGETWO-46114"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="exportData" xsi:type="string">default</data> - <data name="products/1" xsi:type="array"> - <item name="fixture" xsi:type="string">configurableProduct</item> - <item name="dataset" xsi:type="string">default</item> - <item name="store" xsi:type="string">custom_store</item> - </data> - <data name="exportedFields" xsi:type="array"> - <item name="0" xsi:type="string">sku</item> - <item name="1" xsi:type="string">name</item> - <item name="2" xsi:type="string">weight</item> - <item name="3" xsi:type="string">visibility</item> - <item name="4" xsi:type="string">price</item> - <item name="5" xsi:type="string">url_key</item> - </data> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ImportProductsTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ImportProductsTest.xml deleted file mode 100644 index e3242df42f009..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableImportExport/Test/TestCase/ImportProductsTest.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CatalogImportExport\Test\TestCase\ImportProductsTest" summary="Import Configurable Products with Replace Behavior"> - <variation name="ImportProductVariation2" ticketId="MAGETWO-47719" summary="Import Configurable Product assigned to the default website with Replace Behavior"> - <data name="import/data/import_file/entities/2" xsi:type="string">configurableProduct::with_one_attribute</data> - <constraint name="Magento\ConfigurableImportExport\Test\Constraint\AssertImportedConfigurableProducts" /> - </variation> - <variation name="ImportProductVariation3" ticketId="MAGETWO-47720" summary="Import Configurable Product with Replace Behavior"> - <data name="import/data/import_file/entities/1" xsi:type="string">configurableProduct::with_one_attribute</data> - <constraint name="Magento\ConfigurableImportExport\Test\Constraint\AssertImportedConfigurableProducts" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.php deleted file mode 100644 index 14f3e310d68e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\Mtf\Client\Element; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Block\Form as ParentForm; - -/** - * Choose affected attribute set dialog popup window. - */ -class AffectedAttributeSet extends ParentForm -{ - /** - * 'Confirm' button locator. - * - * @var string - */ - protected $confirmButton = '[data-index="confirm_button"]'; - - /** - * Add configurable attributes to the New Attribute Set. - * - * @var string - */ - protected $affectedAttributeSetNew = 'input[data-index="affectedAttributeSetNew"]'; - - /** - * Fill popup form. - * - * @param FixtureInterface $product - * @param SimpleElement|null $element [optional] - * @return $this - */ - public function fill(FixtureInterface $product, SimpleElement $element = null) - { - $affectedAttributeSet = $product->getData('affected_attribute_set'); - - if ($affectedAttributeSet) { - $fields = ['new_attribute_set_name' => $affectedAttributeSet]; - $mapping = $this->dataMapping($fields); - - $this->_rootElement->find($this->affectedAttributeSetNew)->click(); - $this->_fill($mapping, $element); - } - - return $this; - } - - /** - * Click confirm button. - * - * @return void - */ - public function confirm() - { - $this->_rootElement->find($this->confirmButton, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.xml deleted file mode 100644 index 1d0dbf7dd6983..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AffectedAttributeSet.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <new_attribute_set_name> - <selector>.new-attribute-set-name input</selector> - </new_attribute_set_name> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AssociatedProductGrid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AssociatedProductGrid.php deleted file mode 100644 index 3adb7eb2f403e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AssociatedProductGrid.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\Ui\Test\Block\Adminhtml\DataGrid; - -class AssociatedProductGrid extends DataGrid -{ - /** - * @var string - */ - protected $selectItem = '.data-grid-cell-content'; - - /** - * @var array - */ - protected $filters = [ - 'sku' => [ - 'selector' => '[name="sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AttributesGrid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AttributesGrid.php deleted file mode 100644 index 4a218eb912fc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/AttributesGrid.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\Ui\Test\Block\Adminhtml\DataGrid; -use Magento\Mtf\Client\Locator; - -class AttributesGrid extends DataGrid -{ - /** - * @var string - */ - protected $selectItem = '[data-action=select-row]'; - - /** - * @var array - */ - protected $filters = [ - 'frontend_label' => [ - 'selector' => '[name="frontend_label"]', - ], - ]; - - /** - * Clear attributes selection - */ - public function deselectAttributes() - { - $actionType = 'Deselect All'; - $this->selectMassAction($actionType); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.php deleted file mode 100644 index 2f0ea4fb0c250..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Composite; - -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class Configure - * Adminhtml configurable product composite configure block - */ -class Configure extends \Magento\Catalog\Test\Block\Adminhtml\Product\Composite\Configure -{ - /** - * Fill options for the product - * - * @param FixtureInterface $product - * @return void - */ - public function fillOptions(FixtureInterface $product) - { - $data = $this->prepareData($product->getData()); - $this->_fill($data); - } - - /** - * Prepare data - * - * @param array $fields - * @return array - */ - protected function prepareData(array $fields) - { - $productOptions = []; - $checkoutData = $fields['checkout_data']['options']; - - if (!empty($checkoutData['configurable_options'])) { - $configurableAttributesData = $fields['configurable_attributes_data']['attributes_data']; - $attributeMapping = $this->dataMapping(['attribute' => '']); - $selector = $attributeMapping['attribute']['selector']; - foreach ($checkoutData['configurable_options'] as $key => $optionData) { - $attribute = $configurableAttributesData[$optionData['title']]; - $attributeMapping['attribute']['selector'] = sprintf($selector, $attribute['label']); - $attributeMapping['attribute']['value'] = $attribute['options'][$optionData['value']]['label']; - $productOptions['attribute_' . $key] = $attributeMapping['attribute']; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml deleted file mode 100644 index d89fb3ddf88a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <attribute> - <selector>//div[contains(@class, "product-options")]//div//label[.="%s"]//following-sibling::*//select</selector> - <strategy>xpath</strategy> - <input>select</input> - </attribute> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.php deleted file mode 100644 index 1cdded8f81aa1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit; - -use Magento\Ui\Test\Block\Adminhtml\FormSections; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * New attribute form on configurable product page. - */ -class NewConfigurableAttributeForm extends FormSections -{ - /** - * Iframe locator. - * - * @var string - */ - protected $iFrame = '#create_new_attribute_container'; - - /** - * Save button selector. - * - * @var string - */ - protected $saveButton = '#save'; - - /** - * Attribute to check whether section is opened. - * - * @var string - */ - private $isSectionOpened = 'active'; - - /** - * Fill the attribute form. - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $fixture, SimpleElement $element = null) - { - $this->browser->switchToFrame(new Locator($this->iFrame)); - $browser = $this->browser; - $selector = $this->saveButton; - $this->browser->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector)->isVisible() ? true : null; - } - ); - parent::fill($fixture, $element); - $this->browser->switchToFrame(); - } - - /** - * Open section. - * - * @param string $sectionName - * @return FormSections - */ - public function openSection($sectionName) - { - $selector = $this->getContainerElement($sectionName)->getLocator()['value']; - $strategy = null !== $this->getContainerElement($sectionName)->getLocator()['using'] - ? $this->getContainerElement($sectionName)->getLocator()['using'] - : Locator::SELECTOR_CSS; - $sectionClass = $this->_rootElement->find($selector, $strategy)->getAttribute('class'); - if (strpos($sectionClass, $this->isSectionOpened) === false) { - $this->_rootElement->find($selector, $strategy)->click(); - } - - return $this; - } - - /** - * Click on "Save" button. - * - * @return void - */ - public function saveAttributeForm() - { - $this->browser->switchToFrame(new Locator($this->iFrame)); - $this->browser->find($this->saveButton)->click(); - $this->browser->switchToFrame(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.xml deleted file mode 100644 index 5d3532d2b278c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/NewConfigurableAttributeForm.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<sections> - <properties> - <class>\Magento\Ui\Test\Block\Adminhtml\Section</class> - <selector>#edit_form</selector> - <strategy>css selector</strategy> - <fields> - <frontend_label> - <selector>[name^='frontend_label']</selector> - </frontend_label> - <frontend_input> - <input>select</input> - </frontend_input> - <is_required> - <input>select</input> - </is_required> - <options> - <class>\Magento\Catalog\Test\Block\Adminhtml\Product\Attribute\Edit\Options</class> - <selector>#manage-options-panel</selector> - <strategy>css selector</strategy> - </options> - </fields> - </properties> - <advanced-properties> - <class>\Magento\Ui\Test\Block\Adminhtml\Section</class> - <selector>[data-target="#advanced_fieldset-content"]</selector> - <strategy>css selector</strategy> - <fields> - <attribute_code> - </attribute_code> - <is_global> - <input>select</input> - </is_global> - <default_value> - <selector>[name^='default_value_']</selector> - </default_value> - <is_unique> - <input>select</input> - </is_unique> - </fields> - </advanced-properties> - <manage-labels> - <class>\Magento\Ui\Test\Block\Adminhtml\Section</class> - <selector>[data-target="#manage-titles-content"]</selector> - <strategy>css selector</strategy> - <fields> - <manage_frontend_label> - <selector>[name^='frontend_label']</selector> - </manage_frontend_label> - </fields> - </manage-labels> - <frontend-properties> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>[data-target="#front_fieldset-content"]</selector> - <strategy>css selector</strategy> - <fields> - <is_searchable> - <input>select</input> - </is_searchable> - <is_visible_in_advanced_search> - <input>select</input> - </is_visible_in_advanced_search> - <is_comparable> - <input>select</input> - </is_comparable> - <is_filterable> - <input>select</input> - </is_filterable> - <is_filterable_in_search> - <input>select</input> - </is_filterable_in_search> - <is_used_for_promo_rules> - <input>select</input> - </is_used_for_promo_rules> - <is_html_allowed_on_front> - <input>select</input> - </is_html_allowed_on_front> - <is_visible_on_front> - <input>select</input> - </is_visible_on_front> - <used_in_product_listing> - <input>select</input> - </used_in_product_listing> - <used_for_sort_by> - <input>select</input> - </used_for_sort_by> - </fields> - </frontend-properties> -</sections> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config.php deleted file mode 100644 index 4a424262f9e6f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config.php +++ /dev/null @@ -1,192 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations; - -use Magento\Backend\Test\Block\Template; -use Magento\Ui\Test\Block\Adminhtml\Section; -use Magento\Mtf\Client\Element; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; - -/** - * Adminhtml catalog super product configurable section. - */ -class Config extends Section -{ - /** @var string */ - protected $createConfigurationsButton = '[data-index="create_configurable_products_button"] > span'; - - /** - * Selector for trigger show/hide "Variations" tab. - * - * @var string - */ - protected $variationsTabTrigger = '[data-tab=super_config] [data-role=trigger]'; - - /** - * Selector for content "Variations" tab. - * - * @var string - */ - protected $variationsTabContent = '#super_config-content'; - - /** - * Selector for button "Generate Products". - * - * @var string - */ - protected $generateVariations = '[data-role=step-wizard-next] button'; - - /** - * Selector for variations matrix. - * - * @var string - */ - protected $variationsMatrix = 'div[data-index="configurable-matrix"]'; - - /** - * Selector for template block. - * - * @var string - */ - protected $template = './ancestor::body'; - - /** - * Variations content selector. - * - * @var string - */ - protected $variationsContent = '#product_info_tabs_super_config_content'; - - /** - * Locator for Configurations section. - * - * @var string - */ - private $configurationsSection = '[data-index="configurable"]'; - - /** - * Fill variations fieldset. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - $attributes = isset($fields['configurable_attributes_data']['source']) - ? $fields['configurable_attributes_data']['value'] - : []; - - $attributeSource = isset($fields['configurable_attributes_data']['source']) - ? $fields['configurable_attributes_data']['source'] - : null; - $attributesValue = $attributeSource !== null ? $attributeSource->getAttributesData() : []; - - foreach ($attributesValue as $key => $value) { - $attributesValue[$key] = array_merge($value, $attributes['attributes_data'][$key]); - } - $this->createConfigurations(); - $this->getAttributeBlock()->fillAttributes($attributesValue, $attributeSource); - if (!empty($attributes['matrix'])) { - $this->generateVariations(); - $this->getVariationsBlock()->fillVariations($attributes['matrix']); - } - - return $this; - } - - /** - * Click 'Create Configurations' button. - * - * @return void - */ - public function createConfigurations() - { - $this->_rootElement->find($this->configurationsSection)->hover(); - $this->_rootElement->find($this->createConfigurationsButton)->click(); - } - - /** - * Generate variations. - * - * @return void - */ - public function generateVariations() - { - $this->browser->find($this->generateVariations)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get block of attributes. - * - * @return \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute - */ - public function getAttributeBlock() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute::class, - ['element' => $this->_rootElement] - ); - } - - /** - * Get block of variations. - * - * @return \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Matrix - */ - public function getVariationsBlock() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Matrix::class, - ['element' => $this->_rootElement->find($this->variationsMatrix)] - ); - } - - /** - * Get template block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->template, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get data of tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $data = []; - $data['matrix'] = $this->getVariationsBlock()->getVariationsData(); - - return ['configurable_attributes_data' => $data]; - } - - /** - * Delete all attributes. - * - * @return void - */ - public function deleteVariations() - { - $this->getVariationsBlock()->deleteVariations(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.php deleted file mode 100644 index 581a997cfab45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.php +++ /dev/null @@ -1,561 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config; - -use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute\AttributeSelector; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ConfigurableAttributesData; -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\ObjectManager; - -/** - * Attribute block in Variation section. - * - * @SuppressWarnings(PHPMD.TooManyFields) - */ -class Attribute extends Form -{ - /** - * Mapping fields for get values of form - * - * @var array - */ - protected $mappingGetFields = [ - 'label' => [ - 'selector' => 'td[data-column="name"]', - 'strategy' => Locator::SELECTOR_CSS, - ], - ]; - - /** - * Variation search block - * - * @var string - */ - protected $variationSearchBlock = '#variations-search-field'; - - /** - * Selector for "Create New Variations Set" - * - * @var string - */ - protected $createNewVariationSet = '[title="Create New Attribute"]'; - - /** - * New attribute frame selector - * - * @var string - */ - protected $newAttributeFrame = '#create_new_attribute_container'; - - /** - * Selector for "New Attribute" block - * - * @var string - */ - protected $newAttribute = 'body'; - - /** - * Selector for "Save Attribute" button on "New Attribute" dialog window - * - * @var string - */ - protected $saveAttribute = '[data-ui-id="attribute-edit-content-save-button"]'; - - /** - * Selector attribute block by label - * - * @var string - */ - protected $attributeBlockByName = '[data-attribute-title="%s"]'; - - /** - * Selector attribute value by label - * - * @var string - */ - protected $attributeOptionByName = '[data-attribute-option-title="%s"]'; - - // @codingStandardsIgnoreStart - /** - * Selector for attribute block - * - * @var string - */ - protected $attributeBlock = '//div[@data-role="configurable-attributes-container"]/div[@data-role="attribute-info"][%d]'; - // @codingStandardsIgnoreEnd - - /** - * Selector for "Create New Value" button - * - * @var string - */ - protected $addOption = '[data-action=addOption]'; - - /** - * Selector for "Next" button in wizard - * - * @var string - */ - protected $nextButton = '[data-role=step-wizard-next] button'; - - /** - * Selector for option container - * - * @var string - */ - protected $optionContainer = './/tr[@data-role="option-container"]'; - - /** - * Selector for option container(row) by number - * - * @var string - */ - protected $optionContainerByNumber = './/tr[@data-role="option-container"][%d]'; - - /** - * Selector for attribute title - * - * @var string - */ - protected $attributeTitle = '[data-toggle="collapse"]'; - - /** - * Selector for attribute content - * - * @var string - */ - protected $attributeContent = '[id$="-content"]'; - - /** - * Selector for attribute label - * - * @var string - */ - protected $attributeLabel = '[name$="[label]"]'; - - /** - * Config content selector - * - * @var string - */ - protected $configContent = '#super_config-content'; - - /** - * Backend abstract block. - * - * @var string - */ - protected $templateBlock = './ancestor::body'; - - /** - * List of selected attributes - * - * @var string - */ - private $selectedAttributes = 'span[data-bind*="selectedAttributes"]'; - - /** - * Wizard Images step CSS selector. - * - * @var string - */ - private $wizardImagesStep = '#variation-steps-wizard_step3'; - - /** - * Attributes grid spinner selector - * - * @var string - */ - private $attributesGridSpinner = '.productFormConfigurable [data-role="spinner"]'; - - /** - * CSS Selector for attribute grid. - * - * @var string - */ - private $attributesGridSelector = '#variation-steps-wizard_step1 .admin__data-grid-outer-wrap'; - - /** - * Fill attributes - * - * @param array $attributes - * @param ConfigurableAttributesData $attributeSource - * @return void - */ - public function fillAttributes(array $attributes, ConfigurableAttributesData $attributeSource) - { - $attributesFilters = []; - foreach ($attributes as $attribute) { - if (empty($attribute['attribute_id'])) { - $this->createNewVariationSet($attribute); - } - $attributesFilters[] = ['frontend_label' => $attribute['frontend_label']]; - } - - //select attributes - $this->waitAttributesGridLoad(); - $this->getAttributesGrid()->resetFilter(); - $this->getAttributesGrid()->waitForElementNotVisible($this->attributesGridSpinner); - $this->getTemplateBlock()->waitLoader(); - - $attributesList = $this->browser->find($this->selectedAttributes)->getText(); - if (!$attributesList || $attributesList !== '--') { - $this->getAttributesGrid()->deselectAttributes(); - } - - if ($this->_rootElement->find('[class$=no-data]')->isVisible()) { - return; - } - $this->getAttributesGrid()->selectItems($attributesFilters); - - $this->browser->find($this->nextButton)->click(); - $this->getTemplateBlock()->waitLoader(); - - //update attributes options - foreach ($attributes as $attribute) { - $this->updateOptions($attribute); - } - - $this->browser->find($this->nextButton)->click(); - $this->fillBulkImagesPriceAndQuantity($attributeSource, $attributes); - $this->getTemplateBlock()->waitLoader(); - $this->browser->find($this->nextButton)->click(); - } - - /** - * Wait for 'Attributes Grid' loaded. - * - * @return void - */ - private function waitAttributesGridLoad() - { - $this->waitForElementVisible($this->attributesGridSelector); - $this->waitForElementNotVisible($this->attributesGridSpinner); - } - - /** - * @return \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\AttributesGrid - */ - public function getAttributesGrid() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\AttributesGrid::class, - ['element' => $this->browser->find($this->attributesGridSelector)] - ); - } - - /** - * Create new variation set. - * - * @param array $attribute - * @return void - */ - protected function createNewVariationSet(array $attribute) - { - $attributeFixture = ObjectManager::getInstance()->create( - \Magento\Catalog\Test\Fixture\CatalogProductAttribute::class, - ['data' => $attribute] - ); - - $browser = $this->browser; - $createSetSelector = $this->createNewVariationSet; - $browser->waitUntil( - function () use ($browser, $createSetSelector) { - return $browser->find($createSetSelector)->isVisible() ? true : null; - } - ); - - $this->browser->find($this->createNewVariationSet)->click(); - $newAttributeForm = $this->getNewAttributeForm(); - $newAttributeForm->fill($attributeFixture); - $newAttributeForm->saveAttributeForm(); - $this->waitBlock($this->newAttributeFrame); - } - - /** - * Wait that element is not visible. - * - * @param string $selector - * @param mixed $browser [optional] - * @param string $strategy [optional] - * @return mixed - */ - protected function waitBlock($selector, $browser = null, $strategy = Locator::SELECTOR_CSS) - { - $browser = ($browser != null) ? $browser : $this->browser; - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - return $browser->find($selector, $strategy)->isVisible() == false ? true : null; - } - ); - } - - /** - * Fill options - * - * @param array $attribute - * @return void - */ - protected function fillOptions(array $attribute) - { - $attributeBlock = $this->browser->find( - sprintf($this->attributeBlockByName, $attribute['frontend_label']), - Locator::SELECTOR_XPATH - ); - $count = 0; - - if (isset($attribute['label'])) { - $attributeBlock->find($this->attributeLabel)->setValue($attribute['label']); - } - foreach ($attribute['options'] as $option) { - $attributeBlock->find($this->addOption)->click(); - $count++; - $optionContainer = $attributeBlock->find( - sprintf($this->optionContainerByNumber, $count), - Locator::SELECTOR_XPATH - ); - - $mapping = $this->dataMapping($option); - $this->_fill($mapping, $optionContainer); - } - } - - /** - * Update options - * - * @param array $attribute - * @return void - */ - protected function updateOptions(array $attribute) - { - $attributeBlock = $this->browser->find(sprintf($this->attributeBlockByName, $attribute['frontend_label'])); - $count = 0; - - foreach ($attribute['options'] as $option) { - $count++; - $label = isset($option['admin']) ? $option['admin'] : $option['label']; - $optionContainer = $attributeBlock->find(sprintf($this->attributeOptionByName, $label)); - - //Create option - if (!$optionContainer->isVisible()) { - $mapping = $this->dataMapping($option); - $attributeBlock->find($this->addOption)->click(); - - $optionContainer = $attributeBlock->find('[data-attribute-option-title=""]'); - - $this->getElement($optionContainer, $mapping['label']) - ->setValue($mapping['label']['value']); - $this->getTemplateBlock()->waitLoader(); - $optionContainer->find('[data-action=save]')->click(); - $optionContainer = $attributeBlock->find(sprintf($this->attributeOptionByName, $label)); - } - //Select option - $isOptionSelected = $optionContainer->find('[type="checkbox"]')->isSelected(); - if (!$isOptionSelected && $option['include'] === 'Yes') { - $optionContainer->find('[type="checkbox"]')->click(); - } elseif ($isOptionSelected && $option['include'] === 'No') { - $optionContainer->find('[type="checkbox"]')->click(); - } - } - } - - /** - * Check is visible option - * - * @param SimpleElement $attributeBlock - * @param int $number - * @return bool - */ - protected function isVisibleOption(SimpleElement $attributeBlock, $number) - { - return $attributeBlock->find( - sprintf($this->optionContainerByNumber, $number), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Get new attribute form block. - * - * @return \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\NewConfigurableAttributeForm - */ - protected function getNewAttributeForm() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\NewConfigurableAttributeForm::class, - ['element' => $this->browser->find($this->newAttribute)] - ); - } - - /** - * Get attribute selector element - * - * @return AttributeSelector - */ - public function getAttributeSelector() - { - return $this->_rootElement->find( - $this->variationSearchBlock, - Locator::SELECTOR_CSS, - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute::class - . '\AttributeSelector' - ); - } - - /** - * Get attributes data - * - * @deprecated - * @return array - */ - public function getAttributesData() - { - $data = []; - $optionMapping = $this->dataMapping(); - - $count = 1; - /** @var SimpleElement $attributeBlock */ - $attributeBlock = $this->_rootElement->find(sprintf($this->attributeBlock, $count), Locator::SELECTOR_XPATH); - while ($attributeBlock->isVisible()) { - $attribute = [ - 'frontend_label' => $attributeBlock->find($this->attributeTitle)->getText(), - 'label' => $attributeBlock->find($this->attributeLabel)->getValue(), - 'options' => [], - ]; - $options = $attributeBlock->getElements($this->optionContainer, Locator::SELECTOR_XPATH); - foreach ($options as $optionKey => $option) { - /** @var SimpleElement $option */ - if ($option->isVisible()) { - $attribute['options'][$optionKey] = $this->_getData($optionMapping, $option); - $attribute['options'][$optionKey] += $this->getOptionalFields($option); - } - } - $data[] = $attribute; - - ++$count; - $attributeBlock = $this->_rootElement->find( - sprintf($this->attributeBlock, $count), - Locator::SELECTOR_XPATH - ); - } - - return $data; - } - - /** - * Show attribute content - * - * @param SimpleElement $attribute - * @return void - */ - protected function showAttributeContent(SimpleElement $attribute) - { - if (!$attribute->find($this->attributeContent)->isVisible()) { - $this->_rootElement->find($this->configContent)->click(); - $attribute->find($this->attributeTitle)->click(); - - $browser = $attribute; - $selector = $this->attributeContent; - $browser->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector)->isVisible() ? true : null; - } - ); - } - } - - /** - * Check exist attribute by label - * - * @param string $label - * @return bool - */ - protected function isExistAttribute($label) - { - return $this->_rootElement->find( - sprintf($this->attributeBlockByName, $label), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Get optional fields - * - * @param SimpleElement $context - * @param array $fields - * @return array - */ - protected function getOptionalFields(SimpleElement $context, array $fields = []) - { - $data = []; - - $fields = empty($fields) ? $this->mappingGetFields : $fields; - foreach ($fields as $name => $params) { - $data[$name] = $context->find($params['selector'], $params['strategy'])->getText(); - } - - return $data; - } - - /** - * Get backend abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - protected function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Fill Step 3: Bulk Images, Price and Quantity. - * - * @param ConfigurableAttributesData $attributeSource - * @param array $attributes - * @return void - */ - private function fillBulkImagesPriceAndQuantity(ConfigurableAttributesData $attributeSource, array $attributes) - { - if (empty($attributeSource->getBulkImagesPriceQuantity())) { - return; - } - - $wizardStep = $this->browser->find($this->wizardImagesStep); - $data = $this->prepareImageStepData($attributeSource->getBulkImagesPriceQuantity(), $attributes); - $mapping = $this->dataMapping($data); - $this->_fill($mapping, $wizardStep); - } - - /** - * Prepare data for Step 3: Bulk Images, Price and Quantity. - * - * @param array $data - * @param array $attributes - * @return array - */ - private function prepareImageStepData(array $data, array $attributes) - { - if (isset($data['images'])) { - $data['images']['image_attribute'] = $attributes['attribute_key_0']['attribute_code']; - $data['images']['black_option_image'] = MTF_TESTS_PATH . array_shift($data['images']['images']); - $data['images']['white_option_image'] = MTF_TESTS_PATH . array_shift($data['images']['images']); - unset($data['images']['images']); - } - - if (isset($data['price'])) { - $data['price']['price_option'] = $attributes['attribute_key_1']['attribute_code']; - ksort($data['price']); - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.xml deleted file mode 100644 index ebea1c11727b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <label> - <selector>[name=label]</selector> - </label> - <images composite="1"> - <image_unique> - <selector>#apply-unique-images-radio</selector> - <strategy>css selector</strategy> - <input>radiobutton</input> - </image_unique> - <image_attribute> - <selector>#apply-images-attributes</selector> - <strategy>css selector</strategy> - <input>select</input> - </image_attribute> - <black_option_image> - <selector>//input[@name="image" and not(@id) and not(@class)]</selector> - <strategy>xpath</strategy> - <input>upload</input> - </black_option_image> - <white_option_image> - <selector>//input[@name="image" and not(@id) and not(@class)]</selector> - <strategy>xpath</strategy> - <input>upload</input> - </white_option_image> - </images> - <price composite="1"> - <price_attribute_unique> - <selector>#apply-unique-prices-radio</selector> - <strategy>css selector</strategy> - <input>radiobutton</input> - </price_attribute_unique> - <price_option> - <selector>#select-each-price</selector> - <strategy>css selector</strategy> - <input>select</input> - </price_option> - <xl_size_price> - <selector>#apply-single-price-input-0</selector> - <strategy>css selector</strategy> - <input>input</input> - </xl_size_price> - <xxl_size_price> - <selector>#apply-single-price-input-1</selector> - <strategy>css selector</strategy> - <input>input</input> - </xxl_size_price> - </price> - <quantity composite="1"> - <quantity_single> - <selector>#apply-single-inventory-radio</selector> - <strategy>css selector</strategy> - <input>radiobutton</input> - </quantity_single> - <quantity> - <selector>#apply-single-inventory-input</selector> - <strategy>css selector</strategy> - <input>input</input> - </quantity> - </quantity> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/AttributeSelector.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/AttributeSelector.php deleted file mode 100644 index 17c534bffd271..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/AttributeSelector.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute; - -use Magento\Mtf\Client\Element\SuggestElement; - -/** - * Form Attribute Search on Product page. - */ -class AttributeSelector extends SuggestElement -{ - /** - * Wait for search result is visible. - * - * @return void - */ - public function waitResult() - { - try { - $this->waitUntil( - function () { - return $this->find($this->searchResult)->isVisible() ? true : null; - } - ); - } catch (\Exception $e) { - // In parallel run on windows change the focus is lost on element - // that causes disappearing of result suggest list. - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/ToggleDropdown.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/ToggleDropdown.php deleted file mode 100644 index dcac923b59e3b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Attribute/ToggleDropdown.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute; - -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; - -/** - * Class ToggleDropdown - * Class for toggle dropdown elements. - */ -class ToggleDropdown extends SimpleElement -{ - /** - * Selector for field value - * - * @var string - */ - protected $field = './/button/span'; - - /** - * Selector for list options - * - * @var string - */ - protected $listOptions = './/ul[@data-role="dropdown-menu"]'; - - /** - * Selector for search option by text - * - * @var string - */ - protected $optionByText = './/ul[@data-role="dropdown-menu"]/li/a[.="%s"]'; - - /** - * Set value - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $this->eventManager->dispatchEvent(['set_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - if ($value != $this->getValue()) { - $value = ('Yes' == $value) ? '%' : '$'; - - $this->find($this->field, Locator::SELECTOR_XPATH)->click(); - $this->waitListOptionsVisible(); - $this->find(sprintf($this->optionByText, $value), Locator::SELECTOR_XPATH)->click(); - } - } - - /** - * Get value - * - * @return string - */ - public function getValue() - { - $this->eventManager->dispatchEvent(['get_value'], [__METHOD__, $this->getAbsoluteSelector()]); - - $value = $this->find($this->field, Locator::SELECTOR_XPATH)->getText(); - return ('%' == $value) ? 'Yes' : 'No'; - } - - /** - * Wait visible list options - * - * @return void - */ - protected function waitListOptionsVisible() - { - $browser = $this; - $selector = $this->listOptions; - $browser->waitUntil( - function () use ($browser, $selector) { - return $browser->find($selector, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.php deleted file mode 100644 index de65377c6734a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.php +++ /dev/null @@ -1,237 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config; - -use Magento\Mtf\Client\ElementInterface; -use Magento\Mtf\Client\Locator; -use Magento\Backend\Test\Block\Template; -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Matrix row form. - */ -class Matrix extends Form -{ - /** - * Mapping for get optional fields. - * - * @var array - */ - protected $mappingGetFields = [ - 'name' => [ - 'selector' => 'td[data-index="name_container"] a', - 'strategy' => Locator::SELECTOR_CSS, - ], - 'sku' => [ - 'selector' => 'td[data-index="sku_container"] span[data-index="sku_text"]', - 'strategy' => Locator::SELECTOR_CSS, - ], - 'price' => [ - 'selector' => 'td[data-index="price_container"] span[data-index="price_text"]', - 'strategy' => Locator::SELECTOR_CSS, - ], - 'qty' => [ - 'selector' => 'td[data-index="quantity_container"] span[data-index="quantity_text"]', - 'strategy' => Locator::SELECTOR_CSS, - ], - 'weight' => [ - 'selector' => 'td[data-index="price_weight"] span[data-index="weight_text"]', - 'strategy' => Locator::SELECTOR_CSS, - ], - ]; - - /** - * Selector for product attribute. - * - * @var string - */ - protected $attribute = 'div[data-index="attributes"] span[data-index="attributes"]'; - - /** - * Selector for variation row by number. - * - * @var string - */ - protected $variationRowByNumber = './/tr[@class="data-row" or @class="data-row _odd-row"][%d]'; - - /** - * Selector for variation row. - * - * @var string - */ - protected $variationRow = './/tr[contains(@class, "data-row")]'; - - /** - * Selector for row on product grid by product id. - * - * @var string - */ - protected $associatedProductGrid = - '[data-bind*="configurable_associated_product_listing.configurable_associated_product_listing"]'; - - /** - * Selector for template block. - * - * @var string - */ - protected $template = './ancestor::body'; - - /** - * Delete variation button selector. - * - * @var string - */ - protected $deleteVariation = '[data-bind*="Remove Product"]'; - - /** - * Choose a different Product button selector. - * - * @var string - */ - protected $chooseProduct = '[data-bind*="openModalWithGrid"]'; - - /** - * Action menu - * - * @var string - */ - protected $actionMenu = '.action-select'; - - /** - * Fill variations. - * - * @param array $matrix - * @return void - */ - public function fillVariations(array $matrix) - { - $count = 1; - foreach ($matrix as $variation) { - $variationRow = $this->_rootElement->find( - sprintf($this->variationRowByNumber, $count), - Locator::SELECTOR_XPATH - ); - ++$count; - - if (isset($variation['configurable_attribute'])) { - $this->assignProduct($variationRow, $variation['sku']); - continue; - } - - $mapping = $this->dataMapping($variation); - $this->_fill($mapping, $variationRow); - } - } - - /** - * Assign product to variation matrix - * - * @param ElementInterface $variationRow - * @param string $productSku - * @return void - */ - protected function assignProduct(ElementInterface $variationRow, $productSku) - { - $variationRow->find($this->actionMenu)->hover(); - $variationRow->find($this->actionMenu)->click(); - $variationRow->find($this->chooseProduct)->click(); - $this->getTemplateBlock()->waitLoader(); - $this->getAssociatedProductGrid()->searchAndSelect(['sku' => $productSku]); - } - - /** - * Get variations data - * - * @return array - */ - public function getVariationsData() - { - $data = []; - $variationRows = $this->_rootElement->getElements($this->variationRow, Locator::SELECTOR_XPATH); - - foreach ($variationRows as $key => $variationRow) { - /** @var SimpleElement $variationRow */ - if ($variationRow->isVisible()) { - $data[$key] = $this->getDataFields($variationRow, $this->mappingGetFields); - } - } - - return $data; - } - - /** - * Get product attribute. - * - * @return string - */ - public function getProductAttribute() - { - return $this->_rootElement->find($this->attribute)->getText(); - } - - /** - * Get variation fields. - * - * @param SimpleElement $context - * @param array $fields - * @return array - */ - protected function getDataFields(SimpleElement $context, array $fields) - { - $data = []; - - foreach ($fields as $name => $params) { - if (isset($params['composite']) && $params['composite']) { - $data[$name] = $this->getDataFields($context, $params['fields']); - } else { - $data[$name] = $context->find($params['selector'], $params['strategy'])->getText(); - } - } - return $data; - } - - /** - * Get template block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->template, Locator::SELECTOR_XPATH)] - ); - } - - public function deleteVariations() - { - $rowLocator = sprintf($this->variationRowByNumber, 1); - $variationText = ''; - while ($this->_rootElement->find($rowLocator, Locator::SELECTOR_XPATH)->isVisible()) { - $variation = $this->_rootElement->find($rowLocator, Locator::SELECTOR_XPATH); - if ($variationText == $variation->getText()) { - throw new \Exception("Failed to delete configurable product variation"); - } - $variationText = $variation->getText(); - $variation->find($this->actionMenu)->hover(); - $variation->find($this->actionMenu)->click(); - $variation->find($this->deleteVariation)->click(); - } - } - - /** - * @return \Magento\Ui\Test\Block\Adminhtml\DataGrid - */ - public function getAssociatedProductGrid() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\AssociatedProductGrid::class, - ['element' => $this->browser->find($this->associatedProductGrid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.xml deleted file mode 100644 index a4a7c3bae06e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Section/Variations/Config/Matrix.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <name> - <selector>[name$="[name]"]</selector> - </name> - <sku> - <selector>[name$="[sku]"]</selector> - </sku> - <price> - <selector>[name$="[price]"]</selector> - </price> - <qty> - <selector>[name$="[qty]"]</selector> - </qty> - <weight> - <selector>[name$="[weight]"]</selector> - </weight> - </fields> -</mapping> - diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/FormPageActions.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/FormPageActions.php deleted file mode 100644 index b282896dac4f5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/FormPageActions.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class FormPageActions - * Page actions block on page - */ -class FormPageActions extends \Magento\Catalog\Test\Block\Adminhtml\Product\FormPageActions -{ - // @codingStandardsIgnoreStart - /** - * Selector for "Affected Attribute Set" modal window - * - * @var string - */ - protected $affectedAttributeSetForm = '.product_form_product_form_configurable_attribute_set_handler_modal [data-role="focusable-scope"]'; - // @codingStandardsIgnoreEnd - - /** - * Click on "Save" button - * - * @param FixtureInterface|null $product [optional] - * @return void - */ - public function save(FixtureInterface $product = null) - { - parent::save(); - $affectedAttributeSetForm = $this->getAffectedAttributeSetForm(); - if ($affectedAttributeSetForm->isVisible()) { - $affectedAttributeSetForm->fill($product)->confirm(); - } - } - - /** - * Get "Choose Affected Attribute Set" form - * - * @return \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\AffectedAttributeSet - */ - protected function getAffectedAttributeSetForm() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\AffectedAttributeSet::class, - ['element' => $this->browser->find($this->affectedAttributeSetForm)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Grid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Grid.php deleted file mode 100644 index 7b406cd9d16bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Grid.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; - -/** - * Backend catalog product grid. - */ -class Grid extends \Magento\Catalog\Test\Block\Adminhtml\Product\Grid -{ - /** - * Prepare data. - * - * @param ConfigurableProduct $product - * @return array - */ - public function prepareData($product) - { - $configurableAttributesData = $product->getConfigurableAttributesData(); - $productItems[] = ['sku' => $product->getSku()]; - foreach ($configurableAttributesData['matrix'] as $variation) { - $productItems[] = ['sku' => $variation['sku']]; - } - - return $productItems; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.php deleted file mode 100644 index 9006ec44511e5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Product creation form. - */ -class ProductForm extends \Magento\Catalog\Test\Block\Adminhtml\Product\ProductForm -{ - /** - * Fill the product form. - * - * @param FixtureInterface $product - * @param SimpleElement|null $element [optional] - * @param FixtureInterface|null $category [optional] - * @return $this - */ - public function fill(FixtureInterface $product, SimpleElement $element = null, FixtureInterface $category = null) - { - $sections = $this->getFixtureFieldsByContainers($product); - ksort($sections); - - if ($category) { - $sections['product-details']['category_ids']['value'] = $category->getName(); - } - - return $this->fillContainers($sections, $element); - } - - /** - * Create data array for filling tabs. - * Skip Advanced Price tab - * - * @param InjectableFixture $fixture - * @return array - */ - protected function getFixtureFieldsByContainers(InjectableFixture $fixture) - { - $sections = parent::getFixtureFieldsByContainers($fixture); - if (isset($sections['advanced-pricing'])) { - unset($sections['advanced-pricing']); - } - return $sections; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 43ae1cb58eebc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<sections> - <variations> - <class>\Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config</class> - <selector>[data-index="configurable"]</selector> - <strategy>css selector</strategy> - <fields> - <attributes_data> - <selector>[data-index="configurable"] fieldset</selector> - </attributes_data> - <matrix> - <selector>[data-index="configurable-matrix"]</selector> - </matrix> - </fields> - </variations> -</sections> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/Price.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/Price.php deleted file mode 100644 index 640ee75f0148b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/Price.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\ConfigurableProduct\Test\Block\Product; - -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * This class is used to access the price related information of a configurable product from the storefront. - */ -class Price extends \Magento\Catalog\Test\Block\Product\Price -{ - /** - * A CSS selector for a Price label. - * - * @var string - */ - private $priceLabel = '.normal-price .price-label'; - - /** - * Mapping for different types of Price. - * - * @var array - */ - protected $mapTypePrices = [ - 'special_price' => [ - 'selector' => '.normal-price .price', - ], - ]; - - /** - * This method returns the price label represented by the block. - * - * @return SimpleElement - */ - public function getPriceLabel() - { - return $this->_rootElement->find($this->priceLabel); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View.php deleted file mode 100644 index af136eb5068a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\ConfigurableProduct\Test\Block\Product; - -use Magento\ConfigurableProduct\Test\Block\Product\View\ConfigurableOptions; -use Magento\Mtf\Client\Locator; -use Magento\ConfigurableProduct\Test\Block\Product\Price; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Class View - * Product view block on frontend page - */ -class View extends \Magento\Catalog\Test\Block\Product\View -{ - /** - * Gets a configurable product price block. - * - * @param FixtureInterface|null $product - * - * @return Price - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getPriceBlock(FixtureInterface $product = null) - { - return $this->blockFactory->create( - Price::class, - ['element' => $this->_rootElement->find($this->priceBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get configurable options block - * - * @return ConfigurableOptions - */ - public function getConfigurableOptionsBlock() - { - return $this->blockFactory->create( - \Magento\ConfigurableProduct\Test\Block\Product\View\ConfigurableOptions::class, - ['element' => $this->_rootElement] - ); - } - - /** - * Fill in the option specified for the product - * - * @param FixtureInterface $product - * @return void - */ - public function fillOptions(FixtureInterface $product) - { - /** @var ConfigurableProduct $product */ - $attributesData = $product->getConfigurableAttributesData()['attributes_data']; - $checkoutData = $product->getCheckoutData(); - - // Prepare attribute data - foreach ($attributesData as $attributeKey => $attribute) { - $attributesData[$attributeKey] = [ - 'type' => $attribute['frontend_input'], - 'title' => $attribute['label'], - 'options' => [], - ]; - - foreach ($attribute['options'] as $optionKey => $option) { - $attributesData[$attributeKey]['options'][$optionKey] = [ - 'title' => $option['label'], - ]; - } - $attributesData[$attributeKey]['options'] = array_values($attributesData[$attributeKey]['options']); - } - $attributesData = array_values($attributesData); - - $configurableCheckoutData = isset($checkoutData['options']['configurable_options']) - ? $checkoutData['options']['configurable_options'] - : []; - $checkoutOptionsData = $this->prepareCheckoutData($attributesData, $configurableCheckoutData); - $this->getCustomOptionsBlock()->fillCustomOptions($checkoutOptionsData); - - parent::fillOptions($product); - } - - /** - * Return product options - * - * @param FixtureInterface $product [optional] - * @return array - */ - public function getOptions(FixtureInterface $product = null) - { - $options = [ - 'configurable_options' => $this->getConfigurableOptionsBlock()->getOptions($product), - 'matrix' => $this->getConfigurableOptionsBlock()->getOptionsPrices($product) - ]; - $options += parent::getOptions($product); - - return $options; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View/ConfigurableOptions.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View/ConfigurableOptions.php deleted file mode 100644 index 0b997c634ce70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Product/View/ConfigurableOptions.php +++ /dev/null @@ -1,249 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Block\Product\View; - -use Magento\Catalog\Test\Block\Product\View\CustomOptions; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Class ConfigurableOptions - * Form of configurable options product - */ -class ConfigurableOptions extends CustomOptions -{ - /** - * Option selector - * - * @var string - */ - protected $optionSelector = '//*[./label[contains(.,"%s")]]//select'; - - /** - * Selector for price block. - * - * @var string - */ - protected $priceBlock = '.product-info-price .price-box'; - - /** - * Selector for tier prices. - * - * @var string - */ - private $tierPricesSelector = '.prices-tier li'; - - /** - * Locator for configurable option element. - * - * @var string - */ - private $configurableOptionElement = '#product-options-wrapper > * > .configurable'; - - /** - * Get configurable product options - * - * @param FixtureInterface|null $product [optional] - * @return array - * @throws \Exception - */ - public function getOptions(FixtureInterface $product) - { - /** @var ConfigurableProduct $product */ - $attributesData = $product->hasData('configurable_attributes_data') - ? $product->getConfigurableAttributesData()['attributes_data'] - : []; - $listOptions = $this->getListOptions(); - $result = []; - - foreach ($attributesData as $option) { - $title = $option['label']; - if (!isset($listOptions[$title])) { - throw new \Exception("Can't find option: \"{$title}\""); - } - - /** @var SimpleElement $optionElement */ - $optionElement = $listOptions[$title]; - $typeMethod = preg_replace('/[^a-zA-Z]/', '', $option['frontend_input']); - $getTypeData = 'get' . ucfirst(strtolower($typeMethod)) . 'Data'; - - $optionData = $this->$getTypeData($optionElement); - $optionData['title'] = $title; - $optionData['type'] = $option['frontend_input']; - $optionData['is_require'] = $optionElement->find($this->required, Locator::SELECTOR_XPATH)->isVisible() - ? 'Yes' - : 'No'; - - $result[$title] = $optionData; - // Select first attribute option to be able proceed with next attribute - $this->selectOption($title, $optionData['options'][0]['title']); - } - - return $result; - } - - /** - * Get configurable attributes options prices - * - * @param FixtureInterface $product - * @return array - */ - public function getOptionsPrices(FixtureInterface $product) - { - /** @var ConfigurableProduct $product */ - $attributesData = []; - $productVariations = []; - if ($product->hasData('configurable_attributes_data')) { - $attributesData = $product->getConfigurableAttributesData()['attributes_data']; - $productVariations = $product->getConfigurableAttributesData()['matrix']; - } - - $productVariations = array_keys($productVariations); - $result = []; - foreach ($productVariations as $variation) { - $variationOptions = explode(' ', $variation); - //Select all options specified in variation - $this->chooseOptions($variationOptions, $attributesData); - $result[$variation]['price'] = $this->getOptionPrice(); - $tierPrices = $this->getOptionTierPrices(); - if (count($tierPrices) > 0) { - $result[$variation]['tierPrices'] = $tierPrices; - } - } - - return $result; - } - - /** - * Get option price - * - * @return null|string - */ - protected function getOptionPrice() - { - $priceBlock = $this->getPriceBlock(); - $price = ($priceBlock->isOldPriceVisible()) ? $priceBlock->getOldPrice() : $priceBlock->getPrice(); - return $price; - } - - /** - * Get tier prices of all variations - * - * @return array - */ - private function getOptionTierPrices() - { - $prices = []; - $tierPricesNodes = $this->_rootElement->getElements($this->tierPricesSelector); - foreach ($tierPricesNodes as $node) { - preg_match('#^[^\d]+(\d+)[^\d]+(\d+(?:(?:,\d+)*)+(?:.\d+)*).*#i', $node->getText(), $matches); - $prices[] = [ - 'qty' => isset($matches[1]) ? $matches[1] : null, - 'price_qty' => isset($matches[2]) ? $matches[2] : null, - ]; - } - return $prices; - } - - /** - * Get block price. - * - * @return \Magento\Catalog\Test\Block\Product\Price - */ - protected function getPriceBlock() - { - /** @var \Magento\Catalog\Test\Block\Product\Price $priceBlock */ - $priceBlock = $this->blockFactory->create( - \Magento\Catalog\Test\Block\Product\Price::class, - ['element' => $this->_rootElement->find($this->priceBlock)] - ); - return $priceBlock; - } - - /** - * Select option from the select element. - * - * @param string $attributeTitle - * @param string $optionTitle - */ - protected function selectOption($attributeTitle, $optionTitle) - { - $this->_rootElement->find(sprintf($this->optionSelector, $attributeTitle), Locator::SELECTOR_XPATH, 'select') - ->setValue($optionTitle); - } - - /** - * Choose options of the configurable product - * - * @param $variationOptions - * @param $attributesData - * @return void - */ - protected function chooseOptions($variationOptions, $attributesData) - { - //Select all options specified in variation - foreach ($variationOptions as $variationSelection) { - list ($attribute, $option) = explode(':', $variationSelection); - $attributeTitle = $attributesData[$attribute]['label']; - $optionTitle = $attributesData[$attribute]['options'][$option]['label']; - $this->selectOption($attributeTitle, $optionTitle); - } - } - - /** - * Get present options - * - * @return array - */ - public function getPresentOptions() - { - $options = []; - - $optionElements = $this->_rootElement->getElements($this->configurableOptionElement); - foreach ($optionElements as $optionElement) { - $title = $optionElement->find($this->title)->getText(); - $options[$title] = $optionElement; - } - - return $options; - } - - /** - * Check if the options container is visible or not - * - * @return bool - */ - public function isVisible() - { - return $this->_rootElement->find($this->optionsContext, Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Select configurable product option by it index - * - * @param FixtureInterface $product - * @param string $variation - * @return void - */ - public function selectConfigurableOption(FixtureInterface $product, $variation) - { - /** @var ConfigurableProduct $product */ - $attributesData = []; - $productVariations = []; - if ($product->hasData('configurable_attributes_data')) { - $attributesData = $product->getConfigurableAttributesData()['attributes_data']; - $productVariations = $product->getConfigurableAttributesData()['matrix']; - } - if (array_key_exists($variation, $productVariations)) { - $variationOption = explode(' ', $variation); - //Select option specified in variation - $this->chooseOptions($variationOption, $attributesData); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductIsNotDisplayedSeparately.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductIsNotDisplayedSeparately.php deleted file mode 100644 index 797979b56511e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductIsNotDisplayedSeparately.php +++ /dev/null @@ -1,76 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\CatalogSearch\Test\Page\CatalogsearchResult; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertChildProductIsNotDisplayedSeparately - * Assert that products generated during configurable product creation - are not visible on frontend(by default). - */ -class AssertChildProductIsNotDisplayedSeparately extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'middle'; - /* end tags */ - - /** - * Assert that products generated during configurable product creation - are not visible on frontend(by default). - * - * @param CatalogSearchResult $catalogSearchResult - * @param CmsIndex $cmsIndex - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert( - CatalogsearchResult $catalogSearchResult, - CmsIndex $cmsIndex, - ConfigurableProduct $product - ) { - $configurableAttributesData = $product->getConfigurableAttributesData(); - $errors = []; - - $cmsIndex->open(); - foreach ($configurableAttributesData['matrix'] as $variation) { - $product = $this->objectManager->create( - \Magento\Catalog\Test\Fixture\CatalogProductSimple::class, - [ - 'data' => [ - 'name' => $variation['name'] - ] - ] - ); - - $cmsIndex->getSearchBlock()->search($variation['sku']); - $isVisibleProduct = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - while (!$isVisibleProduct && $catalogSearchResult->getBottomToolbar()->nextPage()) { - $isVisibleProduct = $catalogSearchResult->getListProductBlock()->getProductItem($product)->isVisible(); - } - if ($isVisibleProduct) { - $errors[] = sprintf( - "\nChild product with sku: \"%s\" is visible on frontend(by default).", - $variation['sku'] - ); - } - } - - \PHPUnit\Framework\Assert::assertEmpty($errors, implode(' ', $errors)); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Child products generated during configurable product creation are not visible on frontend(by default)'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsGeneratedSku.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsGeneratedSku.php deleted file mode 100644 index 4c47851e7dcb7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsGeneratedSku.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that child products sku generated from parent sku. - */ -class AssertChildProductsGeneratedSku extends AbstractConstraint -{ - /** - * Assert that child products sku generated from parent sku. - * - * @param CatalogProductIndex $productGrid - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert(CatalogProductIndex $productGrid, ConfigurableProduct $product) - { - $configurableAttributesData = $product->getConfigurableAttributesData(); - $productGrid->open(); - foreach ($configurableAttributesData['matrix'] as $variation) { - $filter = ['name' => $variation['name']]; - $productGrid->getProductGrid()->search($filter); - $itemId = $productGrid->getProductGrid()->getFirstItemId(); - \PHPUnit\Framework\Assert::assertContains( - $product->getSku(), - $productGrid->getProductGrid()->getColumnValue($itemId, 'SKU'), - 'Product sku is not generated from parent sku.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Child products sku is generated from parent sku.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php deleted file mode 100644 index ce7a85ee603a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertChildProductsInGrid - * Assert that child products generated during configurable product are present in products grid - */ -class AssertChildProductsInGrid extends AbstractConstraint -{ - /** - * Default status visibility on child products - */ - const NOT_VISIBLE_INDIVIDUALLY = 'Not Visible Individually'; - - /** - * Assert that child products generated during configurable product are present in products grid - * - * @param CatalogProductIndex $productGrid - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert(CatalogProductIndex $productGrid, ConfigurableProduct $product) - { - $configurableAttributesData = $product->getConfigurableAttributesData(); - $errors = []; - - $productGrid->open(); - foreach ($configurableAttributesData['matrix'] as $variation) { - $filter = [ - 'name' => $variation['name'], - 'type' => (isset($variation['weight']) && (int)$variation['weight'] > 0) - ? 'Simple Product' : 'Virtual Product', - 'sku' => $variation['sku'], - 'visibility' => self::NOT_VISIBLE_INDIVIDUALLY, - ]; - - if (!$productGrid->getProductGrid()->isRowVisible($filter)) { - $errors[] = sprintf( - 'Child product with name: "%s" and sku:"%s" is absent in grid.', - $filter['name'], - $filter['sku'] - ); - } - } - - \PHPUnit\Framework\Assert::assertEmpty($errors, implode(' ', $errors)); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Child products generated during configurable product are present in products grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesAbsentOnProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesAbsentOnProductPage.php deleted file mode 100644 index 85079e0a210b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesAbsentOnProductPage.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Fixture\CatalogProductAttribute; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that deleted configurable attributes are absent on product page on frontend. - */ -class AssertConfigurableAttributesAbsentOnProductPage extends AbstractConstraint -{ - /** - * Assert that deleted configurable attributes are absent on product page on frontend. - * - * @param CatalogProductAttribute[] $deletedProductAttributes - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert( - array $deletedProductAttributes, - BrowserInterface $browser, - CatalogProductView $catalogProductView, - ConfigurableProduct $product - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $pageOptions = $catalogProductView->getViewBlock()->getOptions($product)['configurable_options']; - - foreach ($deletedProductAttributes as $attribute) { - $attributeLabel = $attribute->getFrontendLabel(); - \PHPUnit\Framework\Assert::assertFalse( - isset($pageOptions[$attributeLabel]), - "Configurable attribute '$attributeLabel' found on product page on frontend." - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Configurable attributes are absent on product page on frontend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesBlockIsAbsentOnProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesBlockIsAbsentOnProductPage.php deleted file mode 100644 index 81f9427bdf26c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableAttributesBlockIsAbsentOnProductPage.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that all configurable attributes is absent on product page on frontend. - */ -class AssertConfigurableAttributesBlockIsAbsentOnProductPage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Assert that all configurable attributes is absent on product page on frontend. - * - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert( - BrowserInterface $browser, - CatalogProductView $catalogProductView, - ConfigurableProduct $product - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getConfigurableAttributesBlock()->isVisible(), - "Configurable attributes are present on product page on frontend." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "All configurable attributes are absent on product page on frontend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductAttributeOptionNotInLayeredNavigation.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductAttributeOptionNotInLayeredNavigation.php deleted file mode 100644 index 23935bb5d0c86..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductAttributeOptionNotInLayeredNavigation.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Check whether OOS product attribute options for configurable product are not displayed - * on frontend in Layered navigation. - */ -class AssertConfigurableProductAttributeOptionNotInLayeredNavigation extends AbstractConstraint -{ - /** - * Check whether the OOS attribute options are not displayed on the frontend in Layered navigation. - * - * @param CatalogCategoryView $catalogCategoryView - * @param InjectableFixture $product - * @param CmsIndex $cmsIndex - * @param FixtureFactory $fixtureFactory - * @param string $outOfStockOption - * @return void - */ - public function processAssert( - CatalogCategoryView $catalogCategoryView, - InjectableFixture $product, - CmsIndex $cmsIndex, - FixtureFactory $fixtureFactory, - $outOfStockOption - ) { - $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'product_with_category_with_anchor', - 'data' => [ - 'category_ids' => [ - 'dataset' => null, - 'category' => $product->getDataFieldConfig('category_ids')['source']->getCategories()[0], - ], - ], - ] - )->persist(); - - $cmsIndex->open()->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - - $attributesData = $product->hasData('configurable_attributes_data') - ? $product->getConfigurableAttributesData()['attributes_data'] - : []; - - $attributeData = !empty($attributesData) ? array_shift($attributesData) : []; - $frontendAttributeLabel = !empty($attributeData) && isset($attributeData['frontend_label']) - ? $attributeData['frontend_label'] - : ''; - - $filters = $catalogCategoryView->getLayeredNavigationBlock()->getFilterContents($frontendAttributeLabel); - - \PHPUnit\Framework\Assert::assertFalse( - in_array(strtoupper($outOfStockOption), $filters), - 'Out of Stock attribute option is present in layered navigation on category page.' - ); - } - - /** - * @inheritdoc - */ - public function toString() - { - return 'Out of Stock attribute option is absent in layered navigation on category page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductDuplicateForm.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductDuplicateForm.php deleted file mode 100644 index c50f0e338c20f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductDuplicateForm.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Assert form data equals duplicate product configurable data. - */ -class AssertConfigurableProductDuplicateForm extends AssertConfigurableProductForm -{ - /** - * Assert form data equals duplicate product configurable data. - * - * @param FixtureInterface $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - FixtureInterface $product, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $product = $this->processFixture($product); - $duplicateProductSku = $product->getSku() . '-1'; - $filter = ['sku' => $duplicateProductSku]; - $productGrid->open(); - $productGrid->getProductGrid()->searchAndOpen($filter); - - $productData = $product->getData(); - $productData['sku'] = $duplicateProductSku; - $productData['status'] = 'No'; - if (isset($compareData['quantity_and_stock_status']['qty'])) { - $compareData['quantity_and_stock_status']['qty'] = ''; - $compareData['quantity_and_stock_status']['is_in_stock'] = 'Out of Stock'; - } - $fixtureData = $this->prepareFixtureData($productData, $this->sortFields); - $formData = $this->prepareFormData($productPage->getProductForm()->getData($product), $this->sortFields); - $error = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertTrue(empty($error), $error); - } - - /** - * Prepares fixture data for comparison. - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFixtureData(array $data, array $sortFields = []) - { - $data['url_key'] = $this->prepareUrlKey($data['url_key']); - $data['quantity_and_stock_status']['is_in_stock'] = 'Out of Stock'; - return parent::prepareFixtureData($data, $sortFields); - } - - /** - * Prepare url key. - * - * @param string $urlKey - * @return string - */ - protected function prepareUrlKey($urlKey) - { - preg_match("~\d+$~", $urlKey, $matches); - $key = (int)$matches[0] + 1; - return str_replace($matches[0], $key, $urlKey); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Form data equals to fixture data of duplicated product.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductForm.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductForm.php deleted file mode 100644 index 8bf47722fb2e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductForm.php +++ /dev/null @@ -1,157 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Constraint\AssertProductForm; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class AssertConfigurableProductForm - * Assert form data equals fixture data - */ -class AssertConfigurableProductForm extends AssertProductForm -{ - /** - * List skipped fixture fields in verify - * - * @var array - */ - protected $skippedFixtureFields = [ - 'id', - 'affected_attribute_set', - 'checkout_data', - 'price' - ]; - - /** - * List skipped attribute fields in verify - * - * @var array - */ - protected $skippedAttributeFields = [ - 'frontend_input', - 'frontend_label', - 'attribute_code', - 'attribute_id', - 'is_required', - ]; - - /** - * List skipped option fields in verify - * - * @var array - */ - protected $skippedOptionFields = [ - 'admin', - 'id', - 'is_default', - ]; - - /** - * Skipped variation matrix field. - * - * @var array - */ - protected $skippedVariationMatrixFields = [ - 'configurable_attribute', - ]; - - /** - * Prepares fixture data for comparison - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFixtureData(array $data, array $sortFields = []) - { - // Attribute is no longer displayed on product page - unset($data['configurable_attributes_data']['attributes_data']); - - // prepare and filter values, reset keys in variation matrix - $variationsMatrix = $data['configurable_attributes_data']['matrix']; - foreach ($variationsMatrix as $key => $variationMatrix) { - $variationsMatrix[$key] = array_diff_key($variationMatrix, array_flip($this->skippedVariationMatrixFields)); - } - $data['configurable_attributes_data']['matrix'] = array_values($variationsMatrix); - - return parent::prepareFixtureData($data, $sortFields); - } - - /** - * Prepares form data for comparison - * - * @param array $data - * @param array $sortFields [optional] - * @return array - */ - protected function prepareFormData(array $data, array $sortFields = []) - { - // filter values and reset keys in variation matrix - $variationsMatrix = $this->trimCurrencyForPriceInMatrix($data['configurable_attributes_data']['matrix']); - foreach ($variationsMatrix as $key => $variationMatrix) { - $variationsMatrix[$key] = array_diff_key($variationMatrix, array_flip($this->skippedVariationMatrixFields)); - } - $data['configurable_attributes_data']['matrix'] = array_values($variationsMatrix); - - foreach ($sortFields as $path) { - $data = $this->sortDataByPath($data, $path); - } - return $data; - } - - /** - * Escape currency for price in matrix - * - * @param array $variationsMatrix - * @param string $currency - * @return array - */ - protected function trimCurrencyForPriceInMatrix($variationsMatrix, $currency = '$') - { - foreach ($variationsMatrix as &$variation) { - if (isset($variation['price'])) { - $variation['price'] = str_replace($currency, '', $variation['price']); - } - } - return $variationsMatrix; - } - - /** - * Assert form data equals product configurable data. - * - * @param FixtureInterface $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - FixtureInterface $product, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $product = $this->processFixture($product); - parent::processAssert($product, $productGrid, $productPage); - } - - /** - * Remove price\special price fields from fixture as it should not be retrieved from product form - * - * @param FixtureInterface $product - * @return mixed - */ - protected function processFixture(FixtureInterface $product) - { - $data = array_diff_key($product->getData(), ['price' => 0, 'special_price' => 0]); - return $this->objectManager->create( - \Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct::class, - ['data' => $data] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductImages.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductImages.php deleted file mode 100644 index d03efea45e376..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductImages.php +++ /dev/null @@ -1,105 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Constraint\AssertProductPage; - -/** - * Verify displayed images on product page are correct. - */ -class AssertConfigurableProductImages extends AssertProductPage -{ - /** - * Displayed images. - * - * @var array - */ - private $displayedImages = []; - - /** - * Verify displayed images on product page are correct. - * - * @return array - */ - protected function verify() - { - $errors = []; - $errors[] = $this->verifyBaseImage(); - $errors[] = $this->verifyOptionsImages(); - - return array_filter($errors); - } - - /** - * Verify correct base image is shown. - * - * @return null|string - */ - private function verifyBaseImage() - { - $message = null; - $data = $this->product->getData(); - - $displayedImage = $this->productView->getBaseImageSource(); - $this->displayedImages[] = $displayedImage; - - if ($this->areImagesDifferent($displayedImage, $data['image'][0]['file'])) { - $message = 'Product image is not correct.'; - } - - return $message; - } - - /** - * Verify displayed options images on product page are different. - * - * @return string|null - */ - protected function verifyOptionsImages() - { - $message = null; - $configurableAttributes = $this->product->getData('configurable_attributes_data')['attributes_data']; - $attribute = array_shift($configurableAttributes); - $customOptions = []; - - foreach ($attribute['options'] as $option) { - $customOptions[] = [ - 'type' => $attribute['frontend_input'], - 'title' => $attribute['frontend_label'], - 'value' => $option['label'] - ]; - } - - foreach ($customOptions as $customOption) { - $this->productView->getCustomOptionsBlock()->fillCustomOptions([$customOption]); - $displayedImage = $this->productView->getBaseImageSource(); - if (in_array($displayedImage, $this->displayedImages)) { - $message = 'Option image is not correct.'; - break; - } - - $this->displayedImages[] = $displayedImage; - } - - return $message; - } - - /** - * Compare images and return true if they are different. - * - * @param string $compared - * @param string $toCompare - * @return bool - */ - private function areImagesDifferent($compared, $toCompare) - { - preg_match('`/(\w*?)\.(\w*?)$`', $compared, $shownImage); - preg_match('`/(\w*?)\.(\w*?)$`', $toCompare, $expectedImage); - - return strpos($shownImage[1], $expectedImage[1]) === false || $expectedImage[2] !== $shownImage[2]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCart.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCart.php deleted file mode 100644 index 15acb782eef49..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCart.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Checkout\Test\Page\CheckoutCart; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertConfigurableProductInCart - * Assertion that the product is correctly displayed in cart - */ -class AssertConfigurableProductInCart extends AbstractConstraint -{ - /** - * Assertion that the product is correctly displayed in cart - * - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param CheckoutCart $checkoutCart - * @param ConfigurableProduct $product - * @return void - */ - public function processAssert( - BrowserInterface $browser, - CatalogProductView $catalogProductView, - CheckoutCart $checkoutCart, - ConfigurableProduct $product - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $catalogProductView->getViewBlock()->addToCart($product); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $checkoutCart->open(); - - $checkoutData = $product->getCheckoutData(); - $price = $checkoutCart->getCartBlock()->getCartItem($product)->getPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $checkoutData['cartItem']['price'], - $price, - 'Product price in shopping cart is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product price in shopping cart is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCategory.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCategory.php deleted file mode 100644 index 95232bad69966..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCategory.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Fixture\Category; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Catalog\Test\Constraint\AssertProductInCategory; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Checking the product in the page of its price. - */ -class AssertConfigurableProductInCategory extends AssertProductInCategory -{ - /** - * Verify product price on category view page. - * - * @param FixtureInterface $product - * @param CatalogCategoryView $catalogCategoryView - * @return void - */ - protected function assertPrice(FixtureInterface $product, CatalogCategoryView $catalogCategoryView) - { - $priceBlock = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $priceData = $product->getDataFieldConfig('price')['source']->getPriceData(); - $price = isset($priceData['category_price']) ? $priceData['category_price'] : $product->getPrice(); - \PHPUnit\Framework\Assert::assertEquals( - number_format($price, 2, '.', ''), - $priceBlock->isOldPriceVisible() ? $priceBlock->getOldPrice() : $priceBlock->getPrice(), - 'Product regular price on category page is not correct.' - ); - - if ($product->hasData('special_price')) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($product->getSpecialPrice(), 2, '.', ''), - $priceBlock->getSpecialPrice(), - 'Product special price on category page is not correct.' - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCustomerWishlistOnBackendGrid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCustomerWishlistOnBackendGrid.php deleted file mode 100644 index 561ab1ded744c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductInCustomerWishlistOnBackendGrid.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Wishlist\Test\Constraint\AssertProductInCustomerWishlistOnBackendGrid; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class AssertConfigurableProductInCustomerWishlistOnBackendGrid - * Assert that configurable product is present in grid on customer's wish list tab with configure option and qty - */ -class AssertConfigurableProductInCustomerWishlistOnBackendGrid extends AssertProductInCustomerWishlistOnBackendGrid -{ - /** - * Prepare options - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareOptions(FixtureInterface $product) - { - /** @var ConfigurableProduct $product */ - $productOptions = parent::prepareOptions($product); - $checkoutData = $product->getCheckoutData()['options']; - if (!empty($checkoutData['configurable_options'])) { - $configurableAttributesData = $product->getConfigurableAttributesData()['attributes_data']; - foreach ($checkoutData['configurable_options'] as $optionData) { - $attribute = $configurableAttributesData[$optionData['title']]; - $productOptions[] = [ - 'option_name' => $attribute['label'], - 'value' => $attribute['options'][$optionData['value']]['label'], - ]; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductOutOfStockPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductOutOfStockPage.php deleted file mode 100644 index 8bd06f88ad1f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductOutOfStockPage.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Constraint\AssertProductPage; - -class AssertConfigurableProductOutOfStockPage extends AssertProductPage -{ - /** - * Verifies that all relevant product data will be shown for an out of stock configurable product. - * - * @return array - */ - protected function verify() - { - $errors = parent::verify(); - - return array_filter($errors); - } - - /** - * Verify displayed product price on product page (front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyPrice() - { - $priceBlock = $this->productView->getPriceBlock(); - $fixturePrice = $this->getLowestConfigurablePrice(); - - if ($fixturePrice === null) { - if ($priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is visible."; - } - } else { - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - - $formPrice = $priceBlock->isOldPriceVisible() ? $priceBlock->getOldPrice() : $priceBlock->getPrice(); - - if ($fixturePrice != $formPrice) { - return "Displayed product price on product page (front-end) not equals passed from fixture. " - . "Actual: {$formPrice}, expected: {$fixturePrice}."; - } - } - - return null; - } - - /** - * Returns lowest possible price of configurable product. - * - * @return string - */ - protected function getLowestConfigurablePrice() - { - $price = null; - $priceDataConfig = $this->product->getDataFieldConfig('price'); - if (isset($priceDataConfig['source'])) { - $priceData = $priceDataConfig['source']->getPriceData(); - if (isset($priceData['price_from'])) { - $price = $priceData['price_from']; - } - } - - if (null === $price) { - $configurableOptions = $this->product->getConfigurableAttributesData(); - $products = $this->product->getDataFieldConfig('configurable_attributes_data')['source']->getProducts(); - foreach ($configurableOptions['matrix'] as $key => $option) { - if ($products[$key]->getQuantityAndStockStatus()['is_in_stock'] !== 'Out of Stock') { - $price = $price === null ? $option['price'] : $price; - if ($price > $option['price']) { - $price = $option['price']; - } - } - } - } - return $price; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductPage.php deleted file mode 100644 index 77949a83508a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductPage.php +++ /dev/null @@ -1,180 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Constraint\AssertProductPage; - -/** - * Class AssertConfigurableProductPage - * Assert that displayed product data on product page(front-end) equals passed from fixture - */ -class AssertConfigurableProductPage extends AssertProductPage -{ - /** - * Price format. - * - * @var int - */ - private $priceFormat = 2; - - /** - * Verify displayed product data on product page(front-end) equals passed from fixture: - * 1. Product Name - * 2. Price - * 3. SKU - * 4. Description - * 5. Short Description - * 6. Attributes - * - * @return array - */ - protected function verify() - { - $errors = parent::verify(); - $errors[] = $this->verifyPriceLabel(); - $errors[] = $this->verifyAttributes(); - - return array_filter($errors); - } - - /** - * Verify displayed product price on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyPrice() - { - $priceBlock = $this->productView->getPriceBlock(); - if (!$priceBlock->isVisible()) { - return "Price block for '{$this->product->getName()}' product' is not visible."; - } - $formPrice = $priceBlock->isOldPriceVisible() ? $priceBlock->getOldPrice() : $priceBlock->getPrice(); - $fixturePrice = $this->getLowestConfigurablePrice(); - - if ($fixturePrice != number_format($formPrice, $this->priceFormat)) { - return "Displayed product price on product page(front-end) not equals passed from fixture. " - . "Actual: {$formPrice}, expected: {$fixturePrice}."; - } - return null; - } - - /** - * Verify displayed product attributes on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyAttributes() - { - $attributesData = $this->product->getConfigurableAttributesData(); - $configurableOptions = []; - $formOptions = $this->productView->getOptions($this->product); - - foreach ($attributesData['attributes_data'] as $attributeKey => $attributeData) { - $optionData = [ - 'title' => $attributeData['frontend_label'], - 'type' => $attributeData['frontend_input'], - 'is_require' => 'Yes', - ]; - - foreach ($attributeData['options'] as $optionKey => $option) { - $optionData['options'][$optionKey] = [ - 'title' => $option['label'], - //Mock price validation - 'price' => 0 - ]; - } - - $configurableOptions[$attributeKey] = $optionData; - } - - // Sort data for compare - $configurableOptions = $this->sortDataByPath($configurableOptions, '::title'); - foreach ($configurableOptions as $key => $configurableOption) { - $configurableOptions[$key] = $this->sortDataByPath($configurableOption, 'options::title'); - } - $configurableFormOptions = $formOptions['configurable_options']; - $configurableFormOptions = $this->sortDataByPath($configurableFormOptions, '::title'); - foreach ($configurableFormOptions as $key => $formOption) { - $configurableFormOptions[$key] = $this->sortDataByPath($formOption, 'options::title'); - } - - $errors = array_merge( - //Verify Attribute and options - $this->verifyData($configurableOptions, $configurableFormOptions, true, false), - //Verify Attribute options prices - $this->verifyAttributesMatrix($formOptions['matrix'], $attributesData['matrix']) - ); - - return $errors ? null : $this->prepareErrors($errors, 'Error configurable options:'); - } - - /** - * Verify displayed product attributes prices on product page(front-end) equals passed from fixture - * - * @return string|null - */ - protected function verifyAttributesMatrix($variationsMatrix, $generatedMatrix) - { - foreach ($generatedMatrix as $key => $value) { - $generatedMatrix[$key] = array_intersect_key($value, ['price' => 0]); - } - return $this->verifyData($generatedMatrix, $variationsMatrix, true, false); - } - - /** - * Returns lowest possible price of configurable product. - * - * @return string - */ - protected function getLowestConfigurablePrice() - { - $price = null; - $priceDataConfig = $this->product->getDataFieldConfig('price'); - if (isset($priceDataConfig['source'])) { - $priceData = $priceDataConfig['source']->getPriceData(); - if (isset($priceData['price_from'])) { - $price = $priceData['price_from']; - } - } - - if (null === $price) { - $configurableOptions = $this->product->getConfigurableAttributesData(); - foreach ($configurableOptions['matrix'] as $option) { - $price = $price === null ? $option['price'] : $price; - if ($price > $option['price']) { - $price = $option['price']; - } - } - } - return $price; - } - - /** - * Verifies displayed product price label on a product page (front-end) equals passed from the fixture. - * - * @return string|null - */ - protected function verifyPriceLabel() - { - /** @var \Magento\ConfigurableProduct\Test\Block\Product\Price $priceBlock */ - $priceBlock = $this->productView->getPriceBlock($this->product); - - if (!$priceBlock->getPriceLabel()->isVisible()) { - return "Product price label should be displayed."; - } else { - $expectedPriceLabel = 'As low as'; - $actualPriceLabel = $priceBlock->getPriceLabel()->getText(); - - if ($expectedPriceLabel !== $actualPriceLabel) { - return "Displayed product price label on product page (front-end) not equals passed from fixture. " - . "Actual: {$actualPriceLabel}, expected: {$expectedPriceLabel}."; - } - } - - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductsQtyAfterReorder.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductsQtyAfterReorder.php deleted file mode 100644 index 72531747983e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductsQtyAfterReorder.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Sales\Test\Fixture\OrderInjectable; -use Magento\Catalog\Test\Constraint\AssertProductForm; -use Magento\Sales\Test\Constraint\AssertProductsQtyAfterOrderCancel; - -/** - * Assert that products quantity is correct after reorder. - */ -class AssertConfigurableProductsQtyAfterReorder extends AbstractConstraint -{ - /** - * Assert products quantity after placing new order with the same products. - * - * @param OrderInjectable $order - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @param FixtureFactory $fixtureFactory - * @param AssertProductForm $assertProductForm - * @param AssertConfigurableProductForm $assertConfigurableProductForm - * @param AssertProductsQtyAfterOrderCancel $assertProductsQty - * @return void - */ - public function processAssert( - OrderInjectable $order, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage, - FixtureFactory $fixtureFactory, - AssertProductForm $assertProductForm, - AssertConfigurableProductForm $assertConfigurableProductForm, - AssertProductsQtyAfterOrderCancel $assertProductsQty - ) { - $newOrder = $fixtureFactory->createByCode('orderInjectable', [ - 'dataset' => 'default', - 'data' => [ - 'entity_id' => [ - 'products' => $order->getEntityId()['products'], - ] - ] - ]); - $newOrder->persist(); - $assertProductsQty->processAssert( - $newOrder, - $productGrid, - $productPage, - $fixtureFactory, - $assertProductForm, - $assertConfigurableProductForm - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products quantity is correct after reorder.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php deleted file mode 100644 index bb20f9cc4c3ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Assert currency rate applied on configurable product page. - */ -class AssertCurrencyRateAppliedOnProductPage extends AbstractConstraint -{ - /** - * Assert currency rate applied on configurable product page. - * - * @param BrowserInterface $browser - * @param InjectableFixture $product - * @param CatalogProductView $view - * @param CmsIndex $cmsIndex - * @param CurrencySymbolEntity $baseCurrency - * @param array $configuredPrices - * @param string $basePrice - */ - public function processAssert( - BrowserInterface $browser, - InjectableFixture $product, - CatalogProductView $view, - CmsIndex $cmsIndex, - CurrencySymbolEntity $baseCurrency, - array $configuredPrices, - $basePrice - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->assertPrice($view, $basePrice); - - $view->getViewBlock()->configure($product); - $this->assertPrice($view, $configuredPrices['custom_currency']); - - $cmsIndex->getCurrencyBlock()->switchCurrency($baseCurrency); - $view->getViewBlock()->configure($product); - $this->assertPrice($view, $configuredPrices['base_currency']); - } - - /** - * Assert price. - * - * @param CatalogProductView $view - * @param string $price - * @param string $currency [optional] - */ - public function assertPrice(CatalogProductView $view, $price, $currency = '') - { - \PHPUnit\Framework\Assert::assertEquals( - $price, - $view->getViewBlock()->getPriceBlock()->getPrice($currency), - 'Wrong price is displayed on Product page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Currency rate has been applied correctly on Configurable Product page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertOutOfStockOptionIsAbsentOnProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertOutOfStockOptionIsAbsentOnProductPage.php deleted file mode 100644 index 36c2c42a2db1b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertOutOfStockOptionIsAbsentOnProductPage.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; - -/** - * Assert that out of stock configurable option is not displayed on product page. - */ -class AssertOutOfStockOptionIsAbsentOnProductPage extends AbstractConstraint -{ - /** - * Assert that out of stock configurable option is not displayed on product page on frontend. - * - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param ConfigurableProduct $product - * @param string $outOfStockOption - * @return void - */ - public function processAssert( - BrowserInterface $browser, - CatalogProductView $catalogProductView, - ConfigurableProduct $product, - $outOfStockOption - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $listOptions = $catalogProductView->getConfigurableAttributesBlock()->getPresentOptions(); - $productOptions = []; - foreach ($listOptions as $option) { - $productOptions = $catalogProductView->getConfigurableAttributesBlock()->getSelectOptionsData($option); - } - $option = $this->isOptionAbsent($outOfStockOption, $productOptions); - \PHPUnit\Framework\Assert::assertTrue($option, 'Out of stock option is present on product page.'); - } - - /** - * Check if option is absent on product page. - * - * @param string $needle - * @param array $haystack - * @return bool - */ - private function isOptionAbsent($needle, array $haystack) - { - foreach ($haystack as $options) { - foreach ($options as $option) { - if ($option['title'] === $needle) { - return false; - } - } - } - return true; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Out of stock configurable option is absent on product page on frontend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeAbsenceInVariationsSearch.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeAbsenceInVariationsSearch.php deleted file mode 100644 index c5b3c23403534..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeAbsenceInVariationsSearch.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config as VariationsTab; -use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config\Attribute as AttributeBlock; -use Magento\Catalog\Test\Fixture\CatalogProductAttribute; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that deleted attribute can't be added to attribute set on Product Page via Add Attribute control. - */ -class AssertProductAttributeAbsenceInVariationsSearch extends AbstractConstraint -{ - /** - * Label "Variations" tab. - */ - const TAB_VARIATIONS = 'variations'; - - /** - * Assert that deleted attribute can't be added to attribute set on Product Page via Add Attribute control. - * - * @param CatalogProductAttribute $productAttribute - * @param ConfigurableProduct $assertProduct - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @return void - */ - public function processAssert( - CatalogProductAttribute $productAttribute, - ConfigurableProduct $assertProduct, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage - ) { - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - - /** @var VariationsTab $variationsTab */ - $newProductPage->getProductForm()->fill($assertProduct); - $variationsTab = $newProductPage->getProductForm()->getSection(self::TAB_VARIATIONS); - $variationsTab->createConfigurations(); - $attributesGrid = $variationsTab->getAttributeBlock()->getAttributesGrid(); - \PHPUnit\Framework\Assert::assertFalse( - $attributesGrid->isRowVisible(['frontend_label' => $productAttribute->getFrontendLabel()]), - "Product attribute found in Attribute Search form." - ); - } - - /** - * Text absent Product Attribute in Attribute Search form. - * - * @return string - */ - public function toString() - { - return "Product Attribute is absent in Attribute Search form."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeIsConfigurable.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeIsConfigurable.php deleted file mode 100644 index 1387e9aed20c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductAttributeIsConfigurable.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Fixture\CatalogProductAttribute; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config as SectionVariation; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert check whether the attribute is used to create a configurable products. - */ -class AssertProductAttributeIsConfigurable extends AbstractConstraint -{ - /** - * Assert check whether the attribute is used to create a configurable products. - * - * @param CatalogProductAttribute $attribute - * @param ConfigurableProduct $assertProduct - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - */ - public function processAssert( - CatalogProductAttribute $attribute, - ConfigurableProduct $assertProduct, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage - ) { - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('configurable'); - $productBlockForm = $newProductPage->getProductForm(); - $productBlockForm->fill($assertProduct); - $productBlockForm->openSection('variations'); - /** @var SectionVariation $variationsSection */ - $variationsSection = $productBlockForm->getSection('variations'); - $variationsSection->createConfigurations(); - $attributesGrid = $variationsSection->getAttributeBlock()->getAttributesGrid(); - \PHPUnit\Framework\Assert::assertTrue( - $attributesGrid->isRowVisible(['frontend_label' => $attribute->getFrontendLabel()]), - "Product attribute is absent on the product page." - ); - } - - /** - * Attribute label present on the product page in variations section. - * - * @return string - */ - public function toString() - { - return 'Attribute label present on the product page in variations section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php deleted file mode 100644 index e3a2453114adb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\ObjectManager; -use Magento\Mtf\System\Event\EventManagerInterface; -use Magento\Sales\Test\Fixture\OrderInjectable; - -/** - * Class AssertProductQtyDecreasedAfterCreditmemo - */ -class AssertProductQtyDecreasedAfterCreditmemo extends AbstractConstraint -{ - /** - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Skip fields for create product fixture. - * - * @var array - */ - protected $skipFields = [ - 'attribute_set_id', - 'website_ids', - 'checkout_data', - 'type_id', - 'price', - ]; - - /** - * AssertFirstProductForm constructor. - * @param ObjectManager $objectManager - */ - public function __construct( - ObjectManager $objectManager, - EventManagerInterface $eventManager, - FixtureFactory $fixtureFactory - ) { - $this->fixtureFactory = $fixtureFactory; - parent::__construct($objectManager, $eventManager); - } - - /** - * Assert form data equals fixture data - * - * @param OrderInjectable $order - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - OrderInjectable $order, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $data = $order->getRefund(); - $product = $this->getProduct($order, $data[0]); - $this->objectManager->get(\Magento\Catalog\Test\Constraint\AssertProductForm::class)->processAssert( - $product, - $productGrid, - $productPage - ); - } - - /** - * Get product's fixture. - * - * @param OrderInjectable $order - * @param array $data - * @param int $index [optional] - * @return FixtureInterface - */ - protected function getProduct(OrderInjectable $order, array $data, $index = 0) - { - if (!isset($data['items_data'][$index]['back_to_stock']) - || $data['items_data'][$index]['back_to_stock'] != 'Yes' - ) { - return $order->getEntityId()['products'][$index]; - } - $product = $order->getEntityId()['products'][$index]; - $productData = $product->getData(); - $checkoutDataQty = $productData['checkout_data']['qty']; - - $productKey = ''; - foreach ($productData['checkout_data']['options']['configurable_options'] as $option) { - $productKey .= ' ' . $option['title'] . ':' . $option['value']; - } - $productKey = trim($productKey); - $optionProduct = $productData['configurable_attributes_data']['matrix'][$productKey]; - $optionProduct['qty'] -= ($checkoutDataQty - $data['items_data'][$index]['qty']); - $productData = $optionProduct; - - $productData = array_diff_key($productData, array_flip($this->skipFields)); - - return $this->fixtureFactory->create(get_class($product), ['data' => $productData]); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product qty was decreased after creditmemo creation.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductTierPriceOnProductPage.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductTierPriceOnProductPage.php deleted file mode 100644 index 01ff832cd7db3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertProductTierPriceOnProductPage.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Constraint; - -use Magento\Catalog\Test\Constraint\AssertProductPage; -use Magento\ConfigurableProduct\Test\Block\Product\View\ConfigurableOptions; - -/** - * Open created configurable product on frontend and choose variation with tier price - */ -class AssertProductTierPriceOnProductPage extends AssertProductPage -{ - /** - * Verify that tier prices configured for all variations of configured product displayed as expected. - * - * @return array - */ - public function verify() - { - $errors = []; - /** @var ConfigurableOptions $optionsBlock */ - $optionsBlock = $this->pageView->getConfigurableAttributesBlock(); - $formTierPrices = $optionsBlock->getOptionsPrices($this->product); - $products = ($this->product->getDataFieldConfig('configurable_attributes_data')['source'])->getProducts(); - foreach ($products as $key => $product) { - $configuredTierPrice = []; - $actualTierPrices = isset($formTierPrices[$key]['tierPrices']) ? $formTierPrices[$key]['tierPrices'] : []; - $tierPrices = $product->getTierPrice() ?: []; - foreach ($tierPrices as $tierPrice) { - $configuredTierPrice[] = [ - 'qty' => $tierPrice['price_qty'], - 'price_qty' => $tierPrice['price'], - ]; - } - - if ($configuredTierPrice != $actualTierPrices) { - $errors[] = sprintf('Tier prices for variation %s doesn\'t equals to configured.', $key); - } - } - - return $errors; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/Cart/Item.php deleted file mode 100644 index 25c3f21602ae1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Fixture\Cart; - -/** - * Data for verify cart item block on checkout page. - * - * Data keys: - * - product (fixture data for verify) - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ -class Item extends \Magento\Catalog\Test\Fixture\Cart\Item -{ - /** - * Return prepared dataset. - * - * @param null|string $key - * @return array - */ - public function getData($key = null) - { - parent::getData($key); - $productData = $this->product->getData(); - $checkoutData = $this->product->getCheckoutData(); - $cartItem = isset($checkoutData['cartItem']) ? $checkoutData['cartItem'] : []; - $attributesData = $this->product->getConfigurableAttributesData()['attributes_data']; - $checkoutConfigurableOptions = isset($checkoutData['options']['configurable_options']) - ? $checkoutData['options']['configurable_options'] - : []; - - $attributeKey = []; - foreach ($checkoutConfigurableOptions as $key => $checkoutConfigurableOption) { - $attribute = $checkoutConfigurableOption['title']; - $option = $checkoutConfigurableOption['value']; - $attributeKey[] = "$attribute:$option"; - $checkoutConfigurableOptions[$key] = [ - 'title' => isset($attributesData[$attribute]['label']) - ? $attributesData[$attribute]['label'] - : $attribute, - 'value' => isset($attributesData[$attribute]['options'][$option]['label']) - ? $attributesData[$attribute]['options'][$option]['label'] - : $option, - ]; - } - $attributeKey = implode(' ', $attributeKey); - if (isset($productData['configurable_attributes_data']['matrix'][$attributeKey])) { - $cartItem['sku'] = $productData['configurable_attributes_data']['matrix'][$attributeKey]['sku']; - } else { - $cartItem['sku'] = $productData['sku']; - } - $cartItem['name'] = $productData['name']; - - $cartItem['options'] = isset($cartItem['options']) - ? $cartItem['options'] + $checkoutConfigurableOptions - : $checkoutConfigurableOptions; - $this->data = $cartItem; - - return $this->data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml deleted file mode 100644 index eac8fb16a3728..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="configurableProduct" - module="Magento_ConfigurableProduct" - type="eav" - entity_type="catalog_product" - product_type="configurable" - collection="Magento\Catalog\Model\ResourceModel\Product\Collection" - identifier="sku" - repository_class="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct" - handler_interface="Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct\ConfigurableProductInterface" - class="Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct"> - <data_config> - <item name="type_id" xsi:type="string">configurable</item> - <item name="create_url_params" xsi:type="array"> - <item name="type" xsi:type="string">configurable</item> - <item name="set" xsi:type="string">4</item> - </item> - <item name="input_prefix" xsi:type="string">product</item> - </data_config> - <field name="category_ids" is_required="0" group="product-details" source="Magento\Catalog\Test\Fixture\Product\CategoryIds" /> - <field name="color" is_required="0" /> - <field name="country_of_manufacture" is_required="0" /> - <field name="created_at" is_required="1" /> - <field name="custom_design" is_required="0" /> - <field name="custom_design_from" is_required="0" /> - <field name="custom_design_to" is_required="0" /> - <field name="custom_layout_update" is_required="0" /> - <field name="description" is_required="0" group="content" /> - <field name="enable_googlecheckout" is_required="0" /> - <field name="gallery" is_required="0" /> - <field name="gift_message_available" is_required="0" /> - <field name="has_options" is_required="0" /> - <field name="image" is_required="0" group="gallery" source="Magento\Catalog\Test\Fixture\Product\Image" /> - <field name="image_label" is_required="0" /> - <field name="manufacturer" is_required="0" /> - <field name="media_gallery" is_required="0" /> - <field name="meta_description" is_required="0" /> - <field name="meta_keyword" is_required="0" /> - <field name="meta_title" is_required="0" /> - <field name="minimal_price" is_required="0" /> - <field name="msrp" is_required="0" /> - <field name="msrp_display_actual_price_type" is_required="0" /> - <field name="name" is_required="1" group="product-details" /> - <field name="news_from_date" is_required="0" /> - <field name="news_to_date" is_required="0" /> - <field name="old_id" is_required="0" /> - <field name="options_container" is_required="0" /> - <field name="page_layout" is_required="0" /> - <field name="price" is_required="0" group="product-details" source="Magento\Catalog\Test\Fixture\Product\Price" repository="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\Price"/> - <field name="quantity_and_stock_status" is_required="0" group="product-details" /> - <field name="required_options" is_required="0" /> - <field name="short_description" is_required="0" group="content" /> - <field name="sku" is_required="1" group="product-details" /> - <field name="small_image" is_required="0" /> - <field name="small_image_label" is_required="0" /> - <field name="special_from_date" is_required="0" /> - <field name="special_price" is_required="0" group="advanced-pricing" /> - <field name="special_to_date" is_required="0" /> - <field name="status" is_required="0" group="product-details" /> - <field name="tax_class_id" is_required="0" group="product-details" source="Magento\Catalog\Test\Fixture\Product\TaxClass" /> - <field name="thumbnail" is_required="0" /> - <field name="thumbnail_label" is_required="0" /> - <field name="tier_price" is_required="0" group="advanced-pricing" source="Magento\Catalog\Test\Fixture\Product\TierPrice" repository="Magento\Catalog\Test\Repository\Product\TierPrice" /> - <field name="updated_at" is_required="1" /> - <field name="url_key" is_required="0" group="search-engine-optimization" /> - <field name="url_path" is_required="0" /> - <field name="visibility" is_required="0" group="product-details" /> - <field name="weight" is_required="0" group="product-details" /> - <field name="product_has_weight" group="product-details" /> - <field name="id" /> - <field name="type_id" group="null" /> - <field name="attribute_set_id" group="product-details" source="Magento\Catalog\Test\Fixture\Product\AttributeSetId" /> - <field name="attribute_set_name" group="variations" /> - <field name="affected_attribute_set" group="null" /> - <field name="custom_options" is_required="0" group="customer-options" source="Magento\Catalog\Test\Fixture\Product\CustomOptions" repository="Magento\Catalog\Test\Repository\Product\CustomOptions" /> - <field name="configurable_attributes_data" is_required="0" group="variations" source="Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ConfigurableAttributesData" repository="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\ConfigurableAttributesData" /> - <field name="website_ids" group="websites" source="Magento\Catalog\Test\Fixture\Product\WebsiteIds" /> - <field name="checkout_data" group="null" repository="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\CheckoutData" /> - <field name="up_sell_products" group="related" source="Magento\Catalog\Test\Fixture\Product\RelatedProducts" /> - <field name="cross_sell_products" group="related" source="Magento\Catalog\Test\Fixture\Product\RelatedProducts" /> - <field name="related_products" group="related" source="Magento\Catalog\Test\Fixture\Product\RelatedProducts" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct/ConfigurableAttributesData.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct/ConfigurableAttributesData.php deleted file mode 100644 index fdcf2d15d4288..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct/ConfigurableAttributesData.php +++ /dev/null @@ -1,567 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; - -use Magento\Catalog\Test\Fixture\CatalogAttributeSet; -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\Mtf\Repository\RepositoryFactory; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; - -/** - * Source configurable attributes data of the configurable products. - */ -class ConfigurableAttributesData extends DataSource -{ - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepared attributes data. - * - * @var array - */ - protected $attributesData = []; - - /** - * Temporary media path. - * - * @var string - */ - protected $mediaPathTmp = '/pub/media/tmp/catalog/product/'; - - /** - * Prepared variation matrix. - * - * @var array - */ - protected $variationsMatrix = []; - - /** - * Add media gallery. - * - * @var bool - */ - private $addMediaGallery = false; - - /** - * Prepared attributes. - * - * @var array - */ - protected $attributes = []; - - /** - * Prepared Attribute Set. - * - * @var CatalogAttributeSet - */ - protected $attributeSet; - - /** - * Prepared products. - * - * @var array - */ - protected $products = []; - - /** - * Values for Bulk Images Price and Quantity step. - * - * @var array - */ - private $bulkImagesPriceQuantity = []; - - /** - * @constructor - * @param RepositoryFactory $repositoryFactory - * @param FixtureFactory $fixtureFactory - * @param array $data - * @param array $params [optional] - */ - public function __construct( - RepositoryFactory $repositoryFactory, - FixtureFactory $fixtureFactory, - array $data, - array $params = [] - ) { - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $dataset = []; - if (isset($data['dataset']) && isset($this->params['repository'])) { - $dataset = $repositoryFactory->get($this->params['repository'])->get($data['dataset']); - unset($data['dataset']); - } - - if (isset($data['media_gallery'])) { - $this->addMediaGallery = true; - unset($data['media_gallery']); - } - - $data = array_replace_recursive($data, $dataset); - - if (!empty($data)) { - $this->prepareAttributes($data); - $this->prepareAttributesData($data); - $this->prepareProducts($data); - $this->prepareVariationsMatrix($data); - $this->prepareData(); - $this->prepareBulkImagesPriceQuantity($data); - } - } - - /** - * Prepare attributes. - * - * @param array $data - * @return void - */ - protected function prepareAttributes(array $data) - { - if (!isset($data['attributes'])) { - return; - } - - foreach ($data['attributes'] as $key => $attribute) { - if (is_string($attribute)) { - list($fixture, $dataset) = explode('::', $attribute); - /** @var InjectableFixture $attribute */ - $attribute = $this->fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - } - if (!$attribute->hasData('attribute_id')) { - $attribute->persist(); - } - $this->attributes[$key] = $attribute; - } - } - - /** - * Prepare attributes data. - * - * @param array $data - * @return void - */ - protected function prepareAttributesData(array $data) - { - foreach ($this->attributes as $attributeKey => $attribute) { - $attributeData = $attribute->getData(); - $options = []; - foreach ($attributeData['options'] as $key => $option) { - $options['option_key_' . $key] = $option; - } - $attributeData['options'] = $options; - - $this->attributesData[$attributeKey] = $attributeData; - } - - $this->attributesData = array_replace_recursive( - isset($data['attributes_data']) ? $data['attributes_data'] : [], - $this->attributesData - ); - } - - /** - * Create and assign products. - * - * @return void - */ - public function generateProducts() - { - $assignedProducts = ['products' => []]; - foreach (array_keys($this->variationsMatrix) as $variation) { - $assignedProducts['products'][$variation] = 'catalogProductSimple::default'; - } - - $this->prepareProducts($assignedProducts); - } - - /** - * Prepare products. - * - * @param array $data - * @return void - */ - protected function prepareProducts(array $data) - { - if (!isset($data['products'])) { - return; - } - - $attributeSetData = []; - if (!empty($this->attributes)) { - $attributeSetData['attribute_set_id'] = ['attribute_set' => $this->createAttributeSet()]; - } - - foreach ($data['products'] as $key => $product) { - if (is_string($product)) { - list($fixture, $dataset) = explode('::', $product); - $attributeData = ['attributes' => $this->getProductAttributeData($key)]; - $productData = isset($this->variationsMatrix[$key]) ? $this->variationsMatrix[$key] : []; - - $product = $this->fixtureFactory->createByCode( - $fixture, - [ - 'dataset' => $dataset, - 'data' => array_merge($attributeSetData, $attributeData, $productData) - ] - ); - } - if (!$product->hasData('id')) { - $product->persist(); - } - - $this->products[$key] = $product; - } - } - - /** - * Create attribute set. - * - * @return FixtureInterface - */ - protected function createAttributeSet() - { - if (!$this->attributeSet) { - $this->attributeSet = $this->fixtureFactory->createByCode( - 'catalogAttributeSet', - [ - 'dataset' => 'custom_attribute_set', - 'data' => [ - 'assigned_attributes' => [ - 'attributes' => array_values($this->attributes), - ], - ] - ] - ); - $this->attributeSet->persist(); - } - - return $this->attributeSet; - } - - /** - * Get prepared attribute data for persist product. - * - * @param string $key - * @return array - */ - protected function getProductAttributeData($key) - { - $compositeKeys = explode(' ', $key); - $data = []; - - foreach ($compositeKeys as $compositeKey) { - $attributeId = $this->getAttributeOptionId($compositeKey); - if ($attributeId) { - $compositeKey = explode(':', $compositeKey); - $attributeKey = $compositeKey[0]; - $data[$this->attributesData[$attributeKey]['attribute_code']] = $attributeId; - } - } - - return $data; - } - - /** - * Get id of attribute option by composite key. - * - * @param string $compositeKey - * @return int|null - */ - protected function getAttributeOptionId($compositeKey) - { - list($attributeKey, $optionKey) = explode(':', $compositeKey); - return isset($this->attributesData[$attributeKey]['options'][$optionKey]['id']) - ? $this->attributesData[$attributeKey]['options'][$optionKey]['id'] - : null; - } - - /** - * Prepare data for matrix. - * - * @param array $data - * @return void - * - * @SuppressWarnings(PHPMD.UnusedLocalVariable) - */ - protected function prepareVariationsMatrix(array $data) - { - $variationsMatrix = []; - - // generate matrix - foreach ($this->attributesData as $attributeKey => $attribute) { - $variationsMatrix = $this->addVariationMatrix($variationsMatrix, $attribute, $attributeKey); - } - - if (isset($data['matrix'])) { - foreach ($data['matrix'] as $key => $value) { - if (isset($value['sku']) && $value['sku'] === '') { - unset($variationsMatrix[$key]['sku']); - unset($data['matrix'][$key]['sku']); - } - } - } - - $this->variationsMatrix = isset($data['matrix']) - ? array_replace_recursive($variationsMatrix, $data['matrix']) - : $variationsMatrix; - - // assigned products - foreach ($this->variationsMatrix as $key => $row) { - if (isset($this->products[$key])) { - /** @var CatalogProductSimple $product */ - $product = $this->products[$key]; - $quantityAndStockStatus = $product->getQuantityAndStockStatus(); - $productData = [ - 'configurable_attribute' => $product->getId(), - 'name' => $product->getName(), - 'sku' => $product->getSku(), - 'qty' => $quantityAndStockStatus['qty'], - 'weight' => $product->getWeight(), - 'price' => $product->getPrice() - ]; - $this->variationsMatrix[$key] = array_replace_recursive($this->variationsMatrix[$key], $productData); - } else { - $this->variationsMatrix[$key] = array_replace_recursive( - $this->variationsMatrix[$key], - [ - 'weight' => 1, - 'qty' => 10, - ], - $row - ); - } - } - } - - /** - * Add matrix variation. - * - * @param array $variationsMatrix - * @param array $attribute - * @param string $attributeKey - * @return array - * - * @SuppressWarnings(PHPMD.UnusedLocalVariable) - */ - protected function addVariationMatrix(array $variationsMatrix, array $attribute, $attributeKey) - { - $result = []; - - /* If empty matrix add one empty row */ - if (empty($variationsMatrix)) { - $variationIsolation = random_int(10000, 70000); - $variationsMatrix = [ - [ - 'name' => "In configurable product {$variationIsolation}", - 'sku' => "in_configurable_product_{$variationIsolation}", - ], - ]; - } - - foreach ($variationsMatrix as $rowKey => $row) { - $randIsolation = random_int(1, 100); - $rowName = $row['name']; - $rowSku = $row['sku']; - $index = 1; - - if (isset($attribute['options'])) { - foreach ($attribute['options'] as $optionKey => $option) { - $compositeKey = "{$attributeKey}:{$optionKey}"; - $row['name'] = $rowName . ' ' . $randIsolation . ' ' . $index; - $row['sku'] = $rowSku . '_' . $randIsolation . '_' . $index; - $row['price'] = $option['pricing_value']; - if ($this->addMediaGallery) { - $row['media_gallery'] = $this->prepareMediaGallery(); - } - $newRowKey = $rowKey ? "{$rowKey} {$compositeKey}" : $compositeKey; - $result[$newRowKey] = $row; - $index++; - } - } - } - - return $result; - } - - /** - * Create test image file. - * - * @param string $filename - * @return array - */ - protected function prepareMediaGallery($filename = 'option_image.jpg') - { - $filePath = $this->getFullPath($filename); - if (!file_exists($filePath)) { - $optionImage = imagecreate(300, 200); - $colorYellow = imagecolorallocate($optionImage, 255, 255, 0); - imagefilledrectangle($optionImage, 50, 50, 250, 150, $colorYellow); - $directory = dirname($filePath); - if (!file_exists($directory)) { - mkdir($directory, 0777, true); - } - imagejpeg($optionImage, $filePath); - imagedestroy($optionImage); - } - - return [ - 'images' => [ - 0 => [ - 'position' => 1, - 'file' => $filename, - 'disabled' => 0, - 'label' => '1231414', - ], - ], - ]; - } - - /** - * Gets full path based on filename. - * - * @param string $filename - * @return string - */ - private function getFullPath($filename) - { - return BP . $this->mediaPathTmp . $filename; - } - - /** - * Prepare data from source. - * - * @return void - */ - protected function prepareData() - { - $attributeFields = [ - 'frontend_label', - 'label', - 'frontend_input', - 'attribute_code', - 'attribute_id', - 'is_required', - 'options', - ]; - $optionFields = [ - 'admin', - 'label', - 'pricing_value', - 'include', - ]; - $variationMatrixFields = [ - 'configurable_attribute', - 'name', - 'sku', - 'price', - 'qty', - 'weight', - 'media_gallery' - ]; - - $this->data = [ - 'matrix' => [], - 'attributes_data' => [], - ]; - - foreach ($this->attributesData as $attributeKey => $attribute) { - foreach ($attribute['options'] as $optionKey => $option) { - $option['label'] = isset($option['view']) ? $option['view'] : $option['label']; - $attribute['options'][$optionKey] = array_intersect_key($option, array_flip($optionFields)); - } - $attribute['label'] = isset($attribute['label']) - ? $attribute['label'] - : (isset($attribute['frontend_label']) ? $attribute['frontend_label'] : null); - $attribute = array_intersect_key($attribute, array_flip($attributeFields)); - - $this->data['attributes_data'][$attributeKey] = $attribute; - } - foreach ($this->variationsMatrix as $key => $variationMatrix) { - $this->data['matrix'][$key] = array_intersect_key($variationMatrix, array_flip($variationMatrixFields)); - } - } - - /** - * Prepare Bulk Image Price and Quantity value. - * - * @param array $data - * @return void - */ - private function prepareBulkImagesPriceQuantity(array $data) - { - if (isset($data['bulk_images_price_quantity'])) { - $this->bulkImagesPriceQuantity = $data['bulk_images_price_quantity']; - } - } - - /** - * Get prepared attributes data. - * - * @return array - */ - public function getAttributesData() - { - return $this->attributesData; - } - - /** - * Get prepared variations matrix. - * - * @return array - */ - public function getVariationsMatrix() - { - return $this->variationsMatrix; - } - - /** - * Bulk Image Price and Quantity value. - * - * @return array - */ - public function getBulkImagesPriceQuantity() - { - return $this->bulkImagesPriceQuantity; - } - - /** - * Get prepared attributes. - * - * @return array - */ - public function getAttributes() - { - return $this->attributes; - } - - /** - * Get created attribute set. - * - * @return CatalogAttributeSet - */ - public function getAttributeSet() - { - return $this->attributeSet; - } - - /** - * Get prepared products. - * - * @return array - */ - public function getProducts() - { - return $this->products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/ConfigurableProductInterface.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/ConfigurableProductInterface.php deleted file mode 100644 index 344377ea042cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/ConfigurableProductInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface ConfigurableProductInterface - */ -interface ConfigurableProductInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php deleted file mode 100644 index 25185afd3eda3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php +++ /dev/null @@ -1,224 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct; - -use Magento\Catalog\Test\Fixture\CatalogProductAttribute; -use Magento\Catalog\Test\Handler\CatalogProductSimple\Curl as ProductCurl; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ConfigurableAttributesData; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Config\DataInterface; -use Magento\Mtf\System\Event\EventManagerInterface; - -/** - * Create new configurable product via curl. - */ -class Curl extends ProductCurl implements ConfigurableProductInterface -{ - /** - * @constructor - * @param DataInterface $configuration - * @param EventManagerInterface $eventManager - */ - public function __construct(DataInterface $configuration, EventManagerInterface $eventManager) - { - parent::__construct($configuration, $eventManager); - - $this->mappingData += [ - 'include' => [ - 'Yes' => 1, - 'No' => 0, - ] - ]; - } - - /** - * Prepare POST data for creating product request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $data = parent::prepareData($fixture); - - /** @var ConfigurableAttributesData $configurableAttributesData */ - $configurableAttributesData = $fixture->getDataFieldConfig('configurable_attributes_data')['source']; - $attributeSetId = $data['product']['attribute_set_id']; - - $data['product']['configurable_attributes_data'] = $this->prepareAttributesData($configurableAttributesData); - $data['configurable-matrix'] = $this->prepareConfigurableMatrix($fixture); - $data['attributes'] = $this->prepareAttributes($configurableAttributesData); - $data['new-variations-attribute-set-id'] = $attributeSetId; - $data['associated_product_ids'] = $this->prepareAssociatedProductIds($configurableAttributesData); - - $this->replaceMappingData($data); - $data['configurable-matrix-serialized'] = json_encode($data['configurable-matrix']); - $data['associated_product_ids_serialized'] = json_encode($data['associated_product_ids']); - return $data; - } - - /** - * Preparation of websites data. - * - * @return void - */ - protected function prepareWebsites() - { - if (!empty($this->fields['product']['website_ids'])) { - foreach ($this->fixture->getDataFieldConfig('website_ids')['source']->getWebsites() as $key => $website) { - $this->fields['product']['website_ids'][$key] = $website->getWebsiteId(); - } - } else { - $website = \Magento\Mtf\ObjectManagerFactory::getObjectManager() - ->create(\Magento\Store\Test\Fixture\Website::class, ['dataset' => 'default']); - $this->fields['product']['website_ids'][] = $website->getWebsiteId(); - } - } - - /** - * Preparation of attribute set data. - * - * @return void - */ - protected function prepareAttributeSet() - { - /** @var ConfigurableAttributesData $configurableAttributesData */ - $configurableAttributesData = $this->fixture->getDataFieldConfig('configurable_attributes_data')['source']; - $attributeSet = $configurableAttributesData->getAttributeSet(); - - if ($attributeSet) { - $this->fields['product']['attribute_set_id'] = $attributeSet->getAttributeSetId(); - } elseif ($this->fixture->hasData('attribute_set_id')) { - $this->fields['product']['attribute_set_id'] = $this->fixture - ->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet() - ->getAttributeSetId(); - } else { - $this->fields['product']['attribute_set_id'] = 'Default'; - } - } - - /** - * Preparing attribute data. - * - * @param ConfigurableAttributesData $configurableAttributesData - * @return array - */ - protected function prepareAttributesData(ConfigurableAttributesData $configurableAttributesData) - { - $optionFields = [ - 'pricing_value', - 'include', - ]; - $result = []; - - foreach ($configurableAttributesData->getAttributesData() as $attribute) { - $attributeId = isset($attribute['attribute_id']) ? $attribute['attribute_id'] : null; - $dataOptions = []; - - foreach ($attribute['options'] as $option) { - $optionId = isset($option['id']) ? $option['id'] : null; - - $dataOption = array_intersect_key($option, array_flip($optionFields)); - $dataOption['value_index'] = $optionId; - - $dataOptions[$optionId] = $dataOption; - } - - $result[$attributeId] = [ - 'code' => $attribute['attribute_code'], - 'attribute_id' => $attributeId, - 'label' => $attribute['frontend_label'], - 'values' => $dataOptions, - ]; - } - - return $result; - } - - /** - * Preparing matrix data. - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareConfigurableMatrix(FixtureInterface $product) - { - /** @var ConfigurableAttributesData $configurableAttributesData */ - $configurableAttributesData = $product->getDataFieldConfig('configurable_attributes_data')['source']; - $attributesData = $configurableAttributesData->getAttributesData(); - $assignedProducts = $configurableAttributesData->getProducts(); - $matrixData = $product->getConfigurableAttributesData()['matrix']; - $result = []; - - foreach ($matrixData as $variationKey => $variation) { - // For assigned products doesn't send data about them - if (isset($assignedProducts[$variationKey])) { - continue; - } - - $compositeKeys = explode(' ', $variationKey); - $keyIds = []; - $configurableAttribute = []; - - foreach ($compositeKeys as $compositeKey) { - list($attributeKey, $optionKey) = explode(':', $compositeKey); - $attribute = $attributesData[$attributeKey]; - - $keyIds[] = $attribute['options'][$optionKey]['id']; - $configurableAttribute[] = sprintf( - '"%s":"%s"', - isset($attribute['attribute_code']) ? $attribute['attribute_code'] : $attribute['frontend_label'], - $attribute['options'][$optionKey]['id'] - ); - } - - $keyIds = implode('-', $keyIds); - $variation['configurable_attribute'] = '{' . implode(',', $configurableAttribute) . '}'; - $variation['variationKey'] = $keyIds; - $variation['newProduct'] = 1; - $variation['status'] = 1; - $result[$keyIds] = $variation; - } - - return $result; - } - - /** - * Prepare attributes. - * - * @param ConfigurableAttributesData $configurableAttributesData - * @return array - */ - protected function prepareAttributes(ConfigurableAttributesData $configurableAttributesData) - { - $ids = []; - - foreach ($configurableAttributesData->getAttributes() as $attribute) { - /** @var CatalogProductAttribute $attribute */ - $ids[] = $attribute->getAttributeId(); - } - return $ids; - } - - /** - * Prepare associated product ids. - * - * @param ConfigurableAttributesData $configurableAttributesData - * @return array - */ - protected function prepareAssociatedProductIds(ConfigurableAttributesData $configurableAttributesData) - { - $productIds = []; - - foreach ($configurableAttributesData->getProducts() as $product) { - $productIds[] = $product->getId(); - } - - return $productIds; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Webapi.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Webapi.php deleted file mode 100644 index 318c8b10ed1f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Webapi.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct; - -use Magento\Catalog\Test\Handler\CatalogProductSimple\Webapi as ProductWebapi; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ConfigurableAttributesData; -use Magento\Mtf\Config\DataInterface; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\System\Event\EventManagerInterface; -use Magento\Mtf\Util\Protocol\CurlTransport\WebapiDecorator; - -/** - * Create new configurable product via webapi. - */ -class Webapi extends ProductWebapi implements ConfigurableProductInterface -{ - /** - * @constructor - * @param DataInterface $configuration - * @param EventManagerInterface $eventManager - * @param WebapiDecorator $webapiTransport - * @param Curl $handlerCurl - * @param FixtureFactory $fixtureFactory - */ - public function __construct( - DataInterface $configuration, - EventManagerInterface $eventManager, - WebapiDecorator $webapiTransport, - Curl $handlerCurl, - FixtureFactory $fixtureFactory - ) { - parent::__construct($configuration, $eventManager, $webapiTransport, $handlerCurl); - } - - /** - * Prepare data for creating product request. - * - * @return void - */ - protected function prepareData() - { - parent::prepareData(); - $this->prepareConfigurableProductOptions(); - $this->prepareAttributeSet(); - } - - /** - * Preparation of product options data. - * - * @return void - */ - protected function prepareConfigurableProductOptions() - { - $configurableProductOptions = []; - $configurableProductLinks = $this->getConfigurableProductLinks(); - - if (isset($this->fields['product']['configurable_attributes_data'])) { - $configurableAttributesData = $this->fields['product']['configurable_attributes_data']; - - foreach ($configurableAttributesData as $attributeId => $attributeData) { - $attributeValues = []; - foreach ($attributeData['values'] as $valueData) { - $attributeValues[] = [ - 'value_index' => $valueData['value_index'] - ]; - } - - $configurableProductOptions[] = [ - 'attribute_id' => $attributeId, - 'label' => $attributeData['label'], - 'values' => $attributeValues - ]; - } - } - - $this->fields['product']['extension_attributes']['configurable_product_options'] = $configurableProductOptions; - $this->fields['product']['extension_attributes']['configurable_product_links'] = $configurableProductLinks; - unset($this->fields['product']['configurable_attributes_data']); - unset($this->fields['attributes']); - unset($this->fields['variations-matrix']); - unset($this->fields['associated_product_ids']); - } - - /** - * Prepare and return links of associated products. - * - * @return array - */ - protected function getConfigurableProductLinks() - { - if (!empty($this->fields['associated_product_ids'])) { - return $this->fields['associated_product_ids']; - } - - /** @var ConfigurableAttributesData $configurableAttributesData */ - $configurableAttributesData = $this->fixture->getDataFieldConfig('configurable_attributes_data')['source']; - $associatedProductIds = []; - - $configurableAttributesData->generateProducts(); - foreach ($configurableAttributesData->getProducts() as $product) { - $associatedProductIds[] = $product->getId(); - $this->fields['product']['attribute_set_id'] = $product->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getAttributeSetId(); - } - - return $associatedProductIds; - } - - /** - * Preparation of attribute set data. - * - * @return void - */ - protected function prepareAttributeSet() - { - /** @var ConfigurableAttributesData $configurableAttributesData */ - $configurableAttributesData = $this->fixture->getDataFieldConfig('configurable_attributes_data')['source']; - $attributeSet = $configurableAttributesData->getAttributeSet(); - - $this->fields['product']['attribute_set_id'] = $attributeSet->getAttributeSetId(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductEdit.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductEdit.xml deleted file mode 100644 index 78173aae6e360..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductEdit.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CatalogProductEdit" area="Adminhtml" mca="catalog/product/edit"> - <block name="formPageActions"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\FormPageActions"/> - </block> - <block name="productForm"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\ProductForm"/> - </block> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductNew.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductNew.xml deleted file mode 100644 index 3d6af871d8f35..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CatalogProductNew.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CatalogProductNew" area="Adminhtml" mca="catalog/product/new"> - <block name="formPageActions"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\FormPageActions"/> - </block> - <block name="productForm"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\ProductForm"/> - </block> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml deleted file mode 100644 index 5b397acdbded1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerIndexEdit" area="Adminhtml" mca="customer/index/edit"> - <block name="configureProductBlock"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Composite\Configure"/> - </block> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index 17aed5a7b97f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="OrderCreateIndex" area="Adminhtml" mca="sales/order_create/index"> - <block name="configureProductBlock"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Composite\Configure" /> - </block> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index c5ec24693b2cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CatalogProductView" area="Product" mca="catalog/product/view"> - <block name="viewBlock"> - <render name="configurable" class="Magento\ConfigurableProduct\Test\Block\Product\View"/> - </block> - <block name="configurableAttributesBlock" class="Magento\ConfigurableProduct\Test\Block\Product\View\ConfigurableOptions" locator=".product-info-main" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigData.xml deleted file mode 100644 index 2aca9cc7b8599..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="display_out_of_stock_products"> - <field name="cataloginventory/options/show_out_of_stock" xsi:type="array"> - <item name="scope" xsi:type="string">default</item> - <item name="scope_id" xsi:type="number">0</item> - <item name="value" xsi:type="number">1</item> - </field> - </dataset> - - <dataset name="display_out_of_stock_products_rollback"> - <field name="cataloginventory/options/show_out_of_stock" xsi:type="array"> - <item name="scope" xsi:type="string">default</item> - <item name="scope_id" xsi:type="number">0</item> - <item name="value" xsi:type="number">0</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct.xml deleted file mode 100644 index f3e0a6fa55eb1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct.xml +++ /dev/null @@ -1,1220 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct"> - <dataset name="default"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="with_one_attribute"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">one_attribute</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_one_option</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="out_of_stock"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">Out of Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="configurable_with_qty_1"> - <field name="name" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_options_with_qty_1</item> - </field> - </dataset> - - <dataset name="configurable_with_qty_2"> - <field name="name" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_options_with_qty_1</item> - </field> - </dataset> - - <dataset name="configurable_as_low_as"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="dataset" xsi:type="string">price_as-40.00</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="string">Main Website</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_options_with_qty_1</item> - </field> - </dataset> - - <dataset name="product_with_special_price"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">10</item> - </field> - <field name="special_price" xsi:type="string">9</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_two_new_options_with_special_price</item> - </field> - </dataset> - - <dataset name="product_with_size"> - <field name="name" xsi:type="string">Test configurable product with size %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">size</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="product_with_color_and_size"> - <field name="name" xsi:type="string">Test configurable product with color and size %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">color_and_size</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="product_with_color"> - <field name="name" xsi:type="string">Configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">2</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">color_3_items</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">100</item> - </field> - </dataset> - - <dataset name="product_with_color_and_custom_option"> - <field name="name" xsi:type="string">Configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">2</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">color_3_items</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="custom_options" xsi:type="array"> - <item name="dataset" xsi:type="string">two_fixed_drop_down_options</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">100</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_option_3_and_custom_option_2</item> - </field> - </dataset> - - <dataset name="product_with_color_for_promo_rules"> - <field name="name" xsi:type="string">Test configurable product with color and size %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">color_for_promo_rules</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="one_variation"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">test-configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">one_variation</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="not_virtual_for_type_switching"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - </dataset> - - <dataset name="with_one_option"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">with_one_option</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_one_option</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="with_one_option_buy_all"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">with_one_option_buy_all</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_one_option</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="with_out_of_stock_item"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">test-configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">with_out_of_stock_item</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_one_option</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="two_options_with_fixed_price"> - <field name="name" xsi:type="string">Configurable product %isolation%</field> - <field name="url_key" xsi:type="string">test-configurable-product-%isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_%isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">1</field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_fixed_price</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_two_options_with_fixed_price</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="two_variations_with_fixed_price"> - <field name="name" xsi:type="string">Configurable product %isolation%</field> - <field name="url_key" xsi:type="string">test-configurable-product-%isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_%isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">1</field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_variations_with_fixed_price</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_two_options_by_one_dollar</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="filterable_two_options_with_zero_price"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">1</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">filterable_two_options_with_zero_price</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="two_options_by_one_dollar"> - <field name="name" xsi:type="string">Configurable product %isolation%</field> - <field name="url_key" xsi:type="string">test-configurable-product-%isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_%isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">1</field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_by_one_dollar</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_two_options_by_one_dollar</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - </dataset> - - <dataset name="product_with_price_10"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">10</item> - </field> - <field name="special_price" xsi:type="string">10</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_two_new_options_with_special_price</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="first_product_with_custom_options_and_option_key_1"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="special_price" xsi:type="string">49.99</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price_2</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="custom_options" xsi:type="array"> - <item name="dataset" xsi:type="string">two_fixed_radio_options</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">product_1_and_option_1</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="first_product_with_custom_options_and_option_key_2"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="special_price" xsi:type="string">10</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price_2</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="custom_options" xsi:type="array"> - <item name="dataset" xsi:type="string">two_fixed_radio_options</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">product_1_and_option_2</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="second_product_with_custom_options_and_option_key_1"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="special_price" xsi:type="string">10</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price_2</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="custom_options" xsi:type="array"> - <item name="dataset" xsi:type="string">two_fixed_radio_options</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">product_2_and_option_1</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="second_product_with_custom_options_and_option_key_2"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="special_price" xsi:type="string">10</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options_with_assigned_product_special_price_2</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="custom_options" xsi:type="array"> - <item name="dataset" xsi:type="string">two_fixed_radio_options</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">product_2_and_option_2</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="Stellar_Solar_Jacket_SIZE_S"> - <field name="name" xsi:type="string">Stellar Solar Jacket %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">75</item> - <item name="dataset" xsi:type="string">price_75</item> - </field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">three_options_with_sizes_S_M_L</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set_with_sizes</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_the_first_option</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="Stellar_Solar_Jacket_SIZE_M"> - <field name="name" xsi:type="string">Stellar Solar Jacket %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">75</item> - <item name="dataset" xsi:type="string">price_75</item> - </field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">three_options_with_sizes_S_M_L</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set_with_sizes</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_the_second_option</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="Stellar_Solar_Jacket_SIZE_L"> - <field name="name" xsi:type="string">Stellar Solar Jacket %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">5</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">75</item> - <item name="dataset" xsi:type="string">price_75</item> - </field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">three_options_with_sizes_S_M_L</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_attribute_set_with_sizes</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_the_third_option</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - - <dataset name="configurable_low_stock"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_low_stock</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_low_stock</item> - </field> - </dataset> - - <dataset name="one_simple_product"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">560</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">2</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">one_option_with_simple_product</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="one_simple_product_not_visible_individually"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">560</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">2</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">one_option_with_simple_product_not_visible_individually</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="configurable_with_video"> - <field name="name" xsi:type="string">Test configurable product %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">1</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - <field name="media_gallery" xsi:type="array"> - <item name="images" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="video_url" xsi:type="string">https://youtu.be/bpOSxM0rNPM</item> - <item name="video_title" xsi:type="string">Some title</item> - </item> - </item> - </field> - </dataset> - - <dataset name="product_with_3_sizes"> - <field name="name" xsi:type="string">Configurable product with sizes %isolation%</field> - <field name="sku" xsi:type="string">sku_configurable_product_with_sizes_%isolation%</field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">2</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-with-size-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">size_3_items</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_anchor_subcategory</item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">170</item> - </field> - </dataset> - - <dataset name="with_only_two_options"> - <field name="name" xsi:type="string">Configurable product with two options %isolation%</field> - <field name="sku" xsi:type="string">sku_test_configurable_product_with_two_options_%isolation%</field> - <field name="price" xsi:type="array"> - <item name="value" xsi:type="string">40</item> - <item name="dataset" xsi:type="string">price_40</item> - </field> - <field name="product_has_weight" xsi:type="string">This item has weight</field> - <field name="weight" xsi:type="string">30</field> - <field name="status" xsi:type="string">Yes</field> - <field name="visibility" xsi:type="string">Catalog, Search</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">taxable_goods</item> - </field> - <field name="url_key" xsi:type="string">configurable-product-with-two-options-%isolation%</field> - <field name="configurable_attributes_data" xsi:type="array"> - <item name="dataset" xsi:type="string">two_options</item> - </field> - <field name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">In Stock</item> - </field> - <field name="website_ids" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </item> - </field> - <field name="attribute_set_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - <field name="checkout_data" xsi:type="array"> - <item name="dataset" xsi:type="string">configurable_default_with_two_options</item> - </field> - <field name="category_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">default_subcategory</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/CheckoutData.xml deleted file mode 100644 index 136696ff81047..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/CheckoutData.xml +++ /dev/null @@ -1,491 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\CheckoutData"> - <dataset name="configurable_default"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_1</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">3</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">40</item> - <item name="qty" xsi:type="string">3</item> - <item name="subtotal" xsi:type="string">120</item> - </field> - </dataset> - - <dataset name="configurable_options_with_qty_1"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_1</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">40</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">40</item> - </field> - </dataset> - - <dataset name="configurable_update_mini_shopping_cart"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_1</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">42</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">172</item> - </field> - </dataset> - - <dataset name="configurable_two_options"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="configurable_two_new_options"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">102</item> - </field> - </dataset> - - <dataset name="configurable_two_attributes"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_1</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">120</item> - </field> - </dataset> - - <dataset name="configurable_three_attributes"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_1</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="2" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_2</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">120</item> - </field> - </dataset> - - <dataset name="configurable_two_new_options_with_special_price"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="configurable_two_new_options_with_tier_price"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="configurable_two_options_with_assigned_product"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">560</item> - </field> - </dataset> - - <dataset name="configurable_one_option"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">1</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="configurable_the_first_option"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - </dataset> - - <dataset name="configurable_the_second_option"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - </dataset> - - <dataset name="configurable_the_third_option"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_2</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - </dataset> - - <dataset name="configurable_two_options_with_fixed_price"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - </dataset> - - <dataset name="configurable_two_options_by_one_dollar"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">11</item> - </field> - </dataset> - - <dataset name="configurable_two_options_with_fixed_price_1"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="product_1_and_option_1"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="product_1_and_option_2"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="product_2_and_option_1"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="product_2_and_option_2"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">9</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">9</item> - </field> - </dataset> - - <dataset name="configurable_option_1_and_custom_option_2"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="configurable_option_2_and_custom_option_1"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="configurable_option_2_and_custom_option_2"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="configurable_option_3_and_custom_option_2"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_2</item> - </item> - </item> - <item name="custom_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">32</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">32</item> - </field> - </dataset> - - <dataset name="configurable_low_stock"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">1</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">15</item> - <item name="qty" xsi:type="string">1</item> - <item name="subtotal" xsi:type="string">15</item> - </field> - </dataset> - - <dataset name="configurable_default_with_two_options"> - <field name="options" xsi:type="array"> - <item name="configurable_options" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_0</item> - </item> - <item name="1" xsi:type="array"> - <item name="title" xsi:type="string">attribute_key_0</item> - <item name="value" xsi:type="string">option_key_1</item> - </item> - </item> - </field> - <field name="qty" xsi:type="string">3</field> - <field name="cartItem" xsi:type="array"> - <item name="price" xsi:type="string">40</item> - <item name="qty" xsi:type="string">3</item> - <item name="subtotal" xsi:type="string">120</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml deleted file mode 100644 index a9a6e26f54b54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml +++ /dev/null @@ -1,1208 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\ConfigurableAttributesData"> - <dataset name="default"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">20.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">18.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - <item name="attribute_key_1" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">42.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">40.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">48.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown</item> - <item name="attribute_key_1" xsi:type="string">catalogProductAttribute::attribute_type_dropdown</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2 attribute_key_1:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2 attribute_key_1:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2 attribute_key_1:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="one_attribute"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option_without_view</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="one_variation"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="one_variation_one_dollar"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">1.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="two_options"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="filterable_two_options_with_zero_price"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">10</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">10</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::filterable_dropdown_two_options</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="two_new_options"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="frontend_label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="frontend_input" xsi:type="string">Dropdown</item> - <item name="label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="is_required" xsi:type="string">No</item> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="two_new_options_with_empty_sku"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="frontend_label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="frontend_input" xsi:type="string">Dropdown</item> - <item name="label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="is_required" xsi:type="string">No</item> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">13</item> - <item name="weight" xsi:type="string">1</item> - <item name="sku" xsi:type="string" /> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">13</item> - <item name="weight" xsi:type="string">2</item> - <item name="sku" xsi:type="string" /> - </item> - </field> - </dataset> - - <dataset name="two_new_options_with_parent_sku"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="frontend_label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="frontend_input" xsi:type="string">Dropdown</item> - <item name="label" xsi:type="string">two_new_options_title_%isolation%</item> - <item name="is_required" xsi:type="string">No</item> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">13</item> - <item name="weight" xsi:type="string">1</item> - <item name="sku" xsi:type="string">existing_sku</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">13</item> - <item name="weight" xsi:type="string">2</item> - <item name="sku" xsi:type="string">existing_sku</item> - </item> - </field> - </dataset> - - <dataset name="two_searchable_options"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="frontend_label" xsi:type="string">two_searchable_options_%isolation%</item> - <item name="frontend_input" xsi:type="string">Dropdown</item> - <item name="label" xsi:type="string">two_searchable_options_%isolation%</item> - <item name="is_required" xsi:type="string">No</item> - <item name="is_searchable" xsi:type="string">Yes</item> - <item name="is_visible_in_advanced_search" xsi:type="string">Yes</item> - <item name="is_filterable" xsi:type="string">Filterable (with results)</item> - <item name="is_filterable_in_search" xsi:type="string">Yes</item> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="one_new_options"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - </dataset> - - <dataset name="two_new_options_with_zero_products"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::out_of_stock</item> - </field> - </dataset> - - <dataset name="two_options_with_assigned_product"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::default</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::default</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="two_options_with_assigned_product_special_price"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">10</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::default</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::product_with_special_price</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="two_options_with_assigned_product_special_price_2"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">79.99</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">20.01</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::product_with_price_79_99</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::product_with_price_20_01</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="two_options_with_assigned_product_tier_price"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">10</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::default</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::simple_with_tier_price</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="color_and_size"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">0.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">0.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - <item name="attribute_key_1" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">5.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::color</item> - <item name="attribute_key_1" xsi:type="string">catalogProductAttribute::size</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="color_3_items"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">20.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">30.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::color_for_promo_rules</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="color_and_size_with_images"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - <item name="attribute_key_1" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::color</item> - <item name="attribute_key_1" xsi:type="string">catalogProductAttribute::size</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_0" xsi:type="array"> - <item name="price" xsi:type="string">6</item> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_0 attribute_key_1:option_key_1" xsi:type="array"> - <item name="price" xsi:type="string">8</item> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_0" xsi:type="array"> - <item name="price" xsi:type="string">6</item> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1 attribute_key_1:option_key_1" xsi:type="array"> - <item name="price" xsi:type="string">8</item> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - <field name="bulk_images_price_quantity" xsi:type="array"> - <item name="images" xsi:type="array"> - <item name="image_unique" xsi:type="string" /> - <item name="images" xsi:type="array"> - <item name="1" xsi:type="string">Magento/Catalog/Test/_files/test2.png</item> - <item name="2" xsi:type="string">Magento/Catalog/Test/_files/test3.png</item> - </item> - </item> - <item name="price" xsi:type="array"> - <item name="price_attribute_unique" xsi:type="string" /> - <item name="xl_size_price" xsi:type="string">6</item> - <item name="xxl_size_price" xsi:type="string">8</item> - </item> - <item name="quantity" xsi:type="array"> - <item name="quantity_single" xsi:type="string" /> - <item name="quantity" xsi:type="string">10000</item> - </item> - </field> - </dataset> - - <dataset name="color_for_promo_rules"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">5.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">10.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">15.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::color_for_promo_rules</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="size"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">0.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">0.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::size</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="with_one_option"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">3</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="with_one_option_buy_all"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">3</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">0</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">0</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="with_out_of_stock_item"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::out_of_stock</item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="with_disabled_item"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::offline</item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - </dataset> - - <dataset name="with_one_disabled_item_and_one_out_of_stock_item"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::out_of_stock</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::offline</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">2</item> - </item> - </field> - </dataset> - - <dataset name="two_options_with_fixed_price"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">11</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">12</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">200</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="two_options_by_one_dollar"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">200</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="two_variations_with_fixed_price"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">1</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">2</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_two_options</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::product_without_category</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::product_without_category</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">200</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="three_options_with_sizes_S_M_L"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">SIZE_S</item> - <item name="pricing_value" xsi:type="string">75</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">SIZE_M</item> - <item name="pricing_value" xsi:type="string">75</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="label" xsi:type="string">SIZE_L</item> - <item name="pricing_value" xsi:type="string">75</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::sizes_for_promo_rules</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">20</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="configurable_low_stock"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">12.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="one_option_with_simple_product"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::default_with_weight_2</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="three_new_options_with_out_of_stock_product"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="label" xsi:type="string">option_key_2_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="label" xsi:type="string">option_key_3_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::sizes_S_M_L</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::out_of_stock</item> - <item name="attribute_key_0:option_key_1" xsi:type="string">catalogProductSimple::default</item> - <item name="attribute_key_0:option_key_2" xsi:type="string">catalogProductSimple::default</item> - </field> - </dataset> - - <dataset name="one_option_with_simple_product_not_visible_individually"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="label" xsi:type="string">option_key_1_%isolation%</item> - <item name="pricing_value" xsi:type="string">560</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::attribute_type_dropdown_one_option</item> - </field> - <field name="products" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="string">catalogProductSimple::not_visible_individually</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">10</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - - <dataset name="size_3_items"> - <field name="attributes_data" xsi:type="array"> - <item name="attribute_key_0" xsi:type="array"> - <item name="options" xsi:type="array"> - <item name="option_key_0" xsi:type="array"> - <item name="pricing_value" xsi:type="string">40.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_1" xsi:type="array"> - <item name="pricing_value" xsi:type="string">42.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - <item name="option_key_2" xsi:type="array"> - <item name="pricing_value" xsi:type="string">44.00</item> - <item name="include" xsi:type="string">Yes</item> - </item> - </item> - </item> - </field> - <field name="attributes" xsi:type="array"> - <item name="attribute_key_0" xsi:type="string">catalogProductAttribute::sizes_S_M_L_Filterable</item> - </field> - <field name="matrix" xsi:type="array"> - <item name="attribute_key_0:option_key_0" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_1" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - <item name="attribute_key_0:option_key_2" xsi:type="array"> - <item name="qty" xsi:type="string">100</item> - <item name="weight" xsi:type="string">1</item> - </item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/Price.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/Price.xml deleted file mode 100644 index 43d670eb4e5b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Repository/ConfigurableProduct/Price.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\ConfigurableProduct\Test\Repository\ConfigurableProduct\Price"> - <dataset name="default"> - <field name="category_price" xsi:type="string">1</field> - </dataset> - <dataset name="price_40"> - <field name="category_price" xsi:type="string">40</field> - <field name="compare_price" xsi:type="string">40</field> - </dataset> - <dataset name="price_10"> - <field name="category_price" xsi:type="string">10</field> - <field name="compare_price" xsi:type="string">10</field> - </dataset> - <dataset name="MAGETWO-12620"> - <field name="category_price" xsi:type="string">11</field> - </dataset> - <dataset name="price_75"> - <field name="category_price" xsi:type="string">75</field> - <field name="compare_price" xsi:type="string">75</field> - </dataset> - <dataset name="from-9"> - <field name="price_from" xsi:type="string">9</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php deleted file mode 100644 index 0627c9560f520..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php +++ /dev/null @@ -1,127 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestCase; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\Config\Test\TestStep\SetupConfigurationStep; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\TestStep\TestStepFactory; - -/** - * Test Coverage for CreateConfigurableProductEntity - * - * Test Flow: - * - * Preconditions: - * 1. Two simple products are created. - * 2. Configurable attribute with two options is created - * 3. Configurable attribute added to Default template - * - * Steps: - * 1. Go to Backend - * 2. Open Product -> Catalog - * 3. Click on narrow near "Add Product" button - * 4. Select Configurable Product - * 5. Fill in data according to data sets - * 5.1 If field "attributeNew/dataset" is not empty - search created attribute by putting it's name - * to variation Search field. - * 5.2 If "attribute/dataset" is not empty- create new Variation Set - * 6. Save product - * 7. Perform all assertions - * - * @group Configurable_Product - * @ZephyrId MAGETWO-26041 - */ -class CreateConfigurableProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $productIndex; - - /** - * Page to create a product. - * - * @var CatalogProductNew - */ - protected $productNew; - - /** - * Factory for creation SetupConfigurationStep. - * - * @var TestStepFactory - */ - protected $testStepFactory; - - /** - * Configuration data holder. - * - * @var string - */ - protected $configData = null; - - /** - * Injection data. - * - * @param CatalogProductIndex $productIndex - * @param CatalogProductNew $productNew - * @param TestStepFactory $testStepFactory - * @return void - */ - public function __inject( - CatalogProductIndex $productIndex, - CatalogProductNew $productNew, - TestStepFactory $testStepFactory - ) { - $this->productIndex = $productIndex; - $this->productNew = $productNew; - $this->testStepFactory = $testStepFactory; - } - - /** - * Test create catalog Configurable product run. - * - * @param ConfigurableProduct $product - * @param string|null $configData - * @return void - */ - public function test(ConfigurableProduct $product, $configData = null) - { - //Preconditions - $this->configData = $configData; - $this->testStepFactory->create( - SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => true] - )->run(); - - // Steps - $this->productIndex->open(); - $this->productIndex->getGridPageActionBlock()->addProduct('configurable'); - $this->productNew->getProductForm()->fill($product); - $this->productNew->getFormPageActions()->save($product); - } - - /** - * Revert Display Out Of Stock Products configuration. - */ - public function teatDown() - { - $this->testStepFactory->create( - SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => true] - )->cleanUp(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml deleted file mode 100644 index f831173ba0ae0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml +++ /dev/null @@ -1,283 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\ConfigurableProduct\Test\TestCase\CreateConfigurableProductEntityTest" summary="Create Configurable Product" ticketId="MAGETWO-26041"> - <variation name="CreateConfigurableProductEntityTestVariation1" summary="Create product with category and two new options"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_options</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage"/> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductsInGrid"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage"/> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductIsNotDisplayedSeparately"/> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation2" summary="Create product with two options"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_options</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/quantity_and_stock_status/is_in_stock" xsi:type="string">-</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductsInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation3" summary="Create product with special price"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options_with_assigned_product_special_price</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_new_options_with_special_price</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/dataset" xsi:type="string">from-9</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/special_price" xsi:type="string">9</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSpecialPriceOnProductPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation4" summary="Create product with assigned products to options"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options_with_assigned_product</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_options_with_assigned_product</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation5" summary="Create Configurable Product and Assign it to Category" ticketId="MAGETWO-12620"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options_with_fixed_price</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/tax_class_id" xsi:type="string">Taxable Goods</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">MAGETWO-12620</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/weight" xsi:type="string">1</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation6" summary="Create Configurable Product with Creating New Category and New Attribute (Required Fields Only)" ticketId="MAGETWO-13361"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_searchable_options</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/category_ids/new_category" xsi:type="string">no</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory"/> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation7" summary="Verify that variation's SKU based on parent SKU"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options_with_empty_sku</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductsGeneratedSku" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation8" summary="Assert notice that existing sku automatically changed when saving product with same sku"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options_with_parent_sku</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">existing_sku</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductAutoincrementedSkuNoticeMessage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation9" summary="Create configurable product and assign it to custom website"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options_with_assigned_product_special_price</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_new_options_with_special_price</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/website_ids/0/dataset" xsi:type="string">custom_store</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOnCustomWebsite" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation10" summary="Create configurable product with tier price for one item"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_options_with_assigned_product_tier_price</data> - <data name="product/data/checkout_data/dataset" xsi:type="string">configurable_two_new_options_with_special_price</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">1</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertProductTierPriceOnProductPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation11" summary="Create Configurable Product with out of stock child" ticketId="MAGETWO-65660"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">with_out_of_stock_item</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/category_ids/new_category" xsi:type="string">no</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <data name="configData">display_out_of_stock_products</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableAttributesBlockIsAbsentOnProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductVisibleInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductOutOfStockPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation12" summary="Create Configurable Product with disabled child" ticketId="MAGETWO-65661"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">with_disabled_item</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/category_ids/new_category" xsi:type="string">no</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <data name="configData">display_out_of_stock_products</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableAttributesBlockIsAbsentOnProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotVisibleInCategory" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation13" summary="Create Configurable Product with one disabled child and with one out of stock child" ticketId="MAGETWO-65662"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">with_one_disabled_item_and_one_out_of_stock_item</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/price/dataset" xsi:type="string">default</data> - <data name="product/data/category_ids/new_category" xsi:type="string">no</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <data name="configData">display_out_of_stock_products</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableAttributesBlockIsAbsentOnProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductVisibleInCategory" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation14" summary="Create configurable product with images" ticketId="MAGETWO-41354"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">color_and_size_with_images</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">6</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/image/0/file" xsi:type="string">Magento/Catalog/Test/_files/test1.png</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductImages" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation15" summary="Create Configurable Product with 1 out of stock and several in stock options with displaying out of stock ones" ticketId="MAGETWO-89274"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">three_new_options_with_out_of_stock_product</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">560</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="outOfStockOption" xsi:type="string">SIZE_S</data> - <data name="configData">display_out_of_stock_products</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertOutOfStockOptionIsAbsentOnProductPage" /> - </variation> - <variation name="CreateConfigurableProductEntityTestVariation16" summary="Create Configurable Product with 1 out of stock and several in stock options" ticketId="MAGETWO-69508"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">three_new_options_with_out_of_stock_product</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">560</data> - <data name="product/data/weight" xsi:type="string">2</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="product/data/short_description" xsi:type="string">Configurable short description</data> - <data name="product/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="outOfStockOption" xsi:type="string">SIZE_S</data> - <data name="configData">display_out_of_stock_products_rollback</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertOutOfStockOptionIsAbsentOnProductPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCreditMemoEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCreditMemoEntityTest.xml deleted file mode 100644 index e3225cb15bd1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCreditMemoEntityTest.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Sales\Test\TestCase\CreateCreditMemoEntityTest" summary="Create Credit Memo for Offline Payment Methods" ticketId="MAGETWO-59074"> - <variation name="CreateCreditMemoEntityWithConfigurableTestVariation1" summary="Creditmemo return to stock only one unit of configurable product" ticketId="MAGETWO-59479"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="order/data/refund" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="invoiceId" xsi:type="string">0</item> - <item name="items_data" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="qty" xsi:type="string">1</item> - <item name="back_to_stock" xsi:type="string">Yes</item> - </item> - </item> - </item> - </data> - <data name="order/dataset" xsi:type="string">default</data> - <data name="order/data/entity_id/products" xsi:type="string">configurableProduct::configurable_with_qty_1</data> - <data name="order/data/price/dataset" xsi:type="string">full_refund</data> - <data name="configData" xsi:type="string">checkmo</data> - <constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertProductQtyDecreasedAfterCreditmemo" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCurrencyRateTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCurrencyRateTest.xml deleted file mode 100644 index 62e97e1845b82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateCurrencyRateTest.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Directory\Test\TestCase\CreateCurrencyRateTest" summary="Create Currency Rate" ticketId="MAGETWO-36824"> - <variation name="CreateCurrencyRateTestVariation4"> - <data name="currencyRate/data/currency_from" xsi:type="string">USD</data> - <data name="currencyRate/data/currency_to" xsi:type="string">UAH</data> - <data name="currencyRate/data/rate" xsi:type="number">2.000</data> - <data name="currencySymbol/dataSet" xsi:type="string">currency_symbols_uah</data> - <data name="product" xsi:type="string">configurableProduct::default</data> - <data name="config/dataset" xsi:type="string">config_base_currency_us_display_currency_uah</data> - <data name="baseCurrency/data/code" xsi:type="string">USD</data> - <data name="basePrice" xsi:type="string">₴80.00</data> - <data name="configuredPrices" xsi:type="array"> - <item name="custom_currency" xsi:type="string">₴80.00</item> - <item name="base_currency" xsi:type="string">$40.00</item> - </data> - <data name="tag" xsi:type="string">test_type:acceptance_test</data> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateSuccessSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertCurrencyRateAppliedOnProductPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.php deleted file mode 100644 index a0761057c958b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestCase; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Constraint\AssertProductSaveMessage as assertProductSaveMessage; -use Magento\Mtf\TestCase\Injectable; - -/** - * Verify if configurable product shows up on frontEnd after children are deleted - * - * 1. Go to Backend - * 2. Open Product -> Catalog - * 3. Click on narrow near "Add Product" button - * 4. Select Configurable Product - * 5. Fill in data according to data sets - * 6. Save the product. - * 7. From the product grid, select the child products and mass delete them. - * 6. Navigate to the frontend - * 7. Verify that the product is not available on the category page. - * 8. Verify that product is displayed on frontend through direct url - */ -class DeleteChildConfigurableProductTest extends Injectable -{ - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - protected $productGrid; - - /** - * Page to create a product. - * - * @var CatalogProductNew - */ - protected $productNew; - - /** - * Assert Invalid Date error message. - * - * @var AssertProductSaveMessage - */ - private $assertProductSaveMessage; - - /** - * Page to update a product. - * - * @var CatalogProductEdit - */ - private $editProductPage; - - /** - * @param CatalogProductNew $productNew - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $editProductPage - * @param assertProductSaveMessage $assertProductSaveMessage - */ - public function __inject( - CatalogProductNew $productNew, - CatalogProductIndex $productGrid, - CatalogProductEdit $editProductPage, - AssertProductSaveMessage $assertProductSaveMessage - ) { - $this->productGrid = $productGrid; - $this->productNew = $productNew; - $this->editProductPage = $editProductPage; - $this->assertProductSaveMessage = $assertProductSaveMessage; - } - - /** - * @param ConfigurableProduct $product - * @return array - */ - public function test(ConfigurableProduct $product) - { - $deleteProducts = []; - $this->productGrid->open(); - $this->productGrid->getGridPageActionBlock()->addProduct('configurable'); - $this->productNew->getProductForm()->fill($product); - $this->productNew->getFormPageActions()->save($product); - $this->assertProductSaveMessage->processAssert($this->editProductPage); - - $configurableAttributesData = $product->getConfigurableAttributesData(); - $this->productGrid->open(); - foreach ($configurableAttributesData['matrix'] as $variation) { - $filter = ['name' => $variation['name']]; - $this->productGrid->getProductGrid()->search($filter); - $itemId = $this->productGrid->getProductGrid()->getFirstItemId(); - $deleteProducts[] = [$this->productGrid->getProductGrid()->getColumnValue($itemId, 'SKU')]; - } - $this->productGrid->open(); - - $this->productGrid->getProductGrid()->massaction($deleteProducts, 'Delete', true); - return ['product'=> $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.xml deleted file mode 100644 index 64f9141fba962..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteChildConfigurableProductTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\ConfigurableProduct\Test\TestCase\DeleteChildConfigurableProductTest" summary="Configurable Product is not available on frontend after child products are deleted" ticketId="MAGETWO-70346"> - <variation name="DeleteChildConfigurableProductTestVariation1" summary="Verify that variation's SKU based on parent SKU"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="product/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options_with_empty_sku</data> - <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="product/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="product/data/price/value" xsi:type="string">100</data> - <data name="product/data/category_ids/new_category" xsi:type="string">no</data> - <data name="product/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotVisibleInCategory" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductEntityTest.xml deleted file mode 100644 index 68dc1ecbe787e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductEntityTest.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Catalog\Test\TestCase\Product\DeleteProductEntityTest"> - <variation name="DeleteProductEntityTestVariation9"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="products" xsi:type="string">configurableProduct::default</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSuccessDeleteMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotInGrid" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductIsNotDisplayingOnFrontend" /> - </variation> - <variation name="DeleteProductEntityTestVariation10"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="products" xsi:type="string">configurableProduct::with_one_option</data> - <data name="isRequired" xsi:type="string">Yes</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSuccessDeleteMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotInGrid" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductIsNotDisplayingOnFrontend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml deleted file mode 100644 index 042c4d45cac19..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Checkout\Test\TestCase\DeleteProductFromMiniShoppingCartTest" summary="Delete Configurable Product from Mini Shopping Cart" ticketId="MAGETWO-29104"> - <variation name="DeleteConfigurableProductFromMiniShoppingCartTestVariation"> - <data name="products/0" xsi:type="string">configurableProduct::default</data> - <data name="deletedProductIndex" xsi:type="string">0</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DuplicateProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DuplicateProductEntityTest.xml deleted file mode 100644 index 6f78617699d4f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/DuplicateProductEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Catalog\Test\TestCase\Product\DuplicateProductEntityTest"> - <variation name="DuplicateProductEntityTestVariation2" firstConstraint="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" method="test"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="productType" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" next="Magento\Catalog\Test\Constraint\AssertProductDuplicateMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductDuplicateMessage" next="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductDuplicateForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductDuplicateForm" next="Magento\Catalog\Test\Constraint\AssertProductDuplicatedInGrid" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductDuplicatedInGrid" next="Magento\Catalog\Test\Constraint\AssertProductDuplicateIsNotDisplayingOnFrontend" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductDuplicateIsNotDisplayingOnFrontend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MassProductUpdateTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MassProductUpdateTest.xml deleted file mode 100644 index a77e117828223..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MassProductUpdateTest.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Catalog\Test\TestCase\Product\MassProductUpdateTest" summary="Edit Products Using Mass Actions" ticketId="MAGETWO-21128"> - <variation name="MassProductUpdateTestVariation2" summary="Update stock data for simple and configurable"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="configData" xsi:type="string">product_flat</data> - <data name="initialProducts/1" xsi:type="string">configurableProduct::out_of_stock</data> - <data name="initialProducts/0" xsi:type="string">catalogProductSimple::out_of_stock</data> - <data name="productsCount" xsi:type="number">2</data> - <data name="product/data/stock_data" xsi:type="string">In Stock</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertMassProductUpdateSuccessMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductsInStock" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml deleted file mode 100644 index 1fc671ee230e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Sales\Test\TestCase\MoveRecentlyComparedProductsOnOrderPageTest"> - <variation name="MoveRecentlyComparedProductsOnOrderPageTestVariationWithConfigurableProduct1"> - <data name="products/0" xsi:type="string">configurableProduct::configurable_with_qty_1</data> - <data name="products/1" xsi:type="string">configurableProduct::configurable_with_qty_1</data> - <constraint name="Magento\Sales\Test\Constraint\AssertProductInItemsOrderedGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/TaxCalculationTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/TaxCalculationTest.xml deleted file mode 100644 index 8b89e9f085279..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/TaxCalculationTest.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Tax\Test\TestCase\TaxCalculationTest"> - <variation name="TaxCalculationTestConfigurableProduct" ticketId="MAGETWO-42708"> - <data name="product" xsi:type="string">configurableProduct::two_options_by_one_dollar</data> - <data name="taxRule" xsi:type="string">us_full_tax_rule</data> - <data name="shippingAddress/dataset" xsi:type="string">US_address_1</data> - <data name="customer/dataset" xsi:type="string">johndoe_unique</data> - <data name="salesRule" xsi:type="string">active_sales_rule_for_all_groups_no_coupon</data> - <data name="catalogRule" xsi:type="string">-</data> - <data name="configData" xsi:type="string">total_cat_excl_ship_incl_after_disc_on_excl, display_excluding_including_tax</data> - <data name="qty" xsi:type="string">3</data> - <data name="prices/category_price_excl_tax" xsi:type="string">1.00</data> - <data name="prices/category_price_incl_tax" xsi:type="string">1.10</data> - <data name="prices/product_view_price_excl_tax" xsi:type="string">1.00</data> - <data name="prices/product_view_price_incl_tax" xsi:type="string">1.10</data> - <data name="prices/cart_item_price_excl_tax" xsi:type="string">1.00</data> - <data name="prices/cart_item_price_incl_tax" xsi:type="string">1.10</data> - <data name="prices/cart_item_subtotal_excl_tax" xsi:type="string">3.00</data> - <data name="prices/cart_item_subtotal_incl_tax" xsi:type="string">3.30</data> - <data name="prices/subtotal_excl_tax" xsi:type="string">3.00</data> - <data name="prices/subtotal_incl_tax" xsi:type="string">3.30</data> - <data name="prices/shipping_excl_tax" xsi:type="string">15.00</data> - <data name="prices/shipping_incl_tax" xsi:type="string">15.00</data> - <data name="prices/discount" xsi:type="string">1.50</data> - <data name="prices/tax" xsi:type="string">0.15</data> - <data name="prices/grand_total_excl_tax" xsi:type="string">16.50</data> - <data name="prices/grand_total_incl_tax" xsi:type="string">16.65</data> - <constraint name="Magento\Tax\Test\Constraint\AssertTaxRuleIsAppliedToAllPricesExcludingIncludingTax" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.php deleted file mode 100644 index bb88bc854f756..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestCase; - -use Magento\Mtf\TestCase\Scenario; - -/** - * Test Flow: - * - * Preconditions: - * 1. Two simple products are created. - * 2. Configurable attribute with two options is created. - * 3. Configurable attribute added to default template. - * 4. Configurable product is created. - * - * Steps: - * 1. Log in to backend. - * 2. Open Products -> Catalog. - * 3. Search and open configurable product from preconditions. - * 4. Fill in data according to dataset. - * 5. Save product. - * 6. Perform all assertions. - * - * @group Configurable_Product - * @ZephyrId MAGETWO-29916 - */ -class UpdateConfigurableProductEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Update configurable product. - * - * @return array - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.xml deleted file mode 100644 index 365b51ecaad4d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/UpdateConfigurableProductEntityTest.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\ConfigurableProduct\Test\TestCase\UpdateConfigurableProductEntityTest" summary="Update Configurable Product" ticketId="MAGETWO-29916"> - <variation name="UpdateConfigurableProductEntityTestVariation1" summary="Add new option to existed Attribute"> - <data name="attributeTypeAction" xsi:type="string">addOptions</data> - <data name="product" xsi:type="string">configurableProduct::default</data> - <data name="updatedProduct/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="updatedProduct/data/configurable_attributes_data/dataset" xsi:type="string">one_new_options</data> - <data name="updatedProduct/data/checkout_data/dataset" xsi:type="string">configurable_two_attributes</data> - <data name="updatedProduct/data/checkout_data/cartItem/price" xsi:type="string">42</data> - <data name="updatedProduct/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="updatedProduct/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <!--lowest price of option--> - <data name="updatedProduct/data/price/value" xsi:type="string">40</data> - <data name="updatedProduct/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="updatedProduct/data/short_description" xsi:type="string">Configurable short description</data> - <data name="updatedProduct/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="updatedProduct/data/weight" xsi:type="string">3</data> - <data name="updatedProduct/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductsInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductIsNotDisplayedSeparately" /> - </variation> - <variation name="UpdateConfigurableProductEntityTestVariation2" summary="Add new variations"> - <data name="product" xsi:type="string">configurableProduct::default</data> - <data name="updatedProduct/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="updatedProduct/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options</data> - <data name="updatedProduct/data/checkout_data/dataset" xsi:type="string">configurable_three_attributes</data> - <data name="updatedProduct/data/checkout_data/cartItem/price" xsi:type="string">1</data> - <data name="updatedProduct/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="updatedProduct/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="updatedProduct/data/price/value" xsi:type="string">99</data> - <data name="updatedProduct/data/short_description" xsi:type="string">Configurable short description</data> - <data name="updatedProduct/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="updatedProduct/data/weight" xsi:type="string">3</data> - <data name="updatedProduct/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <data name="updatedProduct/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - </variation> - <variation name="UpdateConfigurableProductEntityTestVariation3" summary="Delete one attribute and add another"> - <data name="attributeTypeAction" xsi:type="string">deleteLast</data> - <data name="product" xsi:type="string">configurableProduct::default</data> - <data name="updatedProduct/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="updatedProduct/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options</data> - <data name="updatedProduct/data/checkout_data/dataset" xsi:type="string">configurable_two_attributes</data> - <data name="updatedProduct/data/checkout_data/cartItem/price" xsi:type="string">1</data> - <data name="updatedProduct/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="updatedProduct/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="updatedProduct/data/price/value" xsi:type="string">1</data> - <data name="updatedProduct/data/category_ids/dataset" xsi:type="string">default_subcategory</data> - <data name="updatedProduct/data/short_description" xsi:type="string">Configurable short description</data> - <data name="updatedProduct/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="updatedProduct/data/weight" xsi:type="string">3</data> - <data name="updatedProduct/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInCategory" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInStock" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableAttributesAbsentOnProductPage" /> - </variation> - <variation name="UpdateConfigurableProductEntityTestVariation4" summary="Delete attribute and add another with products qty = 0"> - <data name="attributeTypeAction" xsi:type="string">deleteAll</data> - <data name="product" xsi:type="string">configurableProduct::default</data> - <data name="updatedProduct/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="updatedProduct/data/configurable_attributes_data/dataset" xsi:type="string">two_new_options_with_zero_products</data> - <data name="updatedProduct/data/checkout_data/dataset" xsi:type="string">configurable_two_attributes</data> - <data name="updatedProduct/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="updatedProduct/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="updatedProduct/data/price/value" xsi:type="string">99</data> - <data name="updatedProduct/data/short_description" xsi:type="string">Configurable short description</data> - <data name="updatedProduct/data/description" xsi:type="string">Configurable Product description %isolation%</data> - <data name="updatedProduct/data/weight" xsi:type="string">3</data> - <data name="updatedProduct/data/quantity_and_stock_status/is_in_stock" xsi:type="string">In Stock</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductInGrid" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductForm" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableAttributesBlockIsAbsentOnProductPage" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - </variation> - <variation name="UpdateConfigurableProductEntityTestVariation5" summary="Edit Configurable Product" ticketId="MAGETWO-12840"> - <data name="attributeTypeAction" xsi:type="string">addOptions</data> - <data name="product" xsi:type="string">configurableProduct::two_options_with_fixed_price</data> - <data name="updatedProduct/data/url_key" xsi:type="string">configurable-product-%isolation%</data> - <data name="updatedProduct/data/configurable_attributes_data/dataset" xsi:type="string">one_new_options</data> - <data name="updatedProduct/data/name" xsi:type="string">Configurable Product %isolation%</data> - <data name="updatedProduct/data/sku" xsi:type="string">configurable_sku_%isolation%</data> - <data name="updatedProduct/data/price/value" xsi:type="string">99</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml deleted file mode 100644 index 5af854cae5434..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Catalog\Test\TestCase\Product\ValidateOrderOfProductTypeTest"> - <variation name="ValidateOrderOfProductTypeTestVariation1"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menu/1" xsi:type="string">Configurable Product</data> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.php deleted file mode 100644 index 73f4265c166bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestCase; - -use Magento\Mtf\TestCase\Scenario; - -/** - * Preconditions: - * 1. Configurable product is created. - * - * Steps: - * 1. Log in to Admin. - * 2. Open Products -> Catalog. - * 3. Search and open child of configurable product from preconditions. - * 4. Fill in data according to dataset. - * 5. Save product. - * 6. Perform all assertions. - * - * @group Configurable_Product - * @ZephyrId MAGETWO-60196, MAGETWO-60206, MAGETWO-60236, MAGETWO-60296, MAGETWO-60297, MAGETWO-60325, MAGETWO-60328, - * MAGETWO-60329, MAGETWO-60330 - */ -class VerifyConfigurableProductEntityPriceTest extends Scenario -{ - /** - * Verify configurable product price. - * - * @return array - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.xml deleted file mode 100644 index d576e760179ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductEntityPriceTest.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\ConfigurableProduct\Test\TestCase\VerifyConfigurableProductEntityPriceTest" summary="Verify price for configurable product"> - <variation name="VerifyConfigurableProductEntityPriceTestVariation1" summary="Disable child product" ticketId="MAGETWO-60196"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="status" xsi:type="string">No</item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">1</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation2" summary="Set child product Out of stock" ticketId="MAGETWO-60206"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">Out of Stock</item> - </item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">1</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation3" summary="Disable all child products" ticketId="MAGETWO-60236"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="status" xsi:type="string">No</item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">1,2,3</data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotVisibleInCategory" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotSearchableBySku" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation4" summary="Add tier price to child product" ticketId="MAGETWO-60296"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="tier_price" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_for_qty_1</item> - </item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">2</data> - <data name="productUpdate/newPrice" xsi:type="string">5</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation5" summary="Add special price to child product" ticketId="MAGETWO-60297"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="special_price" xsi:type="string">5</item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">2</data> - <data name="productUpdate/newPrice" xsi:type="string">5</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation6" summary="Change price on scope level for child product" ticketId="MAGETWO-60325"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="price" xsi:type="string">0.07</item> - </item> - </data> - <data name="productUpdate/switchScope" xsi:type="boolean">true</data> - <data name="productUpdate/optionNumber" xsi:type="string">2</data> - <data name="productUpdate/newPrice" xsi:type="string">0.07</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation7" summary="Add special price to child product" ticketId="MAGETWO-60328"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/optionNumber" xsi:type="string">2</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="unassignFromWebsite" xsi:type="string">Main Website</item> - </data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation8" summary="Set child product Out of stock" ticketId="MAGETWO-60329"> - <data name="product" xsi:type="string">configurableProduct::product_with_color</data> - <data name="productUpdate/optionNumber" xsi:type="string">1,2,3</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">Out of Stock</item> - </item> - </item> - </data> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotVisibleInCategory" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductOutOfStock" /> - <constraint name="Magento\Catalog\Test\Constraint\AssertProductNotSearchableBySku" /> - </variation> - <variation name="VerifyConfigurableProductEntityPriceTestVariation9" summary="Add tier price to child product" ticketId="MAGETWO-60330"> - <data name="product" xsi:type="string">configurableProduct::product_with_color_and_custom_option</data> - <data name="productUpdate/optionNumber" xsi:type="string">2</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="tier_price" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_for_qty_1</item> - </item> - </item> - </data> - <data name="productUpdate/newPrice" xsi:type="string">5</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCategory" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" /> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.php deleted file mode 100644 index 1d41b0589b100..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\ConfigurableProduct\Test\TestCase; - -use Magento\Mtf\TestCase\Scenario; - -/** - * Preconditions: - * 1. Choose an attribute for configurable options or create it and set attribute properties to - * 2. is_filterable = Filterable (with results) - * 3. is_filterable_in_search = Yes - * - * Steps: - * 1. Log in to Admin. - * 2. Open Catalog -> Products. - * 3. Create a configurable product with an attribute from preconditions. - * 4. Search and open child of configurable product from preconditions. - * 4. Fill in data according to dataset. - * 5. Save product. - * 6. Perform all assertions. - * - * @group Configurable_Product - * @ZephyrId MAGETWO-89751 - */ -class VerifyConfigurableProductLayeredNavigationTest extends Scenario -{ - /** - * Verify configurable product options in layered navigation. - * - * @return array - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.xml deleted file mode 100644 index 9108b44a0e85b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/VerifyConfigurableProductLayeredNavigationTest.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\ConfigurableProduct\Test\TestCase\VerifyConfigurableProductLayeredNavigationTest" summary="Verify OOS option configurable product in Layered Navigation on storefront"> - <variation name="VerifyConfigurableProductLayeredNavigationTestVariation1" summary="Verify the out of stock configurable attribute option doesn't show in Layered navigation" ticketId="MAGETWO-89745"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product" xsi:type="string">configurableProduct::product_with_3_sizes</data> - <data name="productUpdate/childProductUpdate" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="quantity_and_stock_status" xsi:type="array"> - <item name="is_in_stock" xsi:type="string">Out of Stock</item> - </item> - </item> - </data> - <data name="productUpdate/optionNumber" xsi:type="string">1</data> - <data name="outOfStockOption" xsi:type="string">SIZE_S</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductAttributeOptionNotInLayeredNavigation" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateChildProductStep.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateChildProductStep.php deleted file mode 100644 index ee1d34e119ada..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateChildProductStep.php +++ /dev/null @@ -1,185 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestStep; - -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\Mtf\TestStep\TestStepInterface; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Update child of configurable product step. - */ -class UpdateChildProductStep implements TestStepInterface -{ - /** - * Attribute key. - * - * @var string - */ - private $attributeKey = 'attribute_key_0'; - - /** - * Product fixture. - * - * @var ConfigurableProduct - */ - private $product; - - /** - * Product grid. - * - * @var CatalogProductIndex - */ - private $productGrid; - - /** - * Product edit page. - * - * @var CatalogProductEdit - */ - private $productEdit; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Product update data. - * - * @var array - */ - private $productUpdate; - - /** - * @param ConfigurableProduct $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productEdit - * @param FixtureFactory $fixtureFactory - * @param array $productUpdate - */ - public function __construct( - ConfigurableProduct $product, - CatalogProductIndex $productGrid, - CatalogProductEdit $productEdit, - FixtureFactory $fixtureFactory, - array $productUpdate - ) { - $this->product = $product; - $this->productGrid = $productGrid; - $this->productEdit = $productEdit; - $this->fixtureFactory = $fixtureFactory; - $this->productUpdate = $productUpdate; - } - - /** - * Update child of configurable product. - * - * @return array - */ - public function run() - { - $items = explode(',', $this->productUpdate['optionNumber']); - - foreach ($items as $itemIndex) { - $index = (int)$itemIndex - 1; - $optionKey = 'option_key_' . $index; - $matrixIndex = $this->attributeKey . ':' . $optionKey; - $sku = $this->product->getConfigurableAttributesData()['matrix'][$matrixIndex]['sku']; - $this->fillChildProductData($sku); - $this->prepareResultProduct($matrixIndex, $optionKey); - } - - return ['product' => $this->product]; - } - - /** - * Prepare configurable product fixture. - * - * @param string $matrixIndex - * @param string $optionKey - * @return void - */ - private function prepareResultProduct($matrixIndex, $optionKey) - { - $product = $this->product->getData(); - $attributeKey = 'configurable_attributes_data'; - - if (isset($this->productUpdate['newPrice'])) { - $product[$attributeKey]['matrix'][$matrixIndex]['price'] = $this->productUpdate['newPrice']; - $product[$attributeKey]['attributes_data'][$this->attributeKey]['options'][$optionKey]['pricing_value'] - = $this->productUpdate['newPrice']; - } else { - unset($product[$attributeKey]['matrix'][$matrixIndex]); - unset($product[$attributeKey]['attributes_data'][$this->attributeKey]['options'][$optionKey]); - } - - $product['category_ids']['category'] - = $this->product->getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $product['price'] = $this->getLowestConfigurablePrice($product); - - if (!empty($product['configurable_attributes_data']['attributes_data'][$this->attributeKey]['options'])) { - $this->product = $this->fixtureFactory->createByCode('configurableProduct', ['data' => $product]); - } - } - - /** - * Fill data of child product. - * - * @param string $sku - * @return void - */ - private function fillChildProductData($sku) - { - $this->productGrid->open(); - $this->productGrid->getProductGrid()->searchAndOpen(['sku' => $sku]); - - if (isset($this->productUpdate['switchScope']) && $this->productUpdate['switchScope']) { - $store = $this->fixtureFactory->createByCode('store', ['dataset' => 'default']); - $this->productEdit->getFormPageActions()->changeStoreViewScope($store); - } - - if (isset($this->productUpdate['childProductUpdate']['unassignFromWebsite'])) { - $this->productEdit->getProductForm()->unassignFromWebsite( - $this->productUpdate['childProductUpdate']['unassignFromWebsite'] - ); - } else { - $fixture = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - $this->productUpdate['childProductUpdate'] - ); - $this->productEdit->getProductForm()->fill($fixture); - } - - $this->productEdit->getFormPageActions()->save(); - } - - /** - * Returns lowest possible price of configurable product. - * - * @param array $product - * @return string - */ - private function getLowestConfigurablePrice(array $product) - { - $configurableOptions = $product['configurable_attributes_data']; - $attributeOption = reset($configurableOptions['matrix']); - $price = isset($attributeOption['price']) ? $attributeOption['price'] : "0"; - - foreach ($configurableOptions['matrix'] as $option) { - if ($price > $option['price']) { - $price = $option['price']; - } - } - - return $price; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateConfigurableProductStep.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateConfigurableProductStep.php deleted file mode 100644 index e1b6091adcf1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestStep/UpdateConfigurableProductStep.php +++ /dev/null @@ -1,212 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\ConfigurableProduct\Test\TestStep; - -use Magento\Catalog\Test\Fixture\CatalogProductAttribute; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit; -use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct; -use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Section\Variations\Config; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Update configurable product step. - */ -class UpdateConfigurableProductStep implements TestStepInterface -{ - /** - * Catalog product edit page. - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Catalog product attributes. - * - * @var CatalogProductAttribute - */ - protected $deletedAttributes = []; - - /** - * Old configurable product fixture. - * - * @var ConfigurableProduct - */ - protected $initialProduct; - - /** - * New configurable product fixture. - * - * @var ConfigurableProduct - */ - protected $product; - - /** - * Action type for attribute - * - * @var string - */ - protected $attributeTypeAction = ''; - - /** - * @var CatalogProductIndex - */ - private $productGrid; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $catalogProductEdit - * @param ConfigurableProduct $product - * @param ConfigurableProduct $updatedProduct - * @param string $attributeTypeAction - */ - public function __construct( - FixtureFactory $fixtureFactory, - CatalogProductIndex $productGrid, - CatalogProductEdit $catalogProductEdit, - ConfigurableProduct $product, - ConfigurableProduct $updatedProduct, - $attributeTypeAction = '' - ) { - $this->fixtureFactory = $fixtureFactory; - $this->catalogProductEdit = $catalogProductEdit; - $this->initialProduct = $product; - $this->product = $updatedProduct; - $this->attributeTypeAction = $attributeTypeAction; - $this->productGrid = $productGrid; - } - - /** - * Update configurable product. - * - * @return array - */ - public function run() - { - $product = $this->prepareProduct($this->initialProduct, $this->product, $this->attributeTypeAction); - $this->updateProduct($product); - - return ['product' => $product, 'deletedProductAttributes' => $this->deletedAttributes]; - } - - /** - * Prepare new product for update. - * - * @param ConfigurableProduct $initialProduct - * @param ConfigurableProduct $product - * @param string $attributeTypeAction - * @return ConfigurableProduct - */ - protected function prepareProduct( - ConfigurableProduct $initialProduct, - ConfigurableProduct $product, - $attributeTypeAction - ) { - if ($attributeTypeAction == 'deleteAll') { - $this->deletedAttributes = $initialProduct->getDataFieldConfig('configurable_attributes_data')['source'] - ->getAttributes(); - return $product; - } - - $dataProduct = $product->getData(); - $dataInitialProduct = $initialProduct->getData(); - - if ($attributeTypeAction == 'deleteLast') { - array_pop($dataInitialProduct['configurable_attributes_data']['attributes_data']); - $attributes = $initialProduct->getDataFieldConfig('configurable_attributes_data')['source'] - ->getAttributes(); - $this->deletedAttributes[] = array_pop($attributes); - } - - $attributesData = $dataInitialProduct['configurable_attributes_data']['attributes_data']; - if ($attributeTypeAction == 'addOptions') { - $this->addOptions($attributesData, $dataProduct['configurable_attributes_data']['attributes_data']); - } else { - $this->addAttributes($attributesData, $dataProduct['configurable_attributes_data']['attributes_data']); - } - - $dataProduct['configurable_attributes_data'] = [ - 'attributes_data' => $attributesData, - ]; - - if ($product->hasData('category_ids')) { - $dataProduct['category_ids']['category'] = $product->getDataFieldConfig('category_ids')['source'] - ->getCategories()[0]; - } - - return $this->fixtureFactory->createByCode('configurableProduct', ['data' => $dataProduct]); - } - - /** - * Add options. - * - * @param array $attributes - * @param array $data - * @return void - */ - protected function addOptions(array &$attributes, array $data) - { - foreach ($attributes as $key => $attribute) { - if (isset($data[$key])) { - $index = count($attribute['options']); - foreach ($data[$key]['options'] as $newOption) { - $attributes[$key]['options']['option_key_' . $index] = $newOption; - $index++; - } - } - } - } - - /** - * Add attributes. - * - * @param array $attributes - * @param array $data - * @return void - */ - protected function addAttributes(array &$attributes, array $data) - { - $index = count($attributes); - foreach ($data as $attribute) { - $attributes['attribute_key_' . $index] = $attribute; - $index++; - } - } - - /** - * Update product. - * - * @param ConfigurableProduct $product - * @return void - */ - protected function updateProduct(ConfigurableProduct $product) - { - //open product - $filter = ['sku' => $this->initialProduct->getSku()]; - $this->productGrid->open(); - $this->productGrid->getProductGrid()->searchAndOpen($filter); - - //update - $productForm = $this->catalogProductEdit->getProductForm(); - $productForm->openSection('variations'); - /** @var Config $variationsSection */ - $variationsSection = $productForm->getSection('variations'); - $variationsSection->deleteVariations(); - $this->catalogProductEdit->getProductForm()->fill($product); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/curl/di.xml deleted file mode 100644 index 3742549dbe136..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct\ConfigurableProductInterface" type="Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/di.xml deleted file mode 100644 index 1086169c32130..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/di.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductDuplicateForm"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\ConfigurableProduct\Test\Constraint\AssertChildProductIsNotDisplayedSeparately"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\ConfigurableProduct\Test\Constraint\AssertProductAttributeIsConfigurable"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\ConfigurableProduct\Test\Constraint\AssertOutOfStockOptionIsAbsentOnProductPage"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\RecentlyComparedProducts"> - <arguments> - <argument name="config" xsi:type="array"> - <item name="renders" xsi:type="array"> - <item name="configurable" xsi:type="array"> - <item name="class" xsi:type="string">Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Composite\Configure</item> - <item name="locator" xsi:type="string">//ancestor::body//*[contains(@class, "modal-slide") and contains(@class, "_show")]</item> - <item name="strategy" xsi:type="string">xpath</item> - </item> - </item> - </argument> - </arguments> - </type> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/testcase.xml deleted file mode 100644 index becac5e5d7ee9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/testcase.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/TestCase/etc/testcase.xsd"> - <scenario name="UpdateConfigurableProductEntityTest" firstStep="createProduct"> - <step name="createProduct" module="Magento_Catalog" next="updateConfigurableProduct"> - <item name="product" value="configurableProduct::default"/> - </step> - <step name="updateConfigurableProduct" module="Magento_ConfigurableProduct" next="saveProduct"/> - <step name="saveProduct" module="Magento_Catalog"/> - </scenario> - <scenario name="VerifyConfigurableProductEntityPriceTest" firstStep="createProduct"> - <step name="createProduct" module="Magento_Catalog" next="updateChildProduct" /> - <step name="updateChildProduct" module="Magento_ConfigurableProduct" /> - </scenario> - <scenario name="VerifyConfigurableProductLayeredNavigationTest" firstStep="createProduct"> - <step name="createProduct" module="Magento_Catalog" next="updateChildProduct" /> - <step name="updateChildProduct" module="Magento_ConfigurableProduct" /> - </scenario> -</config> diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/webapi/di.xml deleted file mode 100644 index 965a71a27e10e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/etc/webapi/di.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> - <!--Configurable product creation takes too long time via Web API--> - <!--<preference for="Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct\ConfigurableProductInterface" type="Magento\ConfigurableProduct\Test\Handler\ConfigurableProduct\Webapi" />--> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.php b/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.php deleted file mode 100644 index be613493e1494..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Contact\Test\Block\Form; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - * Form for "Contact Us" page with captcha. - */ -class ContactUs extends Form -{ - /** - * Submit form button. - * - * @var string - */ - private $submit = '.action.submit'; - - /** - * Click submit button. - * - * @return void - */ - public function sendComment() - { - $this->_rootElement->find($this->submit, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.xml b/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.xml deleted file mode 100644 index a9b308646e8d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Form/ContactUs.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <customer composite="1"> - <firstname> - <selector>input[name*=name]</selector> - </firstname> - <email /> - <telephone /> - </customer> - <comment> - <selector>#comment</selector> - </comment> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Messages.php b/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Messages.php deleted file mode 100644 index 9886f84187e9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Block/Messages.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Contact\Test\Block; - -use Magento\Mtf\Block\Block; - -/** - * Message block on "Contact Us" page. - */ -class Messages extends Block -{ - /** - * Message selector. - * - * @var string - */ - private $message = '[data-bind*="message.text"]'; - - /** - * Get message which is present on the "Contact Us" page. - * - * @return string - */ - public function getMessage() - { - $this->waitForElementVisible($this->message); - - return $this->_rootElement->find($this->message)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Constraint/AssertContactUsSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Contact/Test/Constraint/AssertContactUsSuccessMessage.php deleted file mode 100644 index ef1dc8fabc3e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Constraint/AssertContactUsSuccessMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Contact\Test\Constraint; - -use Magento\Contact\Test\Page\ContactIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that success message is present on "Contact Us" page. - */ -class AssertContactUsSuccessMessage extends AbstractConstraint -{ - /** - * Success sent comment message(the first part). - */ - const SUCCESS_MESSAGE_PART_1 = "Thanks for contacting us with your comments and questions. "; - - /** - * Success sent comment message(the second part). - */ - const SUCCESS_MESSAGE_PART_2 = "We'll respond to you very soon."; - - /** - * Assert that success message is present on "Contact Us" page. - * - * @param ContactIndex $contactIndex - * @return void - */ - public function processAssert(ContactIndex $contactIndex) - { - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE_PART_1 . self::SUCCESS_MESSAGE_PART_2, - $contactIndex->getMessagesBlock()->getMessage(), - 'Wrong message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Success message is present on contact us page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment.xml b/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment.xml deleted file mode 100644 index 5e1f3d826a318..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="comment" - module="Magento_Contact" - repository_class="Magento\Contact\Test\Repository\Comment" - class="Magento\Contact\Test\Fixture\Comment"> - <field name="comment" is_required="0" /> - <field name="customer" is_required="0" source="Magento\Contact\Test\Fixture\Comment\Customer" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment/Customer.php b/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment/Customer.php deleted file mode 100644 index 0096ff89aefef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Fixture/Comment/Customer.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Contact\Test\Fixture\Comment; - -use Magento\Customer\Test\Fixture\Customer as CustomerFixture; -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Customer comment on contact page. - */ -class Customer extends DataSource -{ - /** - * Customer Fixture. - * - * @var CustomerFixture - */ - private $customer; - - /** - * Fixture Factory instance. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array|int $data - */ - public function __construct( - FixtureFactory $fixtureFactory, - array $params, - $data = [] - ) { - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->data = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - * @throws \Exception - */ - public function getData($key = null) - { - if (empty($this->data)) { - throw new \Exception("Data must be set"); - } - - if (isset($this->data['dataset']) && !$this->customer) { - /** @var CustomerFixture $customer */ - $customer = $this->fixtureFactory->createByCode('customer', $this->data); - - if (!$customer->getId()) { - $customer->persist(); - } - - $this->customer = $customer; - $this->data = [ - 'firstname' => $customer->getFirstname(), - 'email' => $customer->getEmail(), - ]; - - if ($customer->hasData('telephone')) { - $this->data['telephone'] = $customer->getData('telephone'); - } - } - - return parent::getData($key); - } - - /** - * Return customer. - * - * @return CustomerFixture - */ - public function getCustomer() - { - return $this->customer; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Contact/Test/Page/ContactIndex.xml b/dev/tests/functional/tests/app/Magento/Contact/Test/Page/ContactIndex.xml deleted file mode 100644 index a01ab252611cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Contact/Test/Page/ContactIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="ContactIndex" mca="contact/index/index" module="Magento_Contact"> - <block name="messagesBlock" class="Magento\Contact\Test\Block\Messages" locator=".messages" strategy="css selector" /> - <block name="contactUs" class="Magento\Contact\Test\Block\Form\ContactUs" locator="#contact-form" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.php deleted file mode 100644 index 7239d9175870e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.php +++ /dev/null @@ -1,97 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\Rate; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Currency Rate form. - */ -class CurrencyRateForm extends Form -{ - /** - * Locator value for "Messages" block. - * - * @var string - */ - protected $message = '#messages'; - - /** - * Locator value for "Import" button. - * - * @var string - */ - protected $importButton = '[data-ui-id$="import-button"]'; - - /** - * Locator value for "[USD][UAH] Rate" text field. - * - * @var string - */ - protected $USDUAHRate = '[name$="rate[USD][UAH]"]'; - - /** - * Click on the "Import" button. - * - * @throws \Exception - * @return void - */ - public function clickImportButton() - { - $this->_rootElement->find($this->importButton)->click(); - - //Wait message - $browser = $this->browser; - $selector = $this->message; - $browser->waitUntil( - function () use ($browser, $selector) { - $message = $browser->find($selector); - return $message->isVisible() ? true : null; - } - ); - } - - /* - * Populate USD-UAH rate value. - * - * @throws \Exception - * @return void - */ - public function fillCurrencyUSDUAHRate() - { - $this->_rootElement->find($this->USDUAHRate)->setValue('2.000'); - - //Wait message - $browser = $this->browser; - $selector = $this->message; - $browser->waitUntil( - function () use ($browser, $selector) { - $message = $browser->find($selector); - return $message->isVisible() ? true : null; - } - ); - } - - /** - * Fill "Currency Rates" form. - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $fixture, SimpleElement $element = null) - { - /** @var \Magento\Directory\Test\Fixture\CurrencyRate $fixture */ - $this->placeholders['currency_from'] = $fixture->getCurrencyFrom(); - $this->placeholders['currency_to'] = $fixture->getCurrencyTo(); - $this->applyPlaceholders(); - - return parent::fill($fixture, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.xml deleted file mode 100644 index 570f447d6e177..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/CurrencyRateForm.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <wrapper>rate</wrapper> - <fields> - <rate> - <selector>input[name="rate[%currency_from%][%currency_to%]"]</selector> - </rate> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/FormPageActions.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/FormPageActions.php deleted file mode 100644 index 83901c141943b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/Currency/Rate/FormPageActions.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\Rate; - -use Magento\Backend\Test\Block\FormPageActions as ParentFormPageActions; - -/** - * Form page actions on the SystemCurrencyIndex page. - */ -class FormPageActions extends ParentFormPageActions -{ - /** - * "Save Currency Rates" button locator. - * - * @var string - */ - protected $saveButton = '.save'; -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.php deleted file mode 100644 index 80cec790a34c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Block\Adminhtml\System; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Class CurrencySymbolForm - * Currency Symbol form - */ -class CurrencySymbolForm extends Form -{ - /** - * Custom Currency locator - * - * @var string - */ - protected $currencyRow = '//div[input[@id="custom_currency_symbol%s"]]'; - - /** - * Fill the root form - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $fixture, SimpleElement $element = null) - { - $element = $this->_rootElement->find(sprintf($this->currencyRow, $fixture->getCode()), Locator::SELECTOR_XPATH); - $data = $fixture->getData(); - unset($data['code']); - $mapping = $this->dataMapping($data); - $this->_fill($mapping, $element); - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.xml deleted file mode 100644 index f5d4781701320..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/CurrencySymbolForm.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <wrapper>variable</wrapper> - <fields> - <inherit_custom_currency_symbol> - <selector>[id^=custom_currency_symbol_inherit]</selector> - <strategy>css selector</strategy> - <input>checkbox</input> - </inherit_custom_currency_symbol> - <custom_currency_symbol> - <selector>[id^=custom_currency_symbol]</selector> - <strategy>css selector</strategy> - </custom_currency_symbol> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/FormPageActions.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/FormPageActions.php deleted file mode 100644 index f0b7ce4092e7d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Block/Adminhtml/System/FormPageActions.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Block\Adminhtml\System; - -use Magento\Backend\Test\Block\FormPageActions as ParentFormPageActions; - -/** - * Class FormPageActions - * Form Page Actions for Currency Symbol - */ -class FormPageActions extends ParentFormPageActions -{ - /** - * "Save" button - * - * @var string - */ - protected $saveButton = '[data-ui-id="page-actions-toolbar-save-button"]'; -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnCatalogPage.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnCatalogPage.php deleted file mode 100644 index d9f1941e2ac4e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnCatalogPage.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Constraint; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCurrencySymbolOnCatalogPage - * Check that after applying changes, currency symbol changed on Catalog page - */ -class AssertCurrencySymbolOnCatalogPage extends AbstractConstraint -{ - /** - * Assert that after applying changes, currency symbol changed on Catalog page - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param CatalogProductSimple $product - * @param CurrencySymbolEntity $currencySymbol - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - CatalogProductSimple $product, - CurrencySymbolEntity $currencySymbol - ) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndex->open(); - $cmsIndex->getCurrencyBlock()->switchCurrency($currencySymbol); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - $price = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock()->getPrice(''); - preg_match('`(.*?)\d`', $price, $matches); - - $symbolOnPage = isset($matches[1]) ? $matches[1] : null; - \PHPUnit\Framework\Assert::assertEquals( - $currencySymbol->getCustomCurrencySymbol(), - $symbolOnPage, - 'Wrong Currency Symbol is displayed on Category page.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return "Currency Symbol has been changed on Catalog page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPage.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPage.php deleted file mode 100644 index bcf982275e357..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPage.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Constraint; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that after applying changes, currency symbol changed on Product Details Page. - */ -class AssertCurrencySymbolOnProductPage extends AbstractConstraint -{ - /** - * Assert that after applying changes, currency symbol changed on Product Details Page. - * - * @param CatalogProductSimple $product - * @param BrowserInterface $browser - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param CurrencySymbolEntity $currencySymbol - * @return void - */ - public function processAssert( - CatalogProductSimple $product, - BrowserInterface $browser, - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - CurrencySymbolEntity $currencySymbol - ) { - $cmsIndex->open(); - $cmsIndex->getCurrencyBlock()->switchCurrency($currencySymbol); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $price = $catalogProductView->getViewBlock()->getPriceBlock()->getPrice(); - preg_match('`(.*?)\d`', $price, $matches); - - $symbolOnPage = isset($matches[1]) ? $matches[1] : null; - \PHPUnit\Framework\Assert::assertEquals( - $currencySymbol->getCustomCurrencySymbol(), - $symbolOnPage, - 'Wrong Currency Symbol is displayed on Product page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Currency Symbol has been changed on Product Details page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageCustomWebsite.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageCustomWebsite.php deleted file mode 100644 index 8b85b00e42769..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageCustomWebsite.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Constraint; - -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that correct currency symbol displayed on Product Page on Custom Website. - */ -class AssertCurrencySymbolOnProductPageCustomWebsite extends AbstractConstraint -{ - /** - * Assert that correct currency symbol displayed on Product Page on Custom Website. - * - * @param InjectableFixture $product, - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param array $currencySymbol - * @return void - */ - public function processAssert( - InjectableFixture $product, - BrowserInterface $browser, - CatalogProductView $catalogProductView, - array $currencySymbol = [] - ) { - $website = $product->getDataFieldConfig('website_ids')['source']->getWebsites()[0]; - $url = $_ENV['app_frontend_url'] . 'websites/' . $website->getCode() . '/' . $product->getUrlKey() . '.html'; - $browser->open($url); - $priceBlock = $catalogProductView->getViewBlock()->getPriceBlock(); - $symbolOnPage = $priceBlock->getCurrencySymbol(); - - \PHPUnit\Framework\Assert::assertEquals( - $currencySymbol['customWebsite'], - $symbolOnPage, - 'Wrong Currency Symbol is displayed on Product page on Custom website.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Correct Currency Symbol displayed on Product page on Custom website."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageMainWebsite.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageMainWebsite.php deleted file mode 100644 index 268862e349c46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnProductPageMainWebsite.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Constraint; - -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that correct currency symbol displayed on Product Page on Main Website. - */ -class AssertCurrencySymbolOnProductPageMainWebsite extends AbstractConstraint -{ - /** - * Assert that correct currency symbol displayed on Product Page on Main Website. - * - * @param InjectableFixture $product, - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param array $currencySymbol - * @return void - */ - public function processAssert( - InjectableFixture $product, - BrowserInterface $browser, - CatalogProductView $catalogProductView, - array $currencySymbol = [] - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $priceBlock = $catalogProductView->getViewBlock()->getPriceBlock(); - $symbolOnPage = $priceBlock->getCurrencySymbol(); - - \PHPUnit\Framework\Assert::assertEquals( - $currencySymbol['mainWebsite'], - $symbolOnPage, - 'Wrong Currency Symbol is displayed on Product page on the Main Website.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Correct Currency Symbol displayed on Product page on the Main Website."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php deleted file mode 100644 index 07eb1d430cdaf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolSuccessSaveMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Constraint; - -use Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencySymbolIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCurrencySymbolSuccessSaveMessage - * Check that after clicking on 'Save Currency Symbols' button success message appears. - */ -class AssertCurrencySymbolSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_SAVE_MESSAGE = 'You applied the custom currency symbols.'; - - /** - * Assert that after clicking on 'Save Currency Symbols' button success message appears. - * - * @param SystemCurrencySymbolIndex $currencySymbolIndex - * @return void - */ - public function processAssert(SystemCurrencySymbolIndex $currencySymbolIndex) - { - $actualMessage = $currencySymbolIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_SAVE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Currency Symbol success save message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml deleted file mode 100644 index f1b16546f4c94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="currencySymbolEntity" - module="Magento_CurrencySymbol" - type="flat" - entity_type="core_config_data" - repository_class="Magento\CurrencySymbol\Test\Repository\CurrencySymbolEntity" - handler_interface="Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity\CurrencySymbolEntityInterface" - class="Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity"> - <field name="config_id" is_required="1" /> - <field name="scope" is_required="" /> - <field name="scope_id" is_required="" /> - <field name="path" is_required="" /> - <field name="value" is_required="" /> - <field name="inherit_custom_currency_symbol" /> - <field name="custom_currency_symbol" /> - <field name="code" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php deleted file mode 100644 index 4e2e6740cca02..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Class Curl - * Create Currency Symbol Entity - */ -class Curl extends AbstractCurl implements CurrencySymbolEntityInterface -{ - /** - * Post request for creating currency symbol - * - * @param FixtureInterface $fixture - * @return void - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $fixture->getData(); - $url = $_ENV['app_backend_url'] . 'admin/system_currencysymbol/save'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $curl->read(); - $curl->close(); - // Response verification is absent, because sending a post request returns an index page - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/CurrencySymbolEntityInterface.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/CurrencySymbolEntityInterface.php deleted file mode 100644 index e52488779f40e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/CurrencySymbolEntityInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CurrencySymbolEntityInterface - */ -interface CurrencySymbolEntityInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/ConfigCurrencySetUp.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/ConfigCurrencySetUp.xml deleted file mode 100644 index 640ce96ae0dc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/ConfigCurrencySetUp.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="ConfigCurrencySetup" area="Adminhtml" mca="admin/system_config/edit/section/currency" module="Magento_Config"> - <block name="formPageActions" class="Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\Rate\FormPageActions" locator=".page-main-actions" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencyIndex.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencyIndex.xml deleted file mode 100644 index b50b12c215acd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencyIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="SystemCurrencyIndex" area="Adminhtml" mca="admin/system_currency/index" module="Magento_CurrencySymbol"> - <block name="formPageActions" class="Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\Rate\FormPageActions" locator=".page-main-actions" strategy="css selector"/> - <block name="currencyRateForm" class="Magento\CurrencySymbol\Test\Block\Adminhtml\System\Currency\Rate\CurrencyRateForm" locator="#container" strategy="css selector"/> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencySymbolIndex.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencySymbolIndex.xml deleted file mode 100644 index 518c6faa43429..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Page/Adminhtml/SystemCurrencySymbolIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="SystemCurrencySymbolIndex" area="Adminhtml" mca="admin/system_currencysymbol/index" module="Magento_CurrencySymbol"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector"/> - <block name="currencySymbolForm" class="Magento\CurrencySymbol\Test\Block\Adminhtml\System\CurrencySymbolForm" locator="#currency-symbols-form" strategy="css selector"/> - <block name="pageActions" class="Magento\CurrencySymbol\Test\Block\Adminhtml\System\FormPageActions" locator=".page-main-actions" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/ConfigData.xml deleted file mode 100644 index 9c7d2741b8a76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,248 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="config_currency_symbols_usd_and_uah"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - <item name="Ukrainian Hryvnia" xsi:type="string">UAH</item> - </item> - </field> - </dataset> - <dataset name="config_currency_symbols_usd_and_uah_rollback"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - </dataset> - - <dataset name="config_currency_symbols_usd_and_chf"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - <item name="Swiss Franc" xsi:type="string">CHF</item> - </item> - </field> - </dataset> - - <dataset name="config_currency_symbols_usd"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - </dataset> - - <dataset name="config_currency_custom_website_eur"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="Euro" xsi:type="string">EUR</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Euro</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">EUR</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Euro</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">EUR</item> - </field> - </dataset> - - <dataset name="config_base_currency_ch"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="Swiss Franc" xsi:type="string">CHF</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Swiss Franc</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">CHF</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Swiss Franc</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">CHF</item> - </field> - </dataset> - <dataset name="config_base_currency_ch_rollback"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - </dataset> - - <dataset name="config_base_currency_gb"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="British Pound Sterling" xsi:type="string">GBP</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">British Pound Sterling</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">GBP</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">British Pound Sterling</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">GBP</item> - </field> - </dataset> - <dataset name="config_base_currency_gb_rollback"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - </dataset> - - <dataset name="config_base_currency_aud"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="Australian Dollar" xsi:type="string">AUD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Australian Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">AUD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Australian Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">AUD</item> - </field> - </dataset> - <dataset name="config_base_currency_aud_rollback"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - </dataset> - - <dataset name="config_currency_symbols_usd_and_eur"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - <item name="Euro" xsi:type="string">EUR</item> - </item> - </field> - </dataset> - - <dataset name="config_currency_symbols_usd_and_gbp"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - <item name="British Pound Sterling" xsi:type="string">GBP</item> - </item> - </field> - </dataset> - - <dataset name="config_allowed_currency_usd_and_uah"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="US Dollar" xsi:type="string">USD</item> - <item name="Ukrainian Hryvnia" xsi:type="string">UAH</item> - </item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/CurrencySymbolEntity.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/CurrencySymbolEntity.xml deleted file mode 100644 index 6fff823913748..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Repository/CurrencySymbolEntity.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\CurrencySymbol\Test\Repository\CurrencySymbolEntity"> - <dataset name="default"> - <field name="inherit_custom_currency_symbol" xsi:type="string">Yes</field> - </dataset> - - <dataset name="currency_symbols_uah"> - <field name="custom_currency_symbol" xsi:type="array"> - <item name="UAH" xsi:type="string">custom</item> - </field> - <field name="code" xsi:type="string">UAH</field> - </dataset> - - <dataset name="currency_symbols_eur"> - <field name="custom_currency_symbol" xsi:type="array"> - <item name="EUR" xsi:type="string">€</item> - </field> - <field name="code" xsi:type="string">EUR</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/AbstractCurrencySymbolEntityTest.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/AbstractCurrencySymbolEntityTest.php deleted file mode 100644 index 40193508fc767..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/AbstractCurrencySymbolEntityTest.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\TestCase; - -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Config\Test\Page\Adminhtml\ConfigCurrencySetup; -use Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencyIndex; -use Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencySymbolIndex; - -/** - * Abstract class for currency symbol tests. - */ -abstract class AbstractCurrencySymbolEntityTest extends Injectable -{ - /** - * Store config Currency Setup page. - * - * @var ConfigCurrencySetup - */ - protected $configCurrencySetup; - - /** - * System Currency Symbol grid page. - * - * @var SystemCurrencySymbolIndex - */ - protected $currencySymbolIndex; - - /** - * System currency index page. - * - * @var SystemCurrencyIndex - */ - protected $currencyIndex; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Create simple product and inject pages. - * - * @param configCurrencySetup $configCurrencySetup - * @param SystemCurrencySymbolIndex $currencySymbolIndex - * @param SystemCurrencyIndex $currencyIndex - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __inject( - configCurrencySetup $configCurrencySetup, - SystemCurrencySymbolIndex $currencySymbolIndex, - SystemCurrencyIndex $currencyIndex, - FixtureFactory $fixtureFactory - ) { - $this->configCurrencySetup = $configCurrencySetup; - $this->currencySymbolIndex = $currencySymbolIndex; - $this->currencyIndex = $currencyIndex; - $this->fixtureFactory = $fixtureFactory; - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => 'product_with_category'] - ); - $product->persist(); - - return ['product' => $product]; - } - - /** - * Import currency rates. - * - * @param string $configData - * @return void - * @throws \Exception - */ - protected function importCurrencyRate($configData) - { - $this->objectManager->getInstance()->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - //Click 'Save Config' on 'Config>>Currency Setup' page. - $this->configCurrencySetup->open(); - $this->configCurrencySetup->getFormPageActions()->save(); - - // Import Exchange Rates for currencies - $this->currencyIndex->open(); - $this->currencyIndex->getCurrencyRateForm()->clickImportButton(); - $this->currencyIndex->getCurrencyRateForm()->fillCurrencyUSDUAHRate(); - if ($this->currencyIndex->getMessagesBlock()->isVisibleMessage('warning')) { - throw new \Exception($this->currencyIndex->getMessagesBlock()->getWarningMessage()); - } - $this->currencyIndex->getFormPageActions()->save(); - } - - /** - * Disabling currency which has been added. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->getInstance()->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'config_currency_symbols_usd'] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.php deleted file mode 100644 index d893c1bca9e6d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\TestCase; - -use Magento\Store\Test\Fixture\Store; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\TestStep\TestStepFactory; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Preconditions: - * 1. Setup configuration of main website. - * 2. Create custom website. - * 3. Create product. - * 4. Assign created product to the main and custom websites. - * - * Steps: - * 1. Setup configuration of custom website. - * 2. Perform all asserts. - * - * @group Currency - * @ZephyrId MAGETWO-12941 - */ -class EditCurrencyCustomWebsiteTest extends Injectable -{ - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Injection data. - * - * @param FixtureFactory $fixtureFactory - * @param TestStepFactory $stepFactory - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - TestStepFactory $stepFactory - ) { - $this->fixtureFactory = $fixtureFactory; - $this->stepFactory = $stepFactory; - } - - /** - * Change Currency on Custom Website test. - * - * @param string $configData - * @param array $product - * @param Store $store - * @param array|null $currencies - * @return array - */ - public function test($configData, array $product, Store $store, array $currencies = []) - { - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - $store->persist(); - $product = $this->fixtureFactory->createByCode( - $product['fixture'], - ['dataset' => $product['dataset'], 'data' => ['website_ids' => [['store' => $store]]]] - ); - $product->persist(); - $websites = $product->getDataFieldConfig('website_ids')['source']->getWebsites(); - - // Steps - $configFixture = $this->fixtureFactory->createByCode( - 'configData', - [ - 'data' => [ - 'currency/options/allow' => [ - 'value' => $currencies[0]['allowedCurrencies'] - ], - 'currency/options/base' => [ - 'value' => $currencies[0]['baseCurrency'] - ], - 'currency/options/default' => [ - 'value' => $currencies[0]['defaultCurrency'] - ], - 'scope' => [ - 'fixture' => $websites[0], - 'scope_type' => 'website', - 'website_id' => $websites[0]->getWebsiteId(), - 'set_level' => 'website', - ] - ] - ] - ); - $configFixture->persist(); - - return [ - 'product' => $product, - ]; - } - - /** - * Reverting of currency settings to the default value. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'config_currency_symbols_usd, price_scope_website_rollback'] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.xml deleted file mode 100644 index 6baed12eb2955..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencyCustomWebsiteTest.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CurrencySymbol\Test\TestCase\EditCurrencyCustomWebsiteTest" summary="Using different currencies on main and custom websites" ticketId="MAGETWO-12941"> - <variation name="EditCurrencyCustomWebsiteTestVariation1" summary="Using default USD currency on default website and EUR currency on custom website" ticketId="MAGETWO-12941"> - <data name="configData" xsi:type="string">price_scope_website</data> - <data name="product" xsi:type="array"> - <item name="fixture" xsi:type="string">catalogProductSimple</item> - <item name="dataset" xsi:type="string">default</item> - </data> - <data name="store/dataset" xsi:type="string">custom_store</data> - <data name="currencies" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="allowedCurrencies" xsi:type="array"> - <item name="0" xsi:type="string">EUR</item> - </item> - <item name="defaultCurrency" xsi:type="string">EUR</item> - <item name="baseCurrency" xsi:type="string">EUR</item> - </item> - </data> - <data name="currencySymbol" xsi:type="array"> - <item name="mainWebsite" xsi:type="string">$</item> - <item name="customWebsite" xsi:type="string">€</item> - </data> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPageMainWebsite" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPageCustomWebsite" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.php deleted file mode 100644 index 2afdafe8744bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\TestCase; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; - -/** - * Preconditions: - * 1. Create simple product - * - * Steps: - * 1. Login to backend. - * 2. Navigate to Stores->Currency Symbols - * 3. Make changes according to dataset. - * 4. Click 'Save Currency Symbols' button - * 5. Perform all asserts. - * - * @group Currency - * @ZephyrId MAGETWO-26600 - */ -class EditCurrencySymbolEntityTest extends AbstractCurrencySymbolEntityTest -{ - /* tags */ - const MVP = 'no'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Edit Currency Symbol Entity test. - * - * @param CurrencySymbolEntity $currencySymbol - * @param string $configData - * @return void - */ - public function test(CurrencySymbolEntity $currencySymbol, $configData) - { - // Preconditions - $this->importCurrencyRate($configData); - - // Steps - $this->currencySymbolIndex->open(); - $this->currencySymbolIndex->getCurrencySymbolForm()->fill($currencySymbol); - $this->currencySymbolIndex->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.xml deleted file mode 100644 index bd3e0e1e74568..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/EditCurrencySymbolEntityTest.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CurrencySymbol\Test\TestCase\EditCurrencySymbolEntityTest" summary="Edit Currency Symbol" ticketId="MAGETWO-26600"> - <variation name="EditCurrencySymbolEntityTestVariation1"> - <data name="configData" xsi:type="string">config_currency_symbols_usd_and_uah</data> - <data name="currencySymbol/data/code" xsi:type="string">UAH</data> - <data name="currencySymbol/data/inherit_custom_currency_symbol" xsi:type="string">No</data> - <data name="currencySymbol/data/custom_currency_symbol" xsi:type="string">custom</data> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnCatalogPage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" /> - </variation> - <variation name="EditCurrencySymbolEntityTestVariation2"> - <data name="configData" xsi:type="string">config_currency_symbols_usd_and_uah</data> - <data name="currencySymbol/data/code" xsi:type="string">UAH</data> - <data name="currencySymbol/data/inherit_custom_currency_symbol" xsi:type="string">No</data> - <data name="currencySymbol/data/custom_currency_symbol" xsi:type="string">&</data> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnCatalogPage" /> - </variation> - <variation name="EditCurrencySymbolEntityTestVariation3"> - <data name="configData" xsi:type="string">config_currency_symbols_usd_and_uah</data> - <data name="currencySymbol/data/code" xsi:type="string">UAH</data> - <data name="currencySymbol/data/inherit_custom_currency_symbol" xsi:type="string">No</data> - <data name="currencySymbol/data/custom_currency_symbol" xsi:type="string">%</data> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnCatalogPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index fc031a77ff53f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Backend\Test\TestCase\NavigateMenuTest"> - <variation name="NavigateMenuTest20"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Stores > Currency Rates</data> - <data name="pageTitle" xsi:type="string">Currency Rates</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - <variation name="NavigateMenuTest21"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Stores > Currency Symbols</data> - <data name="pageTitle" xsi:type="string">Currency Symbols</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.php deleted file mode 100644 index 4e922f28ba65a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CurrencySymbol\Test\TestCase; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; - -/** - * Preconditions: - * 1. Create simple product - * 2. Create custom Currency Symbol - * - * Steps: - * 1. Login to backend. - * 2. Navigate to Stores->Currency Symbols - * 3. Make changes according to dataset. - * 4. Click 'Save Currency Symbols' button - * 5. Perform all asserts. - * - * @group Currency - * @ZephyrId MAGETWO-26638 - */ -class ResetCurrencySymbolEntityTest extends AbstractCurrencySymbolEntityTest -{ - /* tags */ - const MVP = 'no'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Reset Currency Symbol Entity test. - * - * @param CurrencySymbolEntity $currencySymbolOriginal - * @param CurrencySymbolEntity $currencySymbol - * @param string $currencySymbolDefault - * @param string $configData - * @return array - */ - public function test( - CurrencySymbolEntity $currencySymbolOriginal, - CurrencySymbolEntity $currencySymbol, - $currencySymbolDefault, - $configData - ) { - // Preconditions - $currencySymbolOriginal->persist(); - $this->importCurrencyRate($configData); - - // Steps - $this->currencySymbolIndex->open(); - $this->currencySymbolIndex->getCurrencySymbolForm()->fill($currencySymbol); - $this->currencySymbolIndex->getPageActions()->save(); - - return [ - 'currencySymbol' => $this->fixtureFactory->createByCode( - 'currencySymbolEntity', - [ - 'data' => array_merge( - $currencySymbol->getData(), - ['custom_currency_symbol' => $currencySymbolDefault] - ) - ] - ) - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.xml deleted file mode 100644 index fb01601f8cad3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/TestCase/ResetCurrencySymbolEntityTest.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CurrencySymbol\Test\TestCase\ResetCurrencySymbolEntityTest" summary="Reset Currency Symbol" ticketId="MAGETWO-26638"> - <variation name="ResetCurrencySymbolEntityTestVariation1" firstConstraint="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" method="test"> - <data name="configData" xsi:type="string">config_currency_symbols_usd_and_uah</data> - <data name="currencySymbolOriginal/dataset" xsi:type="string">currency_symbols_uah</data> - <data name="currencySymbol/data/code" xsi:type="string">UAH</data> - <data name="currencySymbolDefault" xsi:type="string">₴</data> - <data name="currencySymbol/data/inherit_custom_currency_symbol" xsi:type="string">Yes</data> - <data name="currencySymbol/data/custom_currency_symbol" xsi:type="string">-</data> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" next="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" next="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnCatalogPage" prev="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolSuccessSaveMessage" /> - <constraint name="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnCatalogPage" prev="Magento\CurrencySymbol\Test\Constraint\AssertCurrencySymbolOnProductPage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/curl/di.xml deleted file mode 100644 index acb3b65974bb2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity\CurrencySymbolEntityInterface" type="Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesAdditional.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesAdditional.php deleted file mode 100644 index 13ef742d0627c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesAdditional.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Customer\Test\Block\Account; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Class AddressesAdditional - * Additional Addresses block - */ -class AddressesAdditional extends Block -{ - /** - * Selector for address block - * - * @var string - */ - protected $addressSelector = '//tbody//tr[contains(.,"%s")]'; - - /** - * Selector for addresses block - * - * @var string - */ - protected $addressesSelector = '.additional-addresses'; - - /** - * Selector for delete link - * - * @var string - */ - protected $deleteAddressLink = "[role='delete-address']"; - - /** - * Content of additional address block - * - * @var string - */ - protected $additionalAddressContent = '.block-content'; - - /** - * Selector for confirm. - * - * @var string - */ - protected $confirmModal = '.confirm._show[data-role=modal]'; - - /** - * Delete Additional Address - * - * @param Address $address - * @return void - */ - public function deleteAdditionalAddress(Address $address) - { - $this->_rootElement->find(sprintf($this->addressSelector, $address->getStreet()), Locator::SELECTOR_XPATH) - ->find($this->deleteAddressLink)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - } - - /** - * Check if additional address exists. - * - * @param string $address - * @return boolean - */ - public function isAdditionalAddressExists($address) - { - $addressExists = true; - foreach (explode("\n", $address) as $addressItem) { - $addressElement = $this->_rootElement->find( - sprintf($this->addressSelector, $addressItem), - Locator::SELECTOR_XPATH - ); - if (!$addressElement->isVisible()) { - $addressExists = false; - break; - } - } - - return $addressExists; - } - - /** - * Get block text - * - * @return string - */ - public function getBlockText() - { - return $this->_rootElement->find($this->additionalAddressContent)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesDefault.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesDefault.php deleted file mode 100644 index f178bfe615488..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AddressesDefault.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Customer\Test\Block\Account; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Addresses default block. - * - */ -class AddressesDefault extends Block -{ - /** - * Content of default address block. - * - * @var string - */ - protected $defaultAddressContent = '.block-content'; - - /** - * Billing address block selector. - * - * @var string - */ - protected $billingAddressBlock = '.box.box-address-billing .box-content'; - - /** - * Shipping address block selector. - * - * @var string - */ - protected $shippingAddressBlock = '.box.box-address-shipping .box-content'; - - /** - * Selector for change billing address. - * - * @var string - */ - protected $changeBillingAddressSelector = '.box-address-billing a'; - - /** - * Click on address book menu item. - */ - public function goToAddressBook() - { - $this->waitForElementVisible($this->changeBillingAddressSelector, Locator::SELECTOR_CSS); - $this->_rootElement->find($this->changeBillingAddressSelector, Locator::SELECTOR_CSS)->click(); - } - - /** - * Get block text. - * - * @return string - */ - public function getBlockText() - { - return $this->_rootElement->find($this->defaultAddressContent)->getText(); - } - - /** - * Returns Default Billing Address Text. - * - * @return string - */ - public function getDefaultBillingAddress() - { - return $this->_rootElement->find($this->billingAddressBlock)->getText(); - } - - /** - * Returns Default Shipping Address Text. - * - * @return string - */ - public function getDefaultShippingAddress() - { - return $this->_rootElement->find($this->shippingAddressBlock)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.php deleted file mode 100644 index 7d2e9e748c5af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Customer\Test\Block\Account; - -use Magento\Mtf\Block\Form; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Authentication popup block. - */ -class AuthenticationPopup extends Form -{ - /** - * Login button. - * - * @var string - */ - private $login = '.action.action-login.secondary'; - - /** - * Selector for loading mask element. - * - * @var string - */ - private $loadingMask = '.loading-mask'; - - /** - * 'Create an Account' button. - * - * @var string - */ - private $createAccountButton = '.action.action-register.primary'; - - /** - * Selector for password field with autocomplete off. - * - * @var string - */ - private $passwordFieldWithAutocompleteOff = 'input[name="password"][autocomplete="off"]'; - - /** - * Checks if password field autocomplete is off. - * - * @return bool - */ - public function isPasswordAutocompleteOff() - { - return $this->_rootElement->find($this->passwordFieldWithAutocompleteOff)->isVisible(); - } - - /** - * Click 'Create an Account' button. - * - * @return void - */ - public function createAccount() - { - $this->_rootElement->find($this->createAccountButton)->click(); - } - - /** - * Login customer on authentication popup. - * - * @param Customer $customer - * @return void - */ - public function loginCustomer(Customer $customer) - { - sleep(10); - $this->fill($customer); - $this->_rootElement->find($this->login)->click(); - sleep(10); - $this->waitForElementNotVisible($this->loadingMask); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.xml deleted file mode 100644 index 2ca14e34b4899..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationPopup.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <fields> - <email> - <selector>[name='username']</selector> - </email> - <password /> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.php deleted file mode 100644 index 35762e8c34a00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Customer\Test\Block\Account; - -use Magento\Mtf\Block\Form; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Authentication wrapper block. - */ -class AuthenticationWrapper extends AuthenticationPopup -{ - /** - * 'Sign In' link. - * - * @var string - */ - protected $signInLink = '[data-trigger="authentication"]'; - - /** - * Click on 'Sign In' link. - * - * @return void - */ - public function signInLinkClick() - { - $this->_rootElement->find($this->signInLink)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.xml deleted file mode 100644 index 6e554df4611d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/AuthenticationWrapper.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <fields> - <email> - <selector>[id='login-email']</selector> - </email> - <password> - <selector>[id='login-password']</selector> - </password> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Address.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Address.php deleted file mode 100644 index 763c26991cd79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Address.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Account\Dashboard; - -use Magento\Mtf\Block\Block; - -/** - * Class Address - * Customer Dashboard Address Book block - */ -class Address extends Block -{ - /** - * Default Billing Address Edit link - * - * @var string - */ - protected $defaultBillingAddressEdit = '[data-ui-id=default-billing-edit-link]'; - - /** - * Shipping address block selector - * - * @var string - */ - protected $shippingAddressBlock = '.box-shipping-address'; - - /** - * Billing address block selector - * - * @var string - */ - protected $billingAddressBlock = '.box-billing-address'; - - /** - * Edit Default Billing Address - * - * @return void - */ - public function editBillingAddress() - { - $this->_rootElement->find($this->defaultBillingAddressEdit)->click(); - } - - /** - * Returns Default Billing Address Text - * - * @return array|string - */ - public function getDefaultBillingAddressText() - { - return $this->_rootElement->find($this->billingAddressBlock)->getText(); - } - - /** - * Returns Default Shipping Address Text - * - * @return array|string - */ - public function getDefaultShippingAddressText() - { - return $this->_rootElement->find($this->shippingAddressBlock)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Info.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Info.php deleted file mode 100644 index 7b9183ce3d793..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Dashboard/Info.php +++ /dev/null @@ -1,118 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Account\Dashboard; - -use Magento\Mtf\Block\Block; - -/** - * Main block on customer account page. - */ -class Info extends Block -{ - /** - * Css selector for Contact Information Edit Link. - * - * @var string - */ - protected $contactInfoEditLink = '.block-dashboard-info .box-information .action.edit'; - - /** - * Css selector for Contact Information box content. - * - * @var string - */ - protected $contactInfoBoxContent = '.box.box-information .box-content'; - - /** - * Css selector for Contact Information Change Password Link. - * - * @var string - */ - protected $contactInfoChangePasswordLink = '.block-dashboard-info .box-information .action.change-password'; - - /** - * Css selector for Contact Information Change Email Link. - * - * @var string - */ - protected $contactInfoChangeEmailLink = '.form-edit-account .fieldset.info .checkbox#change-email'; - - /** - * Css selector for Contact Information Change Password Checkbox. - * - * @var string - */ - protected $contactInfoChangePasswordCheckbox = '.form-edit-account .fieldset.info .checkbox#change-password'; - - /** - * Dashboard Welcome block locator. - * - * @var string - */ - protected $dashboardWelcome = '.block-dashboard-welcome .block-title'; - - /** - * Click on Contact Information Edit Link. - * - * @return void - */ - public function openEditContactInfo() - { - $this->_rootElement->find($this->contactInfoEditLink)->click(); - $this->openChangeEmail(); - } - - /** - * Click on Contact Information Edit Link. - * - * @return void - */ - public function openChangePassword() - { - $this->_rootElement->find($this->contactInfoChangePasswordLink)->click(); - } - - /** - * Get welcome text. - * - * @return string - */ - public function getWelcomeText() - { - return $this->_rootElement->find($this->dashboardWelcome)->getText(); - } - - /** - * Click on Change Email checkbox. - * - * @return void - */ - public function openChangeEmail() - { - $this->_rootElement->find($this->contactInfoChangeEmailLink)->click(); - } - - /** - * Click on Change Password checkbox. - * - * @return void - */ - public function checkChangePassword() - { - $this->_rootElement->find($this->contactInfoChangePasswordCheckbox)->click(); - } - - /** - * Get Contact Information block content. - * - * @return string - */ - public function getContactInfoContent() - { - return $this->_rootElement->find($this->contactInfoBoxContent)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Links.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Links.php deleted file mode 100644 index a83537087aee6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Account/Links.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Account; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Class Links - * Links block on customer account page - */ -class Links extends Block -{ - /** - * XPath locator for account navigation on customer page - * - * @var string - */ - protected $menuItem = '//*[contains(@class,"item")]/a[contains(.,"%s")]'; - - /** - * Select link in menu - * - * @param string $link - * @return void - */ - public function openMenuItem($link) - { - $this->_rootElement->find(sprintf($this->menuItem, $link), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.php deleted file mode 100644 index a9887b24bf3d8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Address; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - * Class Edit - * Customer address edit block - */ -class Edit extends Form -{ - /** - * 'Save address' button - * - * @var string - */ - protected $saveAddress = '[data-action=save-address]'; - - /** - * VAT field selector - * - * @var string - */ - protected $vatFieldId = 'vat_id'; - - /** - * Locator for address simple (input, textarea, not multiple fields) attribute - * - * @var string - */ - private $addressSimpleAttribute = "[name='%s']"; - - /** - * Edit customer address - * - * @param Address $fixture - */ - public function editCustomerAddress(Address $fixture) - { - $this->fill($fixture); - $this->saveAddress(); - } - - /** - * Save new VAT id - * - * @param $vat - */ - public function saveVatID($vat) - { - $this->_rootElement->find($this->vatFieldId, Locator::SELECTOR_ID)->setValue($vat); - $this->saveAddress(); - } - - /** - * Click on save address button - * - * @return void - */ - public function saveAddress() - { - $this->_rootElement->find($this->saveAddress)->click(); - } - - /** - * Fixture mapping. - * - * @param array|null $fields - * @param string|null $parent - * @return array - */ - protected function dataMapping(array $fields = null, $parent = null) - { - if (isset($fields['custom_attribute'])) { - $this->placeholders = ['attribute_code' => $fields['custom_attribute']['code']]; - $this->applyPlaceholders(); - } - return parent::dataMapping($fields, $parent); - } - - /** - * Check if Customer Address Simple(input, textarea, not multiple fields) Attribute visible - * - * @param string $attributeCode - * @return bool - */ - public function isAddressSimpleAttributeVisible($attributeCode) - { - return $this->_rootElement->find(sprintf($this->addressSimpleAttribute, $attributeCode))->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.xml deleted file mode 100644 index 58cfba50a8ba1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Edit.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <firstname /> - <lastname /> - <company /> - <telephone /> - <street> - <selector>#street_1</selector> - </street> - <city /> - <country_id> - <selector>#country</selector> - <input>select</input> - </country_id> - <region_id> - <input>select</input> - </region_id> - <region /> - <postcode> - <selector>#zip</selector> - </postcode> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Renderer.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Renderer.php deleted file mode 100644 index 8d8a0cfe5ea1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Address/Renderer.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Address; - -use Magento\Customer\Test\Fixture\Address; - -/** - * Render output from Address fixture according to data format type. - */ -class Renderer -{ - /** - * Address format type. - * - * @var string - */ - protected $type; - - /** - * Address fixture. - * - * @var Address - */ - protected $address; - - /** - * @constructor - * @param Address $address - * @param string $type - */ - public function __construct(Address $address, $type = null) - { - $this->address = $address; - $this->type = $type; - } - - /** - * Returns pattern according to address type. - * - * @return string - */ - protected function getPattern() - { - $region = $this->resolveRegion(); - switch ($this->type) { - case "html": - $outputPattern = "{{depend}}{{prefix}} {{/depend}}{{firstname}} {{depend}}{{middlename}} {{/depend}}" - . "{{lastname}}{{depend}} {{suffix}}{{/depend}}\n{{depend}}{{company}}\n{{/depend}}{{street}}\n" - . "{{city}}, {{{$region}}}, {{postcode}}\n{{country_id}}\n{{depend}}T: {{telephone}}{{/depend}}" - . "{{depend}}\nF: {{fax}}{{/depend}}{{depend}}\nVAT: {{vat_id}}{{/depend}}"; - break; - case "html_without_company": - $outputPattern = "{{depend}}{{prefix}} {{/depend}}{{firstname}} {{depend}}{{middlename}} {{/depend}}" - . "{{lastname}}{{depend}} {{suffix}}{{/depend}}\n{{/depend}}{{street}}\n" - . "{{city}}, {{{$region}}} {{postcode}}\n{{country_id}}\n{{depend}}{{telephone}}{{/depend}}"; - break; - case "html_without_company_separated_names": - $outputPattern = "{{depend}}{{prefix}}\n{{/depend}}{{firstname}}\n{{depend}}{{middlename}}\n{{/depend}}" - . "{{lastname}}{{depend}}\n{{suffix}}{{/depend}}\n{{/depend}}{{street}}\n" - . "{{city}}\n{{{$region}}}\n{{postcode}}\n{{country_id}}\n{{depend}}{{telephone}}{{/depend}}"; - break; - case "html_for_select_element": - $outputPattern = "{{depend}}{{prefix}} {{/depend}}{{firstname}} {{depend}}{{middlename}} {{/depend}}" - . "{{lastname}}{{depend}} {{suffix}}{{/depend}}, {{/depend}}{{street}}, " - . "{{city}}, {{{$region}}} {{postcode}}, {{country_id}}"; - break; - case "oneline": - default: - $outputPattern = "{{depend}}{{prefix}} {{/depend}}{{firstname}} {{depend}}{{middlename}} {{/depend}}" - . "{{lastname}}{{depend}} {{suffix}}{{/depend}}, {{street}}, " - . "{{city}}, {{{$region}}} {{postcode}}, {{country_id}}"; - break; - } - return $outputPattern; - } - - /** - * Render address according to format type. - * - * @return string - */ - public function render() - { - $outputPattern = $this->getPattern(); - $fields = $this->getFieldsArray($outputPattern); - $output = $this->preparePattern(); - $output = str_replace(['{{depend}}', '{{/depend}}', '{', '}'], '', $output); - - foreach ($fields as $field) { - $data = $this->address->getData($field); - $output = str_replace($field, $data, $output); - } - - return $output; - } - - /** - * Get an array of necessary fields from pattern. - * - * @param string $outputPattern - * @return mixed - */ - protected function getFieldsArray($outputPattern) - { - $fieldsArray = []; - preg_match_all('@\{\{(\w+)\}\}@', $outputPattern, $matches); - foreach ($matches[1] as $item) { - if ($item != 'depend') { - $fieldsArray[] = $item; - } - } - return $fieldsArray; - } - - /** - * Purge fields from pattern which are not present in fixture. - * - * @return string - */ - protected function preparePattern() - { - $outputPattern = $this->getPattern(); - preg_match_all('@\{\{depend\}\}(.*?)\{\{.depend\}\}@siu', $outputPattern, $matches); - foreach ($matches[1] as $key => $dependPart) { - preg_match_all('@\{\{(\w+)\}\}@', $dependPart, $depends); - foreach ($depends[1] as $depend) { - if ($this->address->getData(trim($depend)) === null) { - $outputPattern = str_replace($matches[0][$key], "", $outputPattern); - } - } - } - return $outputPattern; - } - - /** - * Check necessary field to retrieve according to address country. - * - * @return string - */ - protected function resolveRegion() - { - return $this->address->hasData('region') ? 'region' : 'region_id'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/CustomerGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/CustomerGrid.php deleted file mode 100644 index 7d469f1886f63..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/CustomerGrid.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml; - -use Magento\Ui\Test\Block\Adminhtml\DataGrid; - -/** - * Class CustomerGrid - * Backend customer grid - * - */ -class CustomerGrid extends DataGrid -{ - /** - * Selector for action option select - * - * @var string - */ - protected $option = '[name="group"]'; - - /** - * Filters array mapping - * - * @var array - */ - protected $filters = [ - 'name' => [ - 'selector' => '.admin__data-grid-filters input[name*=name]', - ], - 'email' => [ - 'selector' => '.admin__data-grid-filters input[name*=email]', - ], - 'group' => [ - 'selector' => '.admin__data-grid-filters select[name*=group_id]', - 'input' => 'select', - ], - 'entity_id_from' => [ - 'selector' => '[name="entity_id[from]"]', - ], - 'entity_id_to' => [ - 'selector' => '[name="entity_id[to]"]', - ], - 'dob_from' => [ - 'selector' => '[name="dob[from]"]', - 'input' => 'datepicker', - ], - 'dob_to' => [ - 'selector' => '[name="dob[to]"]', - 'input' => 'datepicker', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.php deleted file mode 100644 index f456635882ed9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.php +++ /dev/null @@ -1,209 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml\Edit; - -use Magento\Backend\Test\Block\Widget\FormTabs; -use Magento\Customer\Test\Fixture\Address; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Form for creation of the customer. - */ -class CustomerForm extends FormTabs -{ - /** - * Magento form loader. - * - * @var string - */ - protected $spinner = '#container [data-role="spinner"]'; - - /** - * Customer form to load. - * - * @var string - */ - protected $activeFormTab = '#container [data-area-active="true"]'; - - /** - * Field wrapper with label on form. - * - * @var string - */ - protected $fieldLabel = './/*[contains(@class, "admin__field")]/*[contains(@class,"label")]'; - - /** - * Field wrapper with control block on form. - * - * @var string - */ - protected $fieldWrapperControl = './/*[contains(@class, "admin__field")]/*[contains(@class,"control")]'; - - /** - * Selector for waiting tab content to load. - * - * @var string - */ - protected $tabReadiness = '.admin__page-nav-item._active._loading'; - - /** - * Personal information xpath selector. - * - * @var string - */ - protected $information = './/th[contains(text(), "%s")]/following-sibling::td[1]'; - - /** - * Fill Customer forms on tabs by customer, addresses data. - * - * @param FixtureInterface $customer - * @param FixtureInterface|FixtureInterface[]|null $address - * @return $this - * @throws \Exception - */ - public function fillCustomer(FixtureInterface $customer, $address = null) - { - $this->waitForm(); - - $isHasData = ($customer instanceof InjectableFixture) ? $customer->hasData() : true; - if ($isHasData) { - parent::fill($customer); - } - if (null !== $address) { - $this->openTab('addresses'); - $this->fillCustomerAddress($address); - } - - return $this; - } - - /** - * Fill customer address by provided in parameter data - * - * @param FixtureInterface|FixtureInterface[] $address - * @return $this - * @throws \Exception - */ - public function fillCustomerAddress($address) - { - $addressesTab = $this->getTab('addresses'); - $this->openTab('addresses'); - $addressesTab->waitForAddressesGrid(); - $addressesTab->fillAddresses($address); - - return $this; - } - - /** - * Update Customer forms on tabs by customer, addresses data. - * - * @param FixtureInterface $customer - * @param FixtureInterface|FixtureInterface[]|null $address - * @param Address|null $addressToDelete - * @return $this - */ - public function updateCustomer(FixtureInterface $customer, $address = null, Address $addressToDelete = null) - { - $this->waitForm(); - - $isHasData = ($customer instanceof InjectableFixture) ? $customer->hasData() : true; - if ($isHasData) { - parent::fill($customer); - } - $addressesTab = $this->getTab('addresses'); - if ($addressToDelete !== null) { - $this->openTab('addresses'); - $addressesTab->waitForAddressesGrid(); - $addressesTab->deleteCustomerAddress($addressToDelete); - } - if ($address !== null) { - $this->openTab('addresses'); - $addressesTab->waitForAddressesGrid(); - $addressesTab->updateAddresses($address); - } - - return $this; - } - - /** - * Get data of Customer information, addresses on tabs. - * - * @param FixtureInterface $customer - * @param FixtureInterface|FixtureInterface[]|null $address - * @return array - */ - public function getDataCustomer(FixtureInterface $customer, $address = null) - { - $this->waitForm(); - - $data = ['customer' => $customer->hasData() ? parent::getData($customer) : parent::getData()]; - if (null !== $address) { - $this->openTab('addresses'); - $this->waitForElementNotVisible($this->tabReadiness); - $this->waitForm(); - $this->getTab('addresses')->waitForAddressesGrid(); - $data['addresses'] = $this->getTab('addresses')->getDataAddresses($address); - } - - return $data; - } - - /** - * Wait for User before fill form which calls JS validation on correspondent form. - * - * @return void - */ - protected function waitForm() - { - $this->waitForElementNotVisible($this->spinner); - } - - /** - * Open tab. - * - * @param string $tabName - * @return CustomerForm - */ - public function openTab($tabName) - { - $this->waitForElementNotVisible($this->tabReadiness); - parent::openTab($tabName); - $this->waitForElementNotVisible($this->tabReadiness); - $this->waitForm(); - - return $this; - } - - /** - * Get array of label => js error text. - * - * @return array - */ - public function getJsErrors() - { - $jsErrors = []; - $tab = $this->getTab('account_information'); - $this->openTab('account_information'); - $jsErrors = array_merge($jsErrors, $tab->getJsErrors()); - return $jsErrors; - } - - /** - * Get personal information. - * - * @param string $title - * @return string - */ - public function getPersonalInformation($title) - { - return $this->_rootElement - ->find(sprintf($this->information, $title), Locator::SELECTOR_XPATH) - ->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.xml deleted file mode 100644 index 7a19b30e9fa95..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/CustomerForm.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<tabs> - <account_information> - <class>\Magento\Backend\Test\Block\Widget\Tab</class> - <selector>#tab_customer</selector> - <strategy>css selector</strategy> - <wrapper>customer</wrapper> - <fields> - <website_id> - <input>select</input> - </website_id> - <group_id> - <input>select</input> - </group_id> - <firstname/> - <lastname/> - <email/> - <gender> - <input>select</input> - </gender> - <dob> - <input>datepicker</input> - </dob> - </fields> - </account_information> - <addresses> - <class>\Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses</class> - <selector>#tab_address</selector> - <strategy>css selector</strategy> - </addresses> -</tabs> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/FormPageActions.php deleted file mode 100644 index 3fc6563295df4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/FormPageActions.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml\Edit; - -use Magento\Backend\Test\Block\FormPageActions as ParentFormPageActions; - -/** - * Form page actions block for customer page. - */ -class FormPageActions extends ParentFormPageActions -{ - /** - * "Create Order" button. - * - * @var string - */ - protected $createOrderButton = '#order'; - - /** - * "Manage Shopping Cart" button. - * - * @var string - */ - protected $manageShoppingCartButton = '#manage_quote'; - - /** - * Click on "Create Order" button. - * - * @return void - */ - public function createOrder() - { - $this->_rootElement->find($this->createOrderButton)->click(); - } - - /** - * Click on "Manage Shopping Cart" button. - * - * @return void - */ - public function manageShoppingCart() - { - $this->_rootElement->find($this->manageShoppingCartButton)->click(); - } - - /** - * Wait for User before click on any Button which calls JS validation on correspondent form. - * See details in MAGETWO-31121. - * - * @return void - */ - protected function waitBeforeClick() - { - sleep(0.2); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses.php deleted file mode 100644 index 99a79a8a4a85c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses.php +++ /dev/null @@ -1,352 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml\Edit\Tab; - -use Magento\Backend\Test\Block\Widget\Tab; -use Magento\Customer\Test\Fixture\Address; -use Magento\Mtf\Block\BlockFactory; -use Magento\Mtf\Block\Mapper; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Client\Element; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\ObjectManager; -use Magento\Mtf\Util\ModuleResolver\SequenceSorterInterface; - -/** - * Customer addresses edit block. - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class Addresses extends Tab -{ - /** - * "Add New Customer" button. - * - * @var string - */ - protected $addNewAddress = '.add-new-address-button'; - - /** - * Selector for address block. - * - * @var string - */ - protected $addressSelector = "//li[address[contains(.,'%s')]]"; - - protected $countriesSelector = "//*/select[@name='address[new_%d][country_id]']/option"; - - /** - * Delete Address button. - * - * @var string - */ - protected $deleteAddress = '.action-delete'; - - /** - * Open customer address. - * - * @var string - */ - protected $customerAddress = '//*[contains(@class, "address-list-item")][%d]'; - - /** - * Magento loader. - * - * @var string - */ - protected $loader = '//ancestor::body/div[@data-role="loader"]'; - - /** - * Customer address modal window. - * - * @var string - */ - private $customerAddressModalForm = '.customer_form_areas_address_address_customer_address_update_modal'; - - /** - * Customer addresses list grid. - * - * @var string - */ - private $customerAddressesGrid = '.customer_form_areas_address_address_customer_address_listing'; - - /** - * Object Manager. - * - * @var ObjectManager - */ - private $objectManager; - - /** - * @constructor - * @param SimpleElement $element - * @param BlockFactory $blockFactory - * @param Mapper $mapper - * @param BrowserInterface $browser - * @param SequenceSorterInterface $sequenceSorter - * @param ObjectManager $objectManager - * @param array $config [optional] - */ - public function __construct( - SimpleElement $element, - BlockFactory $blockFactory, - Mapper $mapper, - BrowserInterface $browser, - SequenceSorterInterface $sequenceSorter, - ObjectManager $objectManager, - array $config = [] - ) { - $this->objectManager = $objectManager; - parent::__construct($element, $blockFactory, $mapper, $browser, $sequenceSorter, $config); - } - - /** - * Fill customer addresses. - * - * @param FixtureInterface|FixtureInterface[] $address - * @return $this - */ - public function fillAddresses($address) - { - $addresses = is_array($address) ? $address : [$address]; - $customerAddressForm = $this->getCustomerAddressModalForm(); - foreach ($addresses as $address) { - $this->addNewAddress(); - $customerAddressForm->fillAddressData($address); - $customerAddressForm->saveAddress(); - } - - return $this; - } - - /** - * Update customer addresses. - * - * @param FixtureInterface|FixtureInterface[] $address - * @return $this - * @throws \Exception - * - * @SuppressWarnings(PHPMD.NPathComplexity) - * @SuppressWarnings(PHPMD.CyclomaticComplexity) - */ - public function updateAddresses($address) - { - $addresses = is_array($address) ? $address : [1 => $address]; - foreach ($addresses as $addressNumber => $address) { - /* Throw exception if isn't exist previous customer address. */ - if (1 < $addressNumber && !$this->isVisibleCustomerAddress($addressNumber - 1)) { - throw new \Exception("Invalid argument: can't update customer address #{$addressNumber}"); - } - - if (!$this->isVisibleCustomerAddress($addressNumber)) { - $this->addNewAddress(); - } else { - $this->openCustomerAddress($addressNumber); - } - - $defaultAddress = ['default_billing' => 'No', 'default_shipping' => 'No']; - $addressData = $address->getData(); - foreach ($defaultAddress as $key => $value) { - if (isset($addressData[$key])) { - $defaultAddress[$key] = $value; - } - } - $customerAddressForm = $this->getCustomerAddressModalForm(); - $customerAddressForm->setFieldsData($this->dataMapping($defaultAddress)); - $customerAddressForm->setFieldsData(array_diff($addressData, $defaultAddress)); - $customerAddressForm->saveAddress(); - } - - return $this; - } - - /** - * Get data from Customer addresses. - * - * @param FixtureInterface|FixtureInterface[]|null $address - * @return array - * @throws \Exception - */ - public function getDataAddresses($address = null) - { - $data = []; - $addresses = is_array($address) ? $address : [1 => $address]; - - foreach ($addresses as $addressNumber => $address) { - $hasData = (null !== $address) && $address->hasData(); - $customerAddressesGrid = $this->getCustomerAddressesGrid(); - if ($hasData) { - $customerAddressesGrid->search($address->getData()); - } - $isVisibleCustomerAddress = $this->isVisibleCustomerAddress($addressNumber); - - if ($hasData && !$isVisibleCustomerAddress) { - throw new \Exception("Invalid argument: can't get data from customer address #{$addressNumber}"); - } - - if (!$hasData && !$isVisibleCustomerAddress) { - $data[$addressNumber] = []; - } else { - $customerAddressesGrid->openFirstRow(); - $data[$addressNumber] = $this->getCustomerAddressModalForm() - ->getData($address, $this->browser->find($this->customerAddressModalForm)); - $this->getCustomerAddressModalForm()->clickCancelButton(); - } - } - - return $data; - } - - /** - * Get data from Customer addresses. - * - * @param FixtureInterface|FixtureInterface[]|null $address - * @return array|null - * @throws \Exception - */ - public function getAddressFromFirstRow($address = null) - { - $customerAddressesGrid = $this->getCustomerAddressesGrid(); - $customerAddressesGrid->resetFilter(); - $customerAddressesGrid->openFirstRow(); - if ($this->getCustomerAddressModalForm()->isVisible()) { - $address = $this->getCustomerAddressModalForm() - ->getData($address, $this->browser->find($this->customerAddressModalForm)); - } - - return $address; - } - - /** - * Get data to fields on tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - /* Skip get data for standard method. Use getDataAddresses. */ - return []; - } - - /** - * Click "Add New Address" button. - */ - protected function addNewAddress() - { - $this->_rootElement->find($this->addNewAddress)->click(); - $this->waitForElementVisible($this->customerAddressModalForm); - } - - /** - * Open customer address. - * - * @param int $addressNumber - * @throws \Exception - */ - protected function openCustomerAddress($addressNumber) - { - $customerAddressesGrid = $this->getCustomerAddressesGrid(); - if (!$customerAddressesGrid->getFirstRow()->isVisible()) { - throw new \Exception("Can't open customer address #{$addressNumber}"); - } - $customerAddressesGrid->openFirstRow(); - } - - /** - * Check is visible customer address. - * - * @return bool - */ - protected function isVisibleCustomerAddress() - { - $customerAddressesGrid = $this->getCustomerAddressesGrid(); - $customerAddressesGrid->isFirstRowVisible(); - - return $customerAddressesGrid->isFirstRowVisible(); - } - - /** - * Retrieve list of all countries - * @param int $addressNumber - * @return array - */ - public function getCountriesList($addressNumber) - { - $this->openCustomerAddress($addressNumber); - /** @var SimpleElement $element */ - $options = $this->_rootElement->getElements( - sprintf($this->countriesSelector, $addressNumber - 1), - Locator::SELECTOR_XPATH - ); - $data = []; - /** @var SimpleElement $option */ - foreach ($options as $option) { - if ($option->isVisible()) { - $value = $option->getValue(); - - if ($value != "") { - $data[] = $value; - } - } - } - - return $data; - } - - /** - * Click delete customer address button. - * - * @param Address $addressToDelete - * @return $this - */ - public function deleteCustomerAddress(Address $addressToDelete) - { - $customerAddressesGrid = $this->getCustomerAddressesGrid(); - $customerAddressesGrid->deleteCustomerAddress($addressToDelete->getData()); - - return $this; - } - - /** - * Get new/update customer address modal form. - * - * @return \Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses\AddressForm - */ - public function getCustomerAddressModalForm() - { - return $this->blockFactory->create( - \Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses\AddressForm::class, - ['element' => $this->browser->find($this->customerAddressModalForm)] - ); - } - - /** - * Get customer addresses grid. - * - * @return \Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses\AddressesGrid - */ - public function getCustomerAddressesGrid() - { - return $this->blockFactory->create( - \Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses\AddressesGrid::class, - ['element' => $this->browser->find($this->customerAddressesGrid)] - ); - } - - /** - * Wait for addresses grid rendering - */ - public function waitForAddressesGrid() - { - $this->waitForElementVisible($this->customerAddressesGrid); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.php deleted file mode 100644 index 029836d21433c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses; - -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Block\Form; - -/** - * Create/Edit customer address. - */ -class AddressForm extends Form -{ - /** - * Save address button - * - * @var string - */ - protected $saveAddressButton = '#save'; - - /** - * cancel button - * - * @var string - */ - protected $cancelButton = '#cancel'; - - /** - * Loader mask - * - * @var string - */ - private $loader = '.popup-loading'; - - /** - * Field with Mage error. - * - * @var string - */ - private $mageErrorField = '//fieldset/*[contains(@class,"field ")][.//*[contains(@class,"error")]]'; - - /** - * Fields label with mage error. - * - * @var string - */ - private $mageErrorLabel = './/*[contains(@class,"label")]'; - - /** - * Mage error text. - * - * @var string - */ - private $mageErrorText = './/label[contains(@class,"error")]'; - - /** - * Fill address form by provided data - * - * @param \Magento\Mtf\Fixture\FixtureInterface $address - * @return void - * @throws \Exception - */ - public function fillAddressData(\Magento\Mtf\Fixture\FixtureInterface $address) - { - $this->waitForElementNotVisible($this->loader); - $this->setFieldsData($address->getData(), $this->_rootElement); - } - - /** - * Fill data into fields in the container. - * - * @param array $fields - * @param \Magento\Mtf\Client\Element\SimpleElement|null $contextElement - * @return void - * @throws \Exception - */ - public function setFieldsData(array $fields, \Magento\Mtf\Client\Element\SimpleElement $contextElement = null): void - { - $data = $this->dataMapping($fields); - $this->_fill($data, $contextElement); - } - - /** - * Save customer address - * - * @return void - */ - public function saveAddress(): void - { - $this->_rootElement->find($this->saveAddressButton)->click(); - $this->waitForElementNotVisible($this->loader); - } - - /** - * Close create/update address modal - * - * @return void - */ - public function clickCancelButton(): void - { - $this->_rootElement->find($this->cancelButton)->click(); - } - - /** - * Get array of label => js error text. - * - * @return array - */ - public function getJsErrors(): array - { - $data = []; - $elements = $this->_rootElement->getElements($this->mageErrorField, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $error = $element->find($this->mageErrorText, Locator::SELECTOR_XPATH); - if ($error->isVisible()) { - $label = $element->find($this->mageErrorLabel, Locator::SELECTOR_XPATH)->getText(); - $data[$label] = $error->getText(); - } - } - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.xml deleted file mode 100644 index c56c6479dcb38..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressForm.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <prefix> - <selector>.admin__fieldset:not([style="display: none;"]) [name="prefix"]</selector> - <strategy>css selector</strategy> - </prefix> - <firstname> - <selector>.admin__fieldset:not([style="display: none;"]) [name="firstname"]</selector> - <strategy>css selector</strategy> - </firstname> - <middlename> - <selector>.admin__fieldset:not([style="display: none;"]) [name="middlename"]</selector> - <strategy>css selector</strategy> - </middlename> - <lastname> - <selector>.admin__fieldset:not([style="display: none;"]) [name="lastname"]</selector> - <strategy>css selector</strategy> - </lastname> - <suffix> - <selector>.admin__fieldset:not([style="display: none;"]) [name="suffix"]</selector> - <strategy>css selector</strategy> - </suffix> - <company> - <selector>.admin__fieldset:not([style="display: none;"]) [name="company"]</selector> - <strategy>css selector</strategy> - </company> - <street> - <selector>.admin__fieldset:not([style="display: none;"]) [name="street[0]"]</selector> - <strategy>css selector</strategy> - </street> - <city> - <selector>.admin__fieldset:not([style="display: none;"]) [name="city"]</selector> - <strategy>css selector</strategy> - </city> - <country_id> - <input>select</input> - <selector>.admin__fieldset:not([style="display: none;"]) [name="country_id"]</selector> - <strategy>css selector</strategy> - </country_id> - <region_id> - <input>select</input> - <selector>.admin__fieldset:not([style="display: none;"]) [name="region_id"]</selector> - <strategy>css selector</strategy> - </region_id> - <region> - <selector>.admin__fieldset:not([style="display: none;"]) [name="region"]</selector> - <strategy>css selector</strategy> - </region> - <postcode> - <selector>.admin__fieldset:not([style="display: none;"]) [name="postcode"]</selector> - <strategy>css selector</strategy> - </postcode> - <telephone> - <selector>.admin__fieldset:not([style="display: none;"]) [name="telephone"]</selector> - <strategy>css selector</strategy> - </telephone> - <fax> - <selector>.admin__fieldset:not([style="display: none;"]) [name="fax"]</selector> - <strategy>css selector</strategy> - </fax> - <vat_id> - <selector>.admin__fieldset:not([style="display: none;"]) [name="vat_id"]</selector> - <strategy>css selector</strategy> - </vat_id> - <default_billing> - <selector>.admin__fieldset:not([style="display: none;"]) input[name='default_billing']</selector> - <input>switcher</input> - </default_billing> - <default_shipping> - <selector>.admin__fieldset:not([style="display: none;"]) input[name='default_shipping']</selector> - <input>switcher</input> - </default_shipping> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressesGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressesGrid.php deleted file mode 100644 index ef1fb09c8f839..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Edit/Tab/Addresses/AddressesGrid.php +++ /dev/null @@ -1,174 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\Customer\Test\Block\Adminhtml\Edit\Tab\Addresses; - -use Magento\Ui\Test\Block\Adminhtml\DataGrid; - -/** - * Class AddressesGrid - * Backend customer addresses grid - * - */ -class AddressesGrid extends DataGrid -{ - /** - * Locator value for link in action column - * - * @var string - */ - protected $editLink = '//tr[@class="data-row"][1]//a[@data-action="item-edit"]'; - - /** - * First row selector - * - * @var string - */ - protected $firstRowSelector = '//tr[@class="data-row"][1]'; - - /** - * Customer address grid loader. - * - * @var string - */ - protected $loader = '.customer_form_areas_address_address_customer_address_listing [data-role="spinner"]'; - - /** - * Filters array mapping - * - * @var array - */ - protected $filters = [ - 'firstname' => [ - 'selector' => '.admin__data-grid-filters input[name*=firstname]', - ], - 'lastname' => [ - 'selector' => '.admin__data-grid-filters input[name*=lastname]', - ], - 'street' => [ - 'selector' => '.admin__data-grid-filters input[name*=street]', - ], - 'city' => [ - 'selector' => '.admin__data-grid-filters input[name*=city]', - ], - 'region_id' => [ - 'selector' => '.admin__data-grid-filters input[name*=region]', - ], - 'postcode' => [ - 'selector' => '.admin__data-grid-filters input[name*=postcode]', - ], - 'telephone' => [ - 'selector' => '.admin__data-grid-filters input[name*=telephone]', - ], - 'country_id' => [ - 'selector' => '.admin__data-grid-filters select[name*=country]', - 'input' => 'select', - ], - - ]; - - /** - * Select action toggle. - * - * @var string - */ - private $selectAction = '.action-select'; - - /** - * Delete action toggle. - * - * @var string - */ - private $deleteAddress = '[data-action="item-delete"]'; - - /** - * Locator value for "Edit" link inside action column. - * - * @var string - */ - private $editAddress = '[data-action="item-edit"]'; - - /** - * Customer address modal window. - * - * @var string - */ - private $customerAddressModalForm = '.customer_form_areas_address_address_customer_address_update_modal'; - - /** - * Search customer address by filter. - * - * @param array $filter - * @return void - */ - public function search(array $filter): void - { - parent::search(array_intersect_key($filter, $this->filters)); - } - - /** - * Delete customer address by filter - * - * @param array $filter - * @return void - * @throws \Exception - */ - public function deleteCustomerAddress(array $filter): void - { - $this->search($filter); - $rowItem = $this->getRow([$filter['firstname']]); - if ($rowItem->isVisible()) { - $this->deleteRowItemAddress($rowItem); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } - - /** - * @param \Magento\Mtf\Client\Element\SimpleElement $rowItem - * @return void - */ - public function deleteRowItemAddress(\Magento\Mtf\Client\Element\SimpleElement $rowItem): void - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->deleteAddress)->click(); - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - $this->waitLoader(); - } - - /** - * Open first row from the addresses grid - * - * @return void - */ - public function openFirstRow(): void - { - $firstRow = $this->getFirstRow(); - if ($firstRow->isVisible()) { - $firstRow->find($this->selectAction)->click(); - $firstRow->find($this->editAddress)->click(); - $this->waitForElementVisible($this->customerAddressModalForm); - $this->waitLoader(); - } - } - - /** - * Get first row from the grid - * - * @return \Magento\Mtf\Client\Element\SimpleElement - */ - public function getFirstRow(): \Magento\Mtf\Client\Element\SimpleElement - { - return $this->_rootElement->find($this->firstRowSelector, \Magento\Mtf\Client\Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/CustomerGroupGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/CustomerGroupGrid.php deleted file mode 100644 index 7722645b3fde3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/CustomerGroupGrid.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml\Group; - -use \Magento\Ui\Test\Block\Adminhtml\DataGrid; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Class CustomerGroupGrid - * Adminhtml customer group grid - */ -class CustomerGroupGrid extends DataGrid -{ - /** - * Select action toggle. - * - * @var string - */ - protected $selectAction = '.action-select'; - - /** - * Initialize block elements - * - * @var array $filters - */ - protected $filters = [ - 'code' => [ - 'selector' => '.admin__data-grid-filters input[name*=customer_group_code]', - ], - 'tax_class_id' => [ - 'selector' => '.admin__data-grid-filters select[name*=tax_class_id]', - 'input' => 'select' - ], - ]; - - /** - * Click on "Edit" link. - * - * @param SimpleElement $rowItem - * @return void - */ - protected function clickEditLink(SimpleElement $rowItem) - { - if ($rowItem->find($this->selectAction)->isVisible()) { - $rowItem->find($this->selectAction)->click(); - } - $rowItem->find($this->editLink)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.php deleted file mode 100644 index aae41a7085fa7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Adminhtml\Group\Edit; - -use Magento\Mtf\Client\Locator; - -/** - * Customer group edit form. - */ -class Form extends \Magento\Mtf\Block\Form -{ - /** - * Check if field exists and is disabled. - * - * @param string $field - * @return bool - * @throws \Exception - */ - public function isFieldDisabled($field) - { - if (!isset($this->mapping[$field])) { - throw new \Exception("Cannot find field $field. Check for field mapping in " . self::class); - } - $disabledField = $this->mapping[$field]['selector']; - $strategy = isset($this->mapping[$field]['strategy']) - ? $this->mapping[$field]['strategy'] - : Locator::SELECTOR_CSS; - return $this->_rootElement->find($disabledField, $strategy)->isDisabled(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.xml deleted file mode 100644 index 14953decfc85d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Adminhtml/Group/Edit/Form.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <code /> - <tax_class_id> - <selector>#tax_class_id</selector> - <input>select</input> - </tax_class_id> - <customer_group_code> - <selector>#customer_group_code</selector> - </customer_group_code> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.php deleted file mode 100644 index dc1e901a3feae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.php +++ /dev/null @@ -1,211 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Form; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Customer account edit form. - */ -class CustomerForm extends Form -{ - /** - * Save button button css selector. - * - * @var string - */ - protected $saveButton = '[type="submit"]'; - - /** - * Locator for customer attribute on Edit Account Information page. - * - * @var string - */ - protected $customerAttribute = "[name='%s[]']"; - - /** - * Validation text message for a field. - * - * @var string - */ - protected $validationText = '.mage-error[for="%s"]'; - - /** - * Fixture mapping and fields revision. - * - * @param array|null $fields - * @param string|null $parent - * @return array - */ - protected function dataMapping(array $fields = null, $parent = null) - { - if (isset($fields['website_id'])) { - unset($fields['website_id']); - } - return parent::dataMapping($fields, $parent); - } - - /** - * Click on save button. - * - * @return void - */ - public function submit() - { - $this->_rootElement->find($this->saveButton)->click(); - } - - /** - * Fill the customer data. - * - * @param FixtureInterface $customer - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $customer, SimpleElement $element = null) - { - /** @var Customer $customer */ - if ($customer->hasData()) { - parent::fill($customer, $element); - } - return $this; - } - - /** - * Get all error validation messages for fields. - * - * @param Customer $customer - * @return array - */ - public function getValidationMessages(Customer $customer) - { - $messages = []; - foreach (array_keys($customer->getData()) as $field) { - $element = $this->_rootElement->find(sprintf($this->validationText, str_replace('_', '-', $field))); - if ($element->isVisible()) { - $messages[$field] = $element->getText(); - } - } - - return $messages; - } - - /** - * Get Customer first name from field. - * - * @return string - */ - public function getFirstName() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['customer']['value']['firstname']['selector'] - )->getValue(); - } - - /** - * Get Customer last name from field. - * - * @return string - */ - public function getLastName() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['customer']['value']['lastname']['selector'] - )->getValue(); - } - - /** - * Set 'Change Email' checkbox value. - * - * @param boolean $value - * @return void - */ - public function setChangeEmail($value) - { - $mapping = $this->dataMapping(); - $this->_rootElement->find( - $mapping['change_email']['selector'], - $mapping['change_email']['strategy'], - 'checkbox' - )->setValue($value ? "Yes" : "No"); - } - - /** - * Set 'Change Password' checkbox value. - * - * @param boolean $value - * @return void - */ - public function setChangePassword($value) - { - $mapping = $this->dataMapping(); - $this->_rootElement->find( - $mapping['change_password']['selector'], - $mapping['change_password']['strategy'], - 'checkbox' - )->setValue($value ? "Yes" : "No"); - } - - /** - * Check if Current Password field is visible. - * - * @return boolean - */ - public function isCurrentPasswordVisible() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['customer']['value']['current_password']['selector'] - )->isVisible(); - } - - /** - * Check if Password field is visible. - * - * @return boolean - */ - public function isPasswordVisible() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['customer']['value']['password']['selector'] - )->isVisible(); - } - - /** - * Check if Confirmation field is visible. - * - * @return boolean - */ - public function isConfirmPasswordVisible() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['confirmation']['selector'], - $mapping['confirmation']['strategy'] - )->isVisible(); - } - - /** - * Check if Email field is visible. - * - * @return boolean - */ - public function isEmailVisible() - { - $mapping = $this->dataMapping(); - return $this->_rootElement->find( - $mapping['customer']['value']['email']['selector'] - )->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.xml deleted file mode 100644 index 818edfd88a0e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/CustomerForm.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> -<fields> - <customer composite="1"> - <firstname> - <selector>input[name*=firstname]</selector> - </firstname> - <lastname> - <selector>input[name*=lastname]</selector> - </lastname> - <email> - <selector>input[id=email]</selector> - </email> - <current_password> - <selector>input[name*=current-password]</selector> - </current_password> - <password> - <selector>input[name*=current-password]</selector> - </password> - </customer> - <change_password> - <input>checkbox</input> - </change_password> - <change_email> - <input>checkbox</input> - </change_email> - <confirmation /> -</fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.php deleted file mode 100644 index 706804448b40b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Form; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - */ -class ForgotPassword extends Form -{ - /** - * 'Submit' form button - * - * @var string - */ - protected $submit = '.action.submit'; - - /** - * Fill and submit form - * - * @param Customer $fixture - */ - public function resetForgotPassword(Customer $fixture) - { - $this->fill($fixture); - $this->_rootElement->find($this->submit, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.xml deleted file mode 100644 index 7333fc8dd2778..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/ForgotPassword.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <fields> - <email /> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.php deleted file mode 100644 index c82d4ad480979..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Form; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Form for frontend login. - */ -class Login extends Form -{ - /** - * Login button for registered customers. - * - * @var string - */ - private $loginButton = '.action.login'; - - /** - * 'Register' customer button. - * - * @var string - */ - private $registerButton = '.action.create'; - - /** - * Selector for password field with autocomplete off. - * - * @var string - */ - private $passwordFieldWithAutocompleteOff = 'input[name="login[password]"][autocomplete="off"]'; - - /** - * Checks if password field autocomplete is off. - * - * @return bool - */ - public function isPasswordAutocompleteOff() - { - return $this->_rootElement->find($this->passwordFieldWithAutocompleteOff)->isVisible(); - } - - /** - * Login customer in the Frontend. - * - * @param FixtureInterface $customer - * - * @SuppressWarnings(PHPMD.ConstructorWithNameAsEnclosingClass) - */ - public function login(FixtureInterface $customer) - { - $this->fill($customer); - $this->submit(); - $this->waitForElementNotVisible($this->loginButton, Locator::SELECTOR_CSS); - } - - /** - * Submit login form. - */ - public function submit() - { - $this->_rootElement->find($this->loginButton, Locator::SELECTOR_CSS)->click(); - } - - /** - * Press 'Register' button. - */ - public function registerCustomer() - { - $this->_rootElement->find($this->registerButton, Locator::SELECTOR_CSS)->click(); - } - - /** - * Check whether block is visible. - * - * @return bool - */ - public function isVisible() - { - return $this->_rootElement->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.xml deleted file mode 100644 index 5b08e3a3b06bb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Login.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <wrapper>login</wrapper> - <fields> - <email> - <selector>[name='login[username]']</selector> - </email> - <password /> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.php deleted file mode 100644 index 575a41de772af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Block\Form; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class Register - * Register new customer on Frontend - */ -class Register extends Form -{ - /** - * 'Submit' form button - * - * @var string - */ - protected $submit = '.action.submit'; - - /** - * Locator for customer attribute on New Order page - * - * @var string - */ - protected $customerAttribute = "[name='%s']"; - - /** - * Locator for password error - * - * @var string - */ - protected $passwordError = "#password-error"; - - /** - * Locator for password confirmation error - * - * @var string - */ - protected $passwordConfirmationError = "#password-confirmation-error"; - - /** - * Fixture mapping. - * - * @param array|null $fields - * @param string|null $parent - * @return array - */ - protected function dataMapping(array $fields = null, $parent = null) - { - if (isset($fields['website_id'])) { - unset($fields['website_id']); - } - return parent::dataMapping($fields, $parent); - } - - /** - * Create new customer account and fill billing address if it exists - * - * @param FixtureInterface $fixture - * @param $address - */ - public function registerCustomer(FixtureInterface $fixture, $address = null) - { - $this->fill($fixture); - if ($address !== null) { - $this->fill($address); - } - $this->_rootElement->find($this->submit, Locator::SELECTOR_CSS)->click(); - } - - /** - * Get password error on new customer registration form. - * - * @return string - * - */ - public function getPasswordError() - { - return $this->_rootElement->find($this->passwordError, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get password confirmation error on new customer registration form. - * - * @return string - * - */ - public function getPasswordConfirmationError() - { - return $this->_rootElement->find($this->passwordConfirmationError, Locator::SELECTOR_CSS)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.xml deleted file mode 100644 index 8ba3157b8c732..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Block/Form/Register.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <firstname /> - <lastname /> - <email /> - <company /> - <telephone /> - <street> - <selector>#street_1</selector> - </street> - <city /> - <region_id> - <input>select</input> - </region_id> - <postcode /> - <country_id> - <selector>#country</selector> - <input>select</input> - </country_id> - <password /> - <confirmation /> - <is_subscribed> - <input>checkbox</input> - </is_subscribed> - <password_confirmation> - <selector>[name=password_confirmation]</selector> - </password_confirmation> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressCreatedFrontend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressCreatedFrontend.php deleted file mode 100644 index 4d086cf06053d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressCreatedFrontend.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Fixture\Address; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customers address is preset in Address Book in Customer Account - */ -class AssertAdditionalAddressCreatedFrontend extends AbstractConstraint -{ - /** - * Asserts that 'Additional Address Entries' contains expected address. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param Address $shippingAddress - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex, Address $shippingAddress) - { - $customerAccountIndex->open(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('Address Book'); - $addressRenderer = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $shippingAddress, 'type' => 'html_without_company_separated_names'] - )->render(); - $isAddressExists = $customerAccountIndex->getAdditionalAddressBlock() - ->isAdditionalAddressExists($addressRenderer); - \PHPUnit\Framework\Assert::assertTrue( - $isAddressExists, - 'Customers address is absent in customer address book.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customers address is absent in customer address book.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressDeletedFrontend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressDeletedFrontend.php deleted file mode 100644 index 54e724fea7300..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAdditionalAddressDeletedFrontend.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that deleted customers address is absent in Address Book in Customer Account - */ -class AssertAdditionalAddressDeletedFrontend extends AbstractConstraint -{ - /** - * Expected message - */ - const EXPECTED_MESSAGE = 'You have no other address entries in your address book.'; - - /** - * Asserts that Asserts that 'Additional Address Entries' contains expected message - * - * @param CustomerAccountIndex $customerAccountIndex - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex) - { - $customerAccountIndex->open(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('Address Book'); - $actualText = $customerAccountIndex->getAdditionalAddressBlock()->getBlockText(); - \PHPUnit\Framework\Assert::assertTrue( - self::EXPECTED_MESSAGE == $actualText, - 'Expected text is absent in Additional Address block.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Deleted address is absent in "Additional Address Entries" block.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedBackend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedBackend.php deleted file mode 100644 index b4edec660c531..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedBackend.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Sales\Test\Page\Adminhtml\OrderCreateIndex; -use Magento\Sales\Test\Page\Adminhtml\OrderIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertAddressDeletedBackend - * Assert that deleted customers address is not displayed on backend during order creation - */ -class AssertAddressDeletedBackend extends AbstractConstraint -{ - /** - * Assert that deleted customers address is not displayed on backend during order creation - * - * @param OrderIndex $orderIndex - * @param OrderCreateIndex $orderCreateIndex - * @param Address $deletedAddress - * @param Customer $customer - * @return void - */ - public function processAssert( - OrderIndex $orderIndex, - OrderCreateIndex $orderCreateIndex, - Address $deletedAddress, - Customer $customer - ) { - $filter = ['email' => $customer->getEmail()]; - $orderIndex->open()->getGridPageActions()->addNew(); - $orderCreateIndex->getCustomerBlock()->searchAndOpen($filter); - $orderCreateIndex->getStoreBlock()->selectStoreView(); - $actualAddresses = $orderCreateIndex->getCreateBlock()->getBillingAddressBlock()->getExistingAddresses(); - $addressRenderer = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $deletedAddress] - ); - $addressToSearch = $addressRenderer->render(); - \PHPUnit\Framework\Assert::assertFalse( - in_array($addressToSearch, $actualAddresses), - 'Deleted address is present on backend during order creation' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Deleted address is absent on backend during order creation'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php deleted file mode 100644 index a9dc473fe453e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertAddressDeletedFrontend.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Page\CustomerAddressEdit; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Fixture\Address; - -/** - * Assert that deleted customers address is absent in Address Book in Customer Account. - */ -class AssertAddressDeletedFrontend extends AbstractConstraint -{ - /** - * Asserts that deleted address is not present on Frontend. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAddressEdit $customerAddressEdit - * @param Customer $customer - * @param Address $addressToDelete - * @return void - */ - public function processAssert( - CustomerAccountIndex $customerAccountIndex, - CustomerAddressEdit $customerAddressEdit, - Customer $customer, - Address $addressToDelete - ) { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('Address Book'); - $addressRenderer = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $addressToDelete, 'type' => 'html'] - ); - $deletedAddress = $addressRenderer->render(); - - $isAddressDeleted = false; - if ($customerAddressEdit->getEditForm()->isVisible() - || ($customerAccountIndex->getAdditionalAddressBlock()->getBlockText() !== null - && $deletedAddress != $customerAccountIndex->getAdditionalAddressBlock()->getBlockText()) - || ($customerAccountIndex->getDefaultAddressBlock()->getBlockText() !== null - && $deletedAddress != $customerAccountIndex->getAdditionalAddressBlock()->getBlockText()) - ) { - $isAddressDeleted = true; - } - - \PHPUnit\Framework\Assert::assertTrue( - $isAddressDeleted, - 'Customer address was not deleted.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Deleted address is absent in Frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php deleted file mode 100644 index 8d14811554149..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangePasswordFailMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountEdit; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertChangePasswordFailMessage - * Check that fail message is present - */ -class AssertChangePasswordFailMessage extends AbstractConstraint -{ - /** - * Fail message - */ - const FAIL_MESSAGE = "The password doesn't match this account. Verify the password and try again."; - - /** - * Assert that fail message is present - * - * @param CustomerAccountEdit $customerAccountEdit - * @return void - */ - public function processAssert(CustomerAccountEdit $customerAccountEdit) - { - \PHPUnit\Framework\Assert::assertEquals( - self::FAIL_MESSAGE, - $customerAccountEdit->getMessages()->getErrorMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Fail message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangingWebsiteChangeCountries.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangingWebsiteChangeCountries.php deleted file mode 100644 index 0ad21548e17c3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertChangingWebsiteChangeCountries.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert required fields on customer form. - */ -class AssertChangingWebsiteChangeCountries extends AbstractConstraint -{ - /** - * Assert required fields on customer form. - * - * @param CustomerIndexNew $customerNewPage - * @param array $expectedRequiredFields - * @return void - */ - public function processAssert( - CustomerIndexNew $customerIndexNew, - Customer $customer, - $expectedList - ) { - $customerIndexNew->getCustomerForm() - ->openTab('account_information'); - $customerIndexNew->getCustomerForm()->fillCustomer($customer); - $customerIndexNew->getCustomerForm() - ->openTab('addresses'); - $tab = $customerIndexNew->getCustomerForm() - ->getTab('addresses'); - $countriesList = $tab->getCountriesList(1); - sort($countriesList); - sort($expectedList); - \PHPUnit\Framework\Assert::assertEquals( - $countriesList, - $expectedList, - 'Wrong country list is displayed.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'All required fields on customer form are highlighted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressBackendRequiredFields.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressBackendRequiredFields.php deleted file mode 100644 index 46bb8ce72abb1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressBackendRequiredFields.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert required fields on customer address form. - */ -class AssertCustomerAddressBackendRequiredFields extends AbstractConstraint -{ - /** - * Expected message. - */ - const REQUIRE_MESSAGE = 'This is a required field.'; - - /** - * Assert required fields on customer address form. - * @param CustomerIndexNew $customerNewPage - * @param array $expectedRequiredFields - * @return void - * @throws \Exception - */ - public function processAssert(CustomerIndexNew $customerNewPage, array $expectedRequiredFields): void - { - $actualRequiredFields = $customerNewPage->getCustomerForm()->getTab('addresses') - ->getCustomerAddressModalForm()->getJsErrors(); - foreach ($expectedRequiredFields as $field) { - \PHPUnit\Framework\Assert::assertTrue( - isset($actualRequiredFields[$field]), - "Field '$field' is not highlighted with an JS error." - ); - \PHPUnit\Framework\Assert::assertEquals( - self::REQUIRE_MESSAGE, - $actualRequiredFields[$field], - "Field '$field' is not highlighted as required." - ); - } - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString(): string - { - return 'All required fields on customer form are highlighted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php deleted file mode 100644 index 02189cbd60183..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerAddressSuccessSaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerAddressSuccessSaveMessage - */ -class AssertCustomerAddressSuccessSaveMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - const SUCCESS_MESSAGE = 'You saved the address.'; - - /** - * Asserts that success message equals to expected message - * - * @param CustomerAccountIndex $customerAccountIndex - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex) - { - $successMessage = $customerAccountIndex->getMessages()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns success message if equals to expected message - * - * @return string - */ - public function toString() - { - return 'Success address save message on customer account index page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendBackButton.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendBackButton.php deleted file mode 100644 index 6aaa90f2eceed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendBackButton.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; - -/** - * Asserts that "Back" button works on customer edit page. - */ -class AssertCustomerBackendBackButton extends AbstractConstraint -{ - /** - * Asserts that "Back" button works on customer edit page (returns to customers grid). - * - * @param CustomerIndexEdit $customerEditPage - * @param CustomerIndex $customerGridPage - * @return void - */ - public function processAssert(CustomerIndexEdit $customerEditPage, CustomerIndex $customerGridPage) - { - $customerEditPage->getPageActionsBlock()->back(); - \PHPUnit\Framework\Assert::assertTrue( - $customerGridPage->getCustomerGridBlock()->isVisible(), - 'Clicking on "Back" button does not redirect to customers grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '"Back" button on customer edit page redirects to customers grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendDuplicateErrorMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendDuplicateErrorMessage.php deleted file mode 100644 index a6f6e8f935cb1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendDuplicateErrorMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Asserts duplicate error message on saving backend customer. - */ -class AssertCustomerBackendDuplicateErrorMessage extends AbstractConstraint -{ - /** - * Error save message text. - */ - const ERROR_SAVE_MESSAGE = 'A customer with the same email address already exists in an associated website.'; - - /** - * Asserts that error message is displayed while creating customer with the same email. - * - * @param CustomerIndex $customerIndexPage - * @return void - */ - public function processAssert(CustomerIndex $customerIndexPage) - { - $actualMessage = $customerIndexPage->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_SAVE_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_SAVE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Assert that error duplicated message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendFormTitle.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendFormTitle.php deleted file mode 100644 index c0d1a0aa2fe16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendFormTitle.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Assert that edit page of customer account contains correct title. - */ -class AssertCustomerBackendFormTitle extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'middle'; - /* end tags */ - - /** - * Assert that edit page of customer account contains correct title. - * - * @param CustomerAccountIndex $pageCustomerIndex - * @param Customer $customer - * @return void - */ - public function processAssert(CustomerAccountIndex $pageCustomerIndex, Customer $customer) - { - \PHPUnit\Framework\Assert::assertEquals( - $customer->getFirstname() . ' ' . $customer->getLastname(), - $pageCustomerIndex->getTitleBlock()->getTitle(), - 'Wrong page title is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer backend edit form title is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendRequiredFields.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendRequiredFields.php deleted file mode 100644 index 31fafc8edcbd2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerBackendRequiredFields.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert required fields on customer form. - */ -class AssertCustomerBackendRequiredFields extends AbstractConstraint -{ - /** - * Expected message. - */ - const REQUIRE_MESSAGE = 'This is a required field.'; - - /** - * Assert required fields on customer form. - * - * @param CustomerIndexNew $customerNewPage - * @param array $expectedRequiredFields - * @return void - */ - public function processAssert(CustomerIndexNew $customerNewPage, array $expectedRequiredFields) - { - $actualRequiredFields = $customerNewPage->getCustomerForm()->getJsErrors(); - foreach ($expectedRequiredFields as $field) { - \PHPUnit\Framework\Assert::assertTrue( - isset($actualRequiredFields[$field]), - "Field '$field' is not highlighted with an JS error." - ); - \PHPUnit\Framework\Assert::assertEquals( - self::REQUIRE_MESSAGE, - $actualRequiredFields[$field], - "Field '$field' is not highlighted as required." - ); - } - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'All required fields on customer form are highlighted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddressFrontendAddressBook.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddressFrontendAddressBook.php deleted file mode 100644 index 275e82a06421d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddressFrontendAddressBook.php +++ /dev/null @@ -1,76 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Block\Address\Renderer; -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Page\CustomerAccountAddress; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert customers address on Address Book in Customer Account. - */ -class AssertCustomerDefaultAddressFrontendAddressBook extends AbstractConstraint -{ - /** - * Asserts that Default Billing Address and Default Shipping Address equal to data from fixture. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAccountAddress $customerAddress - * @param Address|null $shippingAddress - * @param Address|null $billingAddress - * @return void - */ - public function processAssert( - CustomerAccountIndex $customerAccountIndex, - CustomerAccountAddress $customerAddress, - Address $shippingAddress, - Address $billingAddress = null - ) { - $customerAccountIndex->open(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('Address Book'); - - $shippingAddressRendered = $this->createAddressRenderer($shippingAddress)->render(); - $defaultShippingAddress = $customerAddress->getDefaultAddressBlock()->getDefaultShippingAddress(); - $validated = strpos($defaultShippingAddress, trim($shippingAddressRendered)) !== false; - if (null !== $billingAddress) { - $billingAddressRendered = $customerAddress->getDefaultAddressBlock()->getDefaultBillingAddress(); - $validated = - $validated && ($billingAddressRendered == $this->createAddressRenderer($billingAddress)->render()); - } - - \PHPUnit\Framework\Assert::assertTrue( - $validated, - 'Customer default address on address book tab is not matching the fixture.' - ); - } - - /** - * String representation of success assert. - * - * @return string - */ - public function toString() - { - return 'Default billing and shipping address form is correct.'; - } - - /** - * Instantiate Renderer object. - * - * @param Address $address - * @return Renderer - */ - private function createAddressRenderer(Address $address) - { - return $this->objectManager->create( - Renderer::class, - ['address' => $address, 'type' => 'html'] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddresses.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddresses.php deleted file mode 100644 index 3768bab85a33a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDefaultAddresses.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerDefaultAddresses - */ -class AssertCustomerDefaultAddresses extends AbstractConstraint -{ - /** - * Asserts that Default Billing Address and Default Shipping Address equal to data from fixture - * - * @param CustomerAccountIndex $customerAccountIndex - * @param Address $address - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex, Address $address) - { - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Account'); - sleep(6); - $defaultBillingAddress = explode( - "\n", - $customerAccountIndex->getDashboardAddress()->getDefaultBillingAddressText() - ); - $defaultShippingAddress = explode( - "\n", - $customerAccountIndex->getDashboardAddress()->getDefaultShippingAddressText() - ); - $pattern = $this->makeAddressPattern($address); - $billingDataDiff = $this->verifyForm($pattern, $defaultBillingAddress); - $shippingDataDiff = $this->verifyForm($pattern, $defaultShippingAddress); - $dataDiff = array_merge($billingDataDiff, $shippingDataDiff); - - \PHPUnit\Framework\Assert::assertEmpty( - $dataDiff, - 'Billing or shipping form was filled incorrectly.' - . "\nLog:\n" . implode(";\n", $dataDiff) - ); - } - - /** - * String representation of success assert - * - * @return string - */ - public function toString() - { - return 'Default billing and shipping address form is correct.'; - } - - /** - * Verifying that form is filled correctly - * - * @param array $pattern - * @param array $address - * @return array - */ - protected function verifyForm(array $pattern, array $address) - { - $errorMessages = []; - foreach ($pattern as $value) { - if (!in_array($value, $address)) { - $errorMessages[] = "Data '$value' in fields is not found."; - } - } - return $errorMessages; - } - - /** - * Make pattern for form verifying - * - * @param Address $address - * @return array - */ - protected function makeAddressPattern(Address $address) - { - $pattern = []; - $regionId = $address->getRegionId(); - $region = $regionId ? $regionId : $address->getRegion(); - - $pattern[] = $address->getFirstname() . " " . $address->getLastname(); - $pattern[] = $address->getCompany(); - $pattern[] = $address->getStreet(); - $pattern[] = $address->getCity() . ", " . $region . ", " . $address->getPostcode(); - $pattern[] = $address->getCountryId(); - $pattern[] = "T: " . $address->getTelephone(); - if ($address->hasData('fax')) { - $pattern[] = "F: " . $address->getFax(); - } - return $pattern; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDoesNotHaveDefaultAddresses.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDoesNotHaveDefaultAddresses.php deleted file mode 100644 index cd75a8c68c89a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerDoesNotHaveDefaultAddresses.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customers does not have default shipping and billing addresses - */ -class AssertCustomerDoesNotHaveDefaultAddresses extends AbstractConstraint -{ - /** - * Asserts that default shipping/billing addresses are not set. - * - * @param CustomerAccountIndex $customerAccountIndex - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex) - { - $customerAccountIndex->open(); - $defaultBillingAddress = explode( - "\n", - $customerAccountIndex->getDashboardAddress()->getDefaultBillingAddressText() - ); - $defaultShippingAddress = explode( - "\n", - $customerAccountIndex->getDashboardAddress()->getDefaultShippingAddressText() - ); - $actualAddressesTextValues = [ - 'defaultBillingAddress' => $defaultBillingAddress, - 'defaultShippingAddress' => $defaultShippingAddress - ]; - $expectedAddressesTextValues = [ - 'defaultBillingAddress' => [ - 'Default Billing Address', - 'You have not set a default billing address.', - 'Edit Address', - ], - 'defaultShippingAddress' => [ - 'Default Shipping Address', - 'You have not set a default shipping address.', - 'Edit Address', - ] - ]; - - \PHPUnit\Framework\Assert::assertEquals( - $expectedAddressesTextValues, - $actualAddressesTextValues, - 'Customer has default shipping/billing address but should not.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer does not have default shipping/billing address.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerFailRegisterMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerFailRegisterMessage.php deleted file mode 100644 index 316cf09d77162..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerFailRegisterMessage.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountCreate; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerFailRegisterMessage - */ -class AssertCustomerFailRegisterMessage extends AbstractConstraint -{ - /** - * Assert that error message is displayed on "Create New Customer Account" page(frontend) - * - * @param CustomerAccountCreate $registerPage - * @return void - */ - public function processAssert(CustomerAccountCreate $registerPage) - { - $errorMessage = $registerPage->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertNotEmpty( - $errorMessage, - 'No error message is displayed.' - ); - } - - /** - * Text error message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForgotPasswordSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForgotPasswordSuccessMessage.php deleted file mode 100644 index 38ea62e719fd6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForgotPasswordSuccessMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Page\CustomerAccountLogin; - -/** - * Assert that customer forgot password message is present on customer account forgot password page. - */ -class AssertCustomerForgotPasswordSuccessMessage extends AbstractConstraint -{ - const SUCCESS_MESSAGE = - 'If there is an account associated with %s you will receive an email with a link to reset your password.'; - - /** - * Assert that customer forgot password message is present on customer account forgot password page. - * - * @param CustomerAccountLogin $customerLogin - * @param Customer $customer - * @return void - */ - public function processAssert( - CustomerAccountLogin $customerLogin, - Customer $customer - ) { - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, $customer->getEmail()), - $customerLogin->getMessages()->getSuccessMessage(), - 'Wrong forgot password message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer forgot password message is present on customer account forgot password page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForm.php deleted file mode 100644 index d7f2dc433eba8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerForm.php +++ /dev/null @@ -1,175 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert customer data on customer backend form. - */ -class AssertCustomerForm extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'middle'; - /* end tags */ - - /** - * Skipped fields for verify data. - * - * @var array - */ - private $customerSkippedFields = [ - 'id', - 'password', - 'password_confirmation', - 'current_password', - 'is_subscribed', - 'address', - 'group_id' - ]; - - /** - * Locale map. - * - * @var array - */ - private $localeMap = [ - 'en_GB' => 'd/m/Y' - ]; - - /** - * Format date for current locale. - * - * @var string - */ - private $localeFormat = 'm/d/Y'; - - /** - * Assert that displayed customer data on edit page(backend) equals passed from fixture. - * - * @param Customer $customer - * @param CustomerIndex $pageCustomerIndex - * @param CustomerIndexEdit $pageCustomerIndexEdit - * @param Address $address [optional] - * @param string $locale - * @return void - */ - public function processAssert( - Customer $customer, - CustomerIndex $pageCustomerIndex, - CustomerIndexEdit $pageCustomerIndexEdit, - Address $address = null, - $locale = '' - ) { - $this->localeFormat = '' !== $locale && isset($this->localeMap[$locale]) - ? $this->localeMap[$locale] - : $this->localeFormat; - $data = []; - $filter = []; - - $data['customer'] = $customer->getData(); - if ($address) { - $data['addresses'][1] = $address->hasData() ? $address->getData() : []; - } else { - $data['addresses'] = []; - } - if (isset($data['customer']['dob'])) { - $data['customer']['dob'] = date($this->localeFormat, strtotime($data['customer']['dob'])); - } - $filter['email'] = $data['customer']['email']; - - $pageCustomerIndex->open(); - $pageCustomerIndex->getCustomerGridBlock()->searchAndOpen($filter); - - $dataForm = $pageCustomerIndexEdit->getCustomerForm()->getDataCustomer($customer, $address); - $dataDiff = $this->verify($data, $dataForm); - \PHPUnit\Framework\Assert::assertTrue( - empty($dataDiff), - 'Customer data on edit page(backend) not equals to passed from fixture.' - . "\nFailed values: " . implode(', ', $dataDiff) - ); - $this->assertCustomerGroupName($customer, $dataForm); - } - - /** - * Verify data in form equals to passed from fixture. - * - * @param array $dataFixture - * @param array $dataForm - * @return array - */ - private function verify(array $dataFixture, array $dataForm) - { - $result = []; - - $customerDiff = array_diff_assoc($dataFixture['customer'], $dataForm['customer']); - foreach ($customerDiff as $name => $value) { - if (in_array($name, $this->customerSkippedFields)) { - continue; - } - if (isset($dataForm['customer'][$name])) { - $result[] = "\ncustomer {$name}: \"{$dataForm['customer'][$name]}\" instead of \"{$value}\""; - } else { - $result[] = "\ncustomer {$name}: Field is absent. Expected value \"{$value}\""; - } - } - foreach ($dataFixture['addresses'] as $key => $address) { - $addressDiff = array_diff($address, $dataForm['addresses'][$key]); - foreach ($addressDiff as $name => $value) { - if (isset($dataForm['addresses'][$key][$name])) { - $result[] = "\naddress #{$key} {$name}: \"{$dataForm['addresses'][$key][$name]}" - . "\" instead of \"{$value}\""; - } else { - $result[] = "\naddress #{$key} {$name}: Field absent. Expected value \"{$value}\""; - } - } - } - - return $result; - } - - /** - * Check is Customer Group name correct. - * - * @param Customer $customer - * @param array $formData - * @return void - */ - private function assertCustomerGroupName(Customer $customer, array $formData) - { - $customerGroupName = $customer->getGroupId(); - - if ($customerGroupName) { - \PHPUnit\Framework\Assert::assertNotEmpty( - $formData['customer']['group_id'], - 'Customer Group value is empty.' - ); - - if (!empty($formData['customer']['group_id'])) { - \PHPUnit\Framework\Assert::assertContains( - $customerGroupName, - $formData['customer']['group_id'], - 'Customer Group name is incorrect.' - ); - } - } - } - - /** - * Text success verify Customer form. - * - * @return string - */ - public function toString() - { - return 'Displayed customer data on edit page(backend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupAlreadyExists.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupAlreadyExists.php deleted file mode 100644 index 3f80e3b7bf1ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupAlreadyExists.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupAlreadyExists - */ -class AssertCustomerGroupAlreadyExists extends AbstractConstraint -{ - const ERROR_MESSAGE = 'Customer Group already exists.'; - - /** - * Assert that customer group already exist - * - * @param CustomerGroupNew $customerGroupNew - * @return void - */ - public function processAssert(CustomerGroupNew $customerGroupNew) - { - $actualMessage = $customerGroupNew->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - ); - } - - /** - * Success assert of customer group already exist - * - * @return string - */ - public function toString() - { - return 'Customer group already exist.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupChangedToDefaultOnCustomerForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupChangedToDefaultOnCustomerForm.php deleted file mode 100644 index 10e31f333be43..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupChangedToDefaultOnCustomerForm.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer group is set to default on customer form. - */ -class AssertCustomerGroupChangedToDefaultOnCustomerForm extends AbstractConstraint -{ - /** - * Assert that customer group is set to default on customer form. - * - * @param Customer $customer - * @param CustomerGroup $defaultCustomerGroup - * @param CustomerIndexNew $customerIndexNew - * @param CustomerIndexNew $customerIndexEdit - * @return void - */ - public function processAssert( - Customer $customer, - CustomerGroup $defaultCustomerGroup, - CustomerIndexNew $customerIndexNew, - CustomerIndexNew $customerIndexEdit - ) { - $customerIndexEdit->open(['id' => $customer->getId()]); - $customerFormData = $customerIndexNew->getCustomerForm()->getData($customer); - \PHPUnit\Framework\Assert::assertTrue( - $customerFormData['group_id'] == $defaultCustomerGroup->getCustomerGroupCode(), - "Customer group not set to default after group was deleted." - ); - } - - /** - * Success assert of customer group set to default on customer form. - * - * @return string - */ - public function toString() - { - return 'Customer group is set to default on customer form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupFieldsDisabled.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupFieldsDisabled.php deleted file mode 100644 index b29f703ceb731..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupFieldsDisabled.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupEdit; - -/** - * Assert that group fields are not available. - */ -class AssertCustomerGroupFieldsDisabled extends AbstractConstraint -{ - /** - * Assert that fields are disabled on customer group form. - * - * @param CustomerGroupEdit $customerGroupEdit - * @param array $disabledFields - * @return void - */ - public function processAssert( - CustomerGroupEdit $customerGroupEdit, - array $disabledFields - ) { - foreach ($disabledFields as $field) { - \PHPUnit\Framework\Assert::assertTrue( - $customerGroupEdit->getPageMainForm()->isFieldDisabled($field), - "Field $field is not disabled." - ); - } - } - - /** - * Success assert of customer fields are not available. - * - * @return string - */ - public function toString() - { - return 'Customer fields are not available.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupForm.php deleted file mode 100644 index f5a7f3a262a60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupForm.php +++ /dev/null @@ -1,99 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupForm - */ -class AssertCustomerGroupForm extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Skipped fields while verifying - * - * @var array - */ - protected $skippedFields = [ - 'customer_group_id', - ]; - - /** - * Assert that customer group form equals to fixture data - * - * @param CustomerGroupIndex $customerGroupIndex - * @param CustomerGroupNew $customerGroupNew - * @param CustomerGroup $customerGroup - * @param CustomerGroup $customerGroupOriginal - * @return void - */ - public function processAssert( - CustomerGroupIndex $customerGroupIndex, - CustomerGroupNew $customerGroupNew, - CustomerGroup $customerGroup, - CustomerGroup $customerGroupOriginal = null - ) { - $data = ($customerGroupOriginal !== null) - ? array_merge($customerGroupOriginal->getData(), $customerGroup->getData()) - : $customerGroup->getData(); - $filter = [ - 'code' => $data['customer_group_code'], - ]; - - $customerGroupIndex->open(); - $customerGroupIndex->getCustomerGroupGrid()->searchAndOpen($filter); - $formData = $customerGroupNew->getPageMainForm()->getData(); - $dataDiff = $this->verifyForm($formData, $data); - \PHPUnit\Framework\Assert::assertTrue( - empty($dataDiff), - 'Customer Group form was filled incorrectly.' - . "\nLog:\n" . implode(";\n", $dataDiff) - ); - } - - /** - * Verifying that form is filled correctly - * - * @param array $formData - * @param array $fixtureData - * @return array $errorMessages - */ - protected function verifyForm(array $formData, array $fixtureData) - { - $errorMessages = []; - - foreach ($fixtureData as $key => $value) { - if (in_array($key, $this->skippedFields)) { - continue; - } - if ($value !== $formData[$key]) { - $errorMessages[] = "Data in " . $key . " field is not equal." - . "\nExpected: " . $value - . "\nActual: " . $formData[$key]; - } - } - - return $errorMessages; - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Customer Group form was filled correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupInGrid.php deleted file mode 100644 index ff7bf2bab6742..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupInGrid.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupInGrid - */ -class AssertCustomerGroupInGrid extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Assert that customer group in grid - * - * @param CustomerGroup $customerGroup - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function processAssert( - CustomerGroup $customerGroup, - CustomerGroupIndex $customerGroupIndex - ) { - $customerGroupIndex->open(); - $filter = ['code' => $customerGroup->getCustomerGroupCode()]; - \PHPUnit\Framework\Assert::assertTrue( - $customerGroupIndex->getCustomerGroupGrid()->isRowVisible($filter), - 'Group with type \'' . $customerGroup->getCustomerGroupCode() . '\'is absent in customer groups grid.' - ); - } - - /** - * Success assert of customer group in grid - * - * @return string - */ - public function toString() - { - return 'Customer group in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotInGrid.php deleted file mode 100644 index 03542995dcbd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupNotInGrid - */ -class AssertCustomerGroupNotInGrid extends AbstractConstraint -{ - /** - * Assert that customer group not in grid - * - * @param CustomerGroup $customerGroup - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function processAssert( - CustomerGroup $customerGroup, - CustomerGroupIndex $customerGroupIndex - ) { - $customerGroupIndex->open(); - $filter = ['code' => $customerGroup->getCustomerGroupCode()]; - \PHPUnit\Framework\Assert::assertFalse( - $customerGroupIndex->getCustomerGroupGrid()->isRowVisible($filter), - 'Group with name \'' . $customerGroup->getCustomerGroupCode() . '\' in customer groups grid.' - ); - } - - /** - * Success assert of customer group not in grid. - * - * @return string - */ - public function toString() - { - return 'Customer group not in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCartPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCartPriceRuleForm.php deleted file mode 100644 index 625b140fc165e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCartPriceRuleForm.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\SalesRule\Test\Block\Adminhtml\Promo\Quote\Edit\Section\RuleInformation; -use Magento\SalesRule\Test\Page\Adminhtml\PromoQuoteNew; - -/** - * Assert that customer group is not on cart price rule page. - */ -class AssertCustomerGroupNotOnCartPriceRuleForm extends AbstractConstraint -{ - /** - * Assert that customer group is not on cart price rule page. - * - * @param PromoQuoteNew $promoQuoteNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - PromoQuoteNew $promoQuoteNew, - CustomerGroup $customerGroup - ) { - $promoQuoteNew->open(); - $promoQuoteNew->getSalesRuleForm()->openSection('rule_information'); - - /** @var RuleInformation $ruleInformationTab */ - $ruleInformationTab = $promoQuoteNew->getSalesRuleForm()->getSection('rule_information'); - \PHPUnit\Framework\Assert::assertFalse( - $ruleInformationTab->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} is still in cart price rule page." - ); - } - - /** - * Success assert of customer group not on cart price rule page. - * - * @return string - */ - public function toString() - { - return 'Customer group is not on cart price rule page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCatalogPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCatalogPriceRuleForm.php deleted file mode 100644 index ae2083bd8888f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnCatalogPriceRuleForm.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\CatalogRule\Test\Page\Adminhtml\CatalogRuleNew; -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\CatalogRule\Test\Block\Adminhtml\Promo\Catalog\Edit\Section\RuleInformation; - -/** - * Assert that customer group is not on catalog price rule page. - */ -class AssertCustomerGroupNotOnCatalogPriceRuleForm extends AbstractConstraint -{ - /** - * Assert that customer group is not on catalog price rule page. - * - * @param CatalogRuleNew $catalogRuleNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - CatalogRuleNew $catalogRuleNew, - CustomerGroup $customerGroup - ) { - $catalogRuleNew->open(); - $catalogRuleNew->getEditForm()->openSection('rule_information'); - - /** @var RuleInformation $ruleInformationSection */ - $ruleInformationSection = $catalogRuleNew->getEditForm()->getSection('rule_information'); - \PHPUnit\Framework\Assert::assertFalse( - $ruleInformationSection->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} is still in catalog price rule page." - ); - } - - /** - * Success assert of customer group absent on catalog price rule page. - * - * @return string - */ - public function toString() - { - return 'Customer group is not on catalog price rule page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnProductForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnProductForm.php deleted file mode 100644 index da8a48f8805a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupNotOnProductForm.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedPricing; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer group is not on product form. - */ -class AssertCustomerGroupNotOnProductForm extends AbstractConstraint -{ - /** - * Assert that customer group not on product page. - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductNew $catalogProductNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - CatalogProductIndex $catalogProductIndex, - CatalogProductNew $catalogProductNew, - CustomerGroup $customerGroup - ) { - $catalogProductIndex->open(); - $catalogProductIndex->getGridPageActionBlock()->addProduct(); - $catalogProductNew->getProductForm()->openSection('advanced-pricing'); - - /** @var AdvancedPricing $advancedPricingTab */ - $advancedPricingTab = $catalogProductNew->getProductForm()->getSection('advanced-pricing'); - \PHPUnit\Framework\Assert::assertFalse( - $advancedPricingTab->getTierPriceForm()->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} is still in tier price form on product page." - ); - } - - /** - * Success assert of customer group absent on product page. - * - * @return string - */ - public function toString() - { - return 'Customer group not on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCartPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCartPriceRuleForm.php deleted file mode 100644 index 831160fa2d57d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCartPriceRuleForm.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\SalesRule\Test\Block\Adminhtml\Promo\Quote\Edit\Section\RuleInformation; -use Magento\SalesRule\Test\Page\Adminhtml\PromoQuoteIndex; -use Magento\SalesRule\Test\Page\Adminhtml\PromoQuoteNew; - -/** - * Assert that customer group find on cart price rule page. - */ -class AssertCustomerGroupOnCartPriceRuleForm extends AbstractConstraint -{ - /** - * Assert that customer group find on cart price rule page. - * - * @param PromoQuoteIndex $promoQuoteIndex - * @param PromoQuoteNew $promoQuoteNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - PromoQuoteIndex $promoQuoteIndex, - PromoQuoteNew $promoQuoteNew, - CustomerGroup $customerGroup - ) { - $promoQuoteIndex->open(); - $promoQuoteIndex->getGridPageActions()->addNew(); - $promoQuoteNew->getSalesRuleForm()->openSection('rule_information'); - - /** @var RuleInformation $ruleInformationTab */ - $ruleInformationTab = $promoQuoteNew->getSalesRuleForm()->getSection('rule_information'); - \PHPUnit\Framework\Assert::assertTrue( - $ruleInformationTab->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} not in cart price rule page." - ); - } - - /** - * Success assert of customer group find on cart price rule page. - * - * @return string - */ - public function toString() - { - return 'Customer group find on cart price rule page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCatalogPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCatalogPriceRuleForm.php deleted file mode 100644 index 2e4f6cdd7455a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCatalogPriceRuleForm.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\CatalogRule\Test\Page\Adminhtml\CatalogRuleIndex; -use Magento\CatalogRule\Test\Page\Adminhtml\CatalogRuleNew; -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\CatalogRule\Test\Block\Adminhtml\Promo\Catalog\Edit\Section\RuleInformation; - -/** - * Assert that customer group find on catalog price rule page. - */ -class AssertCustomerGroupOnCatalogPriceRuleForm extends AbstractConstraint -{ - /** - * Assert that customer group find on catalog price rule page. - * - * @param CatalogRuleIndex $catalogRuleIndex - * @param CatalogRuleNew $catalogRuleNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - CatalogRuleIndex $catalogRuleIndex, - CatalogRuleNew $catalogRuleNew, - CustomerGroup $customerGroup - ) { - $catalogRuleIndex->open(); - $catalogRuleIndex->getGridPageActions()->addNew(); - $catalogRuleNew->getEditForm()->openSection('rule_information'); - - /** @var RuleInformation $ruleInformationSection */ - $ruleInformationSection = $catalogRuleNew->getEditForm()->getSection('rule_information'); - \PHPUnit\Framework\Assert::assertTrue( - $ruleInformationSection->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} not in catalog price rule page." - ); - } - - /** - * Success assert of customer group find on catalog price rule page. - * - * @return string - */ - public function toString() - { - return 'Customer group find on catalog price rule page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCustomerForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCustomerForm.php deleted file mode 100644 index 4025a73ed432b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnCustomerForm.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Assert that customer group find on account information page. - */ -class AssertCustomerGroupOnCustomerForm extends AbstractConstraint -{ - /** - * Assert that customer group find on account information page. - * - * @param FixtureFactory $fixtureFactory - * @param CustomerGroup $customerGroup - * @param CustomerIndexNew $customerIndexNew - * @param CustomerIndex $customerIndex - * @return void - */ - public function processAssert( - FixtureFactory $fixtureFactory, - CustomerGroup $customerGroup, - CustomerIndexNew $customerIndexNew, - CustomerIndex $customerIndex - ) { - /** @var Customer $customer */ - $customer = $fixtureFactory->createByCode( - 'customer', - [ - 'dataset' => 'defaultBackend', - 'data' => ['group_id' => ['customerGroup' => $customerGroup]] - ] - ); - $filter = ['email' => $customer->getEmail()]; - - $customerIndexNew->open(); - $customerIndexNew->getCustomerForm()->fillCustomer($customer); - $customerIndexNew->getPageActionsBlock()->save(); - $customerIndex->getCustomerGridBlock()->searchAndOpen($filter); - $customerFormData = $customerIndexNew->getCustomerForm()->getData($customer); - $customerFixtureData = $customer->getData(); - $diff = array_diff($customerFixtureData, $customerFormData); - - \PHPUnit\Framework\Assert::assertTrue( - empty($diff), - "Customer group {$customerGroup->getCustomerGroupCode()} not in account information page." - ); - } - - /** - * Success assert of customer group find on account information page. - * - * @return string - */ - public function toString() - { - return 'Customer group find on account information page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnProductForm.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnProductForm.php deleted file mode 100644 index 2fe5a7dee8492..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupOnProductForm.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Catalog\Test\Block\Adminhtml\Product\Edit\Section\AdvancedPricing; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex; -use Magento\Catalog\Test\Page\Adminhtml\CatalogProductNew; -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer group find on product page. - */ -class AssertCustomerGroupOnProductForm extends AbstractConstraint -{ - /** - * Assert that customer group find on product page. - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductNew $catalogProductNew - * @param CustomerGroup $customerGroup - * @return void - */ - public function processAssert( - CatalogProductIndex $catalogProductIndex, - CatalogProductNew $catalogProductNew, - CustomerGroup $customerGroup - ) { - $catalogProductIndex->open(); - $catalogProductIndex->getGridPageActionBlock()->addProduct(); - $catalogProductNew->getProductForm()->openSection('advanced-pricing'); - - /** @var AdvancedPricing $advancedPricingTab */ - $advancedPricingTab = $catalogProductNew->getProductForm()->getSection('advanced-pricing'); - \PHPUnit\Framework\Assert::assertTrue( - $advancedPricingTab->getTierPriceForm()->isVisibleCustomerGroup($customerGroup), - "Customer group {$customerGroup->getCustomerGroupCode()} not in tier price form on product page." - ); - } - - /** - * Success assert of customer group find on product page. - * - * @return string - */ - public function toString() - { - return 'Customer group find on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php deleted file mode 100644 index cc01cfbffbdd9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupSuccessDeleteMessage - */ -class AssertCustomerGroupSuccessDeleteMessage extends AbstractConstraint -{ - const SUCCESS_DELETE_MESSAGE= "You deleted the customer group."; - - /** - * Assert that message "The customer group has been deleted." is displayed on Customer Group page. - * - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function processAssert(CustomerGroupIndex $customerGroupIndex) - { - $actualMessage = $customerGroupIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success delete message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success delete message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php deleted file mode 100644 index 681da9f220ebe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerGroupSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerGroupSuccessSaveMessage - */ -class AssertCustomerGroupSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_MESSAGE = 'You saved the customer group.'; - - /** - * Assert that success message is displayed after customer group save - * - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function processAssert(CustomerGroupIndex $customerGroupIndex) - { - $actualMessage = $customerGroupIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Success assert of created customer group success message. - * - * @return string - */ - public function toString() - { - return 'Customer group success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInGrid.php deleted file mode 100644 index 470aecc4a15e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInGrid.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerInGrid - * - */ -class AssertCustomerInGrid extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'middle'; - /* end tags */ - - /** - * Assert customer availability in Customer Grid - * - * @param Customer $customer - * @param CustomerIndex $pageCustomerIndex - * @return void - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function processAssert( - Customer $customer, - CustomerIndex $pageCustomerIndex - ) { - $customerData = $customer->getData(); - $name = (isset($customerData['prefix']) ? $customerData['prefix'] . ' ' : '') - . $customerData['firstname'] - . (isset($customerData['middlename']) ? ' ' . $customerData['middlename'] : '') - . ' ' . $customerData['lastname'] - . (isset($customerData['suffix']) ? ' ' . $customerData['suffix'] : ''); - $filter = [ - 'name' => $name, - 'email' => $customerData['email'], - ]; - $errorMessage = 'Customer with ' - . 'name \'' . $filter['name'] . '\', ' - . 'email \'' . $filter['email'] . '\''; - - if ($customer->hasData('dob')) { - $filter['dob_from'] = $customer->getData('dob'); - $filter['dob_to'] = $customer->getData('dob'); - } - - $pageCustomerIndex->open(); - $pageCustomerIndex->getCustomerGridBlock()->isRowVisible($filter); - if ($customer->hasData('dob')) { - unset($filter['dob_from']); - unset($filter['dob_to']); - $filter['dob'] = $this->prepareDob($customer->getData('dob')); - $errorMessage .= ', dob \'' . $filter['dob'] . '\' '; - } - - $errorMessage .= 'is absent in Customer grid.'; - - \PHPUnit\Framework\Assert::assertTrue( - $pageCustomerIndex->getCustomerGridBlock()->isRowVisible($filter, false), - $errorMessage - ); - } - - /** - * Prepare dob string to grid date format. - * - * @param string $date - * @return false|string - */ - private function prepareDob($date) - { - return date('M d, Y', strtotime($date)); - } - - /** - * Text success exist Customer in grid - * - * @return string - */ - public function toString() - { - return 'Customer is present in Customer grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php deleted file mode 100644 index 2cbb7f2ba1a72..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInfoSuccessSavedMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerInfoSuccessSavedMessage - */ -class AssertCustomerInfoSuccessSavedMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - const SUCCESS_MESSAGE = 'You saved the account information.'; - - /** - * Asserts that success message equals to expected message - * - * @param CustomerAccountIndex $customerAccountIndex - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex) - { - $successMessage = $customerAccountIndex->getMessages()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns success message if equals to expected message - * - * @return string - */ - public function toString() - { - return 'Success customer info save message on customer account index page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInvalidEmail.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInvalidEmail.php deleted file mode 100644 index 7ea3747cc7927..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerInvalidEmail.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerInvalidEmail - * - */ -class AssertCustomerInvalidEmail extends AbstractConstraint -{ - const ERROR_EMAIL_MESSAGE = '"Email" is not a valid hostname.'; - - /** - * Assert that error message "Please correct this email address: "%email%"." is displayed - * after customer with invalid email save - * - * @param CustomerIndexNew $pageCustomerIndexNew - * @return void - */ - public function processAssert(CustomerIndexNew $pageCustomerIndexNew) - { - $expectMessage = self::ERROR_EMAIL_MESSAGE; - $actualMessage = $pageCustomerIndexNew->getMessagesBlock()->getErrorMessage(); - - \PHPUnit\Framework\Assert::assertEquals( - $expectMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $expectMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success display error message - * - * @return string - */ - public function toString() - { - return 'Assert that error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerIsLockedOnBackend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerIsLockedOnBackend.php deleted file mode 100644 index 132f5d44e41c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerIsLockedOnBackend.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer account is locked on backend. - */ -class AssertCustomerIsLockedOnBackend extends AbstractConstraint -{ - /** - * Customer account status. - */ - const CUSTOMER_LOCKED_ACCOUNT = 'Locked'; - - /** - * Assert customer account status on the backend. - * - * @param CustomerIndexEdit $customerIndexEdit - * @param Customer $customer - * @return void - */ - public function processAssert( - CustomerIndexEdit $customerIndexEdit, - Customer $customer - ) { - $customerIndexEdit->open(['id' => $customer->getId()]); - \PHPUnit\Framework\Assert::assertEquals( - self::CUSTOMER_LOCKED_ACCOUNT, - $customerIndexEdit->getCustomerForm()->getPersonalInformation('Account Lock'), - 'Incorrect customer account status.' - ); - } - - /** - * Assert that displayed customer account status is correct. - * - * @return string - */ - public function toString() - { - return 'Customer account status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogin.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogin.php deleted file mode 100644 index e138ce9159fe1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogin.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer successfully log in. - */ -class AssertCustomerLogin extends AbstractConstraint -{ - /** - * Assert that customer successfully logs in. - * - * @param CmsIndex $cmsIndex - * @param Customer $customer - * @return void - */ - public function processAssert(CmsIndex $cmsIndex, Customer $customer) - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - \PHPUnit\Framework\Assert::assertFalse( - $cmsIndex->getLinksBlock()->isAuthorizationVisible(), - "Authorisation link is visible after Login attempt." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Customer is successfully logged in."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLoginErrorMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLoginErrorMessage.php deleted file mode 100644 index 83784563f4fa2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLoginErrorMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountLogin; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer login error message is displayed. - */ -class AssertCustomerLoginErrorMessage extends AbstractConstraint -{ - /** - * Customer login error message. - */ - const ERROR_MESSAGE = - 'The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later.'; - - /** - * Assert that customer login error message is displayed. - * - * @param CustomerAccountLogin $customerLogin - * @return void - */ - public function processAssert( - CustomerAccountLogin $customerLogin - ) { - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $customerLogin->getMessages()->getErrorMessage(), - 'Wrong error message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer login error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogout.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogout.php deleted file mode 100644 index 9e6b3dfad4966..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerLogout.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that customer success log out. - */ -class AssertCustomerLogout extends AbstractConstraint -{ - /** - * Logout page title. - */ - const LOGOUT_PAGE_TITLE = 'You are signed out'; - - /** - * Home page title. - */ - const HOME_PAGE_TITLE = 'Home Page'; - - /** - * Assert that customer success log out. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param CmsIndex $cmsIndex - * @return void - */ - public function processAssert(CustomerAccountIndex $customerAccountIndex, CmsIndex $cmsIndex) - { - $customerAccountIndex->open(); - $cmsIndex->getCmsPageBlock()->waitPageInit(); - - $cmsIndex->getLinksBlock()->openLink('Sign Out'); - $cmsIndex->getCmsPageBlock()->waitUntilTextIsVisible(self::LOGOUT_PAGE_TITLE); - $cmsIndex->getCmsPageBlock()->waitUntilTextIsVisible(self::HOME_PAGE_TITLE); - $cmsIndex->getCmsPageBlock()->waitPageInit(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getLinksBlock()->isLinkVisible('Sign In'), - "Customer wasn't logged out." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Customer is successfully log out."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteInGrid.php deleted file mode 100644 index 38c076245f374..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerMassDeleteInGrid - * Check that mass deleted customers availability in Customer Grid - */ -class AssertCustomerMassDeleteInGrid extends AbstractConstraint -{ - /** - * Assert that customers which haven't been deleted are present in customer grid - * - * @param CustomerIndex $pageCustomerIndex - * @param AssertCustomerInGrid $assertCustomerInGrid - * @param int $customersQtyToDelete - * @param Customer[] $customers - * @return void - */ - public function processAssert( - CustomerIndex $pageCustomerIndex, - AssertCustomerInGrid $assertCustomerInGrid, - $customersQtyToDelete, - $customers - ) { - $customers = array_slice($customers, $customersQtyToDelete); - foreach ($customers as $customer) { - $assertCustomerInGrid->processAssert($customer, $pageCustomerIndex); - } - } - - /** - * Text success exist Customer in grid - * - * @return string - */ - public function toString() - { - return 'Customers are present in Customer grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteNotInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteNotInGrid.php deleted file mode 100644 index d4fcef108fb5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteNotInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerMassDeleteNotInGrid - * Check that mass deleted customers are not in customer's grid - */ -class AssertCustomerMassDeleteNotInGrid extends AbstractConstraint -{ - /** - * Asserts that mass deleted customers are not in customer's grid - * - * @param CustomerIndex $customerIndexPage - * @param AssertCustomerNotInGrid $assertCustomerNotInGrid - * @param int $customersQtyToDelete - * @param Customer[] $customers - * @return void - */ - public function processAssert( - CustomerIndex $customerIndexPage, - AssertCustomerNotInGrid $assertCustomerNotInGrid, - $customersQtyToDelete, - $customers - ) { - for ($i = 0; $i < $customersQtyToDelete; $i++) { - $assertCustomerNotInGrid->processAssert($customers[$i], $customerIndexPage); - } - } - - /** - * Success message if Customer not in grid - * - * @return string - */ - public function toString() - { - return 'Deleted customers are absent in Customer grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteSuccessMessage.php deleted file mode 100644 index bf60ee2db98dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerMassDeleteSuccessMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerMassDeleteSuccessMessage - * Check that message "A total of "x" record(s) were deleted." is present - */ -class AssertCustomerMassDeleteSuccessMessage extends AbstractConstraint -{ - /** - * Message that appears after deletion via mass actions - */ - const SUCCESS_DELETE_MESSAGE = 'A total of %d record(s) were deleted.'; - - /** - * Assert that message "A total of "x" record(s) were deleted." - * - * @param $customersQtyToDelete - * @param CustomerIndex $customerIndexPage - * @return void - */ - public function processAssert($customersQtyToDelete, CustomerIndex $customerIndexPage) - { - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_DELETE_MESSAGE, $customersQtyToDelete), - $customerIndexPage->getMessagesBlock()->getSuccessMessage(), - 'Wrong delete message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Mass delete customer message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNameFrontend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNameFrontend.php deleted file mode 100644 index ef455d1fc48f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNameFrontend.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Page\CustomerAccountEdit; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert customer name in Contact information block and Account info tab. - */ -class AssertCustomerNameFrontend extends AbstractConstraint -{ - /** - * Asserts that customer name in Contact information block and Account info tab matches name in fixture. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAccountEdit $customerAccountEdit - * @param Customer $customer - * @return void - */ - public function processAssert( - CustomerAccountIndex $customerAccountIndex, - CustomerAccountEdit $customerAccountEdit, - Customer $customer - ) { - $customerName = $customer->getFirstname() . " " . $customer->getLastname(); - - $customerAccountIndex->open(); - $infoBlock = $customerAccountIndex->getInfoBlock()->getContactInfoContent(); - $infoBlock = explode(PHP_EOL, $infoBlock); - $nameInDashboard = $infoBlock[0]; - \PHPUnit\Framework\Assert::assertTrue( - $nameInDashboard == $customerName, - 'Customer name in Contact info block is not matching the fixture.' - ); - - $customerAccountIndex->getInfoBlock()->openEditContactInfo(); - $nameInEdit = $customerAccountEdit->getAccountInfoForm()->getFirstName() - . " " . $customerAccountEdit->getAccountInfoForm()->getLastName(); - \PHPUnit\Framework\Assert::assertTrue( - $nameInEdit == $customerName, - 'Customer name on Account info tab is not matching the fixture.' - ); - } - - /** - * String representation of success assert. - * - * @return string - */ - public function toString() - { - return 'Customer name in Contact information block and Account info is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNotInGrid.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNotInGrid.php deleted file mode 100644 index 3b9e8d8b5bbbb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerNotInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerNotInGrid - * Check that customer is not in customer's grid - */ -class AssertCustomerNotInGrid extends AbstractConstraint -{ - /** - * Asserts that customer is not in customer's grid - * - * @param Customer $customer - * @param CustomerIndex $customerIndexPage - * @return void - */ - public function processAssert( - Customer $customer, - CustomerIndex $customerIndexPage - ) { - $customerIndexPage->open(); - \PHPUnit\Framework\Assert::assertFalse( - $customerIndexPage->getCustomerGridBlock()->isRowVisible(['email' => $customer->getEmail()]), - 'Customer with email ' . $customer->getEmail() . 'is present in Customer grid.' - ); - } - - /** - * Success message if Customer not in grid - * - * @return string - */ - public function toString() - { - return 'Customer is absent in Customer grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnAuthorizationPopup.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnAuthorizationPopup.php deleted file mode 100644 index f08a83fd03de5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnAuthorizationPopup.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Checkout\Test\Page\CheckoutCart; -use Magento\Checkout\Test\Page\CheckoutOnepage; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that autocomplete on password field on authorization pop up is off. - */ -class AssertCustomerPasswordAutocompleteOnAuthorizationPopup extends AbstractConstraint -{ - /** - * Assert that autocomplete on password field on authorization pop up is off. - * - * @param CheckoutOnepage $checkoutPage - * @param CheckoutCart $cartPage - * @return void - */ - public function processAssert( - CheckoutOnepage $checkoutPage, - CheckoutCart $cartPage - ) { - $cartPage->open(); - $cartPage->getProceedToCheckoutBlock()->proceedToCheckout(); - - \PHPUnit\Framework\Assert::assertTrue( - $checkoutPage->getAuthenticationPopupBlock()->isPasswordAutocompleteOff(), - 'Password field autocomplete is not off.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Assert that autocomplete is off.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnSignIn.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnSignIn.php deleted file mode 100644 index b989e72f5b02d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordAutocompleteOnSignIn.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountLogin; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that autocomplete on password field on sign in page is off. - */ -class AssertCustomerPasswordAutocompleteOnSignIn extends AbstractConstraint -{ - /** - * Assert that autocomplete on password field on sign in page is off. - * - * @param CustomerAccountLogin $loginPage - * @return void - */ - public function processAssert(CustomerAccountLogin $loginPage) - { - $loginPage->open(); - \PHPUnit\Framework\Assert::assertTrue( - $loginPage->getLoginBlock()->isPasswordAutocompleteOff(), - 'Password field autocomplete is not off.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Assert that autocomplete is off.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordChanged.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordChanged.php deleted file mode 100644 index 9e7a46a383696..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerPasswordChanged.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Check that login again to frontend with new password was success. - */ -class AssertCustomerPasswordChanged extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Assert that login again to frontend with new password was success. - * - * @param FixtureFactory $fixtureFactory - * @param CustomerAccountIndex $customerAccountIndex - * @param Customer $initialCustomer - * @param Customer $customer - * @return void - */ - public function processAssert( - FixtureFactory $fixtureFactory, - CustomerAccountIndex $customerAccountIndex, - Customer $initialCustomer, - Customer $customer - ) { - $customer = $fixtureFactory->createByCode( - 'customer', - [ - 'dataset' => 'default', - 'data' => [ - 'email' => $initialCustomer->getEmail(), - 'password' => $customer->getPassword(), - 'password_confirmation' => $customer->getPassword(), - ], - ] - ); - - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - \PHPUnit\Framework\Assert::assertTrue( - $customerAccountIndex->getAccountMenuBlock()->isVisible(), - 'Customer Account Dashboard is not visible.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer password was changed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerRedirectToDashboard.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerRedirectToDashboard.php deleted file mode 100644 index 61e42e3dd60c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerRedirectToDashboard.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that after clicking to "Create account" button customer redirected to Dashboard. - */ -class AssertCustomerRedirectToDashboard extends AbstractConstraint -{ - /** - * Dashboard Message on account index page. - */ - const DASHBOARD_MESSAGE = 'My Account'; - - /** - * Constraint severeness - * - * @var string - */ - protected $severeness = 'low'; - - /** - * Assert that after clicking to "Create account" button customer redirected to Dashboard. - * - * @param CustomerAccountIndex $accountIndexPage - * @return void - */ - public function processAssert(CustomerAccountIndex $accountIndexPage) - { - \PHPUnit\Framework\Assert::assertEquals( - self::DASHBOARD_MESSAGE, - $accountIndexPage->getTitleBlock()->getTitle(), - 'Wrong dashboard title is displayed.' - ); - } - - /** - * Text success save message is displayed. - * - * @return string - */ - public function toString() - { - return 'Customer is redirected to Dashboard after registration.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessDeleteMessage.php deleted file mode 100644 index 886c71e016d63..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerSuccessDeleteMessage - */ -class AssertCustomerSuccessDeleteMessage extends AbstractConstraint -{ - const DELETE_MESSAGE = 'You deleted the customer.'; - - /** - * Asserts that actual delete message equals expected - * - * @param CustomerIndex $customerIndexPage - * @return void - */ - public function processAssert(CustomerIndex $customerIndexPage) - { - $actualMessage = $customerIndexPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success delete message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success delete message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessRegisterMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessRegisterMessage.php deleted file mode 100644 index f418a176ac82e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessRegisterMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\CustomerAccountCreate; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that success message is displayed after customer registered on frontend. - */ -class AssertCustomerSuccessRegisterMessage extends AbstractConstraint -{ - const SUCCESS_MESSAGE = 'Thank you for registering with Main Website Store.'; - - /** - * Assert that success message is displayed after customer registered on frontend. - * - * @param CustomerAccountCreate $registerPage - * @return void - */ - public function processAssert(CustomerAccountCreate $registerPage) - { - $actualMessage = $registerPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of success register message is displayed. - * - * @return string - */ - public function toString() - { - return "Customer is successfully registered."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessSaveMessage.php deleted file mode 100644 index a1241b738f06d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertCustomerSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertCustomerSuccessSaveMessage - * - */ -class AssertCustomerSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_MESSAGE = 'You saved the customer.'; - - /** - * Assert that success message is displayed after customer save - * - * @param CustomerIndex $pageCustomerIndex - * @return void - */ - public function processAssert(CustomerIndex $pageCustomerIndex) - { - $actualMessage = $pageCustomerIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertMassActionSuccessUpdateMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertMassActionSuccessUpdateMessage.php deleted file mode 100644 index 8c8e1de7b98ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertMassActionSuccessUpdateMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertMassActionSuccessUpdateMessage - * Assert update message is appears on customer grid (Customers > All Customers) - */ -class AssertMassActionSuccessUpdateMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Text value to be checked - */ - const UPDATE_MESSAGE = 'A total of %d record(s) were updated.'; - - /** - * Assert update message is appears on customer grid (Customers > All Customers) - * - * @param Customer[] $customers - * @param CustomerIndex $pageCustomerIndex - * @return void - */ - public function processAssert(array $customers, CustomerIndex $pageCustomerIndex) - { - $actualMessage = $pageCustomerIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals(sprintf(self::UPDATE_MESSAGE, count($customers)), $actualMessage); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Assert that update message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertNoDeleteForSystemCustomerGroup.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertNoDeleteForSystemCustomerGroup.php deleted file mode 100644 index e8eb62ab05c95..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertNoDeleteForSystemCustomerGroup.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupEdit; - -/** - * Assert that system customer group cannot be deleted. - */ -class AssertNoDeleteForSystemCustomerGroup extends AbstractConstraint -{ - /** - * Assert that delete button is not available for system customer group. - * - * @param CustomerGroupEdit $customerGroupEdit - * @return void - */ - public function processAssert(CustomerGroupEdit $customerGroupEdit) - { - \PHPUnit\Framework\Assert::assertFalse( - $customerGroupEdit->getPageMainActions()->checkDeleteButton(), - "Delete button is visible." - ); - } - - /** - * Success assert of customer group not possible to delete. - * - * @return string - */ - public function toString() - { - return 'Customer group is not possible to delete.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertWrongPassConfirmationMessage.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertWrongPassConfirmationMessage.php deleted file mode 100644 index 11b44fd6fce52..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Constraint/AssertWrongPassConfirmationMessage.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountEdit; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that conformation message is present. - */ -class AssertWrongPassConfirmationMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Conformation message - */ - const CONFIRMATION_MESSAGE = 'Please enter the same value again.'; - - /** - * Assert that conformation message is present. - * - * @param Customer $customer - * @param CustomerAccountEdit $customerAccountEdit - * @return void - */ - public function processAssert(Customer $customer, CustomerAccountEdit $customerAccountEdit) - { - $validationMessages = $customerAccountEdit->getAccountInfoForm()->getValidationMessages($customer); - if (isset($validationMessages['password_confirmation'])) { - \PHPUnit\Framework\Assert::assertEquals( - self::CONFIRMATION_MESSAGE, - $validationMessages['password_confirmation'], - 'Wrong password confirmation validation text message.' - ); - } else { - \PHPUnit\Framework\TestCase::fail('Password confirmation validation message is absent.'); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Password confirmation validation text message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml deleted file mode 100644 index 7aedf9bd227d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="address" - module="Magento_Customer" - type="eav" - entity_type="customer_address" - collection="Magento\Customer\Model\ResourceModel\Address\Collection" - repository_class="Magento\Customer\Test\Repository\Address" - handler_interface="Magento\Customer\Test\Handler\Address\AddressInterface" - class="Magento\Customer\Test\Fixture\Address"> - <field name="city" is_required="1" /> - <field name="default_billing" is_required="1" /> - <field name="default_shipping" is_required="1" /> - <field name="company" is_required="0" /> - <field name="country_id" is_required="1" /> - <field name="fax" is_required="0" /> - <field name="firstname" is_required="1" /> - <field name="lastname" is_required="1" /> - <field name="email" is_required="1" /> - <field name="middlename" is_required="0" /> - <field name="postcode" is_required="0" /> - <field name="prefix" is_required="0" /> - <field name="region" is_required="0" /> - <field name="region_id" is_required="0" /> - <field name="street" is_required="1" /> - <field name="suffix" is_required="0" /> - <field name="telephone" is_required="1" /> - <field name="vat_id" is_required="0" /> - <field name="vat_is_valid" is_required="0" /> - <field name="vat_request_date" is_required="0" /> - <field name="vat_request_id" is_required="0" /> - <field name="vat_request_success" is_required="0" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml deleted file mode 100644 index 6261e469fd33c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="customer" - module="Magento_Customer" - type="eav" - entity_type="customer" - collection="Magento\Customer\Model\ResourceModel\Customer\Collection" - identifier="email" - repository_class="Magento\Customer\Test\Repository\Customer" - handler_interface="Magento\Customer\Test\Handler\Customer\CustomerInterface" - class="Magento\Customer\Test\Fixture\Customer"> - <field name="address" source="Magento\Customer\Test\Fixture\Customer\Address" group="addresses" /> - <field name="confirmation" is_required="0" /> - <field name="id" group="null" /> - <field name="created_at" is_required="0" /> - <field name="created_in" is_required="0" group="account_information" /> - <field name="default_billing" is_required="0" /> - <field name="default_shipping" is_required="0" /> - <field name="disable_auto_group_change" is_required="0" group="account_information" /> - <field name="dob" is_required="0" group="account_information" /> - <field name="email" is_required="1" group="account_information" /> - <field name="firstname" is_required="1" group="account_information" /> - <field name="gender" is_required="0" group="account_information" /> - <field name="group_id" is_required="1" group="account_information" source="Magento\Customer\Test\Fixture\Customer\GroupId" /> - <field name="lastname" is_required="1" group="account_information" /> - <field name="middlename" is_required="0" group="account_information" /> - <field name="password_hash" is_required="0" /> - <field name="prefix" is_required="0" group="account_information" /> - <field name="rp_token" is_required="0" /> - <field name="rp_token_created_at" is_required="0" /> - <field name="store_id" is_required="1" group="account_information" /> - <field name="suffix" is_required="0" group="account_information" /> - <field name="taxvat" is_required="0" group="account_information" /> - <field name="website_id" is_required="1" group="account_information" source="Magento\Customer\Test\Fixture\Customer\WebsiteId" /> - <field name="amount_delta" is_required="1" group="store_credit" /> - <field name="is_subscribed" /> - <field name="password" group="null" /> - <field name="password_confirmation" group="null" /> - <field name="current_password" group="null" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/Address.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/Address.php deleted file mode 100644 index 50a4f7f85fdc0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/Address.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Fixture\Customer; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Customer\Test\Fixture\Address as AddressFixture; - -/** - * Addresses source for customer fixture. - */ -class Address extends DataSource -{ - /** - * Customer addresses fixture - * - * @var array - */ - protected $addressesFixture; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) - { - $this->params = $params; - - if (isset($data['dataset'])) { - $data['dataset'] = array_map('trim', explode(',', $data['dataset'])); - foreach ($data['dataset'] as $value) { - /** @var AddressFixture $address*/ - $address = $fixtureFactory->createByCode('address', ['dataset' => $value]); - $this->data[] = $address->getData(); - $this->addressesFixture[] = $address; - } - } elseif (empty($data['dataset']) && !empty($data['addresses'])) { - foreach ($data['addresses'] as $address) { - /** @var AddressFixture $address */ - $this->data[] = $address->getData(); - $this->addressesFixture[] = $address; - } - } - } - - /** - * Getting addresses fixture. - * - * @return array - */ - public function getAddresses() - { - return $this->addressesFixture; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/GroupId.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/GroupId.php deleted file mode 100644 index 14031755c90a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/GroupId.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Fixture\Customer; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Customer\Test\Fixture\CustomerGroup; - -/** - * Addresses source for customer fixture. - */ -class GroupId extends DataSource -{ - /** - * Customer Group fixture. - * - * @var array - */ - protected $customerGroupFixture; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) - { - $this->params = $params; - if (isset($data['dataset'])) { - /** @var CustomerGroup $customerGroup */ - $customerGroup = $fixtureFactory->createByCode('customerGroup', ['dataset' => $data['dataset']]); - if (!$customerGroup->hasData('customer_group_id')) { - $customerGroup->persist(); - } - $this->data = $customerGroup->getCustomerGroupCode(); - $this->customerGroupFixture = $customerGroup; - } - if (isset($data['customerGroup']) && $data['customerGroup'] instanceof CustomerGroup) { - $this->data = $data['customerGroup']->getCustomerGroupCode(); - $this->customerGroupFixture = $data['customerGroup']; - } - if (isset($data['value'])) { - $this->data = $data['value']; - } - } - - /** - * Getting customer group fixture. - * - * @return array - */ - public function getCustomerGroup() - { - return $this->customerGroupFixture; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/WebsiteId.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/WebsiteId.php deleted file mode 100644 index 3e5ab87e0ed39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer/WebsiteId.php +++ /dev/null @@ -1,118 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Fixture\Customer; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Store\Test\Fixture\Store; -use Magento\Store\Test\Fixture\Website; - -/** - * Prepare website. - */ -class WebsiteId extends DataSource -{ - /** - * Store Fixture. - * - * @var Store - */ - private $store; - - /** - * Website. - * - * @var Website - */ - private $website; - - /** - * Fixture Factory instance. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Rough fixture field data. - * - * @var array - */ - private $fixtureData = null; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct( - FixtureFactory $fixtureFactory, - array $params, - $data = [] - ) { - $this->fixtureFactory = $fixtureFactory; - $this->params = $params; - $this->fixtureData = $data; - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return mixed - * @throws \Exception - */ - public function getData($key = null) - { - if (empty($this->fixtureData)) { - throw new \Exception("Data must be set"); - } - - if (isset($this->fixtureData['website'])) { - $this->website = $this->fixtureData['website']; - $this->data = $this->fixtureData['website']->getName(); - } else { - if (isset($this->fixtureData['dataset'])) { - $store = $this->fixtureFactory->createByCode('store', $this->fixtureData); - - if (!$store->getStoreId()) { - $store->persist(); - } - - $website = $store->getDataFieldConfig('group_id')['source'] - ->getStoreGroup()->getDataFieldConfig('website_id')['source']->getWebsite(); - - $this->data = $website->getName(); - $this->website = $website; - $this->store = $store; - } - } - - return parent::getData($key); - } - - /** - * Return store. - * - * @return Store - */ - public function getStore() - { - return $this->store; - } - - /** - * Return website code. - * - * @return Website - */ - public function getWebsite() - { - return $this->website; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup.xml deleted file mode 100644 index e9c3e487445b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="customerGroup" - module="Magento_Customer" - type="flat" - entity_type="customer_group" - collection="Magento\Customer\Model\ResourceModel\Group\Collection" - repository_class="Magento\Customer\Test\Repository\CustomerGroup" - handler_interface="Magento\Customer\Test\Handler\CustomerGroup\CustomerGroupInterface" - class="Magento\Customer\Test\Fixture\CustomerGroup"> - <field name="customer_group_code" is_required="1" /> - <field name="tax_class_id" is_required="1" source="Magento\Customer\Test\Fixture\CustomerGroup\TaxClassIds" /> - <field name="customer_group_id" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup/TaxClassIds.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup/TaxClassIds.php deleted file mode 100644 index 75f25f780c418..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroup/TaxClassIds.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Fixture\CustomerGroup; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Tax\Test\Fixture\TaxClass; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Class TaxClassIds - * - * Data keys: - * - dataset - */ -class TaxClassIds extends DataSource -{ - /** - * TaxClass fixture - * - * @var TaxClass - */ - protected $taxClass; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct( - FixtureFactory $fixtureFactory, - array $params, - array $data - ) { - $this->params = $params; - if (isset($data['dataset'])) { - $dataset = $data['dataset']; - /** @var \Magento\Tax\Test\Fixture\TaxClass $taxClass */ - $taxClass = $fixtureFactory->createByCode('taxClass', ['dataset' => $dataset]); - if (!$taxClass->hasData('id')) { - $taxClass->persist(); - } - $this->data = $taxClass->getClassName(); - $this->taxClass = $taxClass; - } - } - - /** - * Return TaxClass fixture - * - * @return TaxClass - */ - public function getTaxClass() - { - return $this->taxClass; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php deleted file mode 100644 index 91422cfa54bcf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php +++ /dev/null @@ -1,244 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Handler\Customer; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlInterface; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Class Curl - * Curl handler for creating customer through registration page. - */ -class Curl extends AbstractCurl implements CustomerInterface -{ - /** - * Default customer group - */ - const GENERAL_GROUP = '1'; - - /** - * Mapping values for data - * - * @var array - */ - protected $mappingData = [ - 'country_id' => [ - 'United States' => 'US', - 'United Kingdom' => 'GB', - 'Germany' => 'DE' - ], - 'gender' => [ - 'Male' => 1, - 'Female' => 2, - 'Not Specified' => 3 - ], - 'region_id' => [ - 'California' => 12, - 'New York' => 43, - 'Texas' => 57, - ], - ]; - - /** - * Curl mapping data - * - * @var array - */ - protected $curlMapping = [ - 'customer' => [ - 'group_id', - 'firstname', - 'lastname', - 'email', - 'dob', - 'taxvat', - 'gender', - 'entity_id', - ] - ]; - - /** - * Fields that have to be send using update curl. - * - * @var array - */ - protected $fieldsToUpdate = [ - 'address', - 'group_id', - ]; - - /** - * Post request for creating customer in frontend - * - * @param FixtureInterface|null $customer - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $customer = null) - { - /** @var Customer $customer */ - $data = $customer->getData(); - $data['group_id'] = $this->getCustomerGroup($customer); - $data['website_id'] = $this->getCustomerWebsite($customer); - $address = []; - $url = $_ENV['app_frontend_url'] . 'customer/account/createpost/?nocookie=true'; - - if ($customer->hasData('address')) { - $address = $customer->getAddress(); - unset($data['address']); - } - - $curl = new CurlTransport(); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - // After caching My Account page we cannot check by success message - if (strpos($response, 'block-dashboard-info') === false) { - throw new \Exception("Customer entity creating by curl handler was not successful! Response: $response"); - } - - $data['entity_id'] = $this->getCustomerId($customer->getEmail()); - - if (!empty($address)) { - $data['address'] = $address; - } - $this->updateCustomer($data); - - return ['id' => $data['entity_id']]; - } - - /** - * Get customer id by email - * - * @param string $email - * @return int|null - */ - protected function getCustomerId($email) - { - $url = $_ENV['app_backend_url'] . 'mui/index/render/'; - $data = [ - 'namespace' => 'customer_listing', - 'filters' => [ - 'placeholder' => true, - 'email' => $email - ], - 'isAjax' => true - ]; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - - $curl->write($url, $data, CurlInterface::POST); - $response = $curl->read(); - $curl->close(); - - preg_match('/customer_listing_data_source.+items.+"entity_id":"(\d+)"/', $response, $match); - return empty($match[1]) ? null : $match[1]; - } - - /** - * Prepare customer for curl - * - * @param FixtureInterface $customer - * @return string - */ - protected function getCustomerGroup(FixtureInterface $customer) - { - return $customer->hasData('group_id') - ? $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup()->getCustomerGroupId() - : self::GENERAL_GROUP; - } - - /** - * Update customer fields that can not be added at creation step. - * - address - * - group_id - * - * @param array $data - * @return void - * @throws \Exception - */ - protected function updateCustomer(array $data) - { - $result = array_intersect($this->fieldsToUpdate, array_keys($data)); - if (empty($result)) { - return; - } - $curlData = []; - foreach ($data as $key => $value) { - foreach ($this->curlMapping as $prefix => $prefixValues) { - if (in_array($key, $prefixValues)) { - $curlData[$prefix][$key] = $value; - unset($data[$key]); - } - } - } - unset($data['password'], $data['password_confirmation']); - - $curlData = $this->replaceMappingData(array_replace_recursive($curlData, $data)); - if (!empty($data['address'])) { - $curlData = $this->prepareAddressData($curlData); - } - - $url = $_ENV['app_backend_url'] . 'customer/index/save/id/' . $curlData['customer']['entity_id']; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $curlData); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception('Failed to update customer!'); - } - } - - /** - * Preparing address data for curl - * - * @param array $curlData - * @return array - */ - protected function prepareAddressData(array $curlData) - { - $address = []; - foreach (array_keys($curlData['address']) as $key) { - $addressKey = 'new_' . $key; - $address[$addressKey] = $curlData['address'][$key]; - $address[$addressKey]['_deleted'] = ''; - $address[$addressKey]['region'] = ''; - if (!is_array($address[$addressKey]['street'])) { - $street = $address[$addressKey]['street']; - $address[$addressKey]['street'] = []; - $address[$addressKey]['street'][] = $street; - } - if (isset($address[$addressKey]['default_billing'])) { - $value = $address[$addressKey]['default_billing'] === 'Yes' ? 'true' : 'false'; - $address[$addressKey]['default_billing'] = $value; - } - if (isset($address[$addressKey]['default_shipping'])) { - $value = $address[$addressKey]['default_shipping'] === 'Yes' ? 'true' : 'false'; - $address[$addressKey]['default_shipping'] = $value; - } - } - $curlData['address'] = $address; - - return $curlData; - } - - /** - * Prepare customer website data. - * - * @param Customer $customer - * @return int - */ - private function getCustomerWebsite(Customer $customer) - { - return $customer->getDataFieldConfig('website_id')['source']->getWebsite()->getWebsiteId(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/CustomerInterface.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/CustomerInterface.php deleted file mode 100644 index aecddbae08d1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/CustomerInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Handler\Customer; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CustomerInterface - */ -interface CustomerInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Webapi.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Webapi.php deleted file mode 100644 index 0dbd951c30a04..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Webapi.php +++ /dev/null @@ -1,275 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Handler\Customer; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Webapi as AbstractWebapi; - -/** - * Webapi handler for creating customer. - */ -class Webapi extends AbstractWebapi implements CustomerInterface -{ - /** - * Default customer group. - */ - const GENERAL_GROUP = '1'; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'gender' => [ - 'Male' => 1, - 'Female' => 2, - 'Not Specified' => 3 - ], - 'country_id' => [ - 'United States' => 'US', - 'United Kingdom' => 'GB', - 'Germany' => 'DE' - ], - 'region_id' => [ - 'California' => 12, - 'New York' => 43, - 'Texas' => 57, - ], - ]; - - /** - * Attributes that has a setter while creating customer using web api. - * - * @var array - */ - protected $basicAttributes = [ - 'id', - 'confirmation', - 'created_at', - 'updated_at', - 'created_in', - 'dob', - 'email', - 'firstname', - 'gender', - 'group_id', - 'lastname', - 'middlename', - 'prefix', - 'store_id', - 'suffix', - 'taxvat', - 'website_id', - 'default_billing', - 'default_shipping', - 'addresses', - 'disable_auto_group_change', - 'custom_attribute', - ]; - - /** - * Create customer via Web API. - * - * @param FixtureInterface|null $customer - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $customer = null) - { - /** @var Customer $customer */ - $data = $this->prepareData($customer); - $url = $_ENV['app_frontend_url'] . 'rest/V1/customers'; - - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Customer creation by Web API handler was not successful!'); - } - - return ['id' => $response['id']]; - } - - /** - * Prepare customer data for Web API. - * - * @param Customer $customer - * @return array - */ - protected function prepareData(Customer $customer) - { - $data['customer'] = $this->replaceMappingData($customer->getData()); - $data['customer']['group_id'] = $this->getCustomerGroup($customer); - $data['password'] = $data['customer']['password']; - if ($customer->hasData('website_id')) { - $data['customer']['website_id'] = $this->getCustomerWebsite($customer); - } - unset($data['customer']['password']); - unset($data['customer']['password_confirmation']); - $data = $this->prepareAddressData($data); - $data = $this->prepareExtensionAttributes($data); - $data = $this->prepareCustomAttributes($data); - return $data; - } - - /** - * Prepare Custom Attributes. - * - * @param array $data - * @return array - */ - protected function prepareCustomAttributes(array $data) - { - if (isset($data['customer']['custom_attribute'])) { - $data['customer']['custom_attribute']['attribute_code'] = $data['customer']['custom_attribute']['code']; - unset($data['customer']['custom_attribute']['code']); - if (is_array($data['customer']['custom_attribute']['value'])) { - $data['customer']['custom_attribute']['value'] = - implode(',', $data['customer']['custom_attribute']['value']); - } - $data['customer']['custom_attributes'][0] = $data['customer']['custom_attribute']; - unset($data['customer']['custom_attribute']); - } - - return $data; - } - - /** - * Get customer group. - * - * @param Customer $customer - * @return string - */ - protected function getCustomerGroup(Customer $customer) - { - if ($customer->hasData('group_id')) { - if ($customer->getDataFieldConfig('group_id')['source']->getCustomerGroup()) { - return $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup()->getCustomerGroupId(); - } - return $customer->getData('group_id'); - } else { - return self::GENERAL_GROUP; - } - } - - /** - * Prepare address data for Web API. - * - * @param array $data - * @return array - */ - protected function prepareAddressData(array $data) - { - if (!isset($data['customer']['address'])) { - return $data; - } - foreach ($data['customer']['address'] as $key => $addressData) { - $addressData = $this->prepareRegionData($addressData); - $addressData = $this->prepareStreetData($addressData); - $addressData = $this->prepareDefaultAddressData($addressData); - unset($addressData['email']); - $data['customer']['addresses'][$key] = $addressData; - } - unset($data['customer']['address']); - - return $data; - } - - /** - * Prepare region data for the address. - * - * @param array $addressData - * @return array - */ - protected function prepareRegionData(array $addressData) - { - if (isset($addressData['region'])) { - $addressData['region'] = [ - 'region' => $addressData['region'], - ]; - } - if (isset($addressData['region_id'])) { - $addressData['region'] = [ - 'region_id' => $addressData['region_id'] - ]; - unset($addressData['region_id']); - } - - return $addressData; - } - - /** - * Prepare street data for the address. - * - * @param array $addressData - * @return array - */ - protected function prepareStreetData(array $addressData) - { - if (!is_array($addressData['street'])) { - $street[] = $addressData['street']; - $addressData['street'] = $street; - } - - return $addressData; - } - - /** - * Prepare default address data. - * - * @param array $addressData - * @return array - */ - protected function prepareDefaultAddressData(array $addressData) - { - if (isset($addressData['default_billing']) && $addressData['default_billing'] === 'Yes') { - $addressData['default_billing'] = true; - } else { - $addressData['default_billing'] = false; - } - if (isset($addressData['default_shipping']) && $addressData['default_shipping'] === 'Yes') { - $addressData['default_shipping'] = true; - } else { - $addressData['default_shipping'] = false; - } - - return $addressData; - } - - /** - * Prepare customer website data. - * - * @param Customer $customer - * @return int - */ - private function getCustomerWebsite(Customer $customer) - { - return $customer->getDataFieldConfig('website_id')['source']->getWebsite()->getWebsiteId(); - } - - /** - * Prepare extension attributes for the customer. - * - * @param array $data - * @return array - */ - protected function prepareExtensionAttributes($data) - { - foreach ($data['customer'] as $fieldName => $fieldValue) { - if (!in_array($fieldName, $this->basicAttributes)) { - $data['customer']['extension_attributes'][$fieldName] = $fieldValue; - unset($data['customer'][$fieldName]); - } - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/Curl.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/Curl.php deleted file mode 100644 index e7a66139df02e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/Curl.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Handler\CustomerGroup; - -use Magento\Backend\Test\Handler\Extractor; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlInterface; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Curl handler for creating customer group. - */ -class Curl extends AbstractCurl implements CustomerGroupInterface -{ - /** - * Url for saving data. - * - * @var string - */ - protected $saveUrl = 'customer/group/save/'; - - /** - * POST request for creating Customer Group. - * - * @param FixtureInterface $fixture - * @return array|mixed - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data['code'] = $fixture->getCustomerGroupCode(); - $data['tax_class'] = $fixture->getDataFieldConfig('tax_class_id')['source']->getTaxClass()->getId(); - $url = $_ENV['app_backend_url'] . $this->saveUrl; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - "Customer Group entity creating by curl handler was not successful! Response: $response" - ); - } - - return ['customer_group_id' => $this->getCustomerGroupId($data)]; - } - - /** - * Get id after creating Customer Group. - * - * @param array $data - * @return int|null - */ - public function getCustomerGroupId(array $data) - { - $url = $_ENV['app_backend_url'] . 'mui/index/render/'; - $data = [ - 'namespace' => 'customer_group_listing', - 'filters' => [ - 'placeholder' => true, - 'customer_group_code' => $data['code'] - ], - 'isAjax' => true - ]; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - - $curl->write($url, $data, CurlInterface::POST); - $response = $curl->read(); - $curl->close(); - - preg_match('/customer_group_listing_data_source.+items.+"customer_group_id":"(\d+)"/', $response, $match); - return empty($match[1]) ? null : $match[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/CustomerGroupInterface.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/CustomerGroupInterface.php deleted file mode 100644 index fdd82bb9f16d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroup/CustomerGroupInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Handler\CustomerGroup; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CustomerGroupInterface - */ -interface CustomerGroupInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Address/DefaultAddress.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Address/DefaultAddress.php deleted file mode 100644 index 5babfedc79e9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Address/DefaultAddress.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Page\Address; - -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Factory\Factory; -use Magento\Mtf\Page\Page; - -/** - * Default address page. - */ -class DefaultAddress extends Page -{ - /** - * URL for customer Dashboard. - */ - const MCA = 'customer/address/index'; - - /** - * Selector for default address block. - * - * @var string - */ - protected $defaultAddressesSelector = '.block-addresses-default'; - - /** - * Get default addresses block. - * - * @return \Magento\Customer\Test\Block\Account\AddressesDefault - */ - public function getDefaultAddresses() - { - return Factory::getBlockFactory()->getMagentoCustomerAccountAddressesDefault( - $this->browser->find($this->defaultAddressesSelector, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CheckoutIndex.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CheckoutIndex.xml deleted file mode 100644 index 2c5e0714d1b2f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CheckoutIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CheckoutIndex" area="Adminhtml" mca="admin/checkout/index" module="Magento_Customer"> - <block name="itemsBlock" class="Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\ShoppingCartItems" locator=".shopping-cart-items" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupEdit.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupEdit.xml deleted file mode 100644 index d2c8f46c0e123..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupEdit.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerGroupEdit" area="Adminhtml" mca="customer/group/edit" module="Magento_Customer"> - <block name="pageMainActions" class="Magento\Backend\Test\Block\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="pageMainForm" class="Magento\Customer\Test\Block\Adminhtml\Group\Edit\Form" locator="[id='page:main-container']" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector" /> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupIndex.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupIndex.xml deleted file mode 100644 index 7f5de5a2f6ddf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerGroupIndex" area="Adminhtml" mca="customer/group/index" module="Magento_Customer"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages .messages" strategy="css selector"/> - <block name="gridPageActions" class="Magento\Backend\Test\Block\GridPageActions" locator=".page-main-actions" strategy="css selector"/> - <block name="customerGroupGrid" class="Magento\Customer\Test\Block\Adminhtml\Group\CustomerGroupGrid" locator="//div[contains(@data-bind, 'customer_group_listing')]" strategy="xpath"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupNew.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupNew.xml deleted file mode 100644 index bf810be96e61a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerGroupNew.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerGroupNew" area="Adminhtml" mca="customer/group/new" module="Magento_Customer"> - <block name="pageMainActions" class="Magento\Backend\Test\Block\FormPageActions" locator=".page-main-actions" strategy="css selector"/> - <block name="pageMainForm" class="Magento\Customer\Test\Block\Adminhtml\Group\Edit\Form" locator="[id='page:main-container']" strategy="css selector"/> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector"/> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndex.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndex.xml deleted file mode 100644 index a32d09b1215a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerIndex" area="Adminhtml" mca="customer/index" module="Magento_Customer"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector"/> - <block name="pageActionsBlock" class="Magento\Backend\Test\Block\GridPageActions" locator=".page-main-actions" strategy="css selector"/> - <block name="customerGridBlock" class="Magento\Customer\Test\Block\Adminhtml\CustomerGrid" locator="//div[contains(@data-bind, 'customer_listing')]" strategy="xpath"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexEdit.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexEdit.xml deleted file mode 100644 index ff23ffeca58f5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexEdit.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerIndexEdit" area="Adminhtml" mca="customer/index/edit" module="Magento_Customer"> - <block name="titleBlock" class="Magento\Theme\Test\Block\Html\Title" locator=".page-title-wrapper .page-title" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector" /> - <block name="pageActionsBlock" class="Magento\Customer\Test\Block\Adminhtml\Edit\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="customerForm" class="Magento\Customer\Test\Block\Adminhtml\Edit\CustomerForm" locator="[id='page:main-container']" strategy="css selector" /> - <block name="configureProductBlock" class="Magento\Catalog\Test\Block\Adminhtml\Product\Composite\Configure" locator="[data-role='modal']._show" strategy="css selector" /> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexNew.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexNew.xml deleted file mode 100644 index e3340e4c0cea3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/Adminhtml/CustomerIndexNew.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerIndexNew" area="Adminhtml" mca="customer/index/new" module="Magento_Customer"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector"/> - <block name="pageActionsBlock" class="Magento\Backend\Test\Block\FormPageActions" locator=".page-main-actions" strategy="css selector"/> - <block name="customerForm" class="Magento\Customer\Test\Block\Adminhtml\Edit\CustomerForm" locator="[id='page:main-container']" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountAddress.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountAddress.xml deleted file mode 100644 index e4d5e9ff0c0e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountAddress.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountAddress" mca="customer/address" module="Magento_Customer"> - <block name="titleBlock" class="Magento\Theme\Test\Block\Html\Title" locator=".page-title-wrapper" strategy="css selector" /> - <block name="accountMenuBlock" class="Magento\Customer\Test\Block\Account\Links" locator=".nav.items" strategy="css selector" /> - <block name="additionalAddressBlock" class="Magento\Customer\Test\Block\Account\AddressesAdditional" locator=".block-addresses-list" strategy="css selector" /> - <block name="defaultAddressBlock" class="Magento\Customer\Test\Block\Account\AddressesDefault" locator=".block-addresses-default" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountCreate.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountCreate.xml deleted file mode 100644 index 8fb4bce5aea71..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountCreate.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountCreate" mca="customer/account/create" module="Magento_Customer"> - <block name="registerForm" class="Magento\Customer\Test\Block\Form\Register" locator="#form-validate[novalidate='novalidate']" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator=".page.messages" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountEdit.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountEdit.xml deleted file mode 100644 index 4a426e901fe13..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountEdit" mca="customer/account/edit" module="Magento_Customer"> - <block name="accountInfoForm" class="Magento\Customer\Test\Block\Form\CustomerForm" locator="#form-validate" strategy="css selector"/> - <block name="messages" class="Magento\Backend\Test\Block\Messages" locator=".page.messages" strategy="css selector"/> - <block name="accountMenuBlock" class="Magento\Customer\Test\Block\Account\Links" locator=".nav.items" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountForgotPassword.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountForgotPassword.xml deleted file mode 100644 index 9d0f9711b855b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountForgotPassword.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountForgotPassword" mca="customer/account/forgotpassword" module="Magento_Customer"> - <block name="forgotPasswordForm" class="Magento\Customer\Test\Block\Form\ForgotPassword" locator="#form-validate" strategy="css selector"/> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator=".page.messages" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountIndex.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountIndex.xml deleted file mode 100644 index ae92105e6a041..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountIndex.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountIndex" mca="customer/account/index" module="Magento_Customer"> - <block name="messages" class="Magento\Backend\Test\Block\Messages" locator=".page.messages" strategy="css selector"/> - <block name="dashboardAddress" class="Magento\Customer\Test\Block\Account\Dashboard\Address" locator=".block-dashboard-addresses" strategy="css selector"/> - <block name="titleBlock" class="Magento\Theme\Test\Block\Html\Title" locator=".page-title-wrapper" strategy="css selector"/> - <block name="accountMenuBlock" class="Magento\Customer\Test\Block\Account\Links" locator=".nav.items" strategy="css selector"/> - <block name="infoBlock" class="Magento\Customer\Test\Block\Account\Dashboard\Info" locator=".column.main" strategy="css selector"/> - <block name="compareProductsBlock" class="Magento\Catalog\Test\Block\Product\Compare\Sidebar" locator=".block-compare" strategy="css selector"/> - <block name="additionalAddressBlock" class="Magento\Customer\Test\Block\Account\AddressesAdditional" locator=".block-addresses-list" strategy="css selector"/> - <block name="defaultAddressBlock" class="Magento\Customer\Test\Block\Account\AddressesDefault" locator=".block-addresses-default" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogin.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogin.xml deleted file mode 100644 index 8b645b0ae428e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogin.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAccountLogin" mca="customer/account/login" module="Magento_Customer"> - <block name="messages" class="Magento\Backend\Test\Block\Messages" locator=".page.messages" strategy="css selector"/> - <block name="loginBlock" class="Magento\Customer\Test\Block\Form\Login" locator="#login-form" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogout.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogout.php deleted file mode 100644 index 083d19829a772..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAccountLogout.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Page; - -use Magento\Mtf\Page\Page; - -/** - * Customer frontend logout page. - */ -class CustomerAccountLogout extends Page -{ - /** - * URL for customer logout. - */ - const MCA = 'customer/account/logout'; - - /** - * Init page. Set page url. - * - * @return void - */ - protected function initUrl() - { - $this->url = $_ENV['app_frontend_url'] . self::MCA; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAddressEdit.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAddressEdit.xml deleted file mode 100644 index df2451d2f8575..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Page/CustomerAddressEdit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="CustomerAddressEdit" mca="customer/address/edit" module="Magento_Customer"> - <block name="editForm" class="Magento\Customer\Test\Block\Address\Edit" locator="#form-validate" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.php deleted file mode 100644 index 9e15e25c1f2d3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.php +++ /dev/null @@ -1,329 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\Repository; - -use Magento\Mtf\Repository\AbstractRepository; - -/** - * Class Address Repository - * Customer addresses - * - */ -class Address extends AbstractRepository -{ - /** - * {inheritdoc} - */ - public function __construct(array $defaultConfig = [], array $defaultData = []) - { - $this->_data['default'] = [ - 'config' => $defaultConfig, - 'data' => $defaultData, - ]; - - $this->_data['US_address_1'] = $this->_getUS1(); - $this->_data['US_address_2'] = $this->_getUS2(); - $this->_data['address_UK'] = $this->getAddressUK(); - $this->_data['address_UK_2'] = $this->getAddressUK2(); - $this->_data['address_UK_with_VAT'] = $this->getAddressUKWithVAT($this->_data['address_UK']); - $this->_data['address_DE'] = $this->getAddressDE(); - $this->_data['address_data_US_1'] = $this->_getDataUS1(); - } - - protected function _getUS1() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'John', - ], - 'lastname' => [ - 'value' => 'Doe', - ], - 'email' => [ - 'value' => 'John.Doe%isolation%@example.com', - ], - 'company' => [ - 'value' => 'Magento %isolation%', - ], - 'street' => [ - 'value' => '6161 West Centinela Avenue', - ], - 'city' => [ - 'value' => 'Culver City', - ], - 'region_id' => [ - 'value' => 'California', - 'input' => 'select', - ], - 'postcode' => [ - 'value' => '90230', - ], - 'country_id' => [ - 'value' => 'United States', - 'input' => 'select', - ], - 'telephone' => [ - 'value' => '555-55-555-55', - ], - ], - ] - ]; - } - - protected function _getBackendUS1() - { - return [ - 'data' => [ - 'fields' => [ - 'save_in_address_book' => [ - 'value' => 'Yes', - 'input' => 'checkbox', - ], - ], - ] - ]; - } - - protected function _getUS2() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'Billy', - ], - 'lastname' => [ - 'value' => 'Holiday', - ], - 'email' => [ - 'value' => 'b.holliday@example.net', - ], - 'company' => [ - 'value' => 'Magento %isolation%', - ], - 'street' => [ - 'value' => '727 5th Ave', - ], - 'city' => [ - 'value' => 'New York', - ], - 'region_id' => [ - 'value' => 'New York', - 'input' => 'select', - ], - 'postcode' => [ - 'value' => '10022', - ], - 'country_id' => [ - 'value' => 'United States', - 'input' => 'select', - ], - 'telephone' => [ - 'value' => '777-77-77-77', - ], - ], - ] - ]; - } - - protected function _getDataUS1() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'John', - ], - 'lastname' => [ - 'value' => 'Doe', - ], - 'company' => [ - 'value' => 'Magento %isolation%', - ], - 'street' => [ - 'value' => '6161 West Centinela Avenue', - ], - 'country_id' => [ - 'value' => 'United States', - 'input' => 'select', - ], - 'region_id' => [ - 'value' => 'California', - 'input' => 'select', - 'selector' => '#region_id', - ], - 'city' => [ - 'value' => 'Culver City', - ], - 'postcode' => [ - 'value' => '90230', - ], - 'telephone' => [ - 'value' => '555-55-555-55', - ], - ], - ] - ]; - } - - /** - * Get address for UK - * - * @return array - */ - protected function getAddressUK() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'Jane', - ], - 'lastname' => [ - 'value' => 'Doe', - ], - 'telephone' => [ - 'value' => '444-44-444-44', - ], - 'street[]' => [ - 'value' => '172, Westminster Bridge Rd', - ], - 'country_id' => [ - 'value' => 'United Kingdom', - 'input_value' => 'GB', - 'input' => 'select', - 'selector' => '#country', - ], - 'region' => [ - 'value' => 'London', - ], - 'city' => [ - 'value' => 'London', - ], - 'postcode' => [ - 'value' => 'SE1 7RW', - 'selector' => '#zip', - ], - ], - ], - ]; - } - - /** - * Get second address for UK - * - * @return array - */ - protected function getAddressUK2() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'Jane', - ], - 'lastname' => [ - 'value' => 'Doe', - ], - 'company' => [ - 'value' => 'Magento %isolation%', - ], - 'telephone' => [ - 'value' => '444-44-444-44', - ], - 'street' => [ - 'value' => '42 King Street West', - ], - 'country_id' => [ - 'value' => 'United Kingdom', - 'input' => 'select', - ], - 'region' => [ - 'value' => 'Manchester', - 'selector' => '#region', - ], - 'city' => [ - 'value' => 'Manchester', - ], - 'postcode' => [ - 'value' => 'M3 2WY', - 'selector' => '#zip', - ], - ], - ] - ]; - } - - /** - * Get address data for UK with VAT - * - * @param array $defaultData - * @return array - */ - protected function getAddressUKWithVAT($defaultData) - { - return array_replace_recursive( - $defaultData, - [ - 'data' => [ - 'fields' => [ - 'vat_id' => [ - 'value' => '584451913', - ], - ], - ], - ] - ); - } - - /** - * Get address for Germany - * - * @return array - */ - protected function getAddressDE() - { - return [ - 'data' => [ - 'fields' => [ - 'firstname' => [ - 'value' => 'Jan', - ], - 'lastname' => [ - 'value' => 'Jansen', - ], - 'company' => [ - 'value' => 'Magento %isolation%', - ], - 'country_id' => [ - 'value' => 'Germany', - 'input' => 'select', - ], - 'street' => [ - 'value' => 'Augsburger Strabe 41', - ], - 'city' => [ - 'value' => 'Berlin', - ], - 'region_id' => [ - 'value' => 'Berlin', - 'input' => 'select', - 'selector' => '#region_id', - ], - 'postcode' => [ - 'value' => '10789', - ], - 'telephone' => [ - 'value' => '333-33-333-33', - ], - ], - ] - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml deleted file mode 100644 index 32f5d54340026..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml +++ /dev/null @@ -1,364 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Customer\Test\Repository\Address"> - <dataset name="default"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - </dataset> - - <dataset name="US_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="US_address_default_billing"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">No</field> - </dataset> - - <dataset name="US_address_default_shipping"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="default_billing" xsi:type="string">No</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="US_address_1"> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - </dataset> - - <dataset name="US_address_1_without_email"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - </dataset> - - <dataset name="US_address_2"> - <field name="firstname" xsi:type="string">Billy</field> - <field name="lastname" xsi:type="string">Holiday</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="email" xsi:type="string">b.holliday@example.net</field> - <field name="city" xsi:type="string">New York</field> - <field name="street" xsi:type="string">727 5th Ave</field> - <field name="postcode" xsi:type="string">10022</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">New York</field> - <field name="telephone" xsi:type="string">777-77-77-77</field> - </dataset> - - <dataset name="US_address_TX"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">7700 W. Parmer Lane Bldg. D</field> - <field name="city" xsi:type="string">Austin</field> - <field name="region_id" xsi:type="string">Texas</field> - <field name="postcode" xsi:type="string">78729</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">512-691-4400</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="US_address_NY"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">3222 Cliffside Drive</field> - <field name="city" xsi:type="string">Binghamton</field> - <field name="region_id" xsi:type="string">New York</field> - <field name="postcode" xsi:type="string">13901</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">607-481-7802</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="US_address_NY_default_no"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="street" xsi:type="string">6262 Fifth Avenue</field> - <field name="city" xsi:type="string">New York</field> - <field name="region_id" xsi:type="string">New York</field> - <field name="postcode" xsi:type="string">90230</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="default_billing" xsi:type="string">No</field> - <field name="default_shipping" xsi:type="string">No</field> - </dataset> - - <dataset name="UK_address_default_billing"> - <field name="firstname" xsi:type="string">Jane</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">JaneDoe_%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">London</field> - <field name="street" xsi:type="string">172, Westminster Bridge Rd</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">London</field> - <field name="telephone" xsi:type="string">444-44-444-44</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="UK_address"> - <field name="firstname" xsi:type="string">Jane</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">JaneDoe_%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">London</field> - <field name="street" xsi:type="string">172, Westminster Bridge Rd</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">London</field> - <field name="telephone" xsi:type="string">444-44-444-44</field> - </dataset> - - <dataset name="UK_address_2"> - <field name="firstname" xsi:type="string">Billy</field> - <field name="lastname" xsi:type="string">Holiday</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="email" xsi:type="string">b.holliday_%isolation%@example.com</field> - <field name="city" xsi:type="string">Liverpool</field> - <field name="street" xsi:type="string">99 Henry St</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">Liverpool</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - </dataset> - - <dataset name="UK_address_2_without_email"> - <field name="firstname" xsi:type="string">Billy</field> - <field name="lastname" xsi:type="string">Holiday</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Liverpool</field> - <field name="street" xsi:type="string">99 Henry St</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">Liverpool</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - </dataset> - - <dataset name="UK_address_without_email"> - <field name="firstname" xsi:type="string">Jane</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">London</field> - <field name="street" xsi:type="string">172, Westminster Bridge Rd</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">London</field> - <field name="telephone" xsi:type="string">444-44-444-44</field> - </dataset> - - <dataset name="empty_UK_address_without_email"> - <field name="firstname" xsi:type="string"/> - <field name="lastname" xsi:type="string"/> - <field name="company" xsi:type="string"/> - <field name="city" xsi:type="string"/> - <field name="street" xsi:type="string"/> - <field name="postcode" xsi:type="string"/> - <field name="country_id" xsi:type="string"/> - <field name="region" xsi:type="string"/> - <field name="telephone" xsi:type="string"/> - </dataset> - - <dataset name="UK_address_without_email_first_name_last_name"> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">London</field> - <field name="street" xsi:type="string">172, Westminster Bridge Rd</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">London</field> - <field name="telephone" xsi:type="string">444-44-444-44</field> - </dataset> - - <dataset name="UK_address_with_VAT"> - <field name="firstname" xsi:type="string">Jane</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">London</field> - <field name="street" xsi:type="string">172, Westminster Bridge Rd</field> - <field name="postcode" xsi:type="string">SE1 7RW</field> - <field name="country_id" xsi:type="string">United Kingdom</field> - <field name="region" xsi:type="string">London</field> - <field name="telephone" xsi:type="string">444-44-444-44</field> - <field name="vat_id" xsi:type="string">584451913</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="DE_address"> - <field name="firstname" xsi:type="string">Jan</field> - <field name="lastname" xsi:type="string">Jansen</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Berlin</field> - <field name="street" xsi:type="string">Augsburger Strabe 41</field> - <field name="postcode" xsi:type="string">10789</field> - <field name="country_id" xsi:type="string">Germany</field> - <field name="region" xsi:type="string">Berlin</field> - <field name="region_id" xsi:type="string">82</field> - <field name="telephone" xsi:type="string">333-33-333-33</field> - </dataset> - - <dataset name="DE_address_default"> - <field name="firstname" xsi:type="string">Jan</field> - <field name="lastname" xsi:type="string">Jansen</field> - <field name="email" xsi:type="string">JaneDoe_%isolation%@example.com</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Berlin</field> - <field name="street" xsi:type="string">Augsburger Strabe 41</field> - <field name="postcode" xsi:type="string">10789</field> - <field name="country_id" xsi:type="string">Germany</field> - <field name="region" xsi:type="string">Berlin</field> - <field name="region_id" xsi:type="string">82</field> - <field name="telephone" xsi:type="string">333-33-333-33</field> - <field name="default_billing" xsi:type="string">Yes</field> - <field name="default_shipping" xsi:type="string">Yes</field> - </dataset> - - <dataset name="DE_address_Frankfurt"> - <field name="firstname" xsi:type="string">Jan</field> - <field name="lastname" xsi:type="string">Jansen</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Frankfurt</field> - <field name="street" xsi:type="string">Marzellenstrasse 13-17</field> - <field name="postcode" xsi:type="string">10789</field> - <field name="country_id" xsi:type="string">Germany</field> - <field name="region" xsi:type="string">Hessen</field> - <field name="region_id" xsi:type="string">86</field> - <field name="telephone" xsi:type="string">333-33-333-33</field> - </dataset> - - <dataset name="KE_Nairobi"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Nairobi</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">Kenya</field> - <field name="postcode" xsi:type="string">12345</field> - </dataset> - - <dataset name="KE_Mombasa"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Mombasa</field> - <field name="street" xsi:type="string">6161 West Centinela Avenue</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">Kenya</field> - <field name="postcode" xsi:type="string">12345</field> - </dataset> - - <dataset name="customer_UK_US_addresses"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">UK_address_default_billing, US_address_default_shipping</item> - </field> - </dataset> - - <dataset name="AVS_street_match_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="street" xsi:type="string">24285 Elm</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - </dataset> - - <dataset name="AVS_street_does_not_match_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="street" xsi:type="string">49354 Main</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">90230</field> - </dataset> - - <dataset name="AVS_zip_match_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="company" xsi:type="string">Magento %isolation%</field> - <field name="city" xsi:type="string">Culver City</field> - <field name="street" xsi:type="string">49 Main</field> - <field name="telephone" xsi:type="string">555-55-555-55</field> - <field name="country_id" xsi:type="string">United States</field> - <field name="region_id" xsi:type="string">California</field> - <field name="postcode" xsi:type="string">00382</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/ConfigData.xml deleted file mode 100644 index 6e7d97f4ff2ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="enable_VAT_on_frontend"> - <field name="customer/create_account/auto_group_assign" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="string">1</item> - </field> - <field name="customer/create_account/tax_calculation_address_type" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Billing Address</item> - <item name="value" xsi:type="string">billing</item> - </field> - <field name="customer/create_account/viv_domestic_group" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string" /> - <item name="value" xsi:type="string">Valid VAT ID Domestic %isolation%</item> - </field> - <field name="customer/create_account/viv_intra_union_group" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string" /> - <item name="value" xsi:type="string">Valid VAT ID Intra %isolation%</item> - </field> - <field name="customer/create_account/viv_invalid_group" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string" /> - <item name="value" xsi:type="string">Invalid VAT ID %isolation%</item> - </field> - <field name="customer/create_account/viv_error_group" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string" /> - <item name="value" xsi:type="string">Error VAT ID %isolation%</item> - </field> - <field name="customer/create_account/vat_frontend_visibility" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="string">1</item> - </field> - </dataset> - - <dataset name="enable_VAT_on_frontend_rollback"> - <field name="customer/create_account/auto_group_assign" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="string">0</item> - </field> - </dataset> - <dataset name="captcha_storefront_disable"> - <field name="customer/captcha/enable" xsi:type="array"> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="number">0</item> - </field> - </dataset> - <dataset name="password_autocomplete_off"> - <field name="customer/password/autocomplete_on_storefront" xsi:type="array"> - <item name="scope" xsi:type="string">customer</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="string">0</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml deleted file mode 100644 index 30626b7824a14..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml +++ /dev/null @@ -1,320 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Customer\Test\Repository\Customer"> - <dataset name="default"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_with_new_customer_group"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">customer_group_retail_customer</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="dob" xsi:type="string">01/01/1990</field> - <field name="gender" xsi:type="string">Male</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe_retailer"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">Retailer</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="dob" xsi:type="string">01/01/1990</field> - <field name="gender" xsi:type="string">Male</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="defaultBackend"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe_with_addresses"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe_unique"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_NY</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe_unique_firstname"> - <field name="firstname" xsi:type="string">John%isolation%</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_NY</item> - </field> - </dataset> - - <dataset name="johndoe_unique_TX"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_TX</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="johndoe_with_multiple_addresses"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_NY, US_address</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="register_customer"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - </dataset> - - <dataset name="backend_customer"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_1</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="backend_retailer_customer"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">Retailer</item> - </field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_1</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_US"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address_1</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_UK_1_default_billing_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">UK_address_default_billing</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_DE_default_billing_address"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">DE_address_default</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_UK_address_with_VAT"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">UK_address_with_VAT</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_UK_US_addresses"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="email" xsi:type="string">John.Doe%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">UK_address_default_billing, US_address_default_shipping</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="customer_US_DE_UK"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe%isolation%</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="address" xsi:type="array"> - <item name="dataset" xsi:type="string">US_address, DE_address, UK_address</item> - </field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - - <dataset name="default_in_custom_website"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">General</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">custom_store</item> - </field> - </dataset> - - <dataset name="johndoe_wholesale"> - <field name="firstname" xsi:type="string">John</field> - <field name="lastname" xsi:type="string">Doe</field> - <field name="group_id" xsi:type="array"> - <item name="dataset" xsi:type="string">Wholesale</item> - </field> - <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> - <field name="password" xsi:type="string">123123^q</field> - <field name="password_confirmation" xsi:type="string">123123^q</field> - <field name="dob" xsi:type="string">01/01/1990</field> - <field name="gender" xsi:type="string">Male</field> - <field name="website_id" xsi:type="array"> - <item name="dataset" xsi:type="string">default</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroup.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroup.xml deleted file mode 100644 index 5f2403c33ec96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/CustomerGroup.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Customer\Test\Repository\CustomerGroup"> - <dataset name="default"> - <field name="customer_group_code" xsi:type="string">customer_code_%isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">customer_tax_class</item> - </field> - </dataset> - - <dataset name="General"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">General</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="Retailer"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">Retailer</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="Wholesale"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">Wholesale</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="all_customer_groups"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">All Customer Groups</field> - </dataset> - - <dataset name="NOT_LOGGED_IN"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">NOT LOGGED IN</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="ALL_GROUPS"> - <field name="customer_group_id" xsi:type="string">%id%</field> - <field name="customer_group_code" xsi:type="string">ALL GROUPS</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="customer_group_retail_customer"> - <field name="customer_group_code" xsi:type="string">Customer_group_%isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="valid_vat_id_domestic"> - <field name="customer_group_code" xsi:type="string">Valid VAT ID Domestic %isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="valid_vat_id_intra_union"> - <field name="customer_group_code" xsi:type="string">Valid VAT ID Intra %isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="invalid_vat_id"> - <field name="customer_group_code" xsi:type="string">Invalid VAT ID %isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - - <dataset name="validation_error_vat_id"> - <field name="customer_group_code" xsi:type="string">Error VAT ID %isolation%</field> - <field name="tax_class_id" xsi:type="array"> - <item name="dataset" xsi:type="string">retail_customer</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/AbstractApplyVatIdTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/AbstractApplyVatIdTest.php deleted file mode 100644 index 1a2492ebc4588..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/AbstractApplyVatIdTest.php +++ /dev/null @@ -1,127 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Abstract class for setting up VAT ID configuration. - */ -abstract class AbstractApplyVatIdTest extends Injectable -{ - /** - * Fixture factory instance. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * System configuration data sets. - * - * @var string - */ - protected $configData; - - /** - * Customer fixture. - * - * @var Customer - */ - protected $customer; - - /** - * Customer groups data sets for VAT ID configuration. - * - * @var array - */ - protected $vatGroupDataSets = [ - 'valid_domestic_group' => 'valid_vat_id_domestic', - 'valid_intra_union_group' => 'valid_vat_id_intra_union', - 'invalid_group' => 'invalid_vat_id', - 'error_group' => 'validation_error_vat_id' - ]; - - /** - * Customer groups for VAT ID configuration. - * - * @var array - */ - protected $vatGroups = []; - - /** - * Inject fixture factory class and create customer groups. - * - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - - foreach ($this->vatGroupDataSets as $group => $dataset) { - /** @var CustomerGroup $groupFixture */ - $groupFixture = $this->fixtureFactory->createByCode('customerGroup', ['dataset' => $dataset]); - $groupFixture->persist(); - $this->vatGroups[$group] = $groupFixture; - } - } - - /** - * Prepare VAT ID configuration. - * - * @param ConfigData $vatConfig - * @param string $customerGroup - * @return void - */ - protected function prepareVatConfig(ConfigData $vatConfig, $customerGroup) - { - $groupConfig = [ - 'customer/create_account/viv_domestic_group' => [ - 'value' => $this->vatGroups['valid_domestic_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_intra_union_group' => [ - 'value' => $this->vatGroups['valid_intra_union_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_invalid_group' => [ - 'value' => $this->vatGroups['invalid_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_error_group' => [ - 'value' => $this->vatGroups['error_group']->getCustomerGroupId() - ] - ]; - $vatConfig = $this->fixtureFactory->createByCode( - 'configData', - ['data' => array_replace_recursive($vatConfig->getSection(), $groupConfig)] - ); - $vatConfig->persist(); - - $customerData = array_merge( - $this->customer->getData(), - ['group_id' => ['value' => $this->vatGroups[$customerGroup]->getCustomerGroupCode()]], - ['address' => ['addresses' => $this->customer->getDataFieldConfig('address')['source']->getAddresses()]] - ); - $this->customer = $this->fixtureFactory->createByCode('customer', ['data' => $customerData]); - } - - /** - * Disable VAT id configuration. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.php deleted file mode 100644 index 063def5b31d95..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.php +++ /dev/null @@ -1,103 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Page\CustomerAddressEdit; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Preconditions: - * 1. Enable VAT functionality. - * 2. Create customer. - * - * Steps: - * 1. Go to frontend. - * 2. Login with customer account. - * 3. Go to My Account > Address Book. - * 4. Update Default Billing Address with specified VAT number. - * 5. Save Customer Address. - * 6. Perform assertions. - * - * @group VAT_ID - * @ZephyrId MAGETWO-12447 - */ -class ApplyVatIdTest extends AbstractApplyVatIdTest -{ - /* tags */ - const MVP = 'no'; - const TEST_TYPE = '3rd_party_test'; - /* end tags */ - - /** - * Customer account page. - * - * @var CustomerAccountIndex - */ - protected $customerAccountIndex; - - /** - * Customer account edit address page. - * - * @var CustomerAddressEdit - */ - protected $customerAddressEdit; - - /** - * Inject pages. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAddressEdit $customerAddressEdit - * @return void - */ - public function __inject(CustomerAccountIndex $customerAccountIndex, CustomerAddressEdit $customerAddressEdit) - { - $this->customerAccountIndex = $customerAccountIndex; - $this->customerAddressEdit = $customerAddressEdit; - } - - /** - * Enable Automatic Assignment of Customers to Appropriate VAT Group. - * - * @param Customer $customer - * @param Address $vatId - * @param ConfigData $vatConfig - * @param string $configData - * @param string $customerGroup - * @return array - */ - public function test( - Customer $customer, - Address $vatId, - ConfigData $vatConfig, - $configData, - $customerGroup - ) { - // Preconditions - $this->configData = $configData; - $this->customer = $customer; - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $this->customer->persist(); - $this->prepareVatConfig($vatConfig, $customerGroup); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $this->customer] - )->run(); - $this->customerAccountIndex->getDashboardAddress()->editBillingAddress(); - $this->customerAddressEdit->getEditForm()->fill($vatId); - $this->customerAddressEdit->getEditForm()->saveAddress(); - - return ['customer' => $this->customer]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.xml deleted file mode 100644 index e642b87510e29..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ApplyVatIdTest.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\ApplyVatIdTest" summary="Enable Automatic Assignment of Customers to Appropriate VAT Group" ticketId="MAGETWO-12447"> - <variation name="ApplyVatIdTestVariation1" summary="Enable Automatic Assignment of Customers to Appropriate VAT Group (valid Intra-Union group)" ticketId="MAGETWO-12447"> - <data name="vatConfig/dataset" xsi:type="string">enable_VAT_on_frontend</data> - <data name="configData" xsi:type="string">store_information_DE_with_VAT, enable_VAT_on_frontend</data> - <data name="customer/dataset" xsi:type="string">customer_UK_1_default_billing_address</data> - <data name="vatId/data/vat_id" xsi:type="string">584451913</data> - <data name="customerGroup" xsi:type="string">valid_intra_union_group</data> - <data name="tag" xsi:type="string">test_type:3rd_party_test</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="ApplyVatIdTestVariation2" summary="Enable Automatic Assignment of Customers to Appropriate VAT Group (invalid VAT ID group)" ticketId="MAGETWO-12447"> - <data name="vatConfig/dataset" xsi:type="string">enable_VAT_on_frontend</data> - <data name="configData" xsi:type="string">store_information_DE_with_VAT, enable_VAT_on_frontend</data> - <data name="customer/dataset" xsi:type="string">customer_UK_1_default_billing_address</data> - <data name="vatId/data/vat_id" xsi:type="string">123456789</data> - <data name="customerGroup" xsi:type="string">invalid_group</data> - <data name="tag" xsi:type="string">test_type:3rd_party_test</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="ApplyVatIdTestVariation3" summary="Enable Automatic Assignment of Customers to Appropriate VAT Group (valid Domestic group)" ticketId="MAGETWO-12447"> - <data name="vatConfig/dataset" xsi:type="string">enable_VAT_on_frontend</data> - <data name="configData" xsi:type="string">store_information_DE_with_VAT, enable_VAT_on_frontend</data> - <data name="customer/dataset" xsi:type="string">customer_DE_default_billing_address</data> - <data name="vatId/data/vat_id" xsi:type="string">111607872</data> - <data name="customerGroup" xsi:type="string">valid_domestic_group</data> - <data name="tag" xsi:type="string">test_type:3rd_party_test</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.php deleted file mode 100644 index d7bcea2ffb11e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.php +++ /dev/null @@ -1,110 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Mtf\TestCase\Injectable; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountEdit; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Page\CustomerAccountLogin; - -/** - * Test Flow: - * - * Preconditions: - * 1. Create customer - * - * Steps: - * 1. Login to fronted as customer from preconditions - * 2. Navigate to My Account page - * 3. Click "Change Password" link near "Contact Information" - * 4. Fill form according to data set and save - * 5. Perform all assertions - * - * @group Customer_Account - * @ZephyrId MAGETWO-29411 - */ -class ChangeCustomerPasswordTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * CmsIndex page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * CustomerAccountLogin page. - * - * @var CustomerAccountLogin - */ - protected $customerAccountLogin; - - /** - * CustomerAccountIndex page. - * - * @var CustomerAccountIndex - */ - protected $customerAccountIndex; - - /** - * CustomerAccountEdit page. - * - * @var CustomerAccountEdit - */ - protected $customerAccountEdit; - - /** - * Preparing pages for test. - * - * @param CmsIndex $cmsIndex - * @param CustomerAccountLogin $customerAccountLogin - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAccountEdit $customerAccountEdit - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CustomerAccountLogin $customerAccountLogin, - CustomerAccountIndex $customerAccountIndex, - CustomerAccountEdit $customerAccountEdit - ) { - $this->cmsIndex = $cmsIndex; - $this->customerAccountLogin = $customerAccountLogin; - $this->customerAccountIndex = $customerAccountIndex; - $this->customerAccountEdit = $customerAccountEdit; - } - - /** - * Run Change customer password test. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @return void - */ - public function test(Customer $initialCustomer, Customer $customer) - { - // Preconditions - $initialCustomer->persist(); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $initialCustomer] - )->run(); - - $this->cmsIndex->getLinksBlock()->openLink('My Account'); - $this->customerAccountIndex->getInfoBlock()->openChangePassword(); - $this->customerAccountEdit->getAccountInfoForm()->fill($customer); - $this->customerAccountEdit->getAccountInfoForm()->submit(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.xml deleted file mode 100644 index f94d99b07ec6e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ChangeCustomerPasswordTest.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\ChangeCustomerPasswordTest" summary="Change Customer Password from My Account" ticketId="MAGETWO-29411"> - <variation name="ChangeCustomerPasswordTestVariation1"> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="customer/data/password" xsi:type="string">123123^a</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^a</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInfoSuccessSavedMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerPasswordChanged" /> - </variation> - <variation name="ChangeCustomerPasswordTestVariation2"> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/current_password" xsi:type="string">123123</data> - <data name="customer/data/password" xsi:type="string">123123^a</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^a</data> - <constraint name="Magento\Customer\Test\Constraint\AssertChangePasswordFailMessage" /> - </variation> - <variation name="ChangeCustomerPasswordTestVariation3"> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="customer/data/password" xsi:type="string">123123^a</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^d</data> - <constraint name="Magento\Customer\Test\Constraint\AssertWrongPassConfirmationMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.php deleted file mode 100644 index 1e09c85080d57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.php +++ /dev/null @@ -1,308 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\TestCase\Injectable; -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; -use Magento\User\Test\Fixture\User; -use Magento\User\Test\Page\Adminhtml\UserEdit; -use Magento\User\Test\Page\Adminhtml\UserIndex; - -/** - * Steps: - * 1. Log in as default admin user. - * 2. Go to Customers > All Customers. - * 3. Press "Add New Customer" button. - * 4. Fill form. - * 5. Click "Save Customer" button. - * 6. Perform all assertions. - * - * @ZephyrId MAGETWO-23424 - */ -class CreateCustomerBackendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Customer fixture. - * - * @var Customer - */ - protected $customer; - - /** - * @var Address - */ - private $address; - - /** @var array */ - private $allowedCountriesData = []; - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $pageCustomerIndex; - - /** - * New customer page. - * - * @var CustomerIndexNew - */ - protected $pageCustomerIndexNew; - - /** @var FixtureFactory */ - private $fixtureFactory; - - /** - * @var UserEdit - */ - private $userEdit; - - /** - * @var UserIndex - */ - private $userIndex; - - /** - * Array of steps. - * - * @var array - */ - private $steps; - - /** - * Inject customer pages. - * - * @param CustomerIndex $pageCustomerIndex - * @param CustomerIndexNew $pageCustomerIndexNew - * @param FixtureFactory $fixtureFactory - * @param UserEdit $userEdit - * @param UserIndex $userIndex - * @return void - */ - public function __inject( - CustomerIndex $pageCustomerIndex, - CustomerIndexNew $pageCustomerIndexNew, - \Magento\Mtf\Fixture\FixtureFactory $fixtureFactory, - UserEdit $userEdit, - UserIndex $userIndex - ) { - $this->pageCustomerIndex = $pageCustomerIndex; - $this->pageCustomerIndexNew = $pageCustomerIndexNew; - $this->fixtureFactory = $fixtureFactory; - $this->userEdit = $userEdit; - $this->userIndex = $userIndex; - } - - /** - * Create customer on backend. - * - * @param Customer $customer - * @param null $customerAction - * @param Address|null $address - * @param array $steps - * @param array $beforeActionCallback - * @throws \Exception - */ - public function test( - Customer $customer, - $customerAction = null, - Address $address = null, - array $steps = [], - array $beforeActionCallback = [] - ) { - $this->steps = $steps; - ///Process initialize steps - foreach ($steps as $methodName => $stepData) { - if (method_exists($this, $methodName)) { - call_user_func_array([$this, $methodName], $stepData); - } - } - - $this->pageCustomerIndex->open(); - $this->pageCustomerIndex->getPageActionsBlock()->addNew(); - $this->pageCustomerIndexNew->getCustomerForm()->fillCustomer($customer); - if (null !== $address) { - $this->pageCustomerIndexNew->getPageActionsBlock()->saveAndContinue(); - $this->pageCustomerIndexNew->getMessagesBlock()->waitSuccessMessage(); - $this->pageCustomerIndexNew->getCustomerForm()->fillCustomerAddress($address); - } - $this->address = $address; - $this->customer = $customer; - - foreach ($beforeActionCallback as $methodName) { - if (method_exists($this, $methodName)) { - call_user_func([$this, $methodName]); - } - } - if (null !== $customerAction) { - $this->pageCustomerIndexNew->getPageActionsBlock()->$customerAction(); - } - } - - /** - * Assert that allowed countries renders in correct way. - * @return void - */ - protected function assertAllowedCountries() - { - /** @var \Magento\Customer\Test\Constraint\AssertChangingWebsiteChangeCountries $assert */ - $assert = $this->objectManager->get( - \Magento\Customer\Test\Constraint\AssertChangingWebsiteChangeCountries::class - ); - - foreach ($this->allowedCountriesData as $dataPerWebsite) { - $customerWithWebsite = $this->fixtureFactory->createByCode( - 'customer', - [ - 'data' => [ - 'website_id' => $dataPerWebsite['website']->getName() - ] - ] - ); - $assert->processAssert( - $this->pageCustomerIndexNew, - $customerWithWebsite, - $dataPerWebsite['countries'] - ); - } - - $this->pageCustomerIndexNew->getCustomerForm()->openTab('account_information'); - $this->pageCustomerIndexNew->getCustomerForm()->fillCustomer($this->customer); - $this->pageCustomerIndexNew->getCustomerForm()->openTab('addresses'); - $this->pageCustomerIndexNew->getCustomerForm()->getTab('addresses')->updateAddresses($this->address); - } - - /** - * @return \Magento\Store\Test\Fixture\Website - */ - private function createWebsiteFixture() - { - /** @var \Magento\Store\Test\Fixture\Website $websiteFixture */ - $websiteFixture = $this->fixtureFactory->createByCode('website', ['dataset' => 'custom_website']); - $websiteFixture->persist(); - $storeGroupFixture = $this->fixtureFactory->createByCode( - 'storeGroup', - [ - 'data' => [ - 'website_id' => [ - 'fixture' => $websiteFixture - ], - 'root_category_id' => [ - 'dataset' => 'default_category' - ], - 'name' => 'Store_Group_%isolation%', - ] - ] - ); - $storeGroupFixture->persist(); - /** @var \Magento\Store\Test\Fixture\Store $storeFixture */ - $storeFixture = $this->fixtureFactory->createByCode( - 'store', - [ - 'data' => [ - 'website_id' => $websiteFixture->getWebsiteId(), - 'group_id' => [ - 'fixture' => $storeGroupFixture - ], - 'is_active' => true, - 'name' => 'Store_%isolation%', - 'code' => 'store_%isolation%' - ] - ] - ); - $storeFixture->persist(); - - return $websiteFixture; - } - - /** - * @param array $countryList - */ - protected function configureAllowedCountries(array $countryList = []) - { - foreach ($countryList as $countries) { - $websiteFixture = $this->createWebsiteFixture(); - /** @var FixtureInterface $configFixture */ - $configFixture = $this->fixtureFactory->createByCode( - 'configData', - [ - 'data' => [ - 'general/country/allow' => [ - 'value' => $countries - ], - 'scope' => [ - 'fixture' => $websiteFixture, - 'scope_type' => 'website', - 'website_id' => $websiteFixture->getWebsiteId(), - 'set_level' => 'website', - ] - ] - ] - ); - - $configFixture->persist(); - $this->allowedCountriesData[] = [ - 'website' => $websiteFixture, - 'countries' => explode(",", $countries) - ]; - } - } - - /** - * Change Admin locale. - * - * @param array $userData - */ - protected function changeAdminLocale(array $userData) - { - /** @var User $adminUser */ - $adminUser = $this->fixtureFactory->createByCode('user', ['data' => $userData]); - $this->userIndex->open(); - $this->userIndex->getUserGrid()->searchAndOpen(['username' => $adminUser->getUsername()]); - $this->userEdit->getUserForm()->fill($adminUser); - $this->userEdit->getPageActions()->save(); - } - - /** - * Revert Admin locale. - */ - protected function changeAdminLocaleRollback() - { - /** @var User $defaultAdminUser */ - $defaultAdminUser = $this->fixtureFactory->createByCode('user'); - $adminUserData = $defaultAdminUser->getData(); - unset($adminUserData['user_id']); - $defaultAdminUser = $this->fixtureFactory->createByCode('user', ['data' => $adminUserData]); - $this->userIndex->open(); - $this->userIndex->getUserGrid()->searchAndOpen(['username' => $defaultAdminUser->getUsername()]); - $this->userEdit->getUserForm()->fill($defaultAdminUser); - $this->userEdit->getPageActions()->save(); - } - - /** - * @inheritdoc - */ - protected function tearDown(): void - { - foreach ($this->steps as $key => $stepData) { - if (method_exists($this, $key . 'Rollback')) { - call_user_func_array([$this, $key . 'Rollback'], $stepData); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.xml deleted file mode 100644 index ff87a1df60fe8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerBackendEntityTest.xml +++ /dev/null @@ -1,192 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\CreateCustomerBackendEntityTest" summary="Create Customer from Backend" ticketId="MAGETWO-23424"> - <variation name="CreateCustomerBackendEntityTestVariation1" summary="General customer without address"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation2" summary="Customer with prefix"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/group_id/dataset" xsi:type="string">Wholesale</data> - <data name="customer/data/prefix" xsi:type="string">M</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/middlename" xsi:type="string">Jack</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/suffix" xsi:type="string">S</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="customer/data/dob" xsi:type="string">03/16/2004</data> - <data name="customer/data/gender" xsi:type="string">Male</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation3" summary="General customer from USA"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="address/data/firstname" xsi:type="string">Joe</data> - <data name="address/data/lastname" xsi:type="string">Doe</data> - <data name="address/data/street" xsi:type="string">1 Main Street</data> - <data name="address/data/city" xsi:type="string">Culver City</data> - <data name="address/data/country_id" xsi:type="string">United States</data> - <data name="address/data/region_id" xsi:type="string">California</data> - <data name="address/data/postcode" xsi:type="string">90230</data> - <data name="address/data/telephone" xsi:type="string">3109450345</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation4" summary="Retailer customer without address"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">Retailer</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@-example.com</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInvalidEmail" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation5" summary="General customer from Poland"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">Thomas%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Oster%isolation%</data> - <data name="customer/data/email" xsi:type="string">Thomas%isolation%@example.com</data> - <data name="customer/data/taxvat" xsi:type="string">5250008057</data> - <data name="address/data/firstname" xsi:type="string">Thomas</data> - <data name="address/data/lastname" xsi:type="string">Oster</data> - <data name="address/data/street" xsi:type="string">Chmielna 113</data> - <data name="address/data/city" xsi:type="string">Bielsko-Biala</data> - <data name="address/data/country_id" xsi:type="string">Poland</data> - <data name="address/data/postcode" xsi:type="string">43-310</data> - <data name="address/data/telephone" xsi:type="string">799885616</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation6" summary="Create New Customer on Backend" ticketId="MAGETWO-12516"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">saveAndContinue</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerBackendFormTitle" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation7" summary="Create customer with custom customer group"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="customerAction" xsi:type="string">saveAndContinue</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">customer_group_retail_customer</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerBackendBackButton" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation8" summary="Verify required fields on Account Information tab."> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="expectedRequiredFields" xsi:type="array"> - <item name="0" xsi:type="string">First Name</item> - <item name="1" xsi:type="string">Last Name</item> - <item name="2" xsi:type="string">Email</item> - </data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerBackendRequiredFields" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation9" summary="Verify required fields on the Add address modal."> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="address/data/company" xsi:type="string">Magento</data> - <data name="address/data/country_id" xsi:type="string"></data> - <data name="expectedRequiredFields" xsi:type="array"> - <item name="2" xsi:type="string">Street Address</item> - <item name="3" xsi:type="string">City</item> - <item name="4" xsi:type="string">Country</item> - <item name="5" xsi:type="string">Zip/Postal Code</item> - <item name="6" xsi:type="string">Phone Number</item> - </data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressBackendRequiredFields" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation10" summary="Create customer with 2 websites and with different allowed countries."> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="address/data/company" xsi:type="string">Magento</data> - <data name="address/data/country_id" xsi:type="string">Bangladesh</data> - <data name="address/data/street" xsi:type="string">Chmielna 113</data> - <data name="address/data/city" xsi:type="string">Bielsko-Biala</data> - <data name="address/data/postcode" xsi:type="string">43-310</data> - <data name="address/data/telephone" xsi:type="string">799885616</data> - <data name="steps" xsi:type="array"> - <item name="configureAllowedCountries" xsi:type="array"> - <item name="countries" xsi:type="array"> - <item name="0" xsi:type="string">AS,BM</item> - <item name="1" xsi:type="string">BD,BB,AF</item> - </item> - </item> - </data> - <data name="beforeActionCallback" xsi:type="array"> - <item name="assertAllowedCountries" xsi:type="string">assertAllowedCountries</item> - </data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - </variation> - <variation name="CreateCustomerBackendEntityTestVariation11" summary="Create customer if admin interface locale is en_GB."> - <data name="issue" xsi:type="string">DEVOPS-474</data> - <data name="customerAction" xsi:type="string">save</data> - <data name="customer/data/website_id" xsi:type="string">Main Website</data> - <data name="customer/data/group_id/dataset" xsi:type="string">General</data> - <data name="customer/data/firstname" xsi:type="string">John%isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="customer/data/dob" xsi:type="string">03/29/2004</data> - <data name="steps" xsi:type="array"> - <item name="changeAdminLocale" xsi:type="array"> - <item name="data" xsi:type="array"> - <item name="username" xsi:type="string">admin</item> - <item name="interface_locale" xsi:type="string">English (United Kingdom)</item> - <item name="current_password" xsi:type="string">123123q</item> - </item> - </item> - </data> - <data name="locale" xsi:type="string">en_GB</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.php deleted file mode 100644 index de6717a3bd4af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupNew; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test Creation for CreateCustomerGroupEntity - * - * Test Flow: - * 1.Log in to backend as admin user. - * 2.Navigate to Customers > Customer Groups. - * 3.Start to create new Customer Group. - * 4.Fill in all data according to data set. - * 5.Click "Save Customer Group" button. - * 6.Perform all assertions. - * - * @group Customer_Groups - * @ZephyrId MAGETWO-23422 - */ -class CreateCustomerGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const STABLE = 'no'; - /* end tags */ - - /** - * Customer group index - * - * @var CustomerGroupIndex - */ - protected $customerGroupIndex; - - /** - * New customer group - * - * @var CustomerGroupNew - */ - protected $customerGroupNew; - - /** - * @param CustomerGroupIndex $customerGroupIndex - * @param CustomerGroupNew $customerGroupNew - */ - public function __inject( - CustomerGroupIndex $customerGroupIndex, - CustomerGroupNew $customerGroupNew - ) { - $this->customerGroupIndex = $customerGroupIndex; - $this->customerGroupNew = $customerGroupNew; - } - - /** - * Create customer group - * - * @param CustomerGroup $customerGroup - */ - public function testCreateCustomerGroup( - CustomerGroup $customerGroup - ) { - //Steps - $this->customerGroupIndex->open(); - $this->customerGroupIndex->getGridPageActions()->addNew(); - $this->customerGroupNew->getPageMainForm()->fill($customerGroup); - $this->customerGroupNew->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.xml deleted file mode 100644 index 99edbdc859dd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateCustomerGroupEntityTest.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\CreateCustomerGroupEntityTest" summary="Create Customer Group" ticketId="MAGETWO-23422"> - <variation name="CreateCustomerGroupEntityTestVariation1"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">retail_customer</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">GroupName%isolation%</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnProductForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCatalogPriceRuleForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCartPriceRuleForm" /> - </variation> - <variation name="CreateCustomerGroupEntityTestVariation2"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">retail_customer</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">General</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupAlreadyExists" /> - </variation> - <variation name="CreateCustomerGroupEntityTestVariation3"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">customer_tax_class</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">GroupName%isolation%</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCustomerForm" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.php deleted file mode 100644 index 66e0ebb6ac0ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Mtf\TestCase\Injectable; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexNew; - -/** - * Precondition: - * 1. Customer is created. - * - * Steps: - * 1. Log in as default admin user. - * 2. Go to Customers > All Customers. - * 3. Press "Add New Customer" button. - * 4. Fill form with data from previously created customer. - * 5. Click "Save Customer" button. - * 6. Perform all assertions. - * - * @ZephyrId MAGETWO-43685 - */ -class CreateExistingCustomerBackendEntity extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $pageCustomerIndex; - - /** - * New customer page. - * - * @var CustomerIndexNew - */ - protected $pageCustomerIndexNew; - - /** - * Inject customer pages. - * - * @param CustomerIndex $pageCustomerIndex - * @param CustomerIndexNew $pageCustomerIndexNew - * @return void - */ - public function __inject( - CustomerIndex $pageCustomerIndex, - CustomerIndexNew $pageCustomerIndexNew - ) { - $this->pageCustomerIndex = $pageCustomerIndex; - $this->pageCustomerIndexNew = $pageCustomerIndexNew; - } - - /** - * Create customer on backend. - * - * @param Customer $customer - * @return void - */ - public function test(Customer $customer) - { - // Precondition - $customer->persist(); - - // Steps - $this->pageCustomerIndex->open(); - $this->pageCustomerIndex->getPageActionsBlock()->addNew(); - $this->pageCustomerIndexNew->getCustomerForm()->fillCustomer($customer); - $this->pageCustomerIndexNew->getPageActionsBlock()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.xml deleted file mode 100644 index f0a0e092bbdcf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerBackendEntity.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\CreateExistingCustomerBackendEntity" summary="Create Existing Customer from Backend" ticketId="MAGETWO-43685"> - <variation name="CreateExistingCustomerBackendEntity1" summary="Create existing customer on Backend."> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="issue" xsi:type="string">MAGETWO-81744: [Jenkins] Random fail of Requisition List Test and CreateExistingCustomerBackendEntity</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerBackendDuplicateErrorMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php deleted file mode 100644 index 898a623c0b7ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountCreate; -use Magento\Customer\Test\Page\CustomerAccountLogout; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1.Customer is created. - * - * Steps: - * 1. Go to frontend. - * 2. Click Register link. - * 3. Fill registry form. - * 4. Click 'Create account' button. - * 5. Perform assertions. - * - * @group Customer_Account - * @ZephyrId MAGETWO-23545 - */ -class CreateExistingCustomerFrontendEntity extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page CustomerAccountCreate. - * - * @var CustomerAccountCreate - */ - protected $customerAccountCreate; - - /** - * Page CustomerAccountLogout. - * - * @var CustomerAccountLogout - */ - protected $customerAccountLogout; - - /** - * Page CmsIndex - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Inject pages. - * - * @param CustomerAccountCreate $customerAccountCreate - * @param CustomerAccountLogout $customerAccountLogout - * @param CmsIndex $cmsIndex - * @return array - */ - public function __inject( - CustomerAccountCreate $customerAccountCreate, - CustomerAccountLogout $customerAccountLogout, - CmsIndex $cmsIndex - ) { - $this->customerAccountLogout = $customerAccountLogout; - $this->customerAccountCreate = $customerAccountCreate; - $this->cmsIndex = $cmsIndex; - } - - /** - * Create Existing Customer account on frontend. - * - * @param Customer $customer - * @return void - */ - public function testCreateExistingCustomer(Customer $customer) - { - // Precondition - $existingCustomer = clone $customer; - $customer->persist(); - - // Steps - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($existingCustomer); - } - - /** - * Logout customer from frontend account. - * - * @return void - */ - public function tearDown() - { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.xml deleted file mode 100644 index 3865b6acd5b5a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/CreateExistingCustomerFrontendEntity.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\CreateExistingCustomerFrontendEntity" summary="Create Existing Frontend Customer" ticketId="MAGETWO-23545"> - <variation name="CreateExistingCustomerFrontendEntityVariation1"> - <data name="customer/data/firstname" xsi:type="string">john</data> - <data name="customer/data/lastname" xsi:type="string">doe</data> - <data name="customer/data/email" xsi:type="string">johndoe%isolation%@example.com</data> - <data name="customer/data/password" xsi:type="string">123123q#</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123q#</data> - <data name="customer/data/website_id/dataset" xsi:type="string">default</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerFailRegisterMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.php deleted file mode 100644 index 5067f187ecfea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create customer. - * 2. Add default address (NY). - * 3. Add one more address (CA). - * - * Steps: - * 1. Open frontend. - * 2. Login as customer. - * 3. Go to 'Address Book' tab > Additional Address Entries. - * 4. Delete second address - click 'Delete Address' button. - * 5. Perform all assertions. - * - * @group Customers - * @ZephyrId MAGETWO-28066 - */ -class DeleteCustomerAddressTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const STABLE = 'no'; - /* end tags */ - - /** - * Customer index page. - * - * @var CustomerAccountIndex - */ - protected $customerAccountIndex; - - /** - * Prepare pages for test. - * - * @param CustomerAccountIndex $customerAccountIndex - * @return void - */ - public function __inject( - CustomerAccountIndex $customerAccountIndex - ) { - $this->customerAccountIndex = $customerAccountIndex; - } - - /** - * Runs Delete Customer Address test. - * - * @param Customer $customer - * @return array - */ - public function test(Customer $customer) - { - // Precondition: - $customer->persist(); - $addressToDelete = $customer->getDataFieldConfig('address')['source']->getAddresses()[1]; - - // Steps: - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $this->customerAccountIndex->getAccountMenuBlock()->openMenuItem('Address Book'); - $this->customerAccountIndex->getAdditionalAddressBlock()->deleteAdditionalAddress($addressToDelete); - - return ['deletedAddress' => $addressToDelete]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.xml deleted file mode 100644 index 027d6e5d32682..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerAddressTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\DeleteCustomerAddressTest" summary="Delete Customer Address" ticketId="MAGETWO-28066"> - <variation name="DeleteCustomerAddressTestVariation1"> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="customer/data/address/dataset" xsi:type="string">US_address_default_billing,US_address_NY_default_no</data> - <constraint name="Magento\Customer\Test\Constraint\AssertAdditionalAddressDeletedFrontend" /> - <constraint name="Magento\Customer\Test\Constraint\AssertAddressDeletedBackend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.php deleted file mode 100644 index 0de09fb6e525a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test creation for DeleteCustomerBackendEntity - * - * Test Flow: - * Preconditions: - * 1. Create customer on the backend - * - * Steps: - * 1. Open backend - * 2. Go to Customers - All Customers - * 3. Search and open created customer according to dataset - * 4. Fill in data according to dataset - * 5. Perform all assertions according to dataset - * - * @group Customers - * @ZephyrId MAGETWO-24764 - */ -class DeleteCustomerBackendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * @var CustomerIndex - */ - protected $customerIndexPage; - - /** - * @var CustomerIndexEdit - */ - protected $customerIndexEditPage; - - /** - * Preparing pages for test - * - * @param CustomerIndex $customerIndexPage - * @param CustomerIndexEdit $customerIndexEditPage - * @return void - */ - public function __inject(CustomerIndex $customerIndexPage, CustomerIndexEdit $customerIndexEditPage) - { - $this->customerIndexPage = $customerIndexPage; - $this->customerIndexEditPage = $customerIndexEditPage; - } - - /** - * Runs Delete Customer Backend Entity test - * - * @param Customer $customer - * @return void - */ - public function testDeleteCustomerBackendEntity(Customer $customer) - { - // Preconditions: - $customer->persist(); - - // Steps: - $filter = ['email' => $customer->getEmail()]; - $this->customerIndexPage->open(); - $this->customerIndexPage->getCustomerGridBlock()->searchAndOpen($filter); - $this->customerIndexEditPage->getPageActionsBlock()->delete(); - $this->customerIndexEditPage->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.xml deleted file mode 100644 index 3807360e89ec0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerBackendEntityTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\DeleteCustomerBackendEntityTest" summary="Delete Customer Backend Entity" ticketId="MAGETWO-24764"> - <variation name="DeleteCustomerBackendEntityTestVariation1"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/dataset" xsi:type="string">default</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessDeleteMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerNotInGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.php deleted file mode 100644 index 7f2b4254dff16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupNew; -use Magento\Mtf\TestCase\Injectable; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Preconditions: - * 1. Customer Group is created. - * 2. Customer is created and assigned to this group. - * Steps: - * 1. Log in to backend as admin user. - * 2. Navigate to Customers > Customer Groups. - * 3. Click on Customer Group from grid. - * 4. Click on Delete "Customer Group". - * 5. Confirm in pop-up. - * 6. Perform all assertions. - * - * @group Customer_Groups - * @ZephyrId MAGETWO-25243 - */ -class DeleteCustomerGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page CustomerGroupIndex. - * - * @var CustomerGroupIndex - */ - protected $customerGroupIndex; - - /** - * Page CustomerGroupNew. - * - * @var CustomerGroupNew - */ - protected $customerGroupNew; - - /** - * Injection data. - * - * @param CustomerGroupIndex $customerGroupIndex - * @param CustomerGroupNew $customerGroupNew - * @return void - */ - public function __inject( - CustomerGroupIndex $customerGroupIndex, - CustomerGroupNew $customerGroupNew - ) { - $this->customerGroupIndex = $customerGroupIndex; - $this->customerGroupNew = $customerGroupNew; - } - - /** - * Delete Customer Group. - * - * @param CustomerGroup $customerGroup - * @param Customer $customer [optional] - * @return array - */ - public function test(CustomerGroup $customerGroup, Customer $customer = null) - { - // Precondition - if ($customer !== null) { - $customer->persist(); - $customerGroup = $customer->getDataFieldConfig('group_id')['source']->getCustomerGroup(); - } else { - $customerGroup->persist(); - } - - // Steps - $filter = ['code' => $customerGroup->getCustomerGroupCode()]; - $this->customerGroupIndex->open(); - $this->customerGroupIndex->getCustomerGroupGrid()->searchAndOpen($filter); - $this->customerGroupNew->getPageMainActions()->delete(); - $this->customerGroupNew->getModalBlock()->acceptAlert(); - - return [ - 'customer' => $customer, - 'customerGroup' => $customerGroup - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.xml deleted file mode 100644 index 4251a1c5ee9c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteCustomerGroupEntityTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\DeleteCustomerGroupEntityTest" summary="Delete Customer Group" ticketId="MAGETWO-25243"> - <variation name="DeleteCustomerGroupEntityTestVariation1"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/dataset" xsi:type="string">customer_with_new_customer_group</data> - <data name="customer/data/group_id/dataset" xsi:type="string">default</data> - <data name="defaultCustomerGroup/dataset" xsi:type="string">General</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessDeleteMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupNotInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupNotOnProductForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupNotOnCartPriceRuleForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupNotOnCatalogPriceRuleForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupChangedToDefaultOnCustomerForm" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.php deleted file mode 100644 index 3beaa0915b6e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Steps: - * 1. Login to backend as admin user. - * 2. Navigate to Customers > Customer Groups. - * 3. Select system Customer Group specified in data set from grid. - * 4. Perform all assertions. - * - * @group Customer_Groups - * @ZephyrId MAGETWO-53576 - */ -class DeleteSystemCustomerGroupTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page CustomerGroupIndex. - * - * @var CustomerGroupIndex - */ - protected $customerGroupIndex; - - /** - * Inject pages. - * - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function __inject(CustomerGroupIndex $customerGroupIndex) - { - $this->customerGroupIndex = $customerGroupIndex; - } - - /** - * Check Customer Group cannot be deleted. - * - * @param CustomerGroup $customerGroup - * @return void - */ - public function test(CustomerGroup $customerGroup) - { - $filter = ['code' => $customerGroup->getCustomerGroupCode()]; - - // Steps - $this->customerGroupIndex->open(); - $this->customerGroupIndex->getCustomerGroupGrid()->searchAndOpen($filter); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.xml deleted file mode 100644 index 822cbcfbcb7ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/DeleteSystemCustomerGroupTest.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\DeleteSystemCustomerGroupTest" summary="Delete system customer group" ticketId="MAGETWO-53576"> - <variation name="DeleteSystemCustomerGroup1" summary="Checks that NOT LOGGED IN Customer Group cannot be deleted"> - <data name="customerGroup/dataset" xsi:type="string">NOT_LOGGED_IN</data> - <constraint name="Magento\Customer\Test\Constraint\AssertNoDeleteForSystemCustomerGroup" /> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - </variation> - <variation name="DeleteSystemCustomerGroup2" summary="Checks that General Customer Group cannot be deleted"> - <data name="customerGroup/dataset" xsi:type="string">General</data> - <constraint name="Magento\Customer\Test\Constraint\AssertNoDeleteForSystemCustomerGroup" /> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php deleted file mode 100644 index c7fed619131a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountForgotPassword; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\TestStep\TestStepFactory; - -/** - * Precondition: - * 1. Customer is created. - * - * Steps: - * 1. Open forgot password page. - * 2. Fill email. - * 3. Click forgot password button. - * 4. Check forgot password message. - * - * @group Customer - * @ZephyrId MAGETWO-37145 - */ -class ForgotPasswordOnFrontendTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Step factory. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Configuration setting. - * - * @var string - */ - private $configData; - - /** - * Injection data. - * - * @param TestStepFactory $stepFactory - * @return void - */ - public function __inject( - TestStepFactory $stepFactory - ) { - $this->stepFactory = $stepFactory; - } - - /** - * Create customer. - * - * @param Customer $customer - * @param CustomerAccountForgotPassword $forgotPassword - * @param null|string $configData - * @return void - */ - public function test(Customer $customer, CustomerAccountForgotPassword $forgotPassword, $configData) - { - $this->configData = $configData; - - // Preconditions - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - // Precondition - $customer->persist(); - - // Steps - $forgotPassword->open(); - $forgotPassword->getForgotPasswordForm()->resetForgotPassword($customer); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.xml deleted file mode 100644 index 7bf916157c5dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/ForgotPasswordOnFrontendTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\ForgotPasswordOnFrontendTest" summary="Forgot customer password on frontend" ticketId="MAGETWO-37145"> - <variation name="ForgotPasswordOnFrontendTestVariation1"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/dataset" xsi:type="string">customer_US</data> - <data name="configData" xsi:type="string">captcha_storefront_disable</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForgotPasswordSuccessMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFilteringTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFilteringTest.xml deleted file mode 100644 index 5c6222bee923b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFilteringTest.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridFilteringTest" summary="Grid UI Component Filtering" ticketId="MAGETWO-41329"> - <variation name="CustomerGridFiltering"> - <data name="tag" xsi:type="string">severity:S2</data> - <data name="description" xsi:type="string">Verify customer page grid filtering</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">customer</data> - <data name="fixtureDataSet" xsi:type="string">johndoe_unique</data> - <data name="filters" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="name" xsi:type="string">:lastname</item> - <item name="email" xsi:type="string">:email</item> - </item> - <item name="1" xsi:type="array"> - <item name="email" xsi:type="string">:email</item> - <item name="entity_id_from" xsi:type="string">:id</item> - </item> - </data> - <data name="pageClass" xsi:type="string">Magento\Customer\Test\Page\Adminhtml\CustomerIndex</data> - <data name="gridRetriever" xsi:type="string">getCustomerGridBlock</data> - <data name="idGetter" xsi:type="string">getId</data> - <constraint name="\Magento\Ui\Test\Constraint\AssertGridFiltering"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFullTextSearchTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFullTextSearchTest.xml deleted file mode 100644 index aaf55edb96125..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridFullTextSearchTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridFullTextSearchTest" summary="Grid UI Component Full Text Search" ticketId="MAGETWO-41023"> - <variation name="CustomerGridFullTextSearch"> - <data name="tag" xsi:type="string">severity:S2</data> - <data name="description" xsi:type="string">Verify customer page grid full text search</data> - <data name="itemsCount" xsi:type="string">2</data> - <data name="fixtureName" xsi:type="string">customer</data> - <data name="fixtureDataSet" xsi:type="string">johndoe_unique</data> - <data name="pageClass" xsi:type="string">Magento\Customer\Test\Page\Adminhtml\CustomerIndex</data> - <data name="gridRetriever" xsi:type="string">getCustomerGridBlock</data> - <data name="idGetter" xsi:type="string">getId</data> - <data name="fieldGetter" xsi:type="string">getLastname</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridFullTextSearch"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridSortingTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridSortingTest.xml deleted file mode 100644 index 5a0de1006dd0c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/GridSortingTest.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Ui\Test\TestCase\GridSortingTest" summary="Grid UI Component Sorting" ticketId="MAGETWO-41328"> - <variation name="CustomerGridSorting"> - <data name="tag" xsi:type="string">severity:S2</data> - <data name="tag" xsi:type="string">stable:no</data> - <data name="description" xsi:type="string">Verify customer page grid sorting</data> - <data name="columnsForSorting" xsi:type="array"> - <item name="id" xsi:type="string">ID</item> - <item name="date" xsi:type="string">Customer Since</item> - </data> - <data name="pageClass" xsi:type="string">Magento\Customer\Test\Page\Adminhtml\CustomerIndex</data> - <data name="gridRetriever" xsi:type="string">getCustomerGridBlock</data> - <constraint name="Magento\Ui\Test\Constraint\AssertGridSorting"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.php deleted file mode 100644 index ae57c63d5faa9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Page\CustomerAccountLogin; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Precondition: - * 1. Customer is created. - * - * Steps: - * 1. Open login page. - * 2. Fill email. - * 3. Fill wrong password. - * 4. Click login. - * 5. Check error message. - * - * @group Customer - * @ZephyrId MAGETWO-16883 - */ -class LoginOnFrontendFailTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Login on frontend. - * - * @param Customer $customer - * @param CustomerAccountLogin $loginPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function test(Customer $customer, CustomerAccountLogin $loginPage, FixtureFactory $fixtureFactory) - { - // Precondition - $customer->persist(); - $customerData = $customer->getData(); - $customerData['password'] = 'fail'; - $customerData['group_id'] = ['dataset' => 'default']; - $failCustomer = $fixtureFactory->createByCode('customer', ['data' => $customerData]); - - // Steps - $loginPage->open(); - $loginPage->getLoginBlock()->fill($failCustomer); - $loginPage->getLoginBlock()->submit(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.xml deleted file mode 100644 index bf84d2be43a11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/LoginOnFrontendFailTest.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\LoginOnFrontendFailTest" summary="Check error message with wrong credentials" ticketId="MAGETWO-16883"> - <variation name="LoginOnFrontendFailTestVariation1"> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerLoginErrorMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.php deleted file mode 100644 index cc56f92c135ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test creation for MassAssignCustomerGroup - * - * Test Flow: - * - * Preconditions: - * 1. Create customers - * 2. Create customer group - * - * Steps: - * 1. Open Backend - * 2. Go to Customers> All Customers - * 3. Find and select(using checkbox) created customer - * 4. Select "Assign a Customer Group" from action drop-down - * 5. Select created customer group - * 6. Click "Submit" button - * 7. Perform all assertions - * - * @group Customer_Groups, Customers - * @ZephyrId MAGETWO-27892, MAGETWO-19456 - */ -class MassAssignCustomerGroupTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Customer index page - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customers grid actions - * - * @var string - */ - protected $customersGridActions = 'Assign a Customer Group'; - - /** - * Injection data - * - * @param CustomerIndex $customerIndex - * @return void - */ - public function __inject(CustomerIndex $customerIndex) - { - $this->customerIndex = $customerIndex; - } - - /** - * Mass assign customer group - * - * @param CustomerGroup $customerGroup - * @param FixtureFactory $fixtureFactory - * @param array $customers - * @return array - */ - public function test(CustomerGroup $customerGroup, FixtureFactory $fixtureFactory, array $customers) - { - // Preconditions - if (!$customerGroup->hasData('customer_group_id')) { - $customerGroup->persist(); - } - - $customerEmails = []; - foreach ($customers as &$customer) { - $customer = $fixtureFactory->createByCode('customer', ['dataset' => $customer]); - $customer->persist(); - $customerEmails[] = ['email' => $customer->getEmail()]; - } - - // Steps - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->massaction( - $customerEmails, - [$this->customersGridActions => $customerGroup->getCustomerGroupCode()], - true - ); - return ['customers' => $customers]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.xml deleted file mode 100644 index c868d3332a5a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassAssignCustomerGroupTest.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\MassAssignCustomerGroupTest" summary="Mass Assign Customer's Group to Customers" ticketId="MAGETWO-27892"> - <variation name="MassAssignCustomerGroupTestVariation1" summary="Customer is created and mass action for changing customer group to created group is applied"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customers" xsi:type="array"> - <item name="0" xsi:type="string">default</item> - </data> - <data name="customerGroup/dataset" xsi:type="string">default</data> - <constraint name="Magento\Customer\Test\Constraint\AssertMassActionSuccessUpdateMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - </variation> - <variation name="MassAssignCustomerGroupTestVariation2" summary="Two customers are created and mass actions for changing customer group to 'Retail' is applied" ticketId="MAGETWO-19456"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customers" xsi:type="array"> - <item name="0" xsi:type="string">default</item> - <item name="1" xsi:type="string">customer_US</item> - </data> - <data name="customerGroup/dataset" xsi:type="string">Retailer</data> - <constraint name="Magento\Customer\Test\Constraint\AssertMassActionSuccessUpdateMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.php deleted file mode 100644 index b0f378378ad74..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.php +++ /dev/null @@ -1,119 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test creation for MassDeleteCustomerBackendEntityTest - * - * Test Flow: - * Preconditions: - * 1. Create X customers - * - * Steps: - * 1. Open backend - * 2. Go to Customers - All Customers - * 3. Select N customers from preconditions - * 4. Select in dropdown "Delete" - * 5. Click Submit button - * 6. Perform all assertions according to dataset - * - * @group Customers - * @ZephyrId MAGETWO-26848 - */ -class MassDeleteCustomerBackendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Customer Index page - * - * @var CustomerIndex - */ - protected $customerIndexPage; - - /** - * Customer Index Edit page - * - * @var CustomerIndexEdit - */ - protected $customerIndexEditPage; - - /** - * Factory for fixture - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Preparing pages for test - * - * @param FixtureFactory $fixtureFactory - * @param CustomerIndex $customerIndexPage - * @param CustomerIndexEdit $customerIndexEditPage - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - CustomerIndex $customerIndexPage, - CustomerIndexEdit $customerIndexEditPage - ) { - $this->fixtureFactory = $fixtureFactory; - $this->customerIndexPage = $customerIndexPage; - $this->customerIndexEditPage = $customerIndexEditPage; - $customerIndexPage->open(); - $customerIndexPage->getCustomerGridBlock()->massaction([], 'Delete', true, 'Select All'); - } - - /** - * Runs Delete Customer Backend Entity test - * - * @param int $customersQty - * @param int $customersQtyToDelete - * @return array - */ - public function test($customersQty, $customersQtyToDelete) - { - // Preconditions: - $customers = $this->createCustomers($customersQty); - $deleteCustomers = []; - for ($i = 0; $i < $customersQtyToDelete; $i++) { - $deleteCustomers[] = ['email' => $customers[$i]->getEmail()]; - } - // Steps: - $this->customerIndexPage->open(); - $this->customerIndexPage->getCustomerGridBlock()->massaction($deleteCustomers, 'Delete', true); - - return ['customers' => $customers]; - } - - /** - * Create Customers - * - * @param int $customersQty - * @return Customer[] - */ - protected function createCustomers($customersQty) - { - $customers = []; - for ($i = 0; $i < $customersQty; $i++) { - $customer = $this->fixtureFactory->createByCode('customer', ['dataset' => 'default']); - $customer->persist(); - $customers[] = $customer; - } - - return $customers; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.xml deleted file mode 100644 index f1739ebaf846c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/MassDeleteCustomerBackendEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\MassDeleteCustomerBackendEntityTest" summary="Customer Mass Delete" ticketId="MAGETWO-26848"> - <variation name="MassDeleteCustomerBackendEntityTestVariation1"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="customersQty" xsi:type="string">3</data> - <data name="customersQtyToDelete" xsi:type="string">2</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerMassDeleteSuccessMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerMassDeleteNotInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerMassDeleteInGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index a4a3aa34f9f1c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Backend\Test\TestCase\NavigateMenuTest"> - <variation name="NavigateMenuTest22"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Customers > All Customers</data> - <data name="pageTitle" xsi:type="string">Customers</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - <variation name="NavigateMenuTest23"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Customers > Now Online</data> - <data name="pageTitle" xsi:type="string">Customers Now Online</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - <variation name="NavigateMenuTest24"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Customers > Customer Groups</data> - <data name="pageTitle" xsi:type="string">Customer Groups</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.php deleted file mode 100644 index 5b3a264170786..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Checkout\Test\Page\CheckoutCart; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\TestCase\Injectable; - -/** - * Precondition: - * 1. Configs are applied. - * 2. Simple product is created. - * - * Steps: - * 1. Add product to shopping cart. - * 2. Perform asserts. - * - * @group Customer - * @ZephyrId MAGETWO-45324 - */ -class PasswordAutocompleteOffTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * Test password field autocomplete is off. - * - * @param BrowserInterface $browser - * @param CatalogProductView $catalogProductView - * @param CheckoutCart $checkoutCart - * @param CatalogProductSimple $product - * @param string $configData - * @return void - */ - public function test( - BrowserInterface $browser, - CatalogProductView $catalogProductView, - CheckoutCart $checkoutCart, - CatalogProductSimple $product, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - $product->persist(); - - // Steps - $checkoutCart->open(); - $checkoutCart->getCartBlock()->clearShoppingCart(); - - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->addToCart($product); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.xml deleted file mode 100644 index 7f267c1f171f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/PasswordAutocompleteOffTest.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\PasswordAutocompleteOffTest" summary="Test that autocomplete is off" ticketId="MAGETWO-45324"> - <variation name="RegisterCustomerFrontendEntityTestVariation1" summary="Test that autocomplete is off"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/dataset" xsi:type="string">default</data> - <data name="configData" xsi:type="string">disable_guest_checkout,password_autocomplete_off</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerPasswordAutocompleteOnAuthorizationPopup" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerPasswordAutocompleteOnSignIn" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php deleted file mode 100644 index ead0991388003..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.php +++ /dev/null @@ -1,95 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountCreate; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test Flow: - * 1. Go to frontend. - * 2. Click Register link. - * 3. Fill registry form. - * 4. Click 'Create account' button. - * 5. Perform assertions. - * - * @group Customer_Account - * @ZephyrId MAGETWO-23546 - */ -class RegisterCustomerFrontendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Customer registry page. - * - * @var CustomerAccountCreate - */ - protected $customerAccountCreate; - - /** - * Cms page. - * - * @var CmsIndex $cmsIndex - */ - protected $cmsIndex; - - /** - * Customer log out step. - * - * @var LogoutCustomerOnFrontendStep - */ - protected $logoutCustomerOnFrontendStep; - - /** - * Inject data. - * - * @param CustomerAccountCreate $customerAccountCreate - * @param CmsIndex $cmsIndex - * @param LogoutCustomerOnFrontendStep $logoutCustomerOnFrontendStep - */ - public function __inject( - CustomerAccountCreate $customerAccountCreate, - CmsIndex $cmsIndex, - LogoutCustomerOnFrontendStep $logoutCustomerOnFrontendStep - ) { - $this->customerAccountCreate = $customerAccountCreate; - $this->cmsIndex = $cmsIndex; - $this->logoutCustomerOnFrontendStep = $logoutCustomerOnFrontendStep; - } - - /** - * Create Customer account on Storefront. - * - * @param Customer $customer - * @return void - */ - public function test(Customer $customer) - { - $this->logoutCustomerOnFrontendStep->run(); - // Steps - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openCustomerCreateLink(); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); - } - - /** - * Logout customer from frontend account. - * - * @return void - */ - public function tearDown(): void - { - $this->logoutCustomerOnFrontendStep->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.xml deleted file mode 100644 index 86c8e56d232d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/RegisterCustomerFrontendEntityTest.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\RegisterCustomerFrontendEntityTest" summary="Register New Customer" ticketId="MAGETWO-23546"> - <variation name="RegisterCustomerFrontendEntityTestVariation1" summary="Register new customer"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="customer/data/firstname" xsi:type="string">john</data> - <data name="customer/data/lastname" xsi:type="string">doe</data> - <data name="customer/data/email" xsi:type="string">johndoe%isolation%@example.com</data> - <data name="customer/data/is_subscribed" xsi:type="string">No</data> - <data name="customer/data/password" xsi:type="string">123123^q</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^q</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessRegisterMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerLogout" /> - </variation> - <variation name="RegisterCustomerFrontendEntityTestVariation2" summary="Register new customer with subscribing"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/firstname" xsi:type="string">john</data> - <data name="customer/data/lastname" xsi:type="string">doe</data> - <data name="customer/data/email" xsi:type="string">johndoe%isolation%@example.com</data> - <data name="customer/data/is_subscribed" xsi:type="string">Yes</data> - <data name="customer/data/password" xsi:type="string">123123^q</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^q</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessRegisterMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - <constraint name="Magento\Newsletter\Test\Constraint\AssertCustomerIsSubscribedToNewsletter" /> - </variation> - <variation name="RegisterCustomerFrontendEntityTestVariation3" summary="Register Customer" ticketId="MAGETWO-12394"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="customer/data/firstname" xsi:type="string">john</data> - <data name="customer/data/lastname" xsi:type="string">doe</data> - <data name="customer/data/email" xsi:type="string">johndoe%isolation%@example.com</data> - <data name="customer/data/is_subscribed" xsi:type="string">No</data> - <data name="customer/data/password" xsi:type="string">123123^q</data> - <data name="customer/data/password_confirmation" xsi:type="string">123123^q</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessRegisterMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerRedirectToDashboard" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.php deleted file mode 100644 index cbcd25892b4a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.php +++ /dev/null @@ -1,181 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Precondition: - * 1. Create customer. - * - * Steps: - * 1. Login to backend as admin. - * 2. Navigate to CUSTOMERS->All Customers. - * 3. Open from grid test customer. - * 4. Edit some values, if addresses fields are not presented click 'Add New Address' button. - * 5. Click 'Save' button. - * 6. Perform all assertions. - * - * @ZephyrId MAGETWO-23881 - */ -class UpdateCustomerBackendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Customer grid page. - * - * @var CustomerIndex - */ - protected $customerIndexPage; - - /** - * Customer edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEditPage; - - /** - * FixtureFactory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject FixtureFactory. - * - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Inject pages. - * - * @param CustomerIndex $customerIndexPage - * @param CustomerIndexEdit $customerIndexEditPage - * @return void - */ - public function __inject( - CustomerIndex $customerIndexPage, - CustomerIndexEdit $customerIndexEditPage - ) { - $this->customerIndexPage = $customerIndexPage; - $this->customerIndexEditPage = $customerIndexEditPage; - } - - /** - * Prepares customer returned after test. - * - * @param Customer $customer - * @param Customer $initialCustomer - * @param Address|null $address - * @param Address|null $addressToDelete - * @return Customer - */ - private function prepareCustomer( - Customer $customer, - Customer $initialCustomer, - Address $address = null, - Address $addressToDelete = null - ) { - $data = $customer->hasData() - ? array_replace_recursive($initialCustomer->getData(), $customer->getData()) - : $initialCustomer->getData(); - $groupId = $customer->hasData('group_id') ? $customer : $initialCustomer; - $data['group_id'] = ['customerGroup' => $groupId->getDataFieldConfig('group_id')['source']->getCustomerGroup()]; - $customerAddress = $this->prepareCustomerAddress($initialCustomer, $address, $addressToDelete); - if (!empty($customerAddress)) { - $data['address'] = $customerAddress; - } - - return $this->fixtureFactory->createByCode( - 'customer', - ['data' => $data] - ); - } - - /** - * Prepare address for customer entity. - * - * @param Customer $initialCustomer - * @param Address|null $address - * @param Address|null $addressToDelete - * @return array - */ - private function prepareCustomerAddress( - Customer $initialCustomer, - Address $address = null, - Address $addressToDelete = null - ) { - $customerAddress = []; - - if ($initialCustomer->hasData('address')) { - $addressesList = $initialCustomer->getDataFieldConfig('address')['source']->getAddresses(); - foreach ($addressesList as $key => $addressFixture) { - if ($addressToDelete === null || $addressFixture != $address) { - $customerAddress = ['addresses' => [$key => $addressFixture]]; - } - } - } - if ($address !== null) { - $customerAddress['addresses'][] = $address; - } - - return $customerAddress; - } - - /** - * Run update customer test. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @param Address|null $address - * @param int|null $addressIndexToDelete - * @throws \Exception - * @return array - */ - public function testUpdateCustomerBackendEntity( - Customer $initialCustomer, - Customer $customer, - Address $address = null, - $addressIndexToDelete = null - ) { - // Precondition - $initialCustomer->persist(); - - $addressToDelete = null; - if ($addressIndexToDelete !== null) { - $addressToDelete = - $initialCustomer->getDataFieldConfig('address')['source']->getAddresses()[$addressIndexToDelete]; - } - - // Steps - $filter = ['email' => $initialCustomer->getEmail()]; - $this->customerIndexPage->open(); - $this->customerIndexPage->getCustomerGridBlock()->searchAndOpen($filter); - $this->customerIndexEditPage->getCustomerForm()->updateCustomer($customer, $address, $addressToDelete); - $this->customerIndexEditPage->getPageActionsBlock()->save(); - - return [ - 'customer' => $this->prepareCustomer($customer, $initialCustomer, $address, $addressToDelete), - 'addressToDelete' => $addressToDelete, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.xml deleted file mode 100644 index 095746cfdef57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerBackendEntityTest.xml +++ /dev/null @@ -1,128 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\UpdateCustomerBackendEntityTest" summary="Update Backend Customer" ticketId="MAGETWO-23881"> - <variation name="UpdateCustomerBackendEntityTestVariation1"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="customer/data/group_id/dataset" xsi:type="string">Wholesale</data> - <data name="customer/data/prefix" xsi:type="string">%isolation%Prefix_</data> - <data name="customer/data/firstname" xsi:type="string">John_%isolation%</data> - <data name="customer/data/middlename" xsi:type="string">Middle Name %isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/suffix" xsi:type="string">_Suffix%isolation%</data> - <data name="customer/data/email" xsi:type="string">JohnDoe%isolation%@example.com</data> - <data name="customer/data/dob" xsi:type="string">08/01/1986</data> - <data name="customer/data/taxvat" xsi:type="string">123456789001</data> - <data name="customer/data/gender" xsi:type="string">Male</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - </variation> - <variation name="UpdateCustomerBackendEntityTestVariation2"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="customer/data/email" xsi:type="string">-</data> - <data name="address/data/prefix" xsi:type="string">Prefix%isolation%_</data> - <data name="address/data/firstname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/middlename" xsi:type="string">Middle Name %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/suffix" xsi:type="string">_Suffix%isolation%</data> - <data name="address/data/company" xsi:type="string">Company%isolation%</data> - <data name="address/data/street" xsi:type="string">3962 Horner Street</data> - <data name="address/data/city" xsi:type="string">Dothan</data> - <data name="address/data/country_id" xsi:type="string">United States</data> - <data name="address/data/region_id" xsi:type="string">Alabama</data> - <data name="address/data/postcode" xsi:type="string">36303</data> - <data name="address/data/telephone" xsi:type="string">334-200-4060</data> - <data name="address/data/vat_id" xsi:type="string">U1234567890</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - </variation> - <variation name="UpdateCustomerBackendEntityTestVariation3" summary="Address with alphanumeric zip"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="customer/data/group_id/dataset" xsi:type="string">Retailer</data> - <data name="customer/data/prefix" xsi:type="string">%isolation%Prefix_</data> - <data name="customer/data/firstname" xsi:type="string">Jane_%isolation%</data> - <data name="customer/data/middlename" xsi:type="string">Jane Middle Name %isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="customer/data/suffix" xsi:type="string">_JaneSuffix%isolation%</data> - <data name="customer/data/email" xsi:type="string">Jane%isolation%@example.com</data> - <data name="customer/data/dob" xsi:type="string">01/12/2000</data> - <data name="customer/data/taxvat" xsi:type="string">987654321</data> - <data name="customer/data/gender" xsi:type="string">Female</data> - <data name="address/data/prefix" xsi:type="string">Prefix%isolation%_</data> - <data name="address/data/firstname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/middlename" xsi:type="string">Middle Name %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/suffix" xsi:type="string">_Suffix%isolation%</data> - <data name="address/data/company" xsi:type="string">Company%isolation%</data> - <data name="address/data/street" xsi:type="string">39 Northgate Street</data> - <data name="address/data/city" xsi:type="string">BICKTON</data> - <data name="address/data/country_id" xsi:type="string">United Kingdom</data> - <data name="address/data/region" xsi:type="string">PINMINNOCH</data> - <data name="address/data/postcode" xsi:type="string">KA26 1PF</data> - <data name="address/data/telephone" xsi:type="string">999-777-111-2345</data> - <data name="address/data/vat_id" xsi:type="string">987654321</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerInGrid" /> - </variation> - <variation name="UpdateCustomerBackendEntityTestVariation4" summary="Address w/o zip/state required, default billing/shipping checked"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">default</data> - <data name="customer/data/email" xsi:type="string">-</data> - <data name="address/data/default_billing" xsi:type="string">Yes</data> - <data name="address/data/default_shipping" xsi:type="string">Yes</data> - <data name="address/data/prefix" xsi:type="string">Prefix%isolation%_</data> - <data name="address/data/firstname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/middlename" xsi:type="string">Middle Name %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/suffix" xsi:type="string">_Suffix%isolation%</data> - <data name="address/data/company" xsi:type="string">Company%isolation%</data> - <data name="address/data/street" xsi:type="string">3962 Horner Street</data> - <data name="address/data/city" xsi:type="string">Vancouver</data> - <data name="address/data/country_id" xsi:type="string">United Kingdom</data> - <data name="address/data/telephone" xsi:type="string">334-200-4061</data> - <data name="address/data/vat_id" xsi:type="string">U1234567891</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerLogin" /> - </variation> - <variation name="UpdateCustomerBackendEntityTestVariation5" summary="Default billing/shipping unchecked"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">johndoe_unique_TX</data> - <data name="customer/data/email" xsi:type="string">-</data> - <data name="address/data/default_billing" xsi:type="string">No</data> - <data name="address/data/default_shipping" xsi:type="string">No</data> - <data name="address/data/prefix" xsi:type="string">Prefix%isolation%_</data> - <data name="address/data/firstname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/middlename" xsi:type="string">Middle Name %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe%isolation%</data> - <data name="address/data/suffix" xsi:type="string">_Suffix%isolation%</data> - <data name="address/data/company" xsi:type="string">Company%isolation%</data> - <data name="address/data/street" xsi:type="string">3962 Horner Street</data> - <data name="address/data/city" xsi:type="string">Vancouver</data> - <data name="address/data/country_id" xsi:type="string">United Kingdom</data> - <data name="address/data/telephone" xsi:type="string">334-200-4061</data> - <data name="address/data/vat_id" xsi:type="string">U1234567891</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="UpdateCustomerBackendEntityTestVariation6" summary="Delete customer address"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="initialCustomer/dataset" xsi:type="string">johndoe_with_multiple_addresses</data> - <data name="customer/data/email" xsi:type="string">-</data> - <data name="addressIndexToDelete" xsi:type="number">1</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertAddressDeletedFrontend" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.php deleted file mode 100644 index 753eb28a38ce3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.php +++ /dev/null @@ -1,165 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Constraint\AssertCustomerInfoSuccessSavedMessage; -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountEdit; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Customer\Test\Page\CustomerAddressEdit; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Default test customer is created. - * - * Steps: - * 1. Login to fronted as test customer from preconditions. - * 2. Navigate to Account Dashboard page. - * 3. Click "Edit" link near "Contact Information". - * 4. Fill fields with test data and save. - * 5. Click "Edit Address" link near "Default Billing Address", save and return to Account Dashboard page. - * 6. Fill fields with test data and save. - * 7. Perform all assertions. - * - * @group Customer_Account - * @ZephyrId MAGETWO-25925 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class UpdateCustomerFrontendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Factory for Fixtures. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * CmsIndex page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * CustomerAccountIndex page. - * - * @var CustomerAccountIndex - */ - protected $customerAccountIndex; - - /** - * CustomerAccountEdit page. - * - * @var CustomerAccountEdit - */ - protected $customerAccountEdit; - - /** - * CustomerAddressEdit page. - * - * @var CustomerAddressEdit - */ - protected $customerAddressEdit; - - /** - * Preparing data for test. - * - * @param CmsIndex $cmsIndex - * @param FixtureFactory $fixtureFactory - * @param CustomerAccountIndex $customerAccountIndex - * @param CustomerAccountEdit $customerAccountEdit - * @param CustomerAddressEdit $customerAddressEdit - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - FixtureFactory $fixtureFactory, - CustomerAccountIndex $customerAccountIndex, - CustomerAccountEdit $customerAccountEdit, - CustomerAddressEdit $customerAddressEdit - ) { - $this->cmsIndex = $cmsIndex; - $this->fixtureFactory = $fixtureFactory; - $this->customerAccountIndex = $customerAccountIndex; - $this->customerAccountEdit = $customerAccountEdit; - $this->customerAddressEdit = $customerAddressEdit; - } - - /** - * Prepares customer returned after test. - * - * @param Customer $customer - * @param Customer $initialCustomer - * @return Customer - */ - private function prepareCustomer( - Customer $customer, - Customer $initialCustomer - ) { - if (!$customer->hasData()) { - return $initialCustomer; - } - $data = array_replace_recursive($initialCustomer->getData(), $customer->getData()); - $data['group_id'] = [ - 'customerGroup' => $initialCustomer->getDataFieldConfig('group_id')['source']->getCustomerGroup() - ]; - - return $this->fixtureFactory->createByCode('customer', ['data' => $data]); - } - - /** - * Run Update Customer Entity test. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @param Address $address - * @param AssertCustomerInfoSuccessSavedMessage $assertCustomerInfoSuccessSavedMessage - * @return array - */ - public function test( - Customer $initialCustomer, - Customer $customer, - Address $address, - AssertCustomerInfoSuccessSavedMessage $assertCustomerInfoSuccessSavedMessage - ) { - // Preconditions - $initialCustomer->persist(); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $initialCustomer] - )->run(); - $this->customerAccountIndex->getInfoBlock()->openEditContactInfo(); - $this->customerAccountEdit->getAccountInfoForm()->fill($customer); - $this->customerAccountEdit->getAccountInfoForm()->submit(); - - \PHPUnit\Framework\Assert::assertThat($this->getName(), $assertCustomerInfoSuccessSavedMessage); - - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - $this->customerAccountIndex->getDashboardAddress()->editBillingAddress(); - $this->customerAddressEdit->getEditForm()->fill($address); - $this->customerAddressEdit->getEditForm()->saveAddress(); - - return [ - 'customer' => $this->prepareCustomer($customer, $initialCustomer), - 'shippingAddress' => $address, - 'billingAddress' => $address - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.xml deleted file mode 100644 index b96d688b0c4b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerFrontendEntityTest.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\UpdateCustomerFrontendEntityTest" summary="Update Customer on Frontend" ticketId="MAGETWO-25925"> - <variation name="UpdateCustomerFrontendEntityTestVariation1" summary="No XSS injection on update customer information add address" ticketId="MAGETWO-47189"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/firstname" xsi:type="string">Patrick</title></head><svg/onload=alert('XSS')></data> - <data name="customer/data/lastname" xsi:type="string"><script>alert('Last name')</script></data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="address/data/firstname" xsi:type="string">Jany %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe %isolation%</data> - <data name="address/data/company" xsi:type="string">Company %isolation%</data> - <data name="address/data/street" xsi:type="string">Some street %isolation%</data> - <data name="address/data/city" xsi:type="string">City %isolation%</data> - <data name="address/data/country_id" xsi:type="string">United States</data> - <data name="address/data/region_id" xsi:type="string">Colorado</data> - <data name="address/data/telephone" xsi:type="string">555-888-111-999</data> - <data name="address/data/postcode" xsi:type="string">12345</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerDefaultAddresses" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerForm" /> - </variation> - <variation name="UpdateCustomerFrontendEntityTestVariation2" summary="Update customer information and add UK address, assert customer name and address on address book tab"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/firstname" xsi:type="string">Jonny %isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Doe %isolation%</data> - <data name="customer/data/email" xsi:type="string">jonny%isolation%@example.com</data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="address/data/firstname" xsi:type="string">John %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Doe %isolation%</data> - <data name="address/data/company" xsi:type="string">Company %isolation%</data> - <data name="address/data/street" xsi:type="string">Some street %isolation%</data> - <data name="address/data/city" xsi:type="string">City %isolation%</data> - <data name="address/data/country_id" xsi:type="string">United Kingdom</data> - <data name="address/data/region" xsi:type="string">Region %isolation%</data> - <data name="address/data/telephone" xsi:type="string">0123456789-02134567</data> - <data name="address/data/postcode" xsi:type="string">12345</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerDefaultAddresses" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerDefaultAddressFrontendAddressBook" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerNameFrontend" /> - </variation> - <variation name="UpdateCustomerFrontendEntityTestVariation3" summary="Update customer information and add France address"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customer/data/firstname" xsi:type="string">Jean %isolation%</data> - <data name="customer/data/lastname" xsi:type="string">Reno %isolation%</data> - <data name="customer/data/email" xsi:type="string">jean%isolation%@example.com</data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="address/data/firstname" xsi:type="string">Jean %isolation%</data> - <data name="address/data/lastname" xsi:type="string">Reno %isolation%</data> - <data name="address/data/company" xsi:type="string">Magento %isolation%</data> - <data name="address/data/street" xsi:type="string">18-20 Rue Maréchal Leclerc</data> - <data name="address/data/city" xsi:type="string">Quintin</data> - <data name="address/data/country_id" xsi:type="string">France</data> - <data name="address/data/region_id" xsi:type="string">Côtes-d'Armor</data> - <data name="address/data/telephone" xsi:type="string">555-888-111-999</data> - <data name="address/data/postcode" xsi:type="string">12345</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerDefaultAddresses" /> - </variation> - <variation name="UpdateCustomerFrontendEntityTestVariation4" summary="Register Customer. Update address" ticketId="MAGETWO-12394"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test</data> - <data name="customer/data/firstname" xsi:type="string">-</data> - <data name="customer/data/lastname" xsi:type="string">-</data> - <data name="customer/data/email" xsi:type="string">-</data> - <data name="customer/data/current_password" xsi:type="string">123123^q</data> - <data name="address/data/firstname" xsi:type="string">John</data> - <data name="address/data/lastname" xsi:type="string">Doe</data> - <data name="address/data/company" xsi:type="string">Magento %isolation%</data> - <data name="address/data/street" xsi:type="string">6161 West Centinela Avenue</data> - <data name="address/data/city" xsi:type="string">Culver City</data> - <data name="address/data/country_id" xsi:type="string">United States</data> - <data name="address/data/region_id" xsi:type="string">California</data> - <data name="address/data/telephone" xsi:type="string">555-55-555-55</data> - <data name="address/data/postcode" xsi:type="string">90230</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerAddressSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerDefaultAddresses" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.php deleted file mode 100644 index aa50235cb4a10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupNew; -use Magento\Mtf\TestCase\Injectable; - -/** - * Test Creation for Update Customer Group Entity - * - * Test Flow: - * Preconditions: - * 1. Customer Group is created - * Steps: - * 1. Log in to backend as admin user - * 2. Navigate to Customers > Customer Groups - * 3. Click on Customer Group from grid - * 4. Update data according to data set - * 5. Click "Save Customer Group" button - * 6. Perform all assertions - * - * @group Customer_Groups - * @ZephyrId MAGETWO-25536 - */ -class UpdateCustomerGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Page CustomerGroupIndex - * - * @var CustomerGroupIndex - */ - protected $customerGroupIndex; - - /** - * Page CustomerGroupNew - * - * @var CustomerGroupNew - */ - protected $customerGroupNew; - - /** - * Injection data - * - * @param CustomerGroupIndex $customerGroupIndex - * @param CustomerGroupNew $customerGroupNew - * @return void - */ - public function __inject( - CustomerGroupIndex $customerGroupIndex, - CustomerGroupNew $customerGroupNew - ) { - $this->customerGroupIndex = $customerGroupIndex; - $this->customerGroupNew = $customerGroupNew; - } - - /** - * Update Customer Group - * - * @param CustomerGroup $customerGroupOriginal - * @param CustomerGroup $customerGroup - * @return void - */ - public function test( - CustomerGroup $customerGroupOriginal, - CustomerGroup $customerGroup - ) { - // Precondition - $customerGroupOriginal->persist(); - $filter = ['code' => $customerGroupOriginal->getCustomerGroupCode()]; - - // Steps - $this->customerGroupIndex->open(); - $this->customerGroupIndex->getCustomerGroupGrid()->searchAndOpen($filter); - $this->customerGroupNew->getPageMainForm()->fill($customerGroup); - $this->customerGroupNew->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.xml deleted file mode 100644 index f3848d32cb4e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/UpdateCustomerGroupEntityTest.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\UpdateCustomerGroupEntityTest" summary="Update Customer Group" ticketId="MAGETWO-25536"> - <variation name="UpdateCustomerGroupEntityTestVariation1"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">retail_customer</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">GroupName%isolation%</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupForm" /> - </variation> - <variation name="UpdateCustomerGroupEntityTestVariation2"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">-</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">General</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupAlreadyExists" /> - </variation> - <variation name="UpdateCustomerGroupEntityTestVariation3"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">customer_tax_class</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">Group Name %isolation%</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupForm" /> - </variation> - <variation name="UpdateCustomerGroupEntityTestVariation4"> - <data name="customerGroup/data/tax_class_id/dataset" xsi:type="string">customer_tax_class</data> - <data name="customerGroup/data/customer_group_code" xsi:type="string">Group#Name%isolation%</data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessSaveMessage" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupInGrid" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCustomerForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCartPriceRuleForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnCatalogPriceRuleForm" /> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupOnProductForm" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.php deleted file mode 100644 index bc8392763edd2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestCase; - -use Magento\Customer\Test\Fixture\CustomerGroup; -use Magento\Customer\Test\Page\Adminhtml\CustomerGroupIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Steps: - * 1. Login to backend as admin user. - * 2. Navigate to Customers > Customer Groups. - * 3. Select system Customer Group specified in data set from grid. - * 4. Perform all assertions. - * - * @group Customer_Groups - * @ZephyrId MAGETWO-52481 - */ -class VerifyDisabledCustomerGroupFieldTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page CustomerGroupIndex. - * - * @var CustomerGroupIndex - */ - protected $customerGroupIndex; - - /** - * Injection data. - * - * @param CustomerGroupIndex $customerGroupIndex - * @return void - */ - public function __inject(CustomerGroupIndex $customerGroupIndex) - { - $this->customerGroupIndex = $customerGroupIndex; - } - - /** - * Check unavailable field in Customer Group. - * - * @param CustomerGroup $customerGroup - * @return void - */ - public function test(CustomerGroup $customerGroup) - { - $filter = ['code' => $customerGroup->getCustomerGroupCode()]; - - // Steps - $this->customerGroupIndex->open(); - $this->customerGroupIndex->getCustomerGroupGrid()->searchAndOpen($filter); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.xml deleted file mode 100644 index e88e5161e474e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestCase/VerifyDisabledCustomerGroupFieldTest.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Customer\Test\TestCase\VerifyDisabledCustomerGroupFieldTest" summary="Check that field is disabled in system Customer Group" ticketId="MAGETWO-52481"> - <variation name="VerifyDisabledCustomerGroupField1" summary="Checks that customer_group_code field is disabled in NOT LOGGED IN Customer Group"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="customerGroup/dataset" xsi:type="string">NOT_LOGGED_IN</data> - <data name="disabledFields" xsi:type="array"> - <item name="0" xsi:type="string">customer_group_code</item> - </data> - <constraint name="Magento\Customer\Test\Constraint\AssertCustomerGroupFieldsDisabled" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateCustomerStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateCustomerStep.php deleted file mode 100644 index efd4cc5d315a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateCustomerStep.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestStep; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Class CreateCustomerStep - * Create customer using handler - */ -class CreateCustomerStep implements TestStepInterface -{ - /** - * Customer fixture - * - * @var Customer - */ - protected $customer; - - /** - * Flag for customer creation by handler - * - * @var bool - */ - protected $persistCustomer = true; - - /** - * Logout customer on frontend step. - * - * @var LogoutCustomerOnFrontendStep - */ - protected $logoutCustomerOnFrontend; - - /** - * @constructor - * @param LogoutCustomerOnFrontendStep $logout - * @param Customer $customer - * @param string $checkoutMethod - */ - public function __construct(LogoutCustomerOnFrontendStep $logout, Customer $customer, $checkoutMethod = '') - { - $this->logoutCustomerOnFrontend = $logout; - $this->customer = $customer; - if ($checkoutMethod === 'register' - || $checkoutMethod === 'guest' - || $checkoutMethod === 'register_before_checkout') { - $this->persistCustomer = false; - } - } - - /** - * Create customer - * - * @return array - */ - public function run() - { - if ($this->persistCustomer) { - $this->customer->persist(); - } - - return ['customer' => $this->customer]; - } - - /** - * Logout customer on fronted. - * - * @return void - */ - public function cleanup() - { - $this->logoutCustomerOnFrontend->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateOrderFromCustomerAccountStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateOrderFromCustomerAccountStep.php deleted file mode 100644 index 6a56ed3e6c825..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/CreateOrderFromCustomerAccountStep.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestStep; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Class CreateOrderFromCustomerAccountStep - * Create order from customer page on Backend - */ -class CreateOrderFromCustomerAccountStep implements TestStepInterface -{ - /** - * Customer edit page - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * @constructor - * @param CustomerIndexEdit $customerIndexEdit - */ - public function __construct(CustomerIndexEdit $customerIndexEdit) - { - $this->customerIndexEdit = $customerIndexEdit; - } - - /** - * Create new order from customer step - * - * @return void - */ - public function run() - { - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/DeleteCustomerStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/DeleteCustomerStep.php deleted file mode 100644 index c17db90b1e346..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/DeleteCustomerStep.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Customer\Test\TestStep; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Delete existing customer. - */ -class DeleteCustomerStep implements TestStepInterface -{ - /** - * @var Customer - */ - private $customer; - - /** - * @var CustomerIndex - */ - private $customerIndexPage; - - /** - * @var CustomerIndexEdit - */ - private $customerIndexEditPage; - - /** - * @param Customer $customer - * @param CustomerIndex $customerIndexPage - * @param CustomerIndexEdit $customerIndexEditPage - */ - public function __construct( - Customer $customer, - CustomerIndex $customerIndexPage, - CustomerIndexEdit $customerIndexEditPage - ) { - $this->customer = $customer; - $this->customerIndexPage = $customerIndexPage; - $this->customerIndexEditPage = $customerIndexEditPage; - } - - /** - * @inheritdoc - */ - public function run() - { - $filter = ['email' => $this->customer->getEmail()]; - $this->customerIndexPage->open(); - $this->customerIndexPage->getCustomerGridBlock()->searchAndOpen($filter); - $this->customerIndexEditPage->getPageActionsBlock()->delete(); - $this->customerIndexEditPage->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php deleted file mode 100644 index 7e4dee7072679..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LoginCustomerOnFrontendStep.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestStep; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountLogin; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Login customer on frontend. - */ -class LoginCustomerOnFrontendStep implements TestStepInterface -{ - /** - * Customer fixture. - * - * @var Customer - */ - protected $customer; - - /** - * Cms index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Customer login page. - * - * @var CustomerAccountLogin - */ - protected $customerAccountLogin; - - /** - * Logout customer on frontend step. - * - * @var LogoutCustomerOnFrontendStep - */ - protected $logoutCustomerOnFrontend; - - /** - * @constructor - * @param CmsIndex $cmsIndex - * @param CustomerAccountLogin $customerAccountLogin - * @param LogoutCustomerOnFrontendStep $logoutCustomerOnFrontend - * @param Customer $customer - */ - public function __construct( - CmsIndex $cmsIndex, - CustomerAccountLogin $customerAccountLogin, - LogoutCustomerOnFrontendStep $logoutCustomerOnFrontend, - Customer $customer - ) { - $this->cmsIndex = $cmsIndex; - $this->customerAccountLogin = $customerAccountLogin; - $this->customer = $customer; - $this->logoutCustomerOnFrontend = $logoutCustomerOnFrontend; - } - - /** - * Login customer. - * - * @return void - */ - public function run() - { - $this->logoutCustomerOnFrontend->run(); - $this->cmsIndex->getLinksBlock()->openLink('Sign In'); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - $this->customerAccountLogin->getLoginBlock()->login($this->customer); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - $this->cmsIndex->getLinksBlock()->openLink('My Account'); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - } - - /** - * Logout customer on fronted. - * - * @return void - */ - public function cleanup() - { - $this->logoutCustomerOnFrontend->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php deleted file mode 100644 index 22cd5bd13e94c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/LogoutCustomerOnFrontendStep.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestStep; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\TestStep\TestStepInterface; -use Magento\Customer\Test\Page\CustomerAccountIndex; - -/** - * Logout customer on frontend. - */ -class LogoutCustomerOnFrontendStep implements TestStepInterface -{ - /** - * Cms index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Customer account page. - * - * @var CustomerAccountIndex - */ - protected $customerAccount; - - /** - * @constructor - * @param CmsIndex $cmsIndex - * @param CustomerAccountIndex $customerAccount - */ - public function __construct(CmsIndex $cmsIndex, CustomerAccountIndex $customerAccount) - { - $this->cmsIndex = $cmsIndex; - $this->customerAccount = $customerAccount; - } - - /** - * Logout customer. - * - * @return void - */ - public function run() - { - $this->customerAccount->open(); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - if ($this->cmsIndex->getTitleBlock()->getTitle() === 'My Account') { - $this->cmsIndex->getLinksBlock()->openLink('Sign Out'); - $this->cmsIndex->getCmsPageBlock()->waitUntilTextIsVisible('Home Page'); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/OpenCustomerOnBackendStep.php b/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/OpenCustomerOnBackendStep.php deleted file mode 100644 index fd4d1c005034e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/TestStep/OpenCustomerOnBackendStep.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Customer\Test\TestStep; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Class OpenCustomerOnBackendStep - * Open customer account - */ -class OpenCustomerOnBackendStep implements TestStepInterface -{ - /** - * Customer fixture - * - * @var Customer - */ - protected $customer; - - /** - * Customer index page - * - * @var Customer - */ - protected $customerIndex; - - /** - * @constructor - * @param Customer $customer - * @param CustomerIndex $customerIndex - */ - public function __construct(Customer $customer, CustomerIndex $customerIndex) - { - $this->customer = $customer; - $this->customerIndex = $customerIndex; - } - - /** - * Open customer account - * - * @return void - */ - public function run() - { - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $this->customer->getEmail()]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/curl/di.xml deleted file mode 100644 index 5b004cb3fc59c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/curl/di.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\Customer\Test\Handler\Customer\CustomerInterface" type="Magento\Customer\Test\Handler\Customer\Curl" /> - <preference for="Magento\Customer\Test\Handler\CustomerGroup\CustomerGroupInterface" type="Magento\Customer\Test\Handler\CustomerGroup\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/di.xml deleted file mode 100644 index 80144fc841652..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/di.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Customer\Test\Constraint\AssertCustomerInGrid"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerNotInGrid"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerForm"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerInvalidEmail"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerFailRegisterMessage"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerGroupSuccessDeleteMessage"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerForgotPasswordSuccessMessage"> - <arguments> - <argument name="severity" xsi:type="string">high</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerBackendBackButton"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerBackendDuplicateErrorMessage"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> - <type name="Magento\Customer\Test\Constraint\AssertCustomerBackendRequiredFields"> - <arguments> - <argument name="severity" xsi:type="string">middle</argument> - </arguments> - </type> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml deleted file mode 100644 index f0d6c5df9207f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/TestCase/etc/testcase.xsd"> - <scenario name="CreateOrderFromCustomerPageTest" firstStep="createCustomer"> - <step name="createCustomer" module="Magento_Customer" next="openCustomerOnBackend"/> - <step name="openCustomerOnBackend" module="Magento_Customer" next="createOrderFromCustomerAccount"/> - <step name="createOrderFromCustomerAccount" module="Magento_Customer" next="createProducts"/> - <step name="createProducts" module="Magento_Catalog" next="selectStore"/> - <step name="selectStore" module="Magento_Sales" next="addProducts" /> - <step name="addProducts" module="Magento_Sales" next="updateProductsData"/> - <step name="updateProductsData" module="Magento_Sales" next="fillBillingAddress"/> - <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress"/> - <step name="fillShippingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder"/> - <step name="selectPaymentMethodForOrder" module="Magento_Sales" next="selectShippingMethodForOrder"/> - <step name="selectShippingMethodForOrder" module="Magento_Sales" next="submitOrder"/> - <step name="submitOrder" module="Magento_Sales"/> - </scenario> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/webapi/di.xml deleted file mode 100644 index 7006061d160da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> - <preference for="Magento\Customer\Test\Handler\Customer\CustomerInterface" type="Magento\Customer\Test\Handler\Customer\Webapi" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertExportCustomerAddresses.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertExportCustomerAddresses.php deleted file mode 100644 index ea868bb5eac70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertExportCustomerAddresses.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\CustomerImportExport\Test\Constraint; - -use Magento\Customer\Test\Fixture\Address; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Util\Command\File\Export; -use Magento\Mtf\Util\Command\File\Export\Data; - -/** - * Assert that exported file contains customer addresses data. - */ -class AssertExportCustomerAddresses extends AbstractConstraint -{ - /** - * Assert that exported file contains customer addresses data. - * - * @param Export $export - * @param array $exportedFields - * @param Customer $customer - * @return void - */ - public function processAssert( - Export $export, - array $exportedFields, - Customer $customer - ) { - $exportData = $export->getLatest(); - - foreach ($customer->getDataFieldConfig('address')['source']->getAddresses() as $address) { - \PHPUnit\Framework\Assert::assertTrue( - $this->isAddressDataInFile( - $exportedFields, - $customer, - $address, - $exportData - ), - 'Customer address was not found in exported file.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer address exists in exported file.'; - } - - /** - * Get customer address data from exported file. - * - * @param array $fields - * @param Customer $customer - * @param Address $address - * @param Data $exportData - * @return bool - */ - private function isAddressDataInFile( - array $fields, - Customer $customer, - Address $address, - Data $exportData - ) { - $expectedFields = []; - $result = true; - - foreach ($fields as $field) { - $fixture = ($field == 'email') ? $customer : $address; - $expectedFields[] = $fixture->getData($field); - } - - $content = $exportData->getContent(); - - foreach ($expectedFields as $expectedField) { - if (strpos($content, $expectedField) === false) { - $result = false; - break; - } - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertImportCustomerAddresses.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertImportCustomerAddresses.php deleted file mode 100644 index f73609b3ba2cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Constraint/AssertImportCustomerAddresses.php +++ /dev/null @@ -1,181 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\CustomerImportExport\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\ImportExport\Test\Fixture\ImportData; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Assert addresses from csv import file and page are match. - */ -class AssertImportCustomerAddresses extends AbstractConstraint -{ - /** - * Array keys mapping for csv file. - * - * @var array - */ - private $mappingKeys = [ - 'region' => 'region_id' - ]; - - /** - * Imported fields keys. - * - * @var array - */ - private $importedFieldsKeys = [ - 'firstname', - 'lastname', - 'postcode', - 'region_id', - 'city', - 'company', - 'country_id', - 'street', - 'telephone' - ]; - - /** - * Array keys mapping for countries ids. - * - * @param array - */ - private $mappingCountries = [ - 'US' => 'United States' - ]; - - /** - * Customer edit page on backend. - * - * @var CustomerIndexEdit - */ - private $customerIndexEdit; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Import fixture. - * - * @var ImportData - */ - private $import; - - /** - * Assert imported customer addresses are correct. - * - * @param CustomerIndexEdit $customerIndexEdit - * @param FixtureFactory $fixtureFactory - * @param ImportData $import - * @return void - */ - public function processAssert( - CustomerIndexEdit $customerIndexEdit, - FixtureFactory $fixtureFactory, - ImportData $import - ) { - $this->customerIndexEdit = $customerIndexEdit; - $this->fixtureFactory = $fixtureFactory; - $this->import = $import; - - $resultArrays = $this->getPrepareAddresses(); - - \PHPUnit\Framework\Assert::assertEquals( - $resultArrays['pageData'], - $resultArrays['csvData'], - 'Addresses from page and csv are not match.' - ); - } - - /** - * Prepare arrays for compare. - * - * @return array - */ - private function getPrepareAddresses() - { - $addressTemplate = ($this->import->getBehavior() !== 'Delete Entities') - ? $this->fixtureFactory->createByCode('address', ['dataset' => 'US_address_1_without_email']) - : null; - $customers = $this->import->getDataFieldConfig('import_file')['source']->getEntities(); - $customerForm = $this->customerIndexEdit->getCustomerForm(); - - // Prepare customer address data from page form. - $resultAddressesArray = []; - foreach ($customers as $customer) { - $this->customerIndexEdit->open(['id' => $customer->getId()]); - $customerForm->openTab('addresses'); - $address = $customerForm->getTab('addresses')->getAddressFromFirstRow($addressTemplate); - if (!empty($address)) { - $resultAddressesArray[] = $address; - } - } - - // Prepare customer address data from csv file. - $resultCsvArray = []; - if ($this->import->getBehavior() !== 'Delete Entities') { - $resultCsvArray = $this->getResultCsv(); - } - return ['pageData' => $resultAddressesArray, 'csvData' => $resultCsvArray]; - } - - /** - * Prepare array from csv file. - * - * @return array - */ - private function getResultCsv() - { - $csvData = $this->import->getDataFieldConfig('import_file')['source']->getCsv(); - - $csvKeys = []; - foreach (array_shift($csvData) as $csvKey) { - $csvKeys[] = isset($this->mappingKeys[$csvKey]) ? $this->mappingKeys[$csvKey] : $csvKey; - } - - $resultCsvData = []; - foreach ($csvData as $csvRowData) { - $csvRowData = array_combine($csvKeys, $csvRowData); - $csvRowData = $this->deleteWasteData($csvRowData); - if (isset($this->mappingCountries[$csvRowData['country_id']])) { - $csvRowData['country_id'] = $this->mappingCountries[$csvRowData['country_id']]; - } - $resultCsvData[] = $csvRowData; - } - return $resultCsvData; - } - - /** - * Delete waste data from array. - * - * @param array $csvData - * @return array - */ - private function deleteWasteData(array $csvData) - { - $necessaryData = array_flip($this->importedFieldsKeys); - - return array_intersect_key($csvData, $necessaryData); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Imported customer addresses are correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Repository/ExportData.xml b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Repository/ExportData.xml deleted file mode 100644 index 58ba2a648ef29..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/Repository/ExportData.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\ImportExport\Test\Repository\ExportData"> - <dataset name="csv_customer_addresses"> - <field name="entity" xsi:type="string">Customer Addresses</field> - <field name="file_format" xsi:type="string">CSV</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.php deleted file mode 100644 index 17dfb4fb8cdaf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.php +++ /dev/null @@ -1,96 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\CustomerImportExport\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\ImportExport\Test\Fixture\ExportData; -use Magento\ImportExport\Test\Page\Adminhtml\AdminExportIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\Util\Command\Cli\Cron; - -/** - * Preconditions: - * 1. Create customer. - * - * Steps: - * 1. Login to admin. - * 2. Navigate to System > Export. - * 3. Select Entity Type = Customer Addresses. - * 4. Fill Entity Attributes data. - * 5. Click "Continue". - * 6. Perform all assertions. - * - * @group ImportExport - * @ZephyrId MAGETWO-46181 - */ -class ExportCustomerAddressesTest extends Injectable -{ - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Admin export index page. - * - * @var AdminExportIndex - */ - private $adminExportIndex; - - /** - * Cron command - * - * @var Cron - */ - private $cron; - - /** - * Inject pages. - * - * @param FixtureFactory $fixtureFactory - * @param AdminExportIndex $adminExportIndex - * @param Cron $cron - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - AdminExportIndex $adminExportIndex, - Cron $cron - ) { - $this->fixtureFactory = $fixtureFactory; - $this->adminExportIndex = $adminExportIndex; - $this->cron = $cron; - } - - /** - * Runs Export Customer Addresses test. - * - * @param ExportData $exportData - * @param Customer $customer - * @return array - */ - public function test( - ExportData $exportData, - Customer $customer - ) { - $this->cron->run(); - $this->cron->run(); - $customer->persist(); - $this->adminExportIndex->open(); - $this->adminExportIndex->getExportedGrid()->deleteAllExportedFiles(); - $exportData->persist(); - $this->adminExportIndex->getExportForm()->fill($exportData); - $this->adminExportIndex->getFilterExport()->clickContinue(); - $this->cron->run(); - $this->cron->run(); - return [ - 'customer' => $customer - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.xml b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.xml deleted file mode 100644 index 6a148510e9f69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ExportCustomerAddressesTest.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CustomerImportExport\Test\TestCase\ExportCustomerAddressesTest" summary="Export customer addresses" ticketId="MAGETWO-46181"> - <variation name="ExportCustomerAddressesTestVariation1"> - <data name="exportData/dataset" xsi:type="string">csv_customer_addresses</data> - <data name="customer/dataset" xsi:type="string">johndoe_with_addresses</data> - <data name="exportedFields" xsi:type="array"> - <item name="0" xsi:type="string">email</item> - <item name="1" xsi:type="string">city</item> - <item name="2" xsi:type="string">company</item> - <item name="3" xsi:type="string">firstname</item> - <item name="4" xsi:type="string">lastname</item> - <item name="5" xsi:type="string">postcode</item> - <item name="6" xsi:type="string">telephone</item> - </data> - <constraint name="Magento\CustomerImportExport\Test\Constraint\AssertExportCustomerAddresses" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.php deleted file mode 100644 index a83af31aa85ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\CustomerImportExport\Test\TestCase; - -use Magento\Mtf\TestCase\Scenario; - -/** - * Preconditions: - * 1. Create customer. - * - * Steps: - * 1. Login as admin. - * 2. Open import index page. - * 3. Fill import form. - * 4. Click "Check Data" button. - * 5. Perform assertions. - * - * @group ImportExport - * @ZephyrId MAGETWO-46175, MAGETWO-46176 - */ -class ImportCustomerAddressTest extends Scenario -{ - /** - * Run import data test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.xml b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.xml deleted file mode 100644 index 09dcf0a735bf4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestCase/ImportCustomerAddressTest.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\CustomerImportExport\Test\TestCase\ImportCustomerAddressTest" summary="Import customer address"> - <variation name="ImportCustomerAddressesVariation1" ticketId="MAGETWO-46175" summary="Delete Customer Address"> - <data name="import/data" xsi:type="array"> - <item name="entity" xsi:type="string">Customer Addresses</item> - <item name="behavior" xsi:type="string">Delete Entities</item> - <item name="validation_strategy" xsi:type="string">Stop on Error</item> - <item name="allowed_error_count" xsi:type="string">10</item> - <item name="import_field_separator" xsi:type="string">,</item> - <item name="import_multiple_value_separator" xsi:type="string">,</item> - <item name="import_file" xsi:type="array"> - <item name="entities" xsi:type="array"> - <item name="0" xsi:type="string">customer::johndoe_with_addresses</item> - </item> - <item name="template" xsi:type="array"> - <item name="filename" xsi:type="string">Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_1</item> - <item name="count" xsi:type="number">1</item> - </item> - </item> - </data> - <constraint name="Magento\ImportExport\Test\Constraint\AssertImportSuccessMessage" /> - <constraint name="Magento\CustomerImportExport\Test\Constraint\AssertImportCustomerAddresses" /> - </variation> - <variation name="ImportCustomerAddressesVariation2" ticketId="MAGETWO-46176" summary="Add/Update Customer Addresses"> - <data name="import/data" xsi:type="array"> - <item name="entity" xsi:type="string">Customer Addresses</item> - <item name="behavior" xsi:type="string">Add/Update Complex Data</item> - <item name="validation_strategy" xsi:type="string">Stop on Error</item> - <item name="allowed_error_count" xsi:type="string">10</item> - <item name="import_field_separator" xsi:type="string">,</item> - <item name="import_multiple_value_separator" xsi:type="string">,</item> - <item name="import_file" xsi:type="array"> - <item name="entities" xsi:type="array"> - <item name="0" xsi:type="string">customer::default</item> - <item name="1" xsi:type="string">customer::default</item> - </item> - <item name="template" xsi:type="array"> - <item name="filename" xsi:type="string">Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_2</item> - <item name="count" xsi:type="number">2</item> - </item> - </item> - </data> - <constraint name="Magento\ImportExport\Test\Constraint\AssertImportSuccessMessage" /> - <constraint name="Magento\CustomerImportExport\Test\Constraint\AssertImportCustomerAddresses" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestStep/FillCustomImportFormStep.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestStep/FillCustomImportFormStep.php deleted file mode 100644 index ae5f40df3ec39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/TestStep/FillCustomImportFormStep.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\CustomerImportExport\Test\TestStep; - -use Magento\ImportExport\Test\Fixture\Import\File; -use Magento\ImportExport\Test\Fixture\ImportData; -use Magento\ImportExport\Test\Page\Adminhtml\AdminImportIndex; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Fill custom import form. - */ -class FillCustomImportFormStep implements TestStepInterface -{ - /** - * Import index page. - * - * @var AdminImportIndex - */ - private $adminImportIndex; - - /** - * Import fixture. - * - * @var ImportData - */ - private $import; - - /** - * @param AdminImportIndex $adminImportIndex - * @param ImportData $import - */ - public function __construct( - AdminImportIndex $adminImportIndex, - ImportData $import - ) { - $this->adminImportIndex = $adminImportIndex; - $this->import = $import; - } - - /** - * Fill import form. - * - * @return array - */ - public function run() - { - $this->adminImportIndex->getCustomImportForm()->fill($this->import); - - /** @var File $file */ - $file = $this->import->getDataFieldConfig('import_file')['source']; - - return [ - 'entities' => $file->getEntities(), - 'import' => $this->import - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_1.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_1.php deleted file mode 100644 index 77fb5dc9a2e76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_1.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -return [ - 'entity_0' => [ - 'data_0' => [ - '_website' => 'base', - '_email' => "%email%", - '_entity_id' => '%id%', - 'city' => 'Culver City', - 'company' => 'Magento', - 'country_id' => 'US', - 'firstname' => 'John', - 'lastname' => 'Doe', - 'postcode' => '90230', - 'region' => 'California', - 'region_id' => '12', - 'street' => '6161 West Centinela Avenue', - 'telephone' => '555-55-555-55', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_2.php b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_2.php deleted file mode 100644 index 10955a3f8b52a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/_files/template/address/customer_addresses_variation_2.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -return [ - 'entity_0' => [ - 'data_0' => [ - '_website' => 'base', - '_email' => "%email%", - '_entity_id' => '%id%', - 'city' => 'Culver City', - 'company' => 'Magento', - 'country_id' => 'US', - 'firstname' => 'John', - 'lastname' => 'Doe', - 'postcode' => '90230', - 'region' => 'California', - 'street' => '6161 West Centinela Avenue', - 'telephone' => '555-55-555-55', - ], - ], - 'entity_1' => [ - 'data_0' => [ - '_website' => 'base', - '_email' => "%email%", - '_entity_id' => '%id%', - 'city' => 'New York', - 'company' => 'Magento', - 'country_id' => 'US', - 'firstname' => 'John', - 'lastname' => 'Doe', - 'postcode' => '23090', - 'region' => 'California', - 'street' => 'West Centinela Avenue', - 'telephone' => '111-11-111-11', - ], - ], -]; diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/di.xml deleted file mode 100644 index 16e0f86468c8f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/di.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <virtualType name="Magento\Mtf\Util\Command\File\CustomerAddressesExport" type="Magento\Mtf\Util\Command\File\Export"> - <arguments> - <argument name="type" xsi:type="string">customerAddresses</argument> - </arguments> - </virtualType> - - <type name="Magento\CustomerImportExport\Test\Constraint\AssertExportCustomerAddresses"> - <arguments> - <argument name="export" xsi:type="object">Magento\Mtf\Util\Command\File\CustomerAddressesExport</argument> - </arguments> - </type> - - <virtualType name="Magento\Mtf\Util\Command\File\Export\CustomerAddressesReader" type="Magento\Mtf\Util\Command\File\Export\Reader"> - <arguments> - <argument name="template" xsi:type="string">customer_address.*?\.csv</argument> - </arguments> - </virtualType> -</config> diff --git a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/testcase.xml deleted file mode 100644 index 3c6f019911056..0000000000000 --- a/dev/tests/functional/tests/app/Magento/CustomerImportExport/Test/etc/testcase.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/TestCase/etc/testcase.xsd"> - <scenario name="ImportCustomerAddressTest" firstStep="openImportIndex"> - <step name="openImportIndex" module="Magento_ImportExport" next="fillCustomImportForm" /> - <step name="fillCustomImportForm" module="Magento_CustomerImportExport" next="clickCheckData" /> - <step name="clickCheckData" module="Magento_ImportExport" next="clickImportData" /> - <step name="clickImportData" module="Magento_ImportExport" /> - </scenario> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Dhl/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Dhl/Test/Repository/ConfigData.xml deleted file mode 100644 index 86f78adfe1ef7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Dhl/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="disable_shipping_all"> - <field name="carriers/dhl/active" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="number">0</item> - </field> - </dataset> - - <dataset name="dhl_eu"> - <field name="carriers/dhl/active" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - <field name="carriers/dhl/gateway_url" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">https://xmlpitest-ea.dhl.com/XMLShippingServlet</item> - </field> - <field name="carriers/dhl/id" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_id_eu%</item> - </field> - <field name="carriers/dhl/password" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_password_eu%</item> - </field> - <field name="carriers/dhl/account" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_account_eu%</item> - </field> - <field name="carriers/dhl/showmethod" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - <field name="carriers/dhl/debug" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - </dataset> - - <dataset name="dhl_eu_rollback"> - <field name="carriers/dhl/active" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="number">0</item> - </field> - </dataset> - - <dataset name="dhl_us"> - <field name="carriers/dhl/active" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - <field name="carriers/dhl/gateway_url" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">https://xmlpi-ea.dhl.com/XMLShippingServlet</item> - </field> - <field name="carriers/dhl/id" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_id_us%</item> - </field> - <field name="carriers/dhl/password" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_password_us%</item> - </field> - <field name="carriers/dhl/account" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string"/> - <item name="value" xsi:type="string">%carriers_dhl_account_us%</item> - </field> - <field name="carriers/dhl/showmethod" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - <field name="carriers/dhl/debug" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">Yes</item> - <item name="value" xsi:type="number">1</item> - </field> - </dataset> - - <dataset name="dhl_us_rollback"> - <field name="carriers/dhl/active" xsi:type="array"> - <item name="scope" xsi:type="string">carriers</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="label" xsi:type="string">No</item> - <item name="value" xsi:type="number">0</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/CityBasedShippingRateTest.xml b/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/CityBasedShippingRateTest.xml deleted file mode 100644 index d50ef720240fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/CityBasedShippingRateTest.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Shipping\Test\TestCase\CityBasedShippingRateTest" summary="Shipping rates can be reloaded based on changes in City field value"> - <variation name="CityBasedShippingRateDHLTestVariation" summary="Shipping rates can be reloaded based on changes in City field value for DHL shipping method" ticketId="MAGETWO-56124"> - <data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data> - <data name="products/0" xsi:type="string">catalogProductSimple::default</data> - <data name="checkoutMethod" xsi:type="string">guest</data> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="shippingMethod/shipping_service" xsi:type="string">DHL</data> - <data name="shippingMethod/shipping_method" xsi:type="string">Express easy</data> - <data name="clearShippingAddress/postcode" xsi:type="string" /> - <data name="clearShippingAddress/city" xsi:type="string" /> - <data name="clearShippingAddress/country_id" xsi:type="string" /> - <data name="shippingAddresses/0/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/1/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/1/postcode" xsi:type="string">12345</data> - <data name="shippingAddresses/2/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/2/postcode" xsi:type="string">12345</data> - <data name="shippingAddresses/2/city" xsi:type="string">Nairobi</data> - <data name="shippingAddresses/3/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/3/postcode" xsi:type="string">12345</data> - <data name="shippingAddresses/3/city" xsi:type="string">Mombasa</data> - <data name="shippingAddresses/4/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/4/city" xsi:type="string">Mombasa</data> - <data name="shippingAddresses/5/country_id" xsi:type="string">Kenya</data> - <data name="shippingAddresses/5/city" xsi:type="string">Nairobi</data> - <data name="isShippingAvailable" xsi:type="array"> - <item name="0" xsi:type="boolean">false</item> - <item name="1" xsi:type="boolean">false</item> - <item name="2" xsi:type="boolean">true</item> - <item name="3" xsi:type="boolean">true</item> - <item name="4" xsi:type="boolean">true</item> - <item name="5" xsi:type="boolean">true</item> - </data> - <data name="configData" xsi:type="string">dhl_eu, shipping_origin_GB, config_base_currency_gb</data> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index 1ee89e472dd8e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Checkout\Test\TestCase\OnePageCheckoutTest" summary="OnePageCheckout within Offline Payment Method and DHL shipping method"> - <variation name="OnePageCheckoutDhlTestVariation1" summary="Use DHL International (EU) Online Shipping Carrier on Checkout as a Registered Customer" ticketId="MAGETWO-12850"> - <data name="products/0" xsi:type="string">catalogProductSimple::default</data> - <data name="products/1" xsi:type="string">configurableProduct::default</data> - <data name="products/2" xsi:type="string">bundleProduct::bundle_fixed_product</data> - <data name="checkoutMethod" xsi:type="string">login</data> - <data name="customer/dataset" xsi:type="string">default</data> - <data name="address/dataset" xsi:type="string">DE_address</data> - <data name="shippingAddress/dataset" xsi:type="string">DE_address</data> - <data name="shipping/shipping_service" xsi:type="string">DHL</data> - <data name="shipping/shipping_method" xsi:type="string">Express easy</data> - <data name="cart/data/shipping_method" xsi:type="string">Express easy</data> - <data name="payment/method" xsi:type="string">checkmo</data> - <data name="configData" xsi:type="string">checkmo, dhl_eu, shipping_origin_GB, config_base_currency_gb</data> - <data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S0</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" /> - <constraint name="Magento\Sales\Test\Constraint\AssertOrderInOrdersGrid" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Block/Currency/Switcher.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Block/Currency/Switcher.php deleted file mode 100644 index a59851da695ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Block/Currency/Switcher.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Block\Currency; - -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Switcher Currency Symbol. - */ -class Switcher extends Block -{ - /** - * Currency switch locator. - * - * @var string - */ - protected $currencySwitch = '#switcher-currency-trigger'; - - /** - * Currency link locator. - * - * @var string - */ - protected $currencyLinkLocator = '//li[@class="currency-%s switcher-option"]//a'; - - /** - * Language type css selector. - * - * @var string - */ - protected $language = '.language-'; - - /** - * Switch currency to specified one. - * - * @param CurrencySymbolEntity $currencySymbol - * @return void - */ - public function switchCurrency(CurrencySymbolEntity $currencySymbol) - { - $this->waitForElementVisible($this->currencySwitch); - $currencyLink = $this->_rootElement->find($this->currencySwitch); - $customCurrencySwitch = explode(" ", $this->_rootElement->find($this->currencySwitch)->getText()); - $currencyCode = $currencySymbol->getCode(); - if ($customCurrencySwitch[0] !== $currencyCode) { - $currencyLink->click(); - $currencyLink = $this->_rootElement - ->find(sprintf($this->currencyLinkLocator, $currencyCode), Locator::SELECTOR_XPATH); - $currencyLink->click(); - $this->waitForElementVisible($this->language . $currencyCode); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnCatalogPage.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnCatalogPage.php deleted file mode 100644 index a2f3c96463174..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnCatalogPage.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; - -/** - * Assert currency rate applied on catalog page. - */ -class AssertCurrencyRateAppliedOnCatalogPage extends AbstractConstraint -{ - /** - * Assert currency rate applied on catalog page. - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param CatalogProductSimple $product - * @param CurrencySymbolEntity $currencySymbol - * @param string $basePrice - * @param string $convertedPrice - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - CatalogProductSimple $product, - CurrencySymbolEntity $currencySymbol, - $basePrice, - $convertedPrice - ) { - $categoryName = $product->getCategoryIds()[0]; - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - $priceBlock = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrice = $priceBlock->getPrice(''); - - \PHPUnit\Framework\Assert::assertEquals( - $basePrice, - $actualPrice, - 'Wrong price is displayed on Category page.' - ); - - $cmsIndex->getCurrencyBlock()->switchCurrency($currencySymbol); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - $actualPrice = $priceBlock->getPrice(''); - - \PHPUnit\Framework\Assert::assertEquals( - $convertedPrice, - $actualPrice, - 'Wrong price is displayed on Category page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Currency rate has been applied correctly on Catalog page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php deleted file mode 100644 index 64fb44f37dbd5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnProductPage.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Constraint; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Assert currency rate applied on product page. - */ -class AssertCurrencyRateAppliedOnProductPage extends AbstractConstraint -{ - /** - * Assert currency rate applied on product page. - * - * @param BrowserInterface $browser - * @param InjectableFixture $product - * @param CatalogProductView $view - * @param string $basePrice - */ - public function processAssert( - BrowserInterface $browser, - InjectableFixture $product, - CatalogProductView $view, - $basePrice - ) { - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->assertPrice($view, $basePrice); - } - - /** - * Assert price. - * - * @param CatalogProductView $view - * @param string $price - * @param string $currency [optional] - */ - public function assertPrice(CatalogProductView $view, $price, $currency = '') - { - \PHPUnit\Framework\Assert::assertEquals( - $price, - $view->getViewBlock()->getPriceBlock()->getPrice($currency), - 'Wrong price is displayed on Product page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Currency rate has been applied correctly on Product page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateSuccessSaveMessage.php deleted file mode 100644 index 80d0098e2d188..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencyIndex; - -/** - * Assert that success message is displayed. - */ -class AssertCurrencyRateSuccessSaveMessage extends AbstractConstraint -{ - const SUCCESS_MESSAGE = 'All valid rates have been saved.'; - - /** - * Assert that success message is displayed after currency rate saved. - * - * @param SystemCurrencyIndex $currencyIndexPage - * @return void - */ - public function processAssert(SystemCurrencyIndex $currencyIndexPage) - { - $actualMessage = $currencyIndexPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Currency rate success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertShippingPriceWithCustomCurrency.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertShippingPriceWithCustomCurrency.php deleted file mode 100644 index a76e773e28c02..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertShippingPriceWithCustomCurrency.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Checkout\Test\Page\CheckoutOnepage; -use Magento\Mtf\TestStep\TestStepFactory; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity; - -/** - * Assert that shipping amount is correct in not base currency. - */ -class AssertShippingPriceWithCustomCurrency extends AbstractConstraint -{ - /** - * Assert that shipping amount is correct in not base currency in the checkout page. - * - * @param CmsIndex $cmsIndex - * @param CheckoutOnepage $checkoutOnepage - * @param TestStepFactory $testStepFactory - * @param CatalogProductSimple $product - * @param CurrencySymbolEntity $currencySymbol - * @param string $shippingAmount - * @param array $shipping - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CheckoutOnepage $checkoutOnepage, - TestStepFactory $testStepFactory, - CatalogProductSimple $product, - CurrencySymbolEntity $currencySymbol, - $shippingAmount, - array $shipping - ) { - $cmsIndex->open(); - $cmsIndex->getLinksBlock()->waitWelcomeMessage(); - $cmsIndex->getCurrencyBlock()->switchCurrency($currencySymbol); - $testStepFactory->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - )->run(); - $testStepFactory->create(\Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class)->run(); - \PHPUnit\Framework\Assert::assertEquals( - $shippingAmount, - $checkoutOnepage->getShippingMethodBlock()->getShippingMethodAmount($shipping), - 'Shipping amount is not correct in the checkout page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Shipping amount is correct in the checkout page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Fixture/CurrencyRate.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/Fixture/CurrencyRate.xml deleted file mode 100644 index b764d0ddcb8b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Fixture/CurrencyRate.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="currencyRate" - module="Magento_Directory" - type="flat" - entity_type="directory_currency_rate" - collection="Magento\Directory\Model\ResourceModel\Currency" - identifier="" - repository_class="Magento\Directory\Test\Repository\CurrencyRate" - handler_interface="Magento\Directory\Test\Handler\CurrencyRate\CurrencyRateInterface" - class="Magento\Directory\Test\Fixture\CurrencyRate"> - <field name="currency_from" is_required="1" /> - <field name="currency_to" is_required="1" /> - <field name="rate" is_required="1" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/Curl.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/Curl.php deleted file mode 100644 index 9783a06813b89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/Curl.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Handler\CurrencyRate; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Util\Protocol\CurlInterface; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Curl handler for setting currency rates. - */ -class Curl extends AbstractCurl implements CurrencyRateInterface -{ - /** - * Post request for setting currency rate. - * - * @param FixtureInterface $fixture [optional] - * @return mixed|string - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - - $url = $_ENV['app_backend_url'] . 'admin/system_currency/saveRates/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Currency rates setting by curl handler was not successful! Response:\n" . $response); - } - } - - /** - * Prepare data for POST request. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $result = []; - $data = $fixture->getData(); - $result['rate'][$data['currency_from']][$data['currency_to']] = $data['rate']; - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/CurrencyRateInterface.php b/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/CurrencyRateInterface.php deleted file mode 100644 index d7cb22003f870..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Handler/CurrencyRate/CurrencyRateInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\Handler\CurrencyRate; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface CurrencyRateInterface - */ -interface CurrencyRateInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml deleted file mode 100644 index 65a4d1ef1f77b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Config\Test\Repository\ConfigData"> - <dataset name="config_base_currency_us_display_currency_uah"> - <field name="currency/options/allow" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="array"> - <item name="Ukrainian Hryvnia" xsi:type="string">UAH</item> - <item name="US Dollar" xsi:type="string">USD</item> - </item> - </field> - <field name="currency/options/base" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">US Dollar</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">USD</item> - </field> - <field name="currency/options/default" xsi:type="array"> - <item name="scope" xsi:type="string">currency</item> - <item name="label" xsi:type="string">Ukrainian Hryvnia</item> - <item name="scope_id" xsi:type="number">1</item> - <item name="value" xsi:type="string">UAH</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/CurrencyRate.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/CurrencyRate.xml deleted file mode 100644 index 2e0b8552f0653..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/CurrencyRate.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Directory\Test\Repository\CurrencyRate"> - <dataset name="default"> - <field name="currency_from" xsi:type="string">USD</field> - <field name="currency_to" xsi:type="string">EUR</field> - <field name="rate" xsi:type="number">0.8</field> - </dataset> - - <dataset name="usd_chf_rate_0_9"> - <field name="currency_from" xsi:type="string">USD</field> - <field name="currency_to" xsi:type="string">CHF</field> - <field name="rate" xsi:type="number">0.9</field> - </dataset> - - <dataset name="usd_gbp_rate_0_6"> - <field name="currency_from" xsi:type="string">USD</field> - <field name="currency_to" xsi:type="string">GBP</field> - <field name="rate" xsi:type="number">0.6</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.php b/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.php deleted file mode 100644 index 76b7c05910722..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Directory\Test\TestCase; - -use Magento\Catalog\Test\TestStep\CreateProductsStep; -use Magento\Config\Test\Fixture\ConfigData; -use Magento\Mtf\TestCase\Injectable; -use Magento\Directory\Test\Fixture\CurrencyRate; -use Magento\CurrencySymbol\Test\Page\Adminhtml\SystemCurrencyIndex; -use Magento\Mtf\TestStep\TestStepFactory; - -/** - * Preconditions: - * 1. Create Simple product and assign it to the category. - * 2. Configure allowed Currencies Options. - * - * Steps: - * 1. Login to backend. - * 2. Go to Stores > Currency > Currency Rates. - * 3. Fill currency rate according to dataset. - * 4. Click on 'Save Currency Rates' button. - * 5. Perform assertions. - * - * @group Localization - * @ZephyrId MAGETWO-36824 - */ -class CreateCurrencyRateTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Currency rate index page. - * - * @var SystemCurrencyIndex - */ - protected $currencyIndexPage; - - /** - * Test step factory. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Inject data. - * - * @param SystemCurrencyIndex $currencyIndexPage - * @param TestStepFactory $stepFactory - */ - public function __inject(SystemCurrencyIndex $currencyIndexPage, TestStepFactory $stepFactory) - { - $this->currencyIndexPage = $currencyIndexPage; - $this->stepFactory = $stepFactory; - } - - /** - * Create currency rate test. - * - * @param CurrencyRate $currencyRate - * @param ConfigData $config - * @param string $product - * @param array $productData [optional] - * @return array - */ - public function test(CurrencyRate $currencyRate, ConfigData $config, $product, array $productData = []) - { - // Preconditions: - $product = $this->stepFactory - ->create(CreateProductsStep::class, ['products' => [$product], 'data' => $productData]) - ->run()['products'][0]; - $config->persist(); - - // Steps: - $this->currencyIndexPage->open(); - $this->currencyIndexPage->getCurrencyRateForm()->fill($currencyRate); - $this->currencyIndexPage->getFormPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Reset currency config to default values. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'config_currency_symbols_usd'] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.xml deleted file mode 100644 index dc801e95b7489..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/TestCase/CreateCurrencyRateTest.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Directory\Test\TestCase\CreateCurrencyRateTest" summary="Create Currency Rate" ticketId="MAGETWO-36824"> - <variation name="CreateCurrencyRateTestVariation1"> - <data name="tag" xsi:type="string">test_type:acceptance_test, test_type:extended_acceptance_test, severity:S1</data> - <data name="currencyRate/data/currency_from" xsi:type="string">USD</data> - <data name="currencyRate/data/currency_to" xsi:type="string">EUR</data> - <data name="currencyRate/data/rate" xsi:type="number">0.8</data> - <data name="currencySymbol/dataset" xsi:type="string">currency_symbols_eur</data> - <data name="product" xsi:type="string">catalogProductSimple::simple_10_dollar</data> - <data name="config/dataset" xsi:type="string">config_currency_symbols_usd_and_eur</data> - <data name="basePrice" xsi:type="string">$10.00</data> - <data name="convertedPrice" xsi:type="string">€8.00</data> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateSuccessSaveMessage" /> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateAppliedOnCatalogPage" /> - </variation> - <variation name="CreateCurrencyRateTestVariation2"> - <data name="currencyRate/data/currency_from" xsi:type="string">USD</data> - <data name="currencyRate/data/currency_to" xsi:type="string">UAH</data> - <data name="currencyRate/data/rate" xsi:type="number">2.000</data> - <data name="currencySymbol/dataSet" xsi:type="string">currency_symbols_uah</data> - <data name="product" xsi:type="string">catalogProductSimple::simple_10_dollar</data> - <data name="productData/0/custom_options/dataset" xsi:type="string">not_required_text_option</data> - <data name="config/dataset" xsi:type="string">config_base_currency_us_display_currency_uah</data> - <data name="basePrice" xsi:type="string">₴20.00</data> - <data name="tag" xsi:type="string">test_type:acceptance_test</data> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateSuccessSaveMessage" /> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateAppliedOnProductPage" /> - </variation> - <variation name="CreateCurrencyRateTestVariation3" summary="Create currency rate if is not base currency" ticketId="MAGETWO-45310"> - <data name="currencyRate/data/currency_from" xsi:type="string">USD</data> - <data name="currencyRate/data/currency_to" xsi:type="string">UAH</data> - <data name="currencyRate/data/rate" xsi:type="number">0.5</data> - <data name="currencySymbol/dataset" xsi:type="string">currency_symbols_uah</data> - <data name="product" xsi:type="string">catalogProductSimple::simple_10_dollar</data> - <data name="shippingAmount" xsi:type="string">₴2.50</data> - <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data> - <data name="shipping/shipping_method" xsi:type="string">Fixed</data> - <data name="config/dataset" xsi:type="string">config_allowed_currency_usd_and_uah</data> - <constraint name="Magento\Directory\Test\Constraint\AssertCurrencyRateSuccessSaveMessage" /> - <constraint name="Magento\Directory\Test\Constraint\AssertShippingPriceWithCustomCurrency" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/etc/curl/di.xml deleted file mode 100644 index a79a9316dae44..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\Directory\Test\Handler\CurrencyRate\CurrencyRateInterface" type="Magento\Directory\Test\Handler\CurrencyRate\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/etc/di.xml deleted file mode 100644 index d541b8f77f345..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Directory/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Directory\Test\Constraint\AssertCurrencyRateAppliedOnCatalogPage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Directory\Test\Constraint\AssertCurrencyRateSuccessSaveMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable.php deleted file mode 100644 index d78a2d94e7635..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section; - -use Magento\Mtf\Client\Element; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Ui\Test\Block\Adminhtml\Section; -use Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable\Samples; -use Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable\Links; - -/** - * Product downloadable section. - */ -class Downloadable extends Section -{ - /** - * 'Add Link' button. - * - * @var string - */ - protected $addNewRow = '[data-index="link"] [data-action="add_new_row"]'; - - /** - * Downloadable block. - * - * @var string - */ - protected $downloadableBlock = '[data-index="container_%s"]'; - - /** - * Locator for is downloadable product checkbox. - * - * @var string - */ - protected $isDownloadableProduct = '[name="is_downloadable"]'; - - /** - * Get Downloadable block. - * - * @param string $type - * @param SimpleElement $element - * @return Samples|Links - */ - public function getDownloadableBlock($type, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - return $this->blockFactory->create( - 'Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable\\' . $type, - ['element' => $element->find(sprintf($this->downloadableBlock, strtolower($type)), Locator::SELECTOR_CSS)] - ); - } - - /** - * Get data to fields on downloadable tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * @return array - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $newFields = []; - if (isset($fields['downloadable_sample']['value'])) { - $newFields['downloadable_sample'] = $this->getDownloadableBlock('Samples')->getDataSamples( - $fields['downloadable_sample']['value'] - ); - } - if (isset($fields['downloadable_links']['value'])) { - $newFields['downloadable_links'] = $this->getDownloadableBlock('Links')->getDataLinks( - $fields['downloadable_links']['value'] - ); - } - - return $newFields; - } - - /** - * Fill downloadable information. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - $context = $element ?: $this->_rootElement; - $isDownloadable = $context->find($this->isDownloadableProduct); - if ($isDownloadable->isVisible() && $isDownloadable->getAttribute('value') != '1') { - $isDownloadable->click(); - } - if (isset($fields['downloadable_sample']['value'])) { - $this->getDownloadableBlock('Samples')->fillSamples($fields['downloadable_sample']['value']); - } - - if (isset($fields['downloadable_links']['value'])) { - $this->getDownloadableBlock('Links')->fillLinks($fields['downloadable_links']['value']); - } - - return $this; - } - - /** - * Set "Is this downloadable Product?" value. - * - * @param string $downloadable - * @param SimpleElement|null $element - * @return void - */ - public function setIsDownloadable(string $downloadable = 'Yes', SimpleElement $element = null): void - { - $context = $element ?: $this->_rootElement; - $isDownloadable = $context->find($this->isDownloadableProduct); - $value = 'Yes' == $downloadable ? '1' : '0'; - if ($isDownloadable->isVisible() && $isDownloadable->getAttribute('value') != $value) { - $isDownloadable->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.php deleted file mode 100644 index 23b61668bd9d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\ElementInterface; -use Magento\Mtf\Client\Locator; - -/** - * Form item links. - */ -class LinkRow extends Form -{ - /** - * Delete button selector. - * - * @var string - */ - protected $deleteButton = 'button[data-action="remove_row"]'; - - /** - * Sort draggable handle. - * - * @var string - */ - protected $sortDraggableHandle = '*[class=draggable-handle]'; - - /** - * Fill item link. - * - * @param array $fields - * @return void - */ - public function fillLinkRow(array $fields) - { - $mapping = $this->dataMapping($fields); - $this->_fill($mapping); - } - - /** - * Get data item link. - * - * @param array $fields - * @return array - */ - public function getDataLinkRow(array $fields) - { - $mapping = $this->dataMapping($fields); - return $this->_getData($mapping); - } - - /** - * Click delete button. - * - * @return void - */ - public function clickDeleteButton() - { - $this->_rootElement->find($this->deleteButton)->click(); - } - - /** - * Drag and drop block element to specific target. - * - * @param ElementInterface $target - * @return void - */ - public function dragAndDropTo(ElementInterface $target) - { - $this->getSortHandle()->dragAndDrop($target); - } - - /** - * Get sort handle. - * - * @return ElementInterface - */ - public function getSortHandle() - { - return $this->_rootElement->find($this->sortDraggableHandle); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.xml deleted file mode 100644 index 126df85d90070..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/LinkRow.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <title> - <selector>[name$='[title]']</selector> - <strategy>css selector</strategy> - - - [name$='[price]'] - css selector - - - [name$='[number_of_downloads]'] - css selector - - - [name$='[is_unlimited]'] - css selector - checkbox - - - [name$='[is_shareable]'] - css selector - select - - - - [name$='[sample][type]'] - css selector - select - - - [name$='[sample][url]'] - css selector - - - - [name*='[type]']:not([name*='[sample]']) - css selector - select - - - [name$='[link_url]'] - css selector - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.php deleted file mode 100644 index cae22f1b9b0b7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.php +++ /dev/null @@ -1,157 +0,0 @@ -_rootElement; - return $this->blockFactory->create( - \Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable\LinkRow::class, - ['element' => $element->find(sprintf($this->rowBlock, ++$index))] - ); - } - - /** - * Fill links block. - * - * @param array $fields - * @param SimpleElement|null $element - * @return void - */ - public function fillLinks(array $fields, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - $mapping = $this->dataMapping( - ['title' => $fields['title'], 'links_purchased_separately' => $fields['links_purchased_separately']] - ); - $this->_fill($mapping); - foreach ($fields['downloadable']['link'] as $index => $link) { - $rowBlock = $this->getRowBlock($index, $element); - if (!$rowBlock->isVisible()) { - $element->find($this->addNewLinkRow)->click(); - } - - if (isset($link['sort_order'])) { - $currentSortOrder = (int)$link['sort_order'] - 1; - unset($link['sort_order']); - } else { - $currentSortOrder = 0; - } - $rowBlock->fillLinkRow($link); - - $this->sortLink($index, $currentSortOrder, $element); - } - $this->sortRowsData = []; - } - - /** - * Get data links block. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - */ - public function getDataLinks(array $fields = null, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - $mapping = $this->dataMapping( - ['title' => $fields['title'], 'links_purchased_separately' => $fields['links_purchased_separately']] - ); - $newFields = $this->_getData($mapping); - foreach ($fields['downloadable']['link'] as $index => $link) { - unset($link['sort_order']); - $processedLink = $this->getRowBlock($index, $element) - ->getDataLinkRow($link); - $processedLink['sort_order'] = $index + 1; - $newFields['downloadable']['link'][$index] = $processedLink; - } - return $newFields; - } - - /** - * Delete all links and clear title. - * - * @return void - */ - public function clearDownloadableData() - { - $this->_rootElement->find($this->title)->setValue(''); - $index = 1; - while ($this->_rootElement->find(sprintf($this->rowBlock, $index))->isVisible()) { - $rowBlock = $this->getRowBlock($index - 1); - $rowBlock->clickDeleteButton(); - } - } - - /** - * Sort link element. - * - * @param int $position - * @param int $sortOrder - * @param SimpleElement|null $element - * @return void - */ - protected function sortLink($position, $sortOrder, SimpleElement $element = null) - { - $currentSortRowData = ['current_position_in_grid' => $position, 'sort_order' => $sortOrder]; - foreach ($this->sortRowsData as &$sortRowData) { - if ($sortRowData['sort_order'] > $currentSortRowData['sort_order']) { - // need to reload block because we are changing dom - $target = $this->getRowBlock($sortRowData['current_position_in_grid'], $element)->getSortHandle(); - $this->getRowBlock($currentSortRowData['current_position_in_grid'], $element)->dragAndDropTo($target); - - $currentSortRowData['current_position_in_grid']--; - $sortRowData['current_position_in_grid']++; - } - } - unset($sortRowData); - $this->sortRowsData[] = $currentSortRowData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.xml deleted file mode 100644 index fb6eb28cb9d5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Links.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - <selector>[name="product[links_title]"]</selector> - <strategy>css selector</strategy> - - - [name="product[links_purchased_separately]"] - css selector - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.php deleted file mode 100644 index 53d8e8475d0b5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.php +++ /dev/null @@ -1,67 +0,0 @@ -dataMapping($fields); - $this->_fill($mapping); - } - - /** - * Get data item sample. - * - * @param array $fields - * @return array - */ - public function getDataSampleRow(array $fields) - { - $mapping = $this->dataMapping($fields); - return $this->_getData($mapping); - } - - /** - * Drag and drop block element to specific target. - * - * @param ElementInterface $target - * @return void - */ - public function dragAndDropTo(ElementInterface $target) - { - $this->getSortHandle()->dragAndDrop($target); - } - - /** - * Get sort handle. - * - * @return ElementInterface - */ - public function getSortHandle() - { - return $this->_rootElement->find($this->sortDraggableHandle); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.xml deleted file mode 100644 index 9a16477491734..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/SampleRow.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - <selector>[name$='[title]']</selector> - <strategy>css selector</strategy> - - - [name*='[sample]'][name$='[type]'] - css selector - select - - - [name$='[sample_url]'] - css selector - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.php deleted file mode 100644 index 98c7e1abf0d88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.php +++ /dev/null @@ -1,127 +0,0 @@ -_rootElement; - return $this->blockFactory->create( - \Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable\SampleRow::class, - ['element' => $element->find(sprintf($this->rowBlock, ++$index))] - ); - } - - /** - * Fill samples block. - * - * @param array|null $fields - * @param SimpleElement $element - * @return void - */ - public function fillSamples(array $fields = null, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - $mapping = $this->dataMapping(['title' => $fields['title']]); - $this->_fill($mapping); - foreach ($fields['downloadable']['sample'] as $index => $sample) { - $element->find($this->addNewSampleRow)->click(); - - if (isset($sample['sort_order'])) { - $currentSortOrder = (int)$sample['sort_order'] - 1; - unset($sample['sort_order']); - } else { - $currentSortOrder = 0; - } - $this->getRowBlock($index, $element)->fillSampleRow($sample); - - $this->sortSample($index, $currentSortOrder, $element); - } - $this->sortRowsData = []; - } - - /** - * Get data samples block. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - */ - public function getDataSamples(array $fields = null, SimpleElement $element = null) - { - $element = $element ?: $this->_rootElement; - $mapping = $this->dataMapping(['title' => $fields['title']]); - $newFields = $this->_getData($mapping); - foreach ($fields['downloadable']['sample'] as $index => $sample) { - unset($sample['sort_order']); - $processedSample = $this->getRowBlock($index, $element) - ->getDataSampleRow($sample); - $processedSample['sort_order'] = $index + 1; - $newFields['downloadable']['sample'][$index] = $processedSample; - } - return $newFields; - } - - /** - * Sort sample element. - * - * @param int $position - * @param int $sortOrder - * @param SimpleElement|null $element - * @return void - */ - protected function sortSample($position, $sortOrder, SimpleElement $element = null) - { - $currentSortRowData = ['current_position_in_grid' => $position, 'sort_order' => $sortOrder]; - foreach ($this->sortRowsData as &$sortRowData) { - if ($sortRowData['sort_order'] > $currentSortRowData['sort_order']) { - // need to reload block because we are changing dom - $target = $this->getRowBlock($sortRowData['current_position_in_grid'], $element)->getSortHandle(); - $this->getRowBlock($currentSortRowData['current_position_in_grid'], $element)->dragAndDropTo($target); - - $currentSortRowData['current_position_in_grid']--; - $sortRowData['current_position_in_grid']++; - } - } - unset($sortRowData); - $this->sortRowsData[] = $currentSortRowData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.xml deleted file mode 100644 index 4a7d007c2ef5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Catalog/Product/Edit/Section/Downloadable/Samples.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - <selector>[name="product[samples_title]"]</selector> - <strategy>css selector</strategy> - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.php deleted file mode 100644 index 148a1c6ed6ba8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.php +++ /dev/null @@ -1,54 +0,0 @@ -prepareData($product->getData()); - $this->_fill($data); - } - - /** - * Prepare data - * - * @param array $fields - * @return array - */ - protected function prepareData(array $fields) - { - $productOptions = []; - $checkoutData = $fields['checkout_data']['options']; - $productLinks = $fields['downloadable_links']['downloadable']['link']; - - if (!empty($checkoutData['links'])) { - $linkMapping = $this->dataMapping(['link' => '']); - $selector = $linkMapping['link']['selector']; - foreach ($checkoutData['links'] as $key => $link) { - $link['label'] = $productLinks[str_replace('link_', '', $link['label'])]['title']; - $linkMapping['link']['selector'] = str_replace('%link_name%', $link['label'], $selector); - $linkMapping['link']['value'] = $link['value']; - $productOptions['link_' . $key] = $linkMapping['link']; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.xml deleted file mode 100644 index 2f721f05f5ee8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/Composite/Configure.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - //*[@id="downloadable-links-list"]/*[contains(.,"%link_name%")]//input - xpath - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 5e0b2e906ee83..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \Magento\Downloadable\Test\Block\Adminhtml\Catalog\Product\Edit\Section\Downloadable - [data-index="downloadable"] - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View.php deleted file mode 100644 index ac52494b60d87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View.php +++ /dev/null @@ -1,121 +0,0 @@ -blockFactory->create( - \Magento\Downloadable\Test\Block\Catalog\Product\View\Links::class, - [ - 'element' => $this->_rootElement->find($this->blockDownloadableLinks, Locator::SELECTOR_XPATH) - ] - ); - } - - /** - * Get downloadable samples block - * - * @return \Magento\Downloadable\Test\Block\Catalog\Product\View\Samples - */ - public function getDownloadableSamplesBlock() - { - return $this->blockFactory->create( - \Magento\Downloadable\Test\Block\Catalog\Product\View\Samples::class, - [ - 'element' => $this->_rootElement->find($this->blockDownloadableSamples) - ] - ); - } - - /** - * Fill specified option for the product - * - * @param FixtureInterface $product - * @return void - */ - public function fillOptions(FixtureInterface $product) - { - /** @var DownloadableProduct $product */ - $productData = $product->getData(); - $downloadableLinks = isset($productData['downloadable_links']['downloadable']['link']) - ? $productData['downloadable_links']['downloadable']['link'] - : []; - $checkoutData = $product->getCheckoutData(); - if (isset($checkoutData['options'])) { - // Replace link key to label - foreach ($checkoutData['options']['links'] as $key => $linkData) { - $linkKey = str_replace('link_', '', $linkData['label']); - - $linkData['label'] = isset($downloadableLinks[$linkKey]['title']) - ? $downloadableLinks[$linkKey]['title'] - : $linkData['label']; - - $checkoutData['options']['links'][$key] = $linkData; - } - $this->getDownloadableLinksBlock()->fill($checkoutData['options']['links']); - } - } - - /** - * Return product options - * - * @param FixtureInterface $product - * @return array - */ - public function getOptions(FixtureInterface $product) - { - $downloadableOptions = []; - - if ($this->_rootElement->find($this->blockDownloadableLinks, Locator::SELECTOR_XPATH)->isVisible()) { - $downloadableOptions['downloadable_links'] = [ - 'title' => $this->getDownloadableLinksBlock()->getTitle(), - 'downloadable' => [ - 'link' => $this->getDownloadableLinksBlock()->getLinks(), - ], - ]; - } - if ($this->_rootElement->find($this->blockDownloadableSamples)->isVisible()) { - $downloadableOptions['downloadable_sample'] = [ - 'title' => $this->getDownloadableSamplesBlock()->getTitle(), - 'downloadable' => [ - 'sample' => $this->getDownloadableSamplesBlock()->getLinks(), - ], - ]; - } - - return ['downloadable_options' => $downloadableOptions] + parent::getOptions($product); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Links.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Links.php deleted file mode 100644 index 648361b0a31c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Links.php +++ /dev/null @@ -1,148 +0,0 @@ -span:first-child'; - - /** - * Checkbox selector item links - * - * @var string - */ - protected $sampleLinkForChoice = '.sample.link'; - - /** - * Checkbox selector item links - * - * @var string - */ - protected $priceForChoice = '.price-wrapper'; - - /** - * Checkbox selector item links - * - * @var string - */ - protected $priceAdjustmentsForChoice = '.price-adjustments .price'; - - /** - * Get title for links block - * - * @return string - */ - public function getTitle() - { - return $this->_rootElement->find($this->title, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Fill links on product view page - * - * @param array $data - * @return void - */ - public function fill(array $data) - { - foreach ($data as $linkData) { - $link = $this->_rootElement->find( - sprintf($this->linkByLabel, $linkData['label']), - Locator::SELECTOR_XPATH, - 'checkbox' - ); - $link->setValue($linkData['value']); - } - } - - /** - * Return links data on product page view - * - * @return array - */ - public function getLinks() - { - $linksData = []; - - $choiceLinks = $this->_rootElement->getElements($this->choiceLink, Locator::SELECTOR_XPATH); - foreach ($choiceLinks as $key => $choiceLink) { - $link = $choiceLink->find($this->linkForChoice); - $sample = $choiceLink->find($this->sampleLinkForChoice); - $price = $choiceLink->find($this->priceForChoice); - $priceAdjustments = $choiceLink->find($this->priceAdjustmentsForChoice); - - $linkData = [ - 'links_purchased_separately' => $choiceLink->find($this->separatelyForChoice)->isVisible() - ? 'Yes' - : 'No', - 'title' => $link->isVisible() ? $link->getText() : null, - 'sample' => $sample->isVisible() ? $sample->getText() : null, - 'price' => $price->isVisible() ? $this->escapePrice($price->getText()) : null, - 'price_adjustments' => $priceAdjustments->isVisible() - ? $this->escapePrice($priceAdjustments->getText()) - : null, - ]; - - $linksData[$key + 1] = array_filter($linkData); - } - - return $linksData; - } - - /** - * Escape currency for price - * - * @param string $price - * @return string - */ - protected function escapePrice($price) - { - return preg_replace('/[^0-9\.,]/', '', $price); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Samples.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Samples.php deleted file mode 100644 index 445a087b11ff9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Catalog/Product/View/Samples.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->titleBlock)->getText(); - } - - /** - * Get sample links - * - * @return array - */ - public function getLinks() - { - $links = $this->_rootElement->getElements($this->linkTitle); - $linksData = []; - - foreach ($links as $key => $link) { - $linksData[$key + 1] = [ - 'title' => $link->getText(), - ]; - } - - return $linksData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Customer/Products/ListProducts.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Customer/Products/ListProducts.php deleted file mode 100644 index 6d709e1f6dddc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Block/Customer/Products/ListProducts.php +++ /dev/null @@ -1,46 +0,0 @@ -_rootElement->find(sprintf($this->link, $linkTitle), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Get link url by title. - * - * @param string $title - * @return string - */ - public function getLinkUrl($title) - { - return $this->_rootElement->find(sprintf($this->link, $title), Locator::SELECTOR_XPATH)->getAttribute('href'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxCalculationAfterCheckoutDownloadable.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxCalculationAfterCheckoutDownloadable.php deleted file mode 100644 index 5771218e53f97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxCalculationAfterCheckoutDownloadable.php +++ /dev/null @@ -1,75 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->customerOrderView = $customerOrderView; - - $checkoutCart->getProceedToCheckoutBlock()->proceedToCheckout(); - $cmsIndex->getCmsPageBlock()->waitPageInit(); - $checkoutOnepage->getPaymentBlock()->selectPaymentMethod(['method' => 'checkmo']); - $actualPrices = []; - $actualPrices = $this->getReviewPrices($actualPrices, $product); - $actualPrices = $this->getReviewTotals($actualPrices); - $prices = $this->preparePrices($prices); - //Order review prices verification - $message = 'Prices on order review should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - - $checkoutOnepage->getPaymentBlock()->placeOrder(); - $checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); - $checkoutOnepageSuccess->getSuccessBlock()->openOrder(); - $actualPrices = []; - $actualPrices = $this->getOrderPrices($actualPrices, $product); - $actualPrices = $this->getOrderTotals($actualPrices); - - //Frontend order prices verification - $message = 'Prices on order view page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesDownloadable.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesDownloadable.php deleted file mode 100644 index d4cad16fa82b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesDownloadable.php +++ /dev/null @@ -1,76 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - - //Assertion steps - $actualPrices = []; - $productCategory = $product->getCategoryIds()[0]; - $this->openCategory($productCategory); - $actualPrices = $this->getCategoryPrices($product, $actualPrices); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - $catalogProductView->getViewBlock()->fillOptions($product); - $actualPrices = $this->getProductPagePrices($actualPrices); - $catalogProductView->getViewBlock()->clickAddToCart(); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $checkoutCart->open(); - $actualPrices = $this->getCartPrices($product, $actualPrices); - $actualPrices = $this->getTotals($actualPrices); - //Prices verification - $message = 'Prices from dataset should be equal to prices on frontend'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableDuplicateForm.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableDuplicateForm.php deleted file mode 100644 index 2033189214e12..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableDuplicateForm.php +++ /dev/null @@ -1,63 +0,0 @@ -prepareDownloadableArray(parent::prepareFixtureData($data)); - } - - /** - * Sort downloadable array - * - * @param array $fields - * @return array - */ - protected function sortDownloadableArray(array $fields) - { - usort( - $fields, - function ($row1, $row2) { - return $row1['sort_order'] <=> $row2['sort_order']; - } - ); - - return $fields; - } - - /** - * Convert fixture array - * - * @param array $fields - * @return array - */ - protected function prepareDownloadableArray(array $fields) - { - if (isset($fields['downloadable_links']['downloadable']['link'])) { - $fields['downloadable_links']['downloadable']['link'] = $this->sortDownloadableArray( - $fields['downloadable_links']['downloadable']['link'] - ); - } - if (isset($fields['downloadable_sample']['downloadable']['sample'])) { - $fields['downloadable_sample']['downloadable']['sample'] = $this->sortDownloadableArray( - $fields['downloadable_sample']['downloadable']['sample'] - ); - } - - return $fields; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableLinksData.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableLinksData.php deleted file mode 100644 index a537fff86c823..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableLinksData.php +++ /dev/null @@ -1,115 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $fixtureDownloadableLinks = $this->prepareFixtureData($product); - $pageOptions = $catalogProductView->getViewBlock()->getOptions($product); - $pageDownloadableLinks = $this->preparePageData($pageOptions['downloadable_options']['downloadable_links']); - $error = $this->verifyData($fixtureDownloadableLinks, $pageDownloadableLinks); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Prepare fixture data for verify - * - * @param DownloadableProduct $product - * @return array - */ - protected function prepareFixtureData(DownloadableProduct $product) - { - $data = $this->sortDataByPath($product->getDownloadableLinks(), 'downloadable/link::sort_order'); - - foreach ($data['downloadable']['link'] as $key => $link) { - $link['links_purchased_separately'] = $data['links_purchased_separately']; - $link = array_intersect_key($link, array_flip($this->linkField)); - - $data['downloadable']['link'][$key] = $link; - } - $data = array_intersect_key($data, array_flip($this->downloadableLinksField)); - - return $data; - } - - /** - * Prepare page data for verify - * - * @param array $data - * @return array - */ - protected function preparePageData(array $data) - { - foreach ($data['downloadable']['link'] as $key => $link) { - $link = array_intersect_key($link, array_flip($this->linkField)); - $data['downloadable']['link'][$key] = $link; - } - $data = array_intersect_key($data, array_flip($this->downloadableLinksField)); - - return $data; - } - - /** - * Text of Visible in downloadable assert for link block - * - * @return string - */ - public function toString() - { - return 'Link block for downloadable product on front-end is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableProductForm.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableProductForm.php deleted file mode 100644 index 8f4325555df19..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableProductForm.php +++ /dev/null @@ -1,26 +0,0 @@ -getCheckoutData()['options']; - if (!empty($checkoutData['links'])) { - $downloadableLinks = $product->getDownloadableLinks(); - foreach ($checkoutData['links'] as $optionData) { - $linkKey = str_replace('link_', '', $optionData['label']); - $productOptions[] = [ - 'option_name' => 'Links', - 'value' => $downloadableLinks['downloadable']['link'][$linkKey]['title'], - ]; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableSamplesData.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableSamplesData.php deleted file mode 100644 index 34587b5a44c1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertDownloadableSamplesData.php +++ /dev/null @@ -1,109 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $fixtureSampleLinks = $this->prepareFixtureData($product); - $pageOptions = $productView->getViewBlock()->getOptions($product); - $pageSampleLinks = isset($pageOptions['downloadable_options']['downloadable_sample']) - ? $this->preparePageData($pageOptions['downloadable_options']['downloadable_sample']) - : []; - $error = $this->verifyData($fixtureSampleLinks, $pageSampleLinks); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Prepare fixture data for verify - * - * @param DownloadableProduct $product - * @return array - */ - protected function prepareFixtureData(DownloadableProduct $product) - { - $data = $this->sortDataByPath($product->getDownloadableSample(), 'downloadable/sample::sort_order'); - - foreach ($data['downloadable']['sample'] as $key => $link) { - $link = array_intersect_key($link, array_flip($this->linkField)); - $data['downloadable']['sample'][$key] = $link; - } - $data = array_intersect_key($data, array_flip($this->downloadableSampleField)); - - return $data; - } - - /** - * Prepare page data for verify - * - * @param array $data - * @return array - */ - protected function preparePageData(array $data) - { - foreach ($data['downloadable']['sample'] as $key => $link) { - $link = array_intersect_key($link, array_flip($this->linkField)); - $data['downloadable']['sample'][$key] = $link; - } - $data = array_intersect_key($data, array_flip($this->downloadableSampleField)); - - return $data; - } - - /** - * Text of Visible in downloadable assert for sample block - * - * @return string - */ - public function toString() - { - return 'Sample block for downloadable product on front-end is visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingIncludingTax.php deleted file mode 100644 index 29260af46d514..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingIncludingTax.php +++ /dev/null @@ -1,63 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = $reviewBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $reviewBlock->getSubtotalInclTax(); - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $reviewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotalInclTax(); - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingTax.php deleted file mode 100644 index a393ade4f8987..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableExcludingTax.php +++ /dev/null @@ -1,66 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = $reviewBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableIncludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableIncludingTax.php deleted file mode 100644 index 68674373b7585..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxCalculationAfterCheckoutDownloadableIncludingTax.php +++ /dev/null @@ -1,63 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $reviewBlock->getSubtotal(); - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $reviewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotal(); - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingIncludingTax.php deleted file mode 100644 index 33cc6ca83ac6e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingIncludingTax.php +++ /dev/null @@ -1,75 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $priceBlock = $this->catalogProductView->getViewBlock()->getPriceBlock(); - $actualPrices['product_view_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['product_view_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get totals. - * - * @param $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExcludingTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalIncludingTax(); - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExcludingTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalIncludingTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingTax.php deleted file mode 100644 index ae757fcbfe2c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableExcludingTax.php +++ /dev/null @@ -1,77 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price'] = $priceBlock->getPrice(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $priceBlock = $this->catalogProductView->getViewBlock()->getPriceBlock(); - $actualPrices['product_view_price'] = $priceBlock->getPrice(); - $actualPrices['product_view_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['product_view_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get totals. - * - * @param array $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableIncludingTax.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableIncludingTax.php deleted file mode 100644 index 53d15a4bd1339..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesDownloadableIncludingTax.php +++ /dev/null @@ -1,77 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_special_price'] = $priceBlock->getSpecialPrice(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $priceBlock = $this->catalogProductView->getViewBlock()->getPriceBlock(); - $actualPrices['product_view_special_price'] = $priceBlock->getSpecialPrice(); - $actualPrices['product_view_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['product_view_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get totals. - * - * @param $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExcludingTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalIncludingTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/Cart/Item.php deleted file mode 100644 index f0df5ab682763..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,41 +0,0 @@ -product->getCheckoutData(); - $downloadableOptions = $this->product->getDownloadableLinks(); - foreach ($checkoutData['options']['links'] as $link) { - $keyLink = str_replace('link_', '', $link['label']); - $checkoutDownloadableOptions[] = [ - 'title' => $downloadableOptions['title'], - 'value' => $downloadableOptions['downloadable']['link'][$keyLink]['title'], - ]; - } - - $this->data['options'] += $checkoutDownloadableOptions; - - return $this->data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml deleted file mode 100644 index dbbd7c0dd10ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - downloadable - - downloadable - 4 - - product - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php deleted file mode 100644 index a9e246ce1b7ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php +++ /dev/null @@ -1,135 +0,0 @@ -mappingData += [ - 'links_purchased_separately' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'is_shareable' => [ - 'Yes' => 1, - 'No' => 0, - 'Use config' => 2, - ], - ]; - } - - /** - * Prepare POST data for creating product request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - /** @var DownloadableProduct $fixture */ - $fixtureData = parent::prepareData($fixture); - $downloadableData = [ - 'downloadable_sample' => $fixture->getDownloadableSample(), - 'downloadable_links' => $fixture->getDownloadableLinks() - ]; - $data = []; - - if (!empty($downloadableData['downloadable_sample'])) { - foreach ($downloadableData['downloadable_sample']['downloadable']['sample'] as $key => $sample) { - $data['downloadable']['sample'][$key]['title'] = $sample['title']; - // only url type - $data['downloadable']['sample'][$key]['type'] = 'url'; - $data['downloadable']['sample'][$key]['sample_url'] = $sample['sample_url']; - $data['downloadable']['sample'][$key]['sort_order'] = $sample['sort_order']; - } - - $sampleTitle = $downloadableData['downloadable_sample']['title']; - $data['samples_title'] = ['product' => $sampleTitle]; - - unset($data['downloadable_sample']); - } - - if (!empty($downloadableData['downloadable_links'])) { - foreach ($downloadableData['downloadable_links']['downloadable']['link'] as $key => $link) { - $data['downloadable']['link'][$key]['title'] = $link['title']; - // only url type - $data['downloadable']['link'][$key]['type'] = 'url'; - $data['downloadable']['link'][$key]['link_url'] = $link['file_link_url']; - $data['downloadable']['link'][$key]['price'] = $link['price']; - $data['downloadable']['link'][$key]['number_of_downloads'] = $link['number_of_downloads']; - $data['downloadable']['link'][$key]['is_shareable'] = $link['is_shareable']; - $data['downloadable']['link'][$key]['sort_order'] = $link['sort_order']; - $data['downloadable']['link'][$key]['sample']['type'] = 'url'; - $data['downloadable']['link'][$key]['sample']['url'] = $link['sample']['sample_url']; - } - - $links = [ - 'links_title' => $downloadableData['downloadable_links']['title'], - 'links_purchased_separately' => $downloadableData['downloadable_links']['links_purchased_separately'] - ]; - $data = array_merge($data, ['product' => $links]); - - unset($downloadableData['downloadable_links']); - } - - $data = array_merge_recursive($fixtureData, $data); - return $this->replaceMappingData($data); - } - - /** - * Create product via curl. - * - * @param array $data - * @param array $config - * @return array - * @throws \Exception - */ - protected function createProduct(array $data, array $config) - { - $url = $this->getUrl($config); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Product creation by curl handler was not successful! Response: $response"); - } - preg_match("~Location: [^\s]*\/id\/(\d+)~", $response, $matches); - $checkoutData = isset($data['product']['checkout_data']) ? $data['product']['checkout_data'] : null; - if (isset($data['downloadable']['link'])) { - foreach ($data['downloadable']['link'] as $key => $link) { - preg_match('`"link_id":"(\d*?)","title":"' . $link['title'] . '"`', $response, $linkId); - if (isset($checkoutData['options']['links'][$key]['label'])) { - $checkoutData['options']['links'][$key]['id'] = $linkId[1]; - } - } - } - - return ['id' => $matches[1], 'checkout_data' => $checkoutData]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/DownloadableProductInterface.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/DownloadableProductInterface.php deleted file mode 100644 index 6f5cace9a7b79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/DownloadableProductInterface.php +++ /dev/null @@ -1,16 +0,0 @@ -prepareDownloadableProductSamples(); - $this->prepareDownloadableProductLinks(); - } - - /** - * Parse data in response. - * - * @param array $response - * @return array - */ - protected function parseResponse(array $response) - { - $checkoutData = $this->fixture->hasData('checkout_data') ? $this->fixture->getData('checkout_data') : []; - - if (isset($checkoutData['options']['links']) - && !empty($response['extension_attributes']['downloadable_product_links']) - ) { - foreach (array_keys($checkoutData['options']['links']) as $key) { - $checkoutData['options']['links'][$key]['id'] = - $response['extension_attributes']['downloadable_product_links'][$key]['id']; - } - } - - return [ - 'id' => $response['id'], - 'checkout_data' => $checkoutData - ]; - } - - /** - * Preparation of downloadable samples data. - * - * @return void - */ - protected function prepareDownloadableProductSamples() - { - $downloadableProductSamples = []; - - if (isset($this->fields['downloadable']['sample'])) { - foreach ($this->fields['downloadable']['sample'] as $key => $sample) { - $downloadableProductSamples[$key] = $this->prepareSampleData($sample); - } - $this->fields['product']['extension_attributes']['downloadable_product_samples'] = - $downloadableProductSamples; - $this->fields['product']['samples_title'] = $this->fields['product']['downloadable_sample']['title']; - } - - unset($this->fields['samples_title']); - unset($this->fields['downloadable']['sample']); - unset($this->fields['product']['downloadable_sample']); - } - - /** - * Prepare sample data. - * - * @param array $sample - * @return array - */ - protected function prepareSampleData(array $sample) - { - return [ - 'title' => $sample['title'], - 'sort_order' => isset($sample['sort_order']) ? $sample['sort_order'] : 0, - 'sample_type' => $sample['type'], - 'sample_url' => isset($sample['sample_url']) ? $sample['sample_url'] : null, - 'sample_file' => isset($sample['sample_file']) ? $sample['sample_file'] : null, - ]; - } - - /** - * Preparation of downloadable links data. - * - * @return void - */ - protected function prepareDownloadableProductLinks() - { - $downloadableProductLinks = []; - - foreach ($this->fields['downloadable']['link'] as $key => $link) { - $downloadableProductLinks[$key] = $this->prepareLinkData($link); - } - - $this->fields['product']['links_exist'] = 1; - $this->fields['product']['links_purchased_separately'] = - $this->fields['product']['downloadable_links']['links_purchased_separately']; - $this->fields['product']['links_title'] = isset($this->fields['product']['downloadable_links']['title']) - ? $this->fields['product']['downloadable_links']['title'] - : null; - $this->fields['product']['extension_attributes']['downloadable_product_links'] = $downloadableProductLinks; - - unset($this->fields['downloadable']); - unset($this->fields['product']['downloadable_links']); - } - - /** - * Prepare link data. - * - * @param array $link - * @return array - */ - protected function prepareLinkData(array $link) - { - return [ - 'title' => $link['title'], - 'sort_order' => isset($link['sort_order']) ? $link['sort_order'] : 0, - 'is_shareable' => $link['is_shareable'], - 'price' => (float)$link['price'], - 'number_of_downloads' => isset($link['number_of_downloads']) ? $link['number_of_downloads'] : 0, - 'link_type' => $link['type'], - 'link_url' => isset($link['link_url']) ? $link['link_url'] : null, - 'link_file' => isset($link['link_file']) ? $link['link_file'] : null, - 'sample_type' => isset($link['sample']['type']) ? $link['sample']['type'] : null, - 'sample_url' => isset($link['sample']['url']) ? $link['sample']['url'] : null, - 'sample_file' => isset($link['sample']['file']) ? $link['sample']['file'] : null, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/CustomerIndexEdit.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/CustomerIndexEdit.xml deleted file mode 100644 index bfbbca36f8671..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/CustomerIndexEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index 920e6658fa636..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/DownloadableCustomerProducts.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/DownloadableCustomerProducts.xml deleted file mode 100644 index d64ccf3ee4f4c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/DownloadableCustomerProducts.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index 37ed9a71d2547..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct.xml deleted file mode 100644 index 482becb2901e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct.xml +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - Test downloadable product %isolation% - sku_test_downloadable_product_%isolation% - - 280 - - - - downloadable - - taxable_goods - - - 90 - In Stock - - Yes - Catalog, Search - test-downloadable-product-%isolation% - - with_two_separately_links - - This item has no weight - - - default - - - - downloadable_default - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 20 - - - taxable_goods - - - 1111 - In Stock - - Yes - Catalog, Search - - - default - - - - with_two_separately_links - - - downloadable_with_two_separately_links - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 20 - - - taxable_goods - - - 1111 - In Stock - - Yes - Catalog, Search - - - default - - - - with_two_separately_links - - - downloadable_with_two_bought_links - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 30 - - 20 - - taxable_goods - - - 1111 - In Stock - - Yes - - default_subcategory - - Catalog, Search - - - default - - - - with_two_separately_links - - - downloadable_with_two_bought_links - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 20 - - - taxable_goods - - - 1111 - In Stock - - Yes - - default_subcategory - - Catalog, Search - - - default - - - - with_two_separately_links - - - drop_down_with_one_option_percent_price - - - downloadable_one_custom_option_and_downloadable_link - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 1 - - - default_subcategory - - - one_no_separately_link - - - 10 - In Stock - - - taxable_goods - - - - default - - - - downloadable_one_dollar_product_with_no_separated_link - - - - - Downloadable product %isolation% - downloadable_product_%isolation% - downloadable-product-%isolation% - - 20 - - - taxable_goods - - - 1 - In Stock - - Yes - Catalog, Search - - - default - - - - with_two_separately_links - - - downloadable_with_two_separately_links - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/CheckoutData.xml deleted file mode 100644 index 81838ab94e58f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/CheckoutData.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - link_0 - Yes - - - - - 282.43 - 282.43 - - - - - - 3 - 3 - - - - - - - - link_0 - Yes - - - - - 22.43 - 22.43 - - - - - - - - link_0 - Yes - - - link_1 - Yes - - - - - 23 - 23 - - - - - - - - link_1 - Yes - - - - - 25.43 - 25.43 - - - - - - - - attribute_key_0 - option_key_0 - - - - - link_0 - Yes - - - - - - - - - - link_0 - Yes - - - - - 3 - 3 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Links.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Links.xml deleted file mode 100644 index 7c0647f64eeeb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Links.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - Links%isolation% - Yes - - - - link1%isolation% - 2 - Use config - 2 - 1 - - URL - http://example.com - - URL - http://example.com - - - - - - - Links%isolation% - No - - - - link1%isolation% - 2 - Use config - 2 - 1 - - URL - http://example.com - - URL - http://example.com - - - - - - - Links title %isolation% - Yes - - - - link-1-%isolation% - 2.43 - 2 - - URL - http://example.com - - URL - http://example.com - No - 1 - - - link-2-%isolation% - 3 - 3 - - URL - http://example.com - - URL - http://example.com - Yes - 2 - - - - - - - Links Title %isolation% - Yes - - - - link-1-%isolation% - 2.43 - 2 - - URL - http://example.com - - URL - http://example.com - No - 1 - - - link-2-%isolation% - 3 - 3 - - URL - http://example.com - - URL - http://example.com - Yes - 3 - - - link-3-%isolation% - 5.43 - 5 - - URL - http://example.com - - URL - http://example.com - Yes - 2 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Samples.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Samples.xml deleted file mode 100644 index de508b901d57a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Repository/DownloadableProduct/Samples.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - Samples%isolation% - - - - sample1%isolation% - URL - http://example.com - 2 - - - sample2%isolation% - URL - http://example.com - 1 - - - - - - - Samples%isolation% - - - - sample1%isolation% - URL - http://example.com - 1 - - - sample2%isolation% - URL - http://example.com - 3 - - - sample3%isolation% - URL - http://example.com - 2 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.php deleted file mode 100644 index 3225871ab4ab6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.php +++ /dev/null @@ -1,126 +0,0 @@ - Catalog. - * 3. Start to create new Downloadable product. - * 4. Fill in data according to data set. - * 5. Fill Downloadable Information tab according to data set. - * 6. Save product. - * 7. Verify created product. - * - * @group Downloadable_Product - * @ZephyrId MAGETWO-23425 - */ -class CreateDownloadableProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'yes'; - /* end tags */ - - /** - * Fixture category - * - * @var Category - */ - protected $category; - - /** - * Product page with a grid - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * New product page on backend - * - * @var CatalogProductNew - */ - protected $catalogProductNew; - - /** - * DomainWhitelist CLI - * - * @var EnvWhitelist - */ - private $envWhitelist; - - /** - * Persist category - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return [ - 'category' => $category - ]; - } - - /** - * Filling objects of the class - * - * @param Category $category - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductNew $catalogProductNewPage - * @param EnvWhitelist $envWhitelist - * @return void - */ - public function __inject( - Category $category, - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductNew $catalogProductNewPage, - EnvWhitelist $envWhitelist - ) { - $this->category = $category; - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductNew = $catalogProductNewPage; - $this->envWhitelist = $envWhitelist; - } - - /** - * Test create downloadable product - * - * @param DownloadableProduct $product - * @param Category $category - * @return void - */ - public function test(DownloadableProduct $product, Category $category) - { - // Steps - $this->envWhitelist->addHost('example.com'); - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getGridPageActionBlock()->addProduct('downloadable'); - $productBlockForm = $this->catalogProductNew->getProductForm(); - $productBlockForm->fill($product, null, $category); - $this->catalogProductNew->getFormPageActions()->save(); - } - - /** - * Clean data after running test. - * - * @return void - */ - protected function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.xml deleted file mode 100644 index b61a244345a58..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/CreateDownloadableProductEntityTest.xml +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 10 - In Stock - 1 - category %isolation% - one_separately_link - downloadable_one_dollar_product_with_separated_link - downloadableproduct-%isolation% - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 100 - taxable_goods - 1 - In Stock - Default Category - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - - - to_maintain:yes - MAGETWO-67096: [FT] Magento\Downloadable\Test\TestCase\CreateDownloadableProductEntityTest fails on Jenkins - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 1 - taxable_goods - 10 - In Stock - category %isolation% - with_two_samples - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 33 - taxable_goods - 10 - In Stock - category %isolation% - with_two_separately_links - default - downloadableproduct-%isolation% - - - - - - - - - to_maintain:yes - MAGETWO-67096: [FT] Magento\Downloadable\Test\TestCase\CreateDownloadableProductEntityTest fails on Jenkins - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 55 - taxable_goods - 10 - In Stock - with_three_samples - with_three_links - two_options - downloadableproduct-%isolation% - - - - - - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 100 - taxable_goods - 50 - Out of Stock - Default Category - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 9999 - taxable_goods - Default Category - 123 - No - 123 - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 98 - None - 5 - In Stock - Default Category - This is description for downloadable product - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - MAGETWO-59316: Sort order of Customizable Options isn't taken into account while creating Product via Webapi - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 57 - taxable_goods - 10 - In Stock - category %isolation% - This is short description for downloadable product - with_two_samples - with_three_links - default - catalogProductSimple::with_two_custom_option,catalogProductSimple::with_all_custom_option - downloadableproduct-%isolation% - - - - - - - - - - to_maintain:yes - MAGETWO-67096: [FT] Magento\Downloadable\Test\TestCase\CreateDownloadableProductEntityTest fails on Jenkins - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 65 - taxable_goods - 11 - In Stock - category %isolation% - This is description for downloadable product - This is short description for downloadable product - with_two_samples - with_three_links - default - downloadableproduct-%isolation% - - - - - - - - - - to_maintain:yes - MAGETWO-67096: [FT] Magento\Downloadable\Test\TestCase\CreateDownloadableProductEntityTest fails on Jenkins - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 65 - taxable_goods - 11 - In Stock - category %isolation% - with_two_samples - with_three_links - default - downloadableproduct-%isolation% - - - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 100 - taxable_goods - 123 - default_category - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 10 - taxable_goods - 10 - In Stock - category %isolation% - with_two_separately_links - 5 - downloadableproduct-%isolation% - - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 365 - taxable_goods - 23 - In Stock - category %isolation% - with_two_separately_links - downloadableproduct-%isolation% - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 250 - taxable_goods - 65 - In Stock - category %isolation% - with_two_separately_links - default - downloadableproduct-%isolation% - - - - - - - - mftf_migrated:yes - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 350 - 75 - In Stock - one_separately_link - downloadableproduct-%isolation% - custom_store - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductEntityTest.xml deleted file mode 100644 index ffcafbe687236..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - mftf_migrated:yes - downloadableProduct::default - Yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml deleted file mode 100644 index 980fdb2998c08..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - downloadableProduct::default - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DuplicateProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DuplicateProductEntityTest.xml deleted file mode 100644 index 3207e4efb5de1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/DuplicateProductEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - downloadableProduct::default - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/TaxCalculationTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/TaxCalculationTest.xml deleted file mode 100644 index e008e6499e9f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/TaxCalculationTest.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - to_maintain:yes - total_cat_excl_ship_incl_after_disc_on_incl, display_excluding_including_tax - downloadableProduct::with_two_separately_links_special_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_equals_store_rate - johndoe_unique - - - 20.00 - 21.65 - 25.43 - 27.53 - 25.43 - 27.53 - 25.43 - 27.53 - 25.43 - 27.53 - 13.77 - 0.96 - 11.66 - 12.62 - - - - - - to_maintain:yes - total_cat_excl_ship_incl_after_disc_on_incl, display_including_tax - downloadableProduct::with_two_separately_links_special_price_and_category - catalog_price_rule_all_groups - customer_greater_store_rate - johndoe_unique - - - 16.26 - 22.14 - 22.14 - 22.14 - 22.14 - 1.71 - 20.43 - 22.14 - - - - - - to_maintain:yes - total_cat_incl_ship_excl_before_disc_on_excl, display_excluding_including_tax - downloadableProduct::with_two_separately_links_custom_options_and_category - catalog_price_rule_all_groups - customer_greater_store_rate - johndoe_unique - - - 9.24 - 10.01 - 15.18 - 16.45 - 15.18 - 16.45 - 15.18 - 16.45 - 15.18 - 16.45 - 1.27 - 15.18 - 16.45 - - - - - - to_maintain:yes - total_cat_incl_ship_excl_before_disc_on_excl - downloadableProduct::with_two_separately_links_custom_options_and_category - catalog_price_rule_all_groups - customer_equals_store_rate - johndoe_unique - - - 9.24 - 15.18 - 15.18 - 15.18 - 15.18 - 1.25 - 16.43 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.php deleted file mode 100644 index 5790d81248b86..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.php +++ /dev/null @@ -1,149 +0,0 @@ - Catalog. - * 3. Search and open product in the grid. - * 4. Edit test value(s) according to dataset. - * 5. Click "Save". - * 6. Perform asserts. - * - * @group Downloadable_Product - * @ZephyrId MAGETWO-24775 - */ -class UpdateDownloadableProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Downloadable product fixture. - * - * @var DownloadableProduct - */ - private $product; - - /** - * Product page with a grid. - * - * @var CatalogProductIndex - */ - private $catalogProductIndex; - - /** - * Edit product page on backend. - * - * @var CatalogProductEdit - */ - private $catalogProductEdit; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Persist category. - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return [ - 'category' => $category - ]; - } - - /** - * Filling objects of the class. - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductEdit $catalogProductEditPage - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductEdit $catalogProductEditPage, - FixtureFactory $fixtureFactory - ) { - $this->product = $fixtureFactory->createByCode( - 'downloadableProduct', - ['dataset' => 'default'] - ); - $this->product->persist(); - $this->fixtureFactory = $fixtureFactory; - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductEdit = $catalogProductEditPage; - } - - /** - * Test update downloadable product. - * - * @param DownloadableProduct $product - * @param Category $category - * @param string $storeDataset [optional] - * @param int $storesCount [optional] - * @param int|null $storeIndexToUpdate [optional] - * @return array - */ - public function test( - DownloadableProduct $product, - Category $category, - $storeDataset = '', - $storesCount = 0, - $storeIndexToUpdate = null - ) { - // Preconditions - $stores = []; - if ($storeDataset) { - for ($i = 0; $i < $storesCount; $i++) { - $stores[$i] = $this->fixtureFactory->createByCode('store', ['dataset' => $storeDataset]); - $stores[$i]->persist(); - } - } - - // Test steps - $filter = ['sku' => $this->product->getSku()]; - $this->catalogProductIndex->open()->getProductGrid()->searchAndOpen($filter); - if ($storeDataset && $storeIndexToUpdate !== null) { - $this->catalogProductEdit->getFormPageActions()->changeStoreViewScope($stores[$storeIndexToUpdate]); - } - $productBlockForm = $this->catalogProductEdit->getProductForm(); - $productBlockForm->fill($product, null, $category); - $this->catalogProductEdit->getFormPageActions()->save(); - - return [ - 'store' => $storeDataset ? $stores[$storeIndexToUpdate] : '', - 'initialProduct' => $this->product - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.xml deleted file mode 100644 index 8b5c6c4ee38fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/UpdateDownloadableProductEntityTest.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 55 - taxable_goods - 10 - In Stock - with_three_samples - with_three_links - two_options - No - downloadableproduct-%isolation% - - - - - - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 100 - taxable_goods - 50 - Out of Stock - Default Category - with_two_separately_links - No - downloadableproduct-%isolation% - - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 9999 - taxable_goods - 123 - Default Category - No - 123 - No - downloadableproduct-%isolation% - - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 48 - None - 5 - In Stock - Default Category - This is description for downloadable product - with_two_separately_links - No - downloadableproduct-%isolation% - - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 54 - taxable_goods - 10 - In Stock - category %isolation% - This is short description for downloadable product - with_two_samples - with_three_links - default - Yes - downloadableproduct-%isolation% - - - - - - - - - - - DownloadableProduct_%isolation% - DownloadableProduct_%isolation% - 43 - taxable_goods - 10 - In Stock - 40 - No - downloadableproduct-%isolation% - - - - - - - custom - 2 - 1 - No - Test Downloadable Product %isolation% - No - downloadableproduct-%isolation% - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/ValidateOrderOfProductTypeTest.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/ValidateOrderOfProductTypeTest.xml deleted file mode 100644 index e807ec9134277..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/TestCase/ValidateOrderOfProductTypeTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - mftf_migrated:yes - Downloadable Product - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/curl/di.xml deleted file mode 100644 index ffc992ef82902..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/di.xml deleted file mode 100644 index 812a352454cc5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/di.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/webapi/di.xml deleted file mode 100644 index ecddd555174b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.php b/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.php deleted file mode 100644 index 92394e3a03259..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.php +++ /dev/null @@ -1,27 +0,0 @@ -_rootElement->find($this->loadButton, Locator::SELECTOR_CSS); // locate the Load button - $element->click(); // click the load button - } -} diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.xml b/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.xml deleted file mode 100644 index 02f716155b2f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Block/Adminhtml/Template/Edit/TemplateForm.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - #template_select - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Constraint/AssertEmailTemplateSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Email/Test/Constraint/AssertEmailTemplateSuccessSaveMessage.php deleted file mode 100644 index aafadb72b1ae2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Constraint/AssertEmailTemplateSuccessSaveMessage.php +++ /dev/null @@ -1,42 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Assert that success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Fixture/EmailTemplate.xml b/dev/tests/functional/tests/app/Magento/Email/Test/Fixture/EmailTemplate.xml deleted file mode 100644 index 78cffafcb1bfd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Fixture/EmailTemplate.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateIndex.xml b/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateIndex.xml deleted file mode 100644 index f1c98ef6c3c48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateNew.xml b/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateNew.xml deleted file mode 100644 index 5f3b93b1c1893..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/Page/Adminhtml/EmailTemplateNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.php b/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.php deleted file mode 100644 index e0a2ef4fc9b3f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.php +++ /dev/null @@ -1,77 +0,0 @@ -emailTemplateIndex = $emailTemplateIndex; - $this->emailTemplateNew = $emailTemplateNew; - } - - /** - * @param EmailTemplate $emailTemplate - */ - public function test(EmailTemplate $emailTemplate) - { - $this->emailTemplateIndex->open(); - $this->emailTemplateIndex->getPageActionsBlock()->addNew(); - $this->emailTemplateNew->getTemplateForm()->fill($emailTemplate); - $this->emailTemplateNew->getTemplateForm()->clickLoadTemplate(); - $this->emailTemplateNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.xml deleted file mode 100644 index 3657f3f764a7c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/CreateEmailTemplateEntityTest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Change Email - Test code_%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 4e98019c25317..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Email/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > Email Templates - Email Templates - - - - diff --git a/dev/tests/functional/tests/app/Magento/Fedex/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Fedex/Test/Repository/ConfigData.xml deleted file mode 100644 index da889daab6287..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Fedex/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - carriers - 1 - No - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - - CARRIERS_FEDEX_ACCOUNT - - - carriers - 1 - - CARRIERS_FEDEX_METER_NUMBER - - - carriers - 1 - - CARRIERS_FEDEX_KEY - - - carriers - 1 - - CARRIERS_FEDEX_PASSWORD - - - carriers - 1 - Yes - 1 - - - carriers - 1 - Yes - 1 - - - - - - carriers - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/CityBasedShippingRateTest.xml b/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/CityBasedShippingRateTest.xml deleted file mode 100644 index 15809ecaec358..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/CityBasedShippingRateTest.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::default - guest - default - Federal Express - International Economy - - - - Kenya - Kenya - 12345 - Kenya - 12345 - Nairobi - Kenya - 12345 - Mombasa - Kenya - Mombasa - Kenya - Nairobi - - false - true - true - true - false - false - - fedex, shipping_origin_US_CA - - - diff --git a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index 7a4c55073fbe8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - catalogProductSimple::default - configurableProduct::default - bundleProduct::bundle_fixed_product - guest - default - UK_address - UK_address - Federal Express - International Economy - International Economy - checkmo - checkmo, fedex, shipping_origin_US_CA - test_type:3rd_party_test, severity:S0 - - - - - - - catalogProductSimple::default - configurableProduct::default - bundleProduct::bundle_fixed_product - login - default - US_address_1 - US_address_1_without_email - Federal Express - Ground - Ground - checkmo - checkmo, fedex, shipping_origin_US_CA - test_type:3rd_party_test, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml deleted file mode 100644 index 097190531510e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - login - Federal Express - Smart Post - Smart Post - checkmo - checkmo, fedex, shipping_origin_US_CA - - Federal Express - Federal Express - 449044304137821 - - - 449044304137821 - - test_type:3rd_party_test, severity:S1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create.php deleted file mode 100644 index d4037fb8f3ecd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create.php +++ /dev/null @@ -1,44 +0,0 @@ -_rootElement->click(); - /** @var \Magento\GiftMessage\Test\Block\Adminhtml\Order\Create\Items $items */ - $items = $this->blockFactory->create( - \Magento\GiftMessage\Test\Block\Adminhtml\Order\Create\Items::class, - ['element' => $this->_rootElement->find($this->itemsBlock)] - ); - foreach ($giftMessage->getItems() as $key => $giftMessageItem) { - $product = $products[$key]; - $items->getItemProduct($product)->fillGiftMessageForm($giftMessageItem); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.php deleted file mode 100644 index 89004599d6ed0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.php +++ /dev/null @@ -1,38 +0,0 @@ -_rootElement->find($this->okButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.xml deleted file mode 100644 index 540a3a78344a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Form.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - [name="current_item_giftmessage_sender"] - - - [name="current_item_giftmessage_recipient"] - - - [name="current_item_giftmessage_message"] - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/GiftOptions.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/GiftOptions.php deleted file mode 100644 index 6ef2379c158ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/GiftOptions.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - [name$="[sender]"] - - - [name$="[recipient]"] - - - [name$="[message]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items.php deleted file mode 100644 index 59e738909943a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items.php +++ /dev/null @@ -1,44 +0,0 @@ -blockFactory->create( - \Magento\GiftMessage\Test\Block\Adminhtml\Order\Create\Items\ItemProduct::class, - [ - 'element' => $this->browser->find( - sprintf($this->itemProduct, $product->getName()), - Locator::SELECTOR_XPATH - ) - ] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php deleted file mode 100644 index 5dba1c963f5b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php +++ /dev/null @@ -1,69 +0,0 @@ -_rootElement->find($this->giftOptionsLink); - $giftOptionsLink->click(); - $giftMessageFormSelector = $this->giftMessageForm; - $browser = $this->browser; - $browser->waitUntil( - function () use ($giftMessageFormSelector, $browser) { - return $browser->find($giftMessageFormSelector, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - /** @var \Magento\GiftMessage\Test\Block\Adminhtml\Order\Create\Form $giftMessageForm */ - $giftMessageForm = $this->blockFactory->create( - \Magento\GiftMessage\Test\Block\Adminhtml\Order\Create\Form::class, - ['element' => $this->browser->find($this->giftMessageForm, Locator::SELECTOR_XPATH)] - ); - $giftMessageForm->fill($giftMessage); - $loader = $this->loader; - $this->browser->waitUntil( - function () use ($browser, $loader) { - $element = $this->browser->find($loader); - return $element->isVisible() == false ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.php deleted file mode 100644 index 799bca79185b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->closeButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.xml deleted file mode 100644 index 540a3a78344a3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Form.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - [name="current_item_giftmessage_sender"] - - - [name="current_item_giftmessage_recipient"] - - - [name="current_item_giftmessage_message"] - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/GiftOptions.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/GiftOptions.php deleted file mode 100644 index a3ecb8d88fcb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/GiftOptions.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - [name$="[sender]"] - - - [name$="[recipient]"] - - - [name$="[message]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items.php deleted file mode 100644 index 80c2c963d8b6f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items.php +++ /dev/null @@ -1,44 +0,0 @@ -blockFactory->create( - \Magento\GiftMessage\Test\Block\Adminhtml\Order\View\Items\ItemProduct::class, - [ - 'element' => $this->_rootElement->find( - sprintf($this->itemProduct, $product->getName()), - Locator::SELECTOR_XPATH - ) - ] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items/ItemProduct.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items/ItemProduct.php deleted file mode 100644 index 481062d896c7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Adminhtml/Order/View/Items/ItemProduct.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->giftOptionsLink); - if ($giftOptionsLink->isVisible()) { - $giftOptionsLink->click(); - } - $giftMessageFormSelector = $this->giftMessageForm; - $browser = $this->browser; - $browser->waitUntil( - function () use ($giftMessageFormSelector, $browser) { - return $browser->find($giftMessageFormSelector, Locator::SELECTOR_XPATH)->isVisible() ? true : null; - } - ); - /** @var \Magento\GiftMessage\Test\Block\Adminhtml\Order\View\Form $giftMessageForm */ - $giftMessageForm = $this->blockFactory->create( - \Magento\GiftMessage\Test\Block\Adminhtml\Order\View\Form::class, - ['element' => $this->browser->find($this->giftMessageForm, Locator::SELECTOR_XPATH)] - ); - $data = $giftMessageForm->getData($giftMessage); - $giftMessageForm->closeDialog(); - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions.php deleted file mode 100644 index 033be46ffe67b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions.php +++ /dev/null @@ -1,107 +0,0 @@ -fixtureFactory = $fixtureFactory; - } - - /** - * Fill gift message form on order level - * - * @param GiftMessage $giftMessage - * @return void - */ - public function fillGiftMessageOrder(GiftMessage $giftMessage) - { - /** @var \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm $giftMessageForm */ - if ($giftMessage->getAllowGiftMessagesForOrder() === 'Yes') { - $this->_rootElement->find($this->allowGiftOptions)->click(); - $giftMessageForm = $this->blockFactory->create( - \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm::class, - ['element' => $this->_rootElement->find($this->giftMessageOrderForm)] - ); - $formData = [ - 'sender' => $giftMessage->getSender(), - 'recipient' => $giftMessage->getRecipient(), - 'message' => $giftMessage->getMessage() - ]; - $formData = $this->fixtureFactory->createByCode('giftMessage', ['data' => $formData]); - $giftMessageForm->fill($formData); - $this->_rootElement->find($this->giftMessageOrderButton)->click(); - $this->waitForElementVisible($this->giftMessageSummary); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions/GiftMessageForm.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions/GiftMessageForm.php deleted file mode 100644 index 38a90a7cdd8be..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/GiftOptions/GiftMessageForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - [id='gift-message-whole-from'] - - - [id='gift-message-whole-to'] - - - [id='gift-message-whole-message'] - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.php deleted file mode 100644 index 483bb8aec40e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.php +++ /dev/null @@ -1,119 +0,0 @@ -fixtureFactory = $fixtureFactory; - } - - /** - * Fill gift message form on item level - * - * @param GiftMessage $giftMessage - * @param array $products - * @return void - */ - public function fillGiftMessageItem(GiftMessage $giftMessage, $products = []) - { - /** @var \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm $giftMessageForm */ - if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') { - foreach ($products as $product) { - if ($product->getProductHasWeight() == 'This item has weight') { - $this->_rootElement->find( - sprintf($this->allowGiftOptions, $product->getName()), - Locator::SELECTOR_XPATH - )->click(); - $giftMessageForm = $this->blockFactory->create( - \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm::class, - ['element' => $this->_rootElement->find($this->giftMessageItemForm)] - ); - $giftMessage = $giftMessage->getItems()[0]; - $formData = [ - 'sender' => $giftMessage->getSender(), - 'recipient' => $giftMessage->getRecipient(), - 'message' => $giftMessage->getMessage() - ]; - $formData = $this->fixtureFactory->createByCode('giftMessage', ['data' => $formData]); - $giftMessageForm->fill($formData); - $this->_rootElement->find($this->giftMessageItemButton)->click(); - $this->waitForElementVisible( - sprintf($this->giftMessageSummary, $product->getName()), - Locator::SELECTOR_XPATH - ); - } - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.xml deleted file mode 100644 index 37113e991bebd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Cart/Item/GiftOptions.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - checkbox - - - checkbox - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/Items/View.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/Items/View.php deleted file mode 100644 index 876417a9384c3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/Items/View.php +++ /dev/null @@ -1,108 +0,0 @@ -giftMessageButtonIsVisible($itemName)) { - return []; - } - $message = []; - $labelsToSkip = []; - $this->clickGiftMessageButton($itemName); - $messageElement = $this->_rootElement->find( - sprintf($this->giftMessageForItemSelector, $itemName), - Locator::SELECTOR_XPATH - ); - - $labelsToSkip[] = $messageElement->find($this->giftMessageSenderSelector . ' strong')->getText(); - $labelsToSkip[] = $messageElement->find($this->giftMessageRecipientSelector . ' strong')->getText(); - $message['sender'] = $messageElement->find($this->giftMessageSenderSelector)->getText(); - $message['recipient'] = $messageElement->find($this->giftMessageRecipientSelector)->getText(); - $message['message'] = $messageElement->find($this->giftMessageTextSelector)->getText(); - $message = str_replace($labelsToSkip, '', $message); - - return $message; - } - - /** - * Click "Gift Message" for special item. - * - * @param string $itemName - * @return void - */ - protected function clickGiftMessageButton($itemName) - { - $this->_rootElement->find( - sprintf($this->giftMessageButtonSelector, $itemName), - Locator::SELECTOR_XPATH - )->click(); - } - - /** - * Click "Gift Message" for special item. - * - * @param string $itemName - * @return bool - */ - protected function giftMessageButtonIsVisible($itemName) - { - return $this->_rootElement->find( - sprintf($this->giftMessageButtonSelector, $itemName), - Locator::SELECTOR_XPATH - )->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/View.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/View.php deleted file mode 100644 index aa47bc0e349df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Block/Message/Order/View.php +++ /dev/null @@ -1,53 +0,0 @@ -_rootElement->find($this->giftMessageSenderSelector . ' strong')->getText(); - $labelsToSkip[] = $this->_rootElement->find($this->giftMessageRecipientSelector . ' strong')->getText(); - $message['sender'] = $this->_rootElement->find($this->giftMessageSenderSelector)->getText(); - $message['recipient'] = $this->_rootElement->find($this->giftMessageRecipientSelector)->getText(); - $message['message'] = $this->_rootElement->find($this->giftMessageTextSelector)->getText(); - $message = str_replace($labelsToSkip, '', $message); - - return $message; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInBackendOrder.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInBackendOrder.php deleted file mode 100644 index 9d37f7430c032..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInBackendOrder.php +++ /dev/null @@ -1,89 +0,0 @@ -open()->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - if ($giftMessage->getAllowGiftMessagesForOrder() === 'Yes') { - $formData = [ - 'sender' => $giftMessage->getSender(), - 'recipient' => $giftMessage->getRecipient(), - 'message' => $giftMessage->getMessage() - ]; - $giftMessageForm = $fixtureFactory->createByCode('giftMessage', ['data' => $formData]); - - $expectedData[] = $giftMessageForm->getData(); - $actualData[] = $salesOrderView->getGiftOptionsBlock()->getData($giftMessageForm); - } - - if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') { - foreach ($giftMessage->getItems() as $key => $giftMessageItem) { - $expectedData[] = $giftMessageItem->getData(); - $product = $products[$key]; - $actualData[] = $salesOrderView->getGiftItemsBlock()->getItemProduct($product) - ->getGiftMessageFormData($giftMessage); - } - } - - $errors = $this->verifyData($expectedData, $actualData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Backend gift message form data is equal to data passed from dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrder.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrder.php deleted file mode 100644 index 5f383904a96f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrder.php +++ /dev/null @@ -1,70 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - $expectedData = [ - 'sender' => $giftMessage->getSender(), - 'recipient' => $giftMessage->getRecipient(), - 'message' => $giftMessage->getMessage(), - ]; - $orderHistory->open(); - $orderHistory->getOrderHistoryBlock()->openOrderById($orderId); - - \PHPUnit\Framework\Assert::assertEquals( - $expectedData, - $customerOrderView->getGiftMessageForOrderBlock()->getGiftMessage(), - 'Wrong gift message is displayed on order.' - ); - $customerAccountLogout->open(); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return "Gift message is displayed on order(s) view page on frontend correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrderItems.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrderItems.php deleted file mode 100644 index 484db6e3ca7c7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Constraint/AssertGiftMessageInFrontendOrderItems.php +++ /dev/null @@ -1,87 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - $expectedData = [ - 'sender' => $giftMessage->getSender(), - 'recipient' => $giftMessage->getRecipient(), - 'message' => $giftMessage->getMessage(), - ]; - $orderHistory->open(); - $orderHistory->getOrderHistoryBlock()->openOrderById($orderId); - - foreach ($giftMessage->getItems() as $key => $itemGiftMessage) { - $product = $products[$key]; - if ($giftMessage->hasData('items')) { - $expectedData = [ - 'sender' => $itemGiftMessage->getSender(), - 'recipient' => $itemGiftMessage->getRecipient(), - 'message' => $itemGiftMessage->getMessage(), - ]; - } - if ($product->getProductHasWeight() !== 'This item has weight') { - $expectedData = []; - } - - \PHPUnit\Framework\Assert::assertEquals( - $expectedData, - $customerOrderView->getGiftMessageForItemBlock()->getGiftMessage($product->getName()), - 'Wrong gift message is displayed on "' . $product->getName() . '" item.' - ); - } - $customerAccountLogout->open(); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return "Gift message is displayed for each items on order(s) view page on frontend correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml deleted file mode 100644 index ee84d53834c59..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage/Items.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage/Items.php deleted file mode 100644 index 78a6a8536b36a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage/Items.php +++ /dev/null @@ -1,35 +0,0 @@ -params = $params; - if (isset($data['datasets'])) { - $datasets = explode(',', $data['datasets']); - foreach ($datasets as $dataset) { - $this->data[] = $fixtureFactory->createByCode('giftMessage', ['dataset' => trim($dataset)]); - } - } else { - $this->data = $data; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index 3cdaa33e10844..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderView.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderView.xml deleted file mode 100644 index 27662df980ff4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/Adminhtml/OrderView.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CheckoutCart.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CheckoutCart.xml deleted file mode 100644 index 61f2607cb0224..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CheckoutCart.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CustomerOrderView.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CustomerOrderView.xml deleted file mode 100644 index 3b2c76e03f8f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Page/CustomerOrderView.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/ConfigData.xml deleted file mode 100644 index 9e58d08c54dff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - sales - 1 - Yes - 1 - - - sales - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.xml deleted file mode 100644 index 3741a0ea593e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Repository/GiftMessage.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - John Doe - Jane Doe - text_%isolation% - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.php deleted file mode 100644 index de0ca58674aed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.php +++ /dev/null @@ -1,45 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.xml deleted file mode 100644 index 97da137a8f7fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - severity:S2 - catalogProductSimple::default - catalogProductVirtual::default - default - US_address_1_without_email - login - Flat Rate - Fixed - Yes - Yes - - - John Doe - Jane Doe - text_gift_message - cashondelivery - - - - - - severity:S2,to_maintain:yes - catalogProductSimple::default - catalogProductVirtual::default - default - US_address_1_without_email - login - Flat Rate - Fixed - Yes - - - Yes - John Doe - Jane Doe - text_gift_message - default - cashondelivery - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.php deleted file mode 100644 index c465626bc9ffa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.php +++ /dev/null @@ -1,43 +0,0 @@ -Orders - * 3. Create new order - * 4. Fill data form dataset - * 5. Perform all asserts - * - * @group Gift_Messages - * @ZephyrId MAGETWO-29642 - */ -class CreateGiftMessageOnBackendTest extends Scenario -{ - /* tags */ - const MVP = 'no'; - const SEVERITY = 'S2'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Run CreateGiftMessageOnBackend test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.xml deleted file mode 100644 index f8c04d1620f1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CreateGiftMessageOnBackendTest.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - severity:S2 - cashondelivery, enable_gift_messages - catalogProductSimple::default - catalogProductVirtual::default - johndoe_with_addresses - US_address_1_without_email - Flat Rate - Fixed - Yes - Yes - John Doe - Jane Doe - text_gift_message - default - cashondelivery - - - - - - severity:S2 - cashondelivery, enable_gift_messages - catalogProductSimple::default - catalogProductVirtual::default - johndoe_with_addresses - US_address_1_without_email - Flat Rate - Fixed - Yes - Yes - - - John Doe - Jane Doe - text_gift_message - cashondelivery - - - - - - severity:S2 - cashondelivery, enable_gift_messages - catalogProductSimple::default - catalogProductVirtual::default - johndoe_with_addresses - US_address_1_without_email - Flat Rate - Fixed - Yes - Yes - Yes - John Doe - Jane Doe - text_gift_message - default - cashondelivery - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageBackendStep.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageBackendStep.php deleted file mode 100644 index b598a7a148cd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageBackendStep.php +++ /dev/null @@ -1,76 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->giftMessage = $giftMessage; - $this->products = $products; - } - - /** - * Add gift message to backend order. - * - * @return array - */ - public function run() - { - if ($this->giftMessage->getAllowGiftMessagesForOrder() === 'Yes') { - $giftMessageForOrderBlock = $this->orderCreateIndex->getGiftMessageForOrderBlock(); - $giftMessageForOrderBlock->fill($this->giftMessage); - $giftMessageForOrderBlock->waitForElementNotVisible('.loading-mask'); - } - if ($this->giftMessage->getAllowGiftOptionsForItems() === 'Yes') { - $giftMessageBlock = $this->orderCreateIndex->getCreateGiftMessageBlock(); - $giftMessageBlock->fillGiftMessageForItems($this->products, $this->giftMessage); - $giftMessageBlock->waitForElementNotVisible('.loading-mask'); - } - - return ['giftMessage' => $this->giftMessage]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageStep.php b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageStep.php deleted file mode 100644 index 9d3663e26b993..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestStep/AddGiftMessageStep.php +++ /dev/null @@ -1,66 +0,0 @@ -checkoutCart = $checkoutCart; - $this->giftMessage = $giftMessage; - $this->products = $products; - } - - /** - * Add gift message to items and/or order. - * - * @return array - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getGiftMessagesItemBlock()->fillGiftMessageItem($this->giftMessage, $this->products); - $this->checkoutCart->getGiftMessagesOrderBlock()->fillGiftMessageOrder($this->giftMessage, $this->products); - - return ['giftMessage' => $this->giftMessage]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/di.xml deleted file mode 100644 index 7087bea8e50b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/di.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - S2 - - - - - S2 - - - - - S2 - - - diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/testcase.xml deleted file mode 100644 index 28e41c3aa0007..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/etc/testcase.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Constraint/AssertImportedGroupedProducts.php b/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Constraint/AssertImportedGroupedProducts.php deleted file mode 100644 index 1898518d9b9ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Constraint/AssertImportedGroupedProducts.php +++ /dev/null @@ -1,64 +0,0 @@ -getDisplayedOnProductPageData($product); - $assignedProduct = $productData['associated']['assigned_products'][0]; - $form = $this->catalogProductEdit->getProductForm(); - $form->openSection('grouped'); - $attributeSku = $form->getSection('grouped')->getListAssociatedProductsBlock()->getAssociatedProductSku()[0]; - $productData['associated_skus'] = $attributeSku . '=' . $assignedProduct['qty']; - unset($productData['associated']); - - return $this->getResultProductsData($productData); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Assert that product data from CSV import file and data from product edit page are correct and match.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Fixture/Import/File.php b/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Fixture/Import/File.php deleted file mode 100644 index 25d9389735599..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/Fixture/Import/File.php +++ /dev/null @@ -1,36 +0,0 @@ -createByCode('catalogProductSimple', ['dataset' => 'default']); - $newProduct->persist(); - $newProductData = $newProduct->getData(); - $productData = $product->getData(); - - $productData['grouped_associated_skus'] = $newProductData['sku']; - $productData['grouped_attribute_sku'] = $newProductData['sku']; - $productData['grouped_attribute_name'] = $newProductData['name']; - $productData['grouped_attribute_url_key'] = $newProductData['url_key']; - return $productData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ExportProductsTest.xml b/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ExportProductsTest.xml deleted file mode 100644 index a110dc6a89f8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ExportProductsTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - mftf_migrated:yes - default - - groupedProduct - grouped_product_with_special_price - - - sku - name - weight - visibility - price - special_price - special_price_from_date - special_price_to_date - url_key - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ImportProductsTest.xml b/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ImportProductsTest.xml deleted file mode 100644 index d86557367f8df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedImportExport/Test/TestCase/ImportProductsTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - groupedProduct::withSimpleProduct - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.php deleted file mode 100644 index 0a167e1edc71c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.php +++ /dev/null @@ -1,53 +0,0 @@ -prepareData($product->getData()); - $this->_fill($data); - } - - /** - * Prepare data - * - * @param array $fields - * @return array - */ - protected function prepareData(array $fields) - { - $productOptions = []; - $checkoutData = $fields['checkout_data']['options']; - if (count($checkoutData)) { - $qtyMapping = $this->dataMapping(['qty' => '']); - $selector = $qtyMapping['qty']['selector']; - $assignedProducts = $fields['associated']['assigned_products']; - foreach ($checkoutData as $key => $item) { - $productName = $assignedProducts[str_replace('product_key_', '', $item['name'])]['name']; - $qtyMapping['qty']['selector'] = str_replace('%product_name%', $productName, $selector); - $qtyMapping['qty']['value'] = $item['qty']; - $productOptions['product_' . $key] = $qtyMapping['qty']; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml deleted file mode 100644 index d95e23828d0d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Composite/Configure.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - .//tr[contains(.,"%product_name%")]//input[contains(@class,"qty")] - xpath - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts.php deleted file mode 100644 index a62da0b1ff014..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts.php +++ /dev/null @@ -1,146 +0,0 @@ -blockFactory->create( - \Magento\GroupedProduct\Test\Block\Adminhtml\Product\Grouped\AssociatedProducts\Search\Grid::class, - ['element' => $this->browser->find($this->productSearchGrid)] - ); - } - - /** - * Get associated products list block. - * - * @return ListAssociatedProducts - */ - public function getListAssociatedProductsBlock() - { - return $this->blockFactory->create( - ListAssociatedProducts::class, - ['element' => $this->_rootElement->find($this->associatedProductsBlock)] - ); - } - - /** - * Fill data to fields on tab. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - if (isset($fields['associated'])) { - $options = $this->_rootElement->getElements($this->deleteButton); - if (count($options)) { - foreach (array_reverse($options) as $option) { - $option->click(); - } - } - foreach ($fields['associated']['value']['assigned_products'] as $key => $groupedProduct) { - $element->find($this->addNewOption)->click(); - $searchBlock = $this->getSearchGridBlock(); - $this->waitLoaderNotVisible(); - $searchBlock->searchAndSelect(['name' => $groupedProduct['name']]); - $searchBlock->addProducts(); - $this->getListAssociatedProductsBlock()->fillProductOptions($groupedProduct, ($key + 1)); - } - } - return $this; - } - - /** - * Get data to fields on group tab. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $newFields = []; - if (isset($fields['associated'])) { - foreach ($fields['associated']['value']['assigned_products'] as $key => $groupedProduct) { - $newFields['associated']['assigned_products'][$key] = $this->getListAssociatedProductsBlock() - ->getProductOptions($groupedProduct, ($key + 1)); - } - } - return $newFields; - } - - /** - * Wait until loader is not visible. - * - * return void - */ - protected function waitLoaderNotVisible() - { - $browser = $this->browser; - $selector = $this->loadingMask; - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() === false ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php deleted file mode 100644 index 4d0c92915178c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php +++ /dev/null @@ -1,85 +0,0 @@ -blockFactory->create( - $className, - ['element' => $this->_rootElement->find(sprintf($this->itemProduct, $index), Locator::SELECTOR_XPATH)] - ); - } - - /** - * Filling options products - * - * @param array $data - * @param int $index - * @return void - */ - public function fillProductOptions(array $data, $index) - { - $this->getProductBlock($index)->fillOption($data); - } - - /** - * Get options products - * - * @param array $data - * @param int $index - * @return array - */ - public function getProductOptions(array $data, $index) - { - return $this->getProductBlock($index)->getOption($data); - } - - /** - * Get product sku. - * - * @return string - */ - public function getAssociatedProductSku() - { - $productsSku = []; - $productsQty = count($this->_rootElement->getElements($this->itemProducts)); - for ($i = 1; $i <= $productsQty; $i++) { - $productsSku[] = $this->getProductBlock($i)->getProductSku(); - } - return $productsSku; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php deleted file mode 100644 index 94c827127a05c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.php +++ /dev/null @@ -1,58 +0,0 @@ -dataMapping($qtyValue); - $this->_fill($mapping); - } - - /** - * Get product options. - * - * @param array $fields - * @return array - */ - public function getOption(array $fields) - { - $mapping = $this->dataMapping($fields); - $newFields = $this->_getData($mapping); - $newFields['name'] = $this->_rootElement->find('[data-index="name"]')->getText(); - return $newFields; - } - - /** - * Get product sku. - * - * @return string - */ - public function getProductSku() - { - return $this->_rootElement->find($this->productSku)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.xml deleted file mode 100644 index 249ef96da19e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/ListAssociatedProducts/Product.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - [name$='[qty]'] - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/Search/Grid.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/Search/Grid.php deleted file mode 100644 index 6c19291222a97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/Grouped/AssociatedProducts/Search/Grid.php +++ /dev/null @@ -1,105 +0,0 @@ - [ - 'selector' => '[name="name"]', - ], - ]; - - /** - * Press 'Add Selected Products' button - * - * @return void - */ - public function addProducts() - { - $this->_rootElement->find($this->addProducts)->click(); - } - - /** - * @inheritdoc - */ - public function searchAndSelect(array $filter) - { - $this->waitGridVisible(); - $this->waitLoader(); - parent::searchAndSelect($filter); - } - - /** - * @inheritdoc - */ - protected function waitLoader() - { - parent::waitLoader(); - $this->waitGridLoaderInvisible(); - } - - /** - * Wait for grid to appear. - * - * @return void - */ - private function waitGridVisible() - { - $browser = $this->_rootElement; - $selector = $this->gridSelector; - - return $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Wait for grid spinner disappear. - * - * @return void - */ - private function waitGridLoaderInvisible() - { - $browser = $this->_rootElement; - $selector = $this->loader; - - return $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() === false ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 41c1aa429db69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \Magento\GroupedProduct\Test\Block\Adminhtml\Product\Grouped\AssociatedProducts - [data-index="grouped"] - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar.php deleted file mode 100644 index 77c73dcfa5789..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar.php +++ /dev/null @@ -1,56 +0,0 @@ -blockFactory->create( - \Magento\GroupedProduct\Test\Block\Cart\Sidebar\Item::class, - [ - 'element' => $this->_rootElement, - 'config' => [ - 'associated_cart_items' => $this->findCartItems($product), - ] - ] - ); - } - - /** - * Find cart item blocks for associated products. - * - * @param FixtureInterface $product - * @return array - */ - protected function findCartItems(FixtureInterface $product) - { - $cartItems = []; - - /** @var GroupedProduct $product */ - $associatedProducts = $product->getAssociated()['products']; - foreach ($associatedProducts as $product) { - $cartItems[$product->getSku()] = parent::getCartItem($product); - } - - return $cartItems; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar/Item.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar/Item.php deleted file mode 100644 index 4e24d41bfd16c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Cart/Sidebar/Item.php +++ /dev/null @@ -1,60 +0,0 @@ -config['associated_cart_items'] as $productItem) { - /** @var ProductItem $productItem */ - $productItem->removeItemFromMiniCart(); - } - } - - /** - * Get product price from mini cart. - * - * @return array - */ - public function getPrice() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $productName => $cartItem) { - /** @var ProductItem $cartItem */ - $result[$productName] = $cartItem->getPrice(); - } - - return $result; - } - - /** - * Get product qty from mini cart. - * - * @return array - */ - public function getQty() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $productName => $cartItem) { - /** @var ProductItem $cartItem */ - $result[$productName] = $cartItem->getQty(); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View.php deleted file mode 100644 index c47df8c5463e5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View.php +++ /dev/null @@ -1,113 +0,0 @@ -blockFactory->create( - \Magento\GroupedProduct\Test\Block\Catalog\Product\View\Type\Grouped::class, - [ - 'element' => $this->_rootElement->find($this->groupedProductBlock) - ] - ); - } - - /** - * Change tier price selector - * - * @param int $index - * @return void - */ - public function itemTierPriceProductBlock($index) - { - $this->tierPricesSelector = str_replace('%row-number%', $index, $this->formatTierPrice); - } - - /** - * Change tier price selector - * - * @param int $index - * @return void - */ - public function itemPriceProductBlock($index) - { - $this->priceBlock = str_replace('%row-number%', $index, $this->formatSpecialPrice); - } - - /** - * Return product options - * - * @param FixtureInterface $product - * @return array - */ - public function getOptions(FixtureInterface $product) - { - return ['grouped_options' => $this->getGroupedProductBlock()->getOptions($product)]; - } - - /** - * Fill specified option for the product - * - * @param FixtureInterface $product - * @return void - */ - public function fillOptions(FixtureInterface $product) - { - $this->getGroupedProductBlock()->fill($product); - } - - /** - * Set quantity and click add to cart. - * @param FixtureInterface $product - * @param string|int $qty - */ - public function setQtyAndClickAddToCartGrouped(FixtureInterface $product, $qty) - { - $associatedProducts = $product->getAssociated()['products']; - $groupedProductBlock = $this->getGroupedProductBlock(); - foreach ($associatedProducts as $product) { - $groupedProductBlock->setQty($product->getId(), $qty); - } - $this->clickAddToCart(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View/Type/Grouped.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View/Type/Grouped.php deleted file mode 100644 index f6f79675b692c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Catalog/Product/View/Type/Grouped.php +++ /dev/null @@ -1,139 +0,0 @@ -_rootElement->find(sprintf($this->qtySubProductById, $subProductId))->getValue(); - } - - /** - * Set qty to subproduct block - * - * @param int $subProductId - * @param string|int $qty - * @return void - */ - public function setQty($subProductId, $qty) - { - $this->_rootElement->find(sprintf($this->qtySubProductById, $subProductId))->setValue($qty); - } - - /** - * Fill product options on view page. - * - * @param FixtureInterface $product - * @return void - */ - public function fill(FixtureInterface $product) - { - /** @var GroupedProduct $product */ - $associatedProducts = $product->getAssociated()['products']; - $checkoutData = $product->getCheckoutData(); - if (isset($checkoutData['options'])) { - // Replace link key to label - foreach ($checkoutData['options'] as $key => $productData) { - $productKey = str_replace('product_key_', '', $productData['name']); - $checkoutData['options'][$key]['name'] = $associatedProducts[$productKey]->getName(); - } - - // Fill - foreach ($checkoutData['options'] as $productData) { - $this->browser->selectWindow(); - $subProduct = $this->_rootElement->find( - sprintf($this->subProductByName, $productData['name']), - Locator::SELECTOR_XPATH - ); - $subProduct->find($this->qty)->setValue($productData['qty']); - $this->_rootElement->click(); - } - } - } - - /** - * Return product options on view page. - * - * @param FixtureInterface $product - * @return array - */ - public function getOptions(FixtureInterface $product) - { - /** @var GroupedProduct $product */ - $associatedProducts = $product->getAssociated()['products']; - $options = []; - - foreach ($associatedProducts as $subProduct) { - /** @var CatalogProductSimple $subProduct */ - $subProductBlock = $this->_rootElement->find( - sprintf($this->subProductByName, $subProduct->getName()), - Locator::SELECTOR_XPATH - ); - - $options[] = [ - 'name' => $subProductBlock->find($this->productName)->getText(), - 'price' => $subProductBlock->find($this->price)->getText(), - 'qty' => $subProductBlock->find($this->qty)->getValue(), - ]; - } - - return $options; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart.php deleted file mode 100644 index f27b5e568d190..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart.php +++ /dev/null @@ -1,55 +0,0 @@ -blockFactory->create( - \Magento\GroupedProduct\Test\Block\Checkout\Cart\CartItem::class, - [ - 'element' => $this->_rootElement, - 'config' => [ - 'associated_cart_items' => $this->findCartItems($product), - ] - ] - ); - } - - /** - * Find cart item blocks for associated products - * - * @param FixtureInterface $product - * @return array - */ - protected function findCartItems(FixtureInterface $product) - { - $cartItems = []; - - /** @var GroupedProduct $product */ - $associatedProducts = $product->getAssociated()['products']; - foreach ($associatedProducts as $product) { - $cartItems[$product->getSku()] = parent::getCartItem($product); - } - - return $cartItems; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart/CartItem.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart/CartItem.php deleted file mode 100644 index e6ea847793628..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Block/Checkout/Cart/CartItem.php +++ /dev/null @@ -1,176 +0,0 @@ -_rootElement->find($this->productName)->getText(); - } - - /** - * Get product price - * - * @return string - */ - public function getPrice() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $productSku => $cartItem) { - /** @var CheckoutCartItem $cartItem */ - $result[$productSku] = $cartItem->getPrice(); - } - - return $result; - } - - /** - * Set product quantity - * - * @param array $data - * @return void - */ - public function setQty(array $data) - { - foreach ($data as $productSku => $qty) { - /** @var CheckoutCartItem $cartItem */ - $cartItem = $this->config['associated_cart_items'][$productSku]; - $cartItem->setQty($qty); - } - } - - /** - * Get product quantity - * - * @return string - */ - public function getQty() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $productSku => $cartItem) { - /** @var CheckoutCartItem $cartItem */ - $result[$productSku] = $cartItem->getQty(); - } - - return $result; - } - - /** - * Get sub-total for the specified item in the cart - * - * @return string - */ - public function getSubtotalPrice() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $productSku => $cartItem) { - /** @var CheckoutCartItem $cartItem */ - $result[$productSku] = $cartItem->getSubtotalPrice(); - } - - return $result; - } - - /** - * Get product options in the cart - * - * @return string - */ - public function getOptions() - { - $result = []; - foreach ($this->config['associated_cart_items'] as $cartItem) { - /** @var CheckoutCartItem $cartItem */ - $result[] = [ - 'title' => $cartItem->getProductName(), - 'value' => $cartItem->getQty(), - ]; - } - - return $result; - } - - /** - * Remove associated products items from cart - * - * @return void - */ - public function removeItem() - { - foreach ($this->config['associated_cart_items'] as $cartItem) { - /** @var CheckoutCartItem $cartItem */ - $cartItem->removeItem(); - } - } - - /** - * Get product price including tax - * - * @return string|null - */ - public function getPriceInclTax() - { - return $this->getPriceByType($this->priceInclTax, Locator::SELECTOR_XPATH); - } - - /** - * Get product price excluding tax - * - * @return string|null - */ - public function getPriceExclTax() - { - return $this->getPriceByType($this->priceExclTax, Locator::SELECTOR_XPATH); - } - - /** - * Get sub-total excluding tax for the specified item in the cart - * - * @return string|null - */ - public function getSubtotalPriceExclTax() - { - return $this->getPriceByType($this->subTotalPriceExclTax); - } - - /** - * Get price for the specified item in the cart by the price type - * - * @return string|null - */ - public function getSubtotalPriceInclTax() - { - return $this->getPriceByType($this->subTotalPriceInclTax); - } - - /** - * @param string $priceType - * @param string $strategy - * @return mixed|null - */ - private function getPriceByType($priceType, $strategy = Locator::SELECTOR_CSS) - { - $cartProductPrice = $this->_rootElement->find($priceType, $strategy); - return $cartProductPrice->isVisible() - ? str_replace(',', '', $this->escapeCurrency($cartProductPrice->getText())) - : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertPriceOnGroupedProductPage.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertPriceOnGroupedProductPage.php deleted file mode 100644 index 82355981481bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertPriceOnGroupedProductPage.php +++ /dev/null @@ -1,73 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $groupedData = $product->getAssociated(); - /** @var CatalogProductSimple $subProduct */ - foreach ($groupedData['products'] as $key => $subProduct) { - //Process assertions - $catalogProductView->getGroupedProductViewBlock()->{'item' . $typePrice . 'PriceProductBlock'}(++$key); - $object->setErrorMessage(sprintf($this->errorMessage, $subProduct->getData('name'))); - $object->assertPrice($subProduct, $catalogProductView->getGroupedProductViewBlock(), 'Grouped'); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return $this->successfulMessage; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesOnGroupedProductPage.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesOnGroupedProductPage.php deleted file mode 100644 index 336a959694488..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPricesOnGroupedProductPage.php +++ /dev/null @@ -1,81 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - //Preconditions - $address = $fixtureFactory->createByCode('address', ['dataset' => 'US_address_NY']); - $shipping = ['shipping_service' => 'Flat Rate', 'shipping_method' => 'Fixed']; - $actualPrices = []; - //Assertion steps - $productCategory = $product->getCategoryIds()[0]; - $this->openCategory($productCategory); - $actualPrices = $this->getCategoryPrices($product, $actualPrices); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - $catalogProductView->getGroupedProductViewBlock()->fillOptions($product); - $actualPrices = $this->getGroupedProductPagePrices($product, $actualPrices); - $catalogProductView->getGroupedProductViewBlock()->setQtyAndClickAddToCartGrouped($product, $qty); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $this->checkoutCart->open(); - $this->fillEstimateBlock($address, $shipping); - $actualPrices = $this->getCartPrices($product, $actualPrices); - $actualPrices = $this->getTotals($actualPrices); - //Prices verification - $message = 'Prices from dataset should be equal to prices on frontend.'; - \PHPUnit\Framework\Assert::assertEquals($prices, $actualPrices, $message); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductForm.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductForm.php deleted file mode 100644 index 691bb86ca0f1f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductForm.php +++ /dev/null @@ -1,62 +0,0 @@ - $product->getSku()]; - $productGrid->open()->getProductGrid()->searchAndOpen($filter); - $fieldsForm = $productPage->getProductForm()->getData($product); - $fieldsFixture = $this->prepareFixtureData($product->getData()); - $fieldsFixture['associated'] = $this->prepareGroupedOptions($fieldsFixture['associated']); - - $errors = $this->verifyData($fieldsFixture, $fieldsForm); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Prepare Grouped Options array from dataset - * - * @param array $fields - * @return array - */ - protected function prepareGroupedOptions(array $fields) - { - $result = []; - foreach ($fields['assigned_products'] as $key => $item) { - $result['assigned_products'][$key]['name'] = $item['name']; - $result['assigned_products'][$key]['qty'] = $item['qty']; - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInCustomerWishlistOnBackendGrid.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInCustomerWishlistOnBackendGrid.php deleted file mode 100644 index cbde7bf4bba4e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInCustomerWishlistOnBackendGrid.php +++ /dev/null @@ -1,56 +0,0 @@ -prepareOptions($product); - - return ['product_name' => $product->getName(), 'options' => $options]; - } - - /** - * Prepare options - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareOptions(FixtureInterface $product) - { - /** @var GroupedProduct $product */ - $productOptions = []; - $checkoutData = $product->getCheckoutData()['options']; - if (count($checkoutData)) { - $associated = $product->getAssociated(); - foreach ($checkoutData as $optionData) { - $productKey = str_replace('product_key_', '', $optionData['name']); - $productOptions[] = [ - 'option_name' => $associated['assigned_products'][$productKey]['name'], - 'value' => $optionData['qty'], - ]; - } - } - - return $productOptions; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInItemsOrderedGrid.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInItemsOrderedGrid.php deleted file mode 100644 index 8688dc71aa8c2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductInItemsOrderedGrid.php +++ /dev/null @@ -1,94 +0,0 @@ - '', 'price' => '', 'checkout_data' => ['qty' => '']]; - - /** - * Check configured products - * - * @var bool - */ - protected $productsIsConfigured; - - /** - * Assert product was added to Items Ordered grid in customer account on Order creation page backend - * - * @param OrderCreateIndex $orderCreateIndex - * @param array $products - * @throws \Exception - * @return void - */ - public function processAssert(OrderCreateIndex $orderCreateIndex, array $products) - { - if (empty($products)) { - throw new \Exception("No products"); - } - $data = $this->prepareData($products, $orderCreateIndex->getCreateBlock()->getItemsBlock()); - - \PHPUnit\Framework\Assert::assertEquals( - $data['fixtureData'], - $data['pageData'], - 'Grouped product data on order create page not equals to passed from fixture.' - ); - } - - /** - * Prepare data - * - * @param array $data - * @param Items $itemsBlock - * @return array - */ - protected function prepareData(array $data, Items $itemsBlock) - { - $fixtureData = []; - foreach ($data as $product) { - $products = $product->getAssociated()['products']; - foreach ($products as $key => $value) { - $fixtureData[$key]['name'] = $value->getName(); - $fixtureData[$key]['price'] = number_format($value->getPrice(), 2); - } - $options = $product->getCheckoutData()['options']; - foreach ($options as $key => $option) { - $fixtureData[$key]['checkout_data']['qty'] = $option['qty']; - } - } - $pageData = $itemsBlock->getProductsDataByFields($this->fields); - - return ['fixtureData' => $fixtureData, 'pageData' => $pageData]; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product is added to Items Ordered grid from "Last Ordered Items" section on Order creation page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductsDefaultQty.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductsDefaultQty.php deleted file mode 100644 index 1a2d5304e6ce2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertGroupedProductsDefaultQty.php +++ /dev/null @@ -1,67 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $associatedProducts = $product->getAssociated(); - $fixtureQtyData = []; - $pageOptions = $groupedProductView->getViewBlock()->getOptions($product); - $pageQtyData = []; - - foreach ($associatedProducts['assigned_products'] as $productData) { - $fixtureQtyData[] = [ - 'name' => $productData['name'], - 'qty' => $productData['qty'], - ]; - } - foreach ($pageOptions['grouped_options'] as $productData) { - $pageQtyData[] = [ - 'name' => $productData['name'], - 'qty' => $productData['qty'], - ]; - } - $fixtureQtyData = $this->sortDataByPath($fixtureQtyData, '::name'); - $pageQtyData = $this->sortDataByPath($pageQtyData, '::name'); - - $error = $this->verifyData($fixtureQtyData, $pageQtyData); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Text of Visible in grouped assert for default qty for sub products - * - * @return string - */ - public function toString() - { - return 'Default qty for sub products in grouped product displays according to dataset on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertProductInItemsOrderedGrid.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertProductInItemsOrderedGrid.php deleted file mode 100644 index aed450673673f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertProductInItemsOrderedGrid.php +++ /dev/null @@ -1,57 +0,0 @@ -getOptionsDetails($product)); - } - $pageData = $itemsBlock->getProductsDataByFields($this->fields); - $preparePageData = $this->arraySort($fixtureData, $pageData); - return ['fixtureData' => $fixtureData, 'pageData' => $preparePageData]; - } - - /** - * Get product options details. - * - * @param \Magento\Mtf\Fixture\FixtureInterface $product - * @return array - */ - private function getOptionsDetails(\Magento\Mtf\Fixture\FixtureInterface $product) - { - /** @var \Magento\GroupedProduct\Test\Fixture\GroupedProduct $product */ - $fixtureProducts = []; - $optionsPrices = $this->getProductPrice($product); - $optionsQtys = $product->getCheckoutData()['cartItem']['qty']; - $assignedProducts = $product->getAssociated()['assigned_products']; - - foreach ($assignedProducts as $key => $assignedProduct) { - $fixtureProducts[] = [ - 'name' => $assignedProduct['name'], - 'price' => number_format($optionsPrices['product_key_' . $key], 2), - 'checkout_data' => [ - 'qty' => $this->productsIsConfigured ? $optionsQtys['product_key_' . $key] : 1 - ] - ]; - } - return $fixtureProducts; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertSpecialPriceOnGroupedProductPage.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertSpecialPriceOnGroupedProductPage.php deleted file mode 100644 index 4f37c0c7df9cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertSpecialPriceOnGroupedProductPage.php +++ /dev/null @@ -1,50 +0,0 @@ -processAssertPrice($product, $catalogProductView, $specialPrice, $browser); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesGroupedExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesGroupedExcludingIncludingTax.php deleted file mode 100644 index 35ea19740d7b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesGroupedExcludingIncludingTax.php +++ /dev/null @@ -1,74 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * @inheritdoc - */ - public function getGroupedProductPagePrices(FixtureInterface $product, array $actualPrices) - { - $associatedProducts = $product->getAssociated(); - /** @var \Magento\GroupedProduct\Test\Block\Catalog\Product\View $groupedProductBlock */ - $this->catalogProductView = $this->catalogProductView->getGroupedProductViewBlock(); - foreach (array_keys($associatedProducts['products']) as $productIndex) { - //Process assertions - $this->catalogProductView ->itemPriceProductBlock(++$productIndex); - $actualPrices['sub_product_view_prices_' . $productIndex] = $this->getProductPagePrices($actualPrices); - } - return $actualPrices; - } - - /** - * @inheritdoc - */ - public function getProductPagePrices($actualPrices) - { - $priceBlock = $this->catalogProductView ->getPriceBlock(); - $productPrices['product_view_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $productPrices['product_view_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $productPrices; - } - - /** - * @inheritdoc - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExcludingTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalIncludingTax(); - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExcludingTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalIncludingTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTierPriceOnGroupedProductPage.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTierPriceOnGroupedProductPage.php deleted file mode 100644 index 747f22191c155..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Constraint/AssertTierPriceOnGroupedProductPage.php +++ /dev/null @@ -1,51 +0,0 @@ -processAssertPrice($product, $catalogProductView, $tierPrice, $browser, 'Tier'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/Cart/Item.php deleted file mode 100644 index 48a2bb00c3c70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,55 +0,0 @@ -product->getCheckoutData(); - $this->data = isset($checkoutData['cartItem']) ? $checkoutData['cartItem'] : []; - $associatedProducts = []; - $cartItem = []; - - foreach ($this->product->getAssociated()['products'] as $key => $product) { - $key = 'product_key_' . $key; - $associatedProducts[$key] = $product; - } - - // Replace key in checkout data - foreach ($this->data as $fieldName => $fieldValues) { - foreach ($fieldValues as $key => $value) { - $product = $associatedProducts[$key]; - $cartItem[$fieldName][$product->getSku()] = $value; - } - } - - // Add empty "options" field - foreach ($associatedProducts as $product) { - $cartItem['options'][] = [ - 'title' => $product->getName(), - 'value' => $cartItem['qty'][$product->getSku()], - ]; - } - - $this->data = $cartItem; - - return $this->data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml deleted file mode 100644 index 59c00683e3b1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - grouped - - grouped - 4 - - product - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct/Associated.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct/Associated.php deleted file mode 100644 index 20a041ddc4851..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct/Associated.php +++ /dev/null @@ -1,63 +0,0 @@ -params = $params; - $this->data = isset($data['dataset']) - ? $repositoryFactory->get($this->params['repository'])->get($data['dataset']) - : $data; - - $this->data['products'] = (isset($data['products']) && !is_array($data['products'])) - ? explode(',', $data['products']) - : $this->data['products']; - - foreach ($this->data['products'] as $key => $product) { - if (!($product instanceof FixtureInterface)) { - list($fixture, $dataset) = explode('::', $product); - /** @var $productFixture InjectableFixture */ - $product = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - } - if (!$product->hasData('id')) { - $product->persist(); - } - $this->data['products'][$key] = $product; - } - - $assignedProducts = &$this->data['assigned_products']; - foreach (array_keys($assignedProducts) as $key) { - $assignedProducts[$key]['name'] = $this->data['products'][$key]->getName(); - $assignedProducts[$key]['id'] = $this->data['products'][$key]->getId(); - $assignedProducts[$key]['position'] = $key + 1; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Handler/GroupedProduct/Curl.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Handler/GroupedProduct/Curl.php deleted file mode 100644 index 684cec24f3032..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Handler/GroupedProduct/Curl.php +++ /dev/null @@ -1,39 +0,0 @@ -prepareProductLinks(); - } - - /** - * Preparation of linked products. - * - * @return void - */ - protected function prepareProductLinks() - { - $associatedData = $this->fixture->getAssociated(); - $productLinks = []; - - foreach ($associatedData['assigned_products'] as $key => $associatedProductData) { - $product = $associatedData['products'][$key]; - $productConfig = $product->getDataConfig(); - - $productLinks[] = [ - 'sku' => $this->fixture->getSku(), - 'link_type' => 'associated', - 'linked_product_sku' => $product->getSku(), - 'linked_product_type' => $productConfig['type_id'], - 'position' => isset($associatedProductData['position']) ? $associatedProductData['position'] : 0, - 'extension_attributes' => [ - 'qty' => $associatedProductData['qty'] - ], - ]; - } - - $this->fields['product']['product_links'] = $productLinks; - unset($this->fields['links']); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml deleted file mode 100644 index 0489fb6ae45c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/CustomerIndexEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index 3f4f3b7c733c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CheckoutCart.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CheckoutCart.xml deleted file mode 100644 index 2a4016909d739..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CheckoutCart.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CmsIndex.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CmsIndex.xml deleted file mode 100644 index 1b7cb58b17667..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/CmsIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index b9d782dd24eda..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct.xml deleted file mode 100644 index a94512a252e48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct.xml +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - default - - - defaultSimpleProduct - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - default - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - default - - - one_simple_product - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - default - - - defaultSimpleProduct_without_qty - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - default - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - one_simple_product - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - default - - - defaultSimpleProduct - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - Out of Stock - - - - default - - - - default - - - - - Test grouped product %isolation% - sku_test_grouped_product_%isolation% - - - - starting-100 - - - default - - - defaultSimpleProduct - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - - - Grouped product %isolation% - grouped_product_%isolation% - - default - - - three_simple_products - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - grouped_three_simple_products - - - - - Grouped product %isolation% - grouped_product_%isolation% - - default - - - three_simple_products_buy_all - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-%isolation% - - In Stock - - - - default - - - - default - - - grouped_three_simple_products - - - - - Test grouped product with special price %isolation% - sku_test_grouped_product_with_special_price_%isolation% - - default - - - defaultSimpleProduct_with_specialPrice - - Yes - Catalog, Search - - taxable_goods - - test-grouped-product-with-special-price-%isolation% - - In Stock - - - - default - - - - default - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Associated.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Associated.xml deleted file mode 100644 index d996bdddf3e55..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Associated.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - %id% - %item1_simple::getProductName% - %position% - 2 - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - - catalogProductSimple::default - - - - - - - %id% - %item1_simple::getProductName% - %position% - 0 - - - %id% - %item1_simple::getProductName% - %position% - 0 - - - - catalogProductSimple::default - catalogProductSimple::product_100_dollar - - - - - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - %id% - %item1_simple::getProductName% - %position% - 2 - - - - catalogProductSimple::withSpecialPrice - catalogProductSimple::withSpecialPrice - - - - - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - %id% - %item1_simple::getProductName% - %position% - 2 - - - - catalogProductSimple::with_special_price_from_to_dates - catalogProductSimple::with_special_price_from_to_dates - - - - - - - %id% - %item1_virtual::getProductName% - %position% - 1 - - - %id% - %item1_virtual::getProductName% - %position% - 2 - - - - catalogProductVirtual::default - catalogProductVirtual::product_50_dollar - - - - - - - %id% - %item1_simple::getProductName% - %position% - 3 - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - %id% - %item1_simple::getProductName% - %position% - 2 - - - - catalogProductSimple::default - catalogProductSimple::product_40_dollar - catalogProductSimple::product_100_dollar - - - - - - - %id% - %item1_simple::getProductName% - %position% - 3 - - - %id% - %item1_simple::getProductName% - %position% - 1 - - - %id% - %item1_simple::getProductName% - %position% - 2 - - - - catalogProductSimple::default_qty_3 - catalogProductSimple::default_qty_1 - catalogProductSimple::default_qty_2 - - - - - - - %id% - %item1_simple::getProductName% - %position% - 3 - - - %id% - %item2_downloadable::getProductName% - %position% - 7 - - - %id% - %item3_virtual::getProductName% - %position% - 11 - - - - catalogProductSimple::default - catalogProductSimple::product_40_dollar - catalogProductSimple::product_100_dollar - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/CheckoutData.xml deleted file mode 100644 index b6a45e98ad120..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/CheckoutData.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - product_key_0 - 2 - - - product_key_1 - 1 - - - - - 100 - 560 - - - 2 - 1 - - - 200 - 560 - - - - - - - - product_key_0 - 3 - - - product_key_1 - 1 - - - product_key_2 - 2 - - - - - 560 - 40 - 100 - - - 3 - 1 - 2 - - - 1680 - 40 - 200 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Price.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Price.xml deleted file mode 100644 index 0b7ca75086cf0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Repository/GroupedProduct/Price.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - 100.00 - - - - - - 560.00 - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.php deleted file mode 100644 index a2ecc42a9fadd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.php +++ /dev/null @@ -1,98 +0,0 @@ - Catalog. - * 3. Start to create Grouped Product. - * 4. Fill in data according to data set. - * 5. Click "Add Products to Group" button and select products'. - * 6. Click "Add Selected Product" button - * 7. Save the Product. - * 8. Perform assertions. - * - * @group Grouped_Product - * @ZephyrId MAGETWO-24877 - */ -class CreateGroupedProductEntityTest extends Injectable -{ - /* tags */ - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const MVP = 'no'; - /* end tags */ - - /** - * Page product on backend - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * New page on backend - * - * @var CatalogProductNew - */ - protected $catalogProductNew; - - /** - * Persist category - * - * @param Category $category - * @return array - */ - public function __prepare(Category $category) - { - $category->persist(); - return ['category' => $category]; - } - - /** - * Injection pages - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductNew $catalogProductNewPage - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductNew $catalogProductNewPage - ) { - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductNew = $catalogProductNewPage; - } - - /** - * Test create grouped product - * - * @param GroupedProduct $product - * @param Category $category - * @return void - */ - public function test(GroupedProduct $product, Category $category) - { - //Steps - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getGridPageActionBlock()->addProduct('grouped'); - $this->catalogProductNew->getProductForm()->fill($product, null, $category); - $this->catalogProductNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.xml deleted file mode 100644 index f397c1b99e3b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/CreateGroupedProductEntityTest.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - category_%isolation% - catalogProductSimple::simple_big_qty,downloadableProduct::one_dollar_product_with_no_separated_link,catalogProductVirtual::default - simple_downloadable_virtual - - - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - category_%isolation% - This is description for grouped product - catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products - defaultSimpleProduct - This is short description for grouped product - Yes - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - In Stock - catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products - defaultSimpleProduct - No - - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - Out of Stock - category_%isolation% - catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products - defaultSimpleProduct - No - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - category_%isolation% - catalogProductSimple::simple_for_composite_products,catalogProductSimple::simple_for_composite_products - defaultSimpleProduct - No - - - - - - test_type:extended_acceptance_test - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - category_%isolation% - catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice - defaultSimpleProduct - No - - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - category_%isolation% - catalogProductVirtual::virtual_product,catalogProductVirtual::virtual_product - defaultVirtualProduct - Yes - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - category_%isolation% - catalogProductSimple::simple_with_tier_price,catalogProductSimple::simple_with_tier_price - defaultSimpleProduct - No - - - - - - test-grouped-product-%isolation% - GroupedProduct %isolation% - GroupedProduct_sku%isolation% - In Stock - catalogProductSimple::default,catalogProductVirtual::default - defaultSimpleProduct - custom_store - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductEntityTest.xml deleted file mode 100644 index e62e5ad73958f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - mftf_migrated:yes - groupedProduct::default - Yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml deleted file mode 100644 index bf5f89add252a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/DeleteProductFromMiniShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - stable:no - groupedProduct::default - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml deleted file mode 100644 index 3017a76fb8577..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - groupedProduct::three_simple_products - groupedProduct::three_simple_products - true - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/TaxCalculationTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/TaxCalculationTest.xml deleted file mode 100644 index ada2d8b661886..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/TaxCalculationTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - groupedProduct::grouped_product_with_special_price - us_full_tax_rule - US_address_1 - johndoe_unique - active_sales_rule_for_all_groups_no_coupon - - - total_cat_excl_ship_incl_after_disc_on_excl, display_excluding_including_tax - true - 3 - 9.00 - 9.90 - 9.00 - 9.90 - 9.00 - 9.90 - 9.00 - 9.90 - 27.00 - 29.70 - 54.00 - 59.40 - 30.00 - 30.00 - 27.00 - 2.70 - 57.00 - 59.70 - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.php b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.php deleted file mode 100644 index 8e2a473c0ebf4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.php +++ /dev/null @@ -1,82 +0,0 @@ - Catalog. - * 3. Open grouped product from preconditions. - * 4. Fill in data according to dataset. - * 5. Save the Product. - * 6. Perform all assertions. - * - * @group Grouped_Product - * @ZephyrId MAGETWO-26462 - */ -class UpdateGroupedProductEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Page product on backend. - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Edit page on backend. - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Filling objects of the class. - * - * @param CatalogProductIndex $catalogProductIndexNewPage - * @param CatalogProductEdit $catalogProductEditPage - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndexNewPage, - CatalogProductEdit $catalogProductEditPage - ) { - $this->catalogProductIndex = $catalogProductIndexNewPage; - $this->catalogProductEdit = $catalogProductEditPage; - } - - /** - * Test update grouped product. - * - * @param GroupedProduct $product - * @param GroupedProduct $originalProduct - * @return void - */ - public function test(GroupedProduct $product, GroupedProduct $originalProduct) - { - // Precondition - $originalProduct->persist(); - - // Steps - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen(['sku' => $originalProduct->getSku()]); - $this->catalogProductEdit->getProductForm()->fill($product); - $this->catalogProductEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.xml deleted file mode 100644 index d859d354e08fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/UpdateGroupedProductEntityTest.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - to_maintain:yes - grouped_product_out_of_stock - GroupedProduct_edited %isolation% - GroupedProduct_sku_edited %isolation% - In Stock - category_%isolation% - This is edited description for grouped product - This is edited short description for grouped product - updated-grouped-product-%isolation% - - - - - - to_maintain:yes - default - GroupedProduct_edited %isolation% - GroupedProduct_sku_edited %isolation% - catalogProductVirtual::default,catalogProductVirtual::product_50_dollar - defaultVirtualProduct - updated-grouped-product-%isolation% - - - - - to_maintain:yes - default - GroupedProduct_edited %isolation% - GroupedProduct_sku_edited %isolation% - catalogProductSimple::simple_for_composite_products,catalogProductSimple::default - defaultSimpleProduct_without_qty - updated-grouped-product-%isolation% - - - - - - to_maintain:yes - default - GroupedProduct_edited %isolation% - GroupedProduct_sku_edited %isolation% - catalogProductSimple::withSpecialPrice,catalogProductSimple::withSpecialPrice - defaultSimpleProduct_with_specialPrice - updated-grouped-product-%isolation% - - - - - to_maintain:yes - default - GroupedProduct_edited %isolation% - GroupedProduct_sku_edited %isolation% - Out of Stock - updated-grouped-product-%isolation% - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml deleted file mode 100644 index ac57cdeb92053..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/TestCase/ValidateOrderOfProductTypeTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - mftf_migrated:yes - Grouped Product - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/curl/di.xml deleted file mode 100644 index dcfe441611a29..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/di.xml deleted file mode 100644 index 78b8eebd3764b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/di.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - \Magento\GroupedProduct\Test\Block\Adminhtml\Product\Composite\Configure - //ancestor::body//*[contains(@class, "modal-slide") and contains(@class, "_show")] - xpath - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/webapi/di.xml deleted file mode 100644 index b8c705228451d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Mtf/Util/Import/File/CsvTemplate.php b/dev/tests/functional/tests/app/Magento/ImportExport/Mtf/Util/Import/File/CsvTemplate.php deleted file mode 100644 index df2409b12b2aa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Mtf/Util/Import/File/CsvTemplate.php +++ /dev/null @@ -1,118 +0,0 @@ -config = $config; - } - - /** - * {@inheritdoc} - */ - public function render() - { - if (!isset($this->config['filename'], $this->config['count'])) { - throw new \InvalidArgumentException( - 'Configuration for file is bad. You must specify "filename" and "count" in configuration.' - ); - } - - $filename = MTF_TESTS_PATH . $this->config['filename'] . '.php'; - - if (!file_exists($filename)) { - throw new \Exception('File "' . $filename . '" does not exist.'); - } - - $fh = fopen('php://temp', 'rw'); - $fh = $this->addEntitiesData($fh); - rewind($fh); - $this->csv = stream_get_contents($fh); - fclose($fh); - - return $this->csv; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return sprintf( - '%x_%s.csv', - crc32(time()), - basename($this->config['filename']) - ); - } - - /** - * Replace placeholders in csv content. - * - * @param resource $stream - * @return resource - */ - private function addEntitiesData($stream) - { - $filename = MTF_TESTS_PATH . $this->config['filename'] . '.php'; - $entitiesData = include $filename; - - $placeholders = []; - if (!empty($this->config['placeholders'])) { - $placeholders = $this->config['placeholders']; - } - - fputcsv($stream, array_keys($entitiesData['entity_0']['data_0'])); - foreach ($placeholders as $entityKey => $entityData) { - foreach ($entityData as $dataKey => $dataValue) { - $row = array_map( - function ($value) use ($placeholders, $entityKey, $dataKey, $dataValue) { - if (is_string($value) && isset($placeholders[$entityKey][$dataKey])) { - return strtr($value, $dataValue); - } - return $value; - }, - $entitiesData[$entityKey][$dataKey] - ); - fputcsv($stream, $row); - } - } - return $stream; - } - - /** - * Return csv data. - * - * @return string - */ - public function getCsv() - { - return $this->csv; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.php deleted file mode 100644 index becf91b46dbee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.php +++ /dev/null @@ -1,39 +0,0 @@ -getData(); - $fields = isset($data['fields']) ? $data['fields'] : $data; - if (!empty($attributes)) { - foreach ($attributes as $attribute) { - $fields['product'] = [$attribute => $fixture->getDataExport()[$attribute]]; - } - } - unset($fields['data_export']); - $mapping = $this->dataMapping($fields); - parent::_fill($mapping, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.xml deleted file mode 100644 index f77ea141cad00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Edit/Form.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - select - - - select - - - - input - [name="export_filter[sku]"] - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/ExportedGrid.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/ExportedGrid.php deleted file mode 100644 index 60a313a9c01b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/ExportedGrid.php +++ /dev/null @@ -1,148 +0,0 @@ -waifForGrid(); - $firstGridRow = $this->getFirstRow(); - while ($firstGridRow->isVisible()) { - $this->deleteFile($firstGridRow); - } - } - - /** - * Delete exported file from the grid - * - * @param SimpleElement $rowItem - * @return void - */ - private function deleteFile(SimpleElement $rowItem) - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->deleteLink, Locator::SELECTOR_XPATH)->click(); - $this->confirmDeleteModal(); - $this->waitLoader(); - } - - /** - * Get first row from the grid - * - * @return SimpleElement - */ - public function getFirstRow(): SimpleElement - { - return $this->_rootElement->find($this->firstRowSelector, \Magento\Mtf\Client\Locator::SELECTOR_XPATH); - } - - /** - * Download first exported file - * - * @throws \Exception - */ - public function downloadFirstFile() - { - $this->waifForGrid(); - $firstRow = $this->getFirstRow(); - $i = 0; - while (!$firstRow->isVisible()) { - if ($i === 10) { - throw new \Exception('There is no exported file in the grid'); - } - $this->browser->refresh(); - $this->waifForGrid(); - ++$i; - } - $this->clickDownloadLink($firstRow); - } - - /** - * Wait for the grid - * - * @return void - */ - public function waifForGrid() - { - $this->waitForElementVisible($this->exportGrid); - $this->waitLoader(); - } - - /** - * Click on "Download" link. - * - * @param SimpleElement $rowItem - * @return void - */ - private function clickDownloadLink(SimpleElement $rowItem) - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->editLink, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Confirm delete file modal - * - * @return void - */ - private function confirmDeleteModal() - { - $modalElement = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $modalElement] - ); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Filter.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Filter.php deleted file mode 100644 index c3b0b2de09976..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/Filter.php +++ /dev/null @@ -1,47 +0,0 @@ - [ - 'selector' => 'input[name="frontend_label"]', - ], - 'attribute_code' => [ - 'selector' => 'input[name="attribute_code"]', - ], - ]; - - /** - * Locator for "Continue" button. - * - * @var string - */ - private $continueButton = 'button.action-.scalable'; - - /** - * Click on "Continue" button. - * - * @return void - */ - public function clickContinue() - { - $this->_rootElement->find($this->continueButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/NotificationsArea.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/NotificationsArea.php deleted file mode 100644 index 4a781c787eb0e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Export/NotificationsArea.php +++ /dev/null @@ -1,52 +0,0 @@ -browser->find($this->notificationsDropdown)->click(); - } - - /** - * Get latest notification message text - * - * @return string - */ - public function getLatestMessage() - { - $this->waitForElementVisible($this->notificationDescription, Locator::SELECTOR_XPATH); - return $this->_rootElement->find($this->notificationDescription, Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/CustomForm.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/CustomForm.php deleted file mode 100644 index 97a5e9bd4e298..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/CustomForm.php +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - select - - - [id='custom_behavior'] - select - - - [id='custom_behaviorvalidation_strategy'] - select - - - [id='custom_behavior_allowed_error_count'] - - - [id='custom_behavior__import_field_separator'] - - - [id='custom_behavior_import_multiple_value_separator'] - - - checkbox - - - upload - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.php deleted file mode 100644 index cfe81cac5abdd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.php +++ /dev/null @@ -1,38 +0,0 @@ -getData(); - - //Move file to the end of the list in order to fill form with attached file correctly. - $importFile = $data['import_file']; - unset($data['import_file']); - $data['import_file'] = $importFile; - - $fields = isset($data['fields']) ? $data['fields'] : $data; - $mapping = $this->dataMapping($fields); - $this->_fill($mapping, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.xml deleted file mode 100644 index cad423e4b1f89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Edit/Form.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - select - - - select - - - select - - - - [name='_import_field_separator'] - - - [name='_import_multiple_value_separator'] - - - checkbox - - - upload - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/FormPageActions.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/FormPageActions.php deleted file mode 100644 index 86ccc037a34bb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/FormPageActions.php +++ /dev/null @@ -1,40 +0,0 @@ -waitForElementVisible($this->checkDataButton); - $this->_rootElement->find($this->checkDataButton)->click(); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Frame/Result.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Frame/Result.php deleted file mode 100644 index a559e2d480785..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Frame/Result.php +++ /dev/null @@ -1,56 +0,0 @@ - .success > div > button'; - - /** - * CSS selector for validation errors list block. - * - * @var string - */ - private $validationErrorList = '.import-error-list'; - - /** - * Click import button. - * - * @return void - */ - public function clickImportButton() - { - $this->_rootElement->find($this->importButton)->click(); - } - - /** - * Get errors messages list. - * - * @return array|false - */ - public function getErrorsList() - { - $element = $this->_rootElement->find($this->validationErrorList); - - if (!$element->isVisible()) { - return false; - } - - $text = $this->_rootElement->find($this->validationErrorList)->getText(); - - return (array) explode(PHP_EOL, strip_tags($text)); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Messages.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Messages.php deleted file mode 100644 index 4e06a49ca0fcd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Block/Adminhtml/Import/Messages.php +++ /dev/null @@ -1,96 +0,0 @@ -_rootElement->find($this->validationErrorList); - - if (!$element->isVisible()) { - return false; - } - - $text = $this->_rootElement->find($this->validationErrorList)->getText(); - - return (array) explode(PHP_EOL, strip_tags($text)); - } - - /** - * Get error message. - * - * @return bool|string - */ - public function getErrorMessage() - { - if (!$this->_rootElement->find($this->errorMessage)->isVisible()) { - return false; - } - return parent::getErrorMessage(); - } - - /** - * Get notice message. - * - * @return bool|string - */ - public function getNoticeMessage() - { - if (!$this->_rootElement->find($this->noticeMessage)->isVisible()) { - return false; - } - return parent::getNoticeMessage(); - } - - /** - * Get import result message. - * - * @return string - */ - public function getImportResultMessage() - { - $this->waitForElementNotVisible($this->loader); - - return $this->_rootElement->find($this->importResultMessage)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportNoDataErrorMessage.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportNoDataErrorMessage.php deleted file mode 100644 index c52f8c6613fb7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportNoDataErrorMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - /** @var \Magento\ImportExport\Test\Block\Adminhtml\Export\NotificationsArea $notificationsArea */ - $notificationsArea = $adminExportIndex->getNotificationsArea(); - $notificationsArea->openNotificationsDropDown(); - $actualMessage = $notificationsArea->getLatestMessage(); - - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Correct error message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportSubmittedMessage.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportSubmittedMessage.php deleted file mode 100644 index 363614825e568..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertExportSubmittedMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - - \PHPUnit\Framework\Assert::assertEquals( - self::MESSAGE, - $actualMessage, - 'Wrong message is displayed.' - . "\nExpected: " . self::MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Correct message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckData.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckData.php deleted file mode 100644 index 810883f58eafd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckData.php +++ /dev/null @@ -1,55 +0,0 @@ -getDataFieldConfig('import_file')['source']; - $rowsCount = $file->getValue()['template']['count']; - $entitiesCount = isset($file->getValue()['template']['entities']) - ? $file->getValue()['template']['entities'] - : count($file->getEntities()); - - $message = $adminImportIndex->getMessagesBlock()->getNoticeMessage(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::RESULT_MESSAGE, $rowsCount, $entitiesCount), - $message, - 'Wrong validation result message is displayed.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Displayed validation result is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessage.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessage.php deleted file mode 100644 index 555976e6cac33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - - \PHPUnit\Framework\Assert::assertNotFalse($actualMessage, 'Error message is absent.'); - - \PHPUnit\Framework\Assert::assertEquals( - static::ERROR_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Data check error message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessagesList.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessagesList.php deleted file mode 100644 index af8493df3ff9d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportCheckDataErrorMessagesList.php +++ /dev/null @@ -1,91 +0,0 @@ -getMessagesBlock()->getErrorsList(); - - \PHPUnit\Framework\Assert::assertNotFalse($messages, 'Errors messages block is absent.'); - \PHPUnit\Framework\Assert::assertNotEmpty($messages, 'Errors messages is absent.'); - - $errors = []; - foreach ($messages as $message) { - if ($this->isNotMatched($patterns, $message)) { - $errors[] = sprintf('This message "%s" mismatch with any pattern', $message); - } - } - - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - 'This assertions contains next errors:' . PHP_EOL . implode(PHP_EOL, $errors) - ); - } - - /** - * Checking message. - * - * @param array $patterns - * @param string $message - * @return bool - */ - private function isNotMatched(array $patterns, $message) - { - $isNotMatch = true; - foreach ($patterns as $parts) { - $parts = (array) $parts; - if ($isNotMatch && $this->match($message, $parts) === count($parts)) { - $isNotMatch = false; - } - } - - return $isNotMatch; - } - - /** - * Check if patterns are contained in a message. - * - * @param string $message - * @param array $patterns - * @return int - */ - private function match($message, array $patterns) - { - $matchCount = 0; - foreach ($patterns as $pattern) { - if (strpos($message, $pattern) !== false) { - ++$matchCount; - } - } - - return $matchCount; - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'All messages for errors match the patterns.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportSuccessMessage.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportSuccessMessage.php deleted file mode 100644 index a5408426514f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertImportSuccessMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getImportResultMessage(); - \PHPUnit\Framework\Assert::assertStringEndsWith( - self::SUCCESS_MESSAGE, - $validationMessage, - 'Wrong validation result is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $validationMessage - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return 'Displayed import success message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertProductAttributeAbsenceForExport.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertProductAttributeAbsenceForExport.php deleted file mode 100644 index 5281b211d76a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Constraint/AssertProductAttributeAbsenceForExport.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - $exportIndex->getExportForm()->fill($export); - - $filter = [ - 'attribute_code' => $attribute->getAttributeCode(), - ]; - - \PHPUnit\Framework\Assert::assertFalse( - $exportIndex->getFilterExport()->isRowVisible($filter), - 'Attribute \'' . $attribute->getFrontendLabel() . '\' is present in Filter export grid' - ); - } - - /** - * Text absent Product Attribute in Filter export grid - * - * @return string - */ - public function toString() - { - return 'Product Attribute is absent in Filter export grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData.xml deleted file mode 100644 index 349f65f9a7b36..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData/DataExport.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData/DataExport.php deleted file mode 100644 index 076b7b12fecf5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ExportData/DataExport.php +++ /dev/null @@ -1,34 +0,0 @@ -data = $data->getData(); - } - - /** - * Get export data. - * - * @return array - */ - public function getDataExport() - { - return $this->data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/Import/File.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/Import/File.php deleted file mode 100644 index 89f51931f8dc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/Import/File.php +++ /dev/null @@ -1,356 +0,0 @@ -params = $params; - $this->value = $data; - $this->generator = $generator; - $this->fixtureFactory = $fixtureFactory; - $this->objectManager = $objectManager; - } - - /** - * {@inheritdoc} - */ - public function getData($key = null) - { - if (isset($this->data)) { - return parent::getData($key); - } - - $filename = MTF_TESTS_PATH . $this->value['template']['filename'] . '.php'; - if (!file_exists($filename)) { - throw new \Exception("CSV file '{$filename}'' not found on the server."); - } - - $this->csvTemplate = include $filename; - - $this->placeholders = []; - if (!isset($this->products) - && isset($this->value['entities']) - && is_array($this->value['entities']) - ) { - $this->entities = $this->createEntities(); - $this->preparePlaceHolders(); - } - - if (isset($this->value['template']) && is_array($this->value['template'])) { - $csvTemplate = $this->objectManager->create( - CsvTemplate::class, - [ - 'config' => array_merge( - $this->value['template'], - [ - 'placeholders' => $this->placeholders - ] - ) - ] - ); - $this->data = $this->generator->generate($csvTemplate); - $this->convertCsvToArray($csvTemplate->getCsv()); - - return parent::getData($key); - } - - $filename = MTF_TESTS_PATH . $this->value; - if (!file_exists($filename)) { - throw new \Exception("CSV file '{$filename}'' not found on the server."); - } - - $this->data = $filename; - - return parent::getData($key); - } - - /** - * Get entities fixtures. - * - * @return FixtureInterface[] - */ - public function getEntities() - { - return $this->entities ?: []; - } - - /** - * Get fixture data. - * - * @return array|null - */ - public function getValue() - { - return $this->value; - } - - /** - * Create entities from configuration of variation. - * - * @return FixtureInterface[] - */ - private function createEntities() - { - $entities = []; - foreach ($this->value['entities'] as $key => $entityDataSet) { - list($fixtureCode, $dataset) = explode('::', $entityDataSet); - - /** @var FixtureInterface[] $entities */ - $entities[$key] = $this->fixtureFactory->createByCode(trim($fixtureCode), ['dataset' => trim($dataset)]); - if ($entities[$key]->hasData('id') === false) { - $entities[$key]->persist(); - } - } - ksort($entities); - return $entities; - } - - /** - * Create placeholders for entities. - * - * @return void - */ - private function preparePlaceHolders() - { - $placeholders = []; - $key = 0; - foreach ($this->entities as $entity) { - $entityData = $this->prepareEntityData($entity); - foreach ($this->csvTemplate['entity_' . $key] as $entityKey => $importedEntityData) { - $values = implode('', array_values($importedEntityData)); - preg_match_all('/\%(.*)\%/U', $values, $indexes); - foreach ($indexes[1] as $index) { - if (isset($entityData[$index])) { - $placeholders['entity_' . $key][$entityKey]["%{$index}%"] = $entityData[$index]; - } - if (isset($entityData['code'])) { - $placeholders['entity_' . $key][$entityKey][$entityData['code']] - = isset($entityData[$entityData['code']]) - ? $entityData[$entityData['code']] - : 'Main Website'; - } - } - } - $key++; - } - $this->placeholders = $placeholders; - } - - /** - * Prepare entity data. - * - * @param FixtureInterface $entity - * @return array - */ - public function prepareEntityData(FixtureInterface $entity) - { - $entityData = $entity->getData(); - if (isset($entityData['quantity_and_stock_status'])) { - $entityData = array_merge($entityData, $entityData['quantity_and_stock_status']); - } - if (isset($entityData['website_ids'])) { - $entityData = array_merge($entityData, $this->getWebsitesData($entity)); - } - if ($entity->getDataConfig() && ('simple' !== $entity->getDataConfig()['type_id'])) { - $class = ucfirst($entity->getDataConfig()['type_id']); - $file = ObjectManager::getInstance() - ->create("\\Magento\\{$class}ImportExport\\Test\\Fixture\\Import\\File"); - $entityData = $file->getData($entity, $this->fixtureFactory); - } - return $entityData; - } - - /** - * Add websites data to array. - * - * @param FixtureInterface $entity - * @return array - */ - private function getWebsitesData(FixtureInterface $entity) - { - $entityData = []; - $currency = isset($this->value['template']['websiteCurrency']) - ? "[{$this->value['template']['websiteCurrency']}]" - : '[USD]'; - - $websites = $entity->getDataFieldConfig('website_ids')['source']->getWebsites(); - foreach ($websites as $website) { - if ($website->getCode() === 'base') { - $currency = isset($this->value['template']['mainWebsiteCurrency']) - ? $this->value['template']['mainWebsiteCurrency'] - : '[USD]'; - $this->mainWebsiteMapping['base'] = $website->getName() . "[{$currency}]"; - break; - } - $entityData['code'] = $website->getCode(); - $entityData[$website->getCode()] = $website->getName() . $currency; - } - return $entityData; - } - - /** - * Convert csv to array. - * - * @param string $csvContent - * @return array - */ - public function convertCsvToArray($csvContent) - { - foreach ($this->placeholders as $placeholderData) { - foreach ($placeholderData as $data) { - $csvContent = strtr($csvContent, $data); - } - } - if (is_array($this->mainWebsiteMapping)) { - $csvContent = strtr($csvContent, $this->mainWebsiteMapping); - } - $this->prepareCsv($csvContent); - } - - /** - * Prepare csv data for converting to array. - * - * @param string $csvContent - * @return void - */ - private function prepareCsv($csvContent) - { - $this->csv = []; - foreach (str_getcsv($csvContent, "\n") as $value) { - $explodedArray = explode(",", $value); - $count = count($explodedArray); - for ($i = 0; $i < $count; $i++) { - if (preg_match('/^\".*[^"]$/U', $explodedArray[$i])) { - $compiledData = $this->compileToOneString($i, $explodedArray); - $i = $compiledData['index']; - $explodedArray = $compiledData['explodedArray']; - } else { - $explodedArray[$i] = str_replace('"', '', $explodedArray[$i]); - } - } - $data = array_diff($explodedArray, ['%to_delete%']); - $this->csv[] = $data; - } - } - - /** - * Compile exploded data from "quotes" to one string. - * - * @param int $index - * @param array $explodedArray - * @return string - */ - private function compileToOneString($index, array $explodedArray) - { - $count = count($explodedArray); - $implodedKey = $index; - while ((++$index <= $count) && !preg_match('/^[^"].*\"$/U', $explodedArray[$index])) { - $explodedArray[$implodedKey] .= ',' . $explodedArray[$index]; - $explodedArray[$index] = '%to_delete%'; - } - $explodedArray[$implodedKey] .= ',' . $explodedArray[$index]; - $explodedArray[$index] = '%to_delete%'; - $explodedArray[$implodedKey] = str_replace('"', '', $explodedArray[$implodedKey]); - return ['index' => $index, 'explodedArray' => $explodedArray]; - } - - /** - * Return csv as array. - * - * @return array - */ - public function getCsv() - { - return $this->csv; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportData.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportData.xml deleted file mode 100644 index b51f87959851b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportData.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminExportIndex.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminExportIndex.xml deleted file mode 100644 index e70a5fc29820c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminExportIndex.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminImportIndex.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminImportIndex.xml deleted file mode 100644 index bc492e02903ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Page/Adminhtml/AdminImportIndex.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Repository/ExportData.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Repository/ExportData.xml deleted file mode 100644 index c313cacbe2cdb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Repository/ExportData.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Products - CSV - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataNegativeTest.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataNegativeTest.php deleted file mode 100644 index 7392b48ab5796..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataNegativeTest.php +++ /dev/null @@ -1,38 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataTest.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataTest.php deleted file mode 100644 index 7c20c06c3a878..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/ImportDataTest.php +++ /dev/null @@ -1,35 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index d396a364a3f42..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - mftf_migrated:yes - System > Import - Import - - - - mftf_migrated:yes - System > Export - Export - - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ChangeCurrencyOnCustomWebsiteStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ChangeCurrencyOnCustomWebsiteStep.php deleted file mode 100644 index 4cb3f3578b60e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ChangeCurrencyOnCustomWebsiteStep.php +++ /dev/null @@ -1,93 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->import = $import; - $this->changeCurrency = $changeCurrency; - } - - /** - * Fill import form. - * - * @return array - */ - public function run() - { - if ($this->changeCurrency === true) { - $currency = $this->import->getDataFieldConfig('import_file')['source'] - ->getValue()['template']['websiteCurrency']; - $entities = $this->import->getDataFieldConfig('import_file')['source']->getEntities(); - foreach ($entities as $entity) { - $websites = $entity->getDataFieldConfig('website_ids')['source']->getWebsites(); - $configFixture = $this->fixtureFactory->createByCode( - 'configData', - [ - 'data' => [ - 'currency/options/allow' => [ - 'value' => [$currency] - ], - 'currency/options/base' => [ - 'value' => $currency - ], - 'currency/options/default' => [ - 'value' => $currency - ], - 'scope' => [ - 'fixture' => $websites[0], - 'scope_type' => 'website', - 'website_id' => $websites[0]->getWebsiteId(), - 'set_level' => 'website', - ] - ] - ] - ); - $configFixture->persist(); - } - } - return ['import' => $this->import]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/CheckResultMessageStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/CheckResultMessageStep.php deleted file mode 100644 index 6dc8fe565147b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/CheckResultMessageStep.php +++ /dev/null @@ -1,61 +0,0 @@ -adminImportIndex = $adminImportIndex; - $this->assert = $assert; - $this->import = $import; - } - - /** - * Click "Import" button. - * - * @return void - */ - public function run() - { - $this->assert->processAssert($this->adminImportIndex, $this->import); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickCheckDataStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickCheckDataStep.php deleted file mode 100644 index cd85396f0d4d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickCheckDataStep.php +++ /dev/null @@ -1,40 +0,0 @@ -adminImportIndex = $adminImportIndex; - } - - /** - * Click "Check Data" button. - * - * @return void - */ - public function run() - { - $this->adminImportIndex->getFormPageActions()->clickCheckData(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickImportDataStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickImportDataStep.php deleted file mode 100644 index 0825d4f455dfb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/ClickImportDataStep.php +++ /dev/null @@ -1,40 +0,0 @@ -adminImportIndex = $adminImportIndex; - } - - /** - * Click "Import" button. - * - * @return void - */ - public function run() - { - $this->adminImportIndex->getImportResult()->clickImportButton(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/FillImportFormStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/FillImportFormStep.php deleted file mode 100644 index 750fa260732c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/FillImportFormStep.php +++ /dev/null @@ -1,61 +0,0 @@ -adminImportIndex = $adminImportIndex; - $this->import = $import; - } - - /** - * Fill import form. - * - * @return array - */ - public function run() - { - $this->adminImportIndex->getImportForm()->fill($this->import); - - /** @var File $file */ - $file = $this->import->getDataFieldConfig('import_file')['source']; - - return [ - 'entities' => $file->getEntities(), - 'import' => $this->import - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/OpenImportIndexStep.php b/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/OpenImportIndexStep.php deleted file mode 100644 index 5c801659a895e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/TestStep/OpenImportIndexStep.php +++ /dev/null @@ -1,40 +0,0 @@ -adminImportIndex = $adminImportIndex; - } - - /** - * Open import index page. - * - * @return void - */ - public function run() - { - $this->adminImportIndex->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/di.xml deleted file mode 100644 index 63ff6bf5bdf73..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/di.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - high - - - - - S1 - - - - - ImportCsvGenerator - - - - - ImportExport/import - - - diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/testcase.xml deleted file mode 100644 index 9a486c23a05da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/etc/testcase.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/Block/Adminhtml/IndexManagement/Grid.php b/dev/tests/functional/tests/app/Magento/Indexer/Test/Block/Adminhtml/IndexManagement/Grid.php deleted file mode 100644 index 4c4b7b860c182..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/Block/Adminhtml/IndexManagement/Grid.php +++ /dev/null @@ -1,83 +0,0 @@ - [ - 'selector' => '[name="indexer_ids"]', - 'input' => 'checkbox', - 'value' => 'Yes', - ], - ]; - - /** - * Update indexers action in Index Management Page. - * - * @param array $indexers - * @throws \Exception - * @return void - */ - public function updateBySchedule(array $indexers) - { - foreach ($indexers as $indexer) { - $selectItem = $this->getRow(['Indexer' => trim($indexer)])->find($this->selectItem); - if ($selectItem->isVisible()) { - $selectItem->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($indexer, true)); - } - } - $this->_rootElement->find($this->selectAction, Locator::SELECTOR_XPATH, 'select')->click(); - $this->_rootElement->find($this->updateButton, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Return indexers status in Index Management Page. - * - * @param string $indexer - * @return string|array - */ - public function getIndexerStatus($indexer) - { - return $this->getRow(['Indexer' => trim($indexer)]) - ->find($this->indxerStatus, Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertIndexerStatus.php b/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertIndexerStatus.php deleted file mode 100644 index f28ed21361658..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertIndexerStatus.php +++ /dev/null @@ -1,60 +0,0 @@ - 'REINDEX REQUIRED', - 1 => 'READY' - ]; - - /** - * Assert Correct Indexer Status. - * - * @param IndexManagement $indexManagement - * @param array $indexers - * @param bool $expectedStatus - * @return void - */ - public function processAssert(IndexManagement $indexManagement, array $indexers, bool $expectedStatus = true) - { - $expectedStatus = $expectedStatus === false ? $this->indexerStatus[0] : $this->indexerStatus[1]; - $indexManagement->open(); - foreach ($indexers as $indexer) { - $indexerStatus = $indexManagement->getMainBlock()->getIndexerStatus($indexer); - \PHPUnit\Framework\Assert::assertEquals( - $expectedStatus, - $indexerStatus, - 'Wrong ' . $indexer . ' status is displayed.' - . "\nExpected: " . $expectedStatus - . "\nActual: " . $indexerStatus - ); - } - } - - /** - * Returns indexers status. - * - * @return string - */ - public function toString() - { - return 'Indexer status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertUpdateByScheduleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertUpdateByScheduleSuccessSaveMessage.php deleted file mode 100644 index 7e7587e553d5a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/Constraint/AssertUpdateByScheduleSuccessSaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_SAVE_MESSAGE, count($indexers)), - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . sprintf(self::SUCCESS_SAVE_MESSAGE, count($indexers)) - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Attribute Update by Schedule message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/Page/Adminhtml/IndexManagement.xml b/dev/tests/functional/tests/app/Magento/Indexer/Test/Page/Adminhtml/IndexManagement.xml deleted file mode 100644 index 2e815706750a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/Page/Adminhtml/IndexManagement.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.php b/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.php deleted file mode 100644 index e7b2b8abb2c33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.php +++ /dev/null @@ -1,288 +0,0 @@ -indexManagement = $indexManagement; - $this->catalogRuleIndex = $catalogRuleIndex; - $this->catalogRuleNew = $catalogRuleNew; - $this->cmsIndexPage = $cmsIndexPage; - $this->catalogProductViewPage = $catalogProductViewPage; - $this->catalogCategoryViewPage = $catalogCategoryViewPage; - $this->assertIndexerStatus = $assertIndexerStatus; - $this->assertCatalogPriceRuleNotAppliedProductPage = $assertCatalogPriceRuleNotAppliedProductPage; - $this->assertCatalogPriceRuleAppliedProductPage = $assertCatalogPriceRuleAppliedProductPage; - $this->stepFactory = $stepFactory; - } - - /** - * Catalog rules indexer test. - * - * @param Indexer $cli - * @param CatalogRule $catalogPriceRule - * @param CatalogRule $catalogPriceRuleOriginal - * @param Cron $cron - * @param array|null $productPrice1 - * @param array|null $productPrice2 - * @param Customer|null $customer - * @param array|null $products - * @param string|null $indexers - * @return void - */ - public function test( - Indexer $cli, - CatalogRule $catalogPriceRule, - CatalogRule $catalogPriceRuleOriginal, - Cron $cron, - array $productPrice1 = null, - array $productPrice2 = null, - Customer $customer = null, - array $products = null, - $indexers = null - ) { - $products = $this->stepFactory->create(CreateProductsStep::class, ['products' => $products])->run()['products']; - $cli->reindex(); - if ($customer !== null) { - $customer->persist(); - } - $catalogPriceRuleOriginal->persist(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, true); - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - $this->assertCatalogPriceRuleNotAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products - ); - $filter = [ - 'name' => $catalogPriceRuleOriginal->getName(), - 'rule_id' => $catalogPriceRuleOriginal->getId(), - ]; - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $this->catalogRuleNew->getFormPageActions()->saveAndApply(); - $cron->run(); - $cron->run(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, true); - $this->assertCatalogPriceRuleAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products, - $productPrice1, - $customer - ); - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $this->catalogRuleNew->getEditForm()->fill($catalogPriceRule); - $this->catalogRuleNew->getFormPageActions()->saveAndApply(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, false); - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - $this->assertCatalogPriceRuleNotAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products - ); - $cron->run(); - $cron->run(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, true); - $this->assertCatalogPriceRuleAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products, - $productPrice2, - $customer - ); - $this->catalogRuleIndex->open(); - $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); - $this->catalogRuleNew->getFormPageActions()->delete(); - $this->catalogRuleNew->getModalBlock()->acceptAlert(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, false); - $this->assertCatalogPriceRuleAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products, - $productPrice2, - $customer - ); - $cron->run(); - $cron->run(); - $this->assertIndexerStatus->processAssert($this->indexManagement, $indexers, true); - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - $this->assertCatalogPriceRuleNotAppliedProductPage->processAssert( - $this->catalogProductViewPage, - $this->cmsIndexPage, - $this->catalogCategoryViewPage, - $products - ); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\CatalogRule\Test\TestStep\DeleteAllCatalogRulesStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.xml b/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.xml deleted file mode 100644 index a58e4e08ee95f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/CreateCatalogRulesIndexerTest.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - severity:S2 - customer_US - catalogProductSimple::simple_10_dollar - active_catalog_price_rule_with_conditions - General - Wholesale - Retailer - 50 - 1 - 9.00 - 10 - 5 - 5.00 - 10 - Catalog Rule Product - - - diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 16ae092e62cad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - System > Index Management - Index Management - - - - diff --git a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestStep/ReindexStep.php b/dev/tests/functional/tests/app/Magento/Indexer/Test/TestStep/ReindexStep.php deleted file mode 100644 index 1a3cb4a034765..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Indexer/Test/TestStep/ReindexStep.php +++ /dev/null @@ -1,50 +0,0 @@ -indexer = $indexer; - $this->indexerType = $indexerType; - } - - /** - * Run reindex process. - * All indexers will be refreshed in a case of empty $indexerType array. - * - * @return void - */ - public function run() - { - $this->indexer->reindex($this->indexerType); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.php deleted file mode 100644 index 43a5053e1dc06..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.php +++ /dev/null @@ -1,28 +0,0 @@ - js error text. - * - * @param string $tabName - * @return array - */ - public function getJsErrors($tabName) - { - $tab = $this->getTab($tabName); - $this->openTab($tabName); - return $tab->getJsErrors(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.xml deleted file mode 100644 index e676967b85531..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationForm.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - #integration_edit_tabs_info_section - css selector - - - - - - - [name='current_password'] - css selector - - - [name="consumer_key"] - - - - - - - - \Magento\Integration\Test\Block\Adminhtml\Integration\Edit\Tab\Api - #integration_edit_tabs_api_section - css selector - - - [name='all_resources'] - css selector - select - - - [data-role="resource-tree"] - css selector - jquerytree - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationFormPageActions.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationFormPageActions.php deleted file mode 100644 index 27f977f9116ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/IntegrationFormPageActions.php +++ /dev/null @@ -1,64 +0,0 @@ -_rootElement->find($this->saveNewButton)->click(); - } - - /** - * Check if alert is present. - * - * @return bool - */ - public function isAlertPresent() - { - try { - $this->browser->getAlertText(); - return true; - } catch (\Exception $e) { - return false; - } - } - - /** - * Accept alert. - * - * @return void - */ - public function acceptAlert() - { - try { - while (true) { - $this->browser->acceptAlert(); - } - } catch (\Exception $e) { - return; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/Tab/Api.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/Tab/Api.php deleted file mode 100644 index a203e9059d978..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/Edit/Tab/Api.php +++ /dev/null @@ -1,33 +0,0 @@ -dataMapping($fields); - $resourceAccessValue = $this->_getData([$data['resource_access']])[0]; - if ($resourceAccessValue == 'All') { - return ['resource_access' => $resourceAccessValue]; - } else { - return $this->_getData($data, $element); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid.php deleted file mode 100644 index e7f7446098ecf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid.php +++ /dev/null @@ -1,155 +0,0 @@ - [ - 'selector' => 'input[name="name"]', - ], - 'status' => [ - 'selector' => 'input[name="status"]', - 'input' => 'select', - ], - ]; - - /** - * Locator value for link in action column - * - * @var string - */ - protected $editLink = '[data-column="edit"] button'; - - /** - * Locator value for delete link - * - * @var string - */ - protected $deleteLink = '[data-column="delete"] button'; - - /** - * Locator value for activate link - * - * @var string - */ - protected $activateLink = '[data-column="activate"] a'; - - /** - * Selector for delete block confirmation window - * - * @var string - */ - protected $deleteBlockSelector = './/ancestor::body/div[div[@id="integration-delete-container"]]'; - - /** - * Selector for Integration resources popup container - * - * @var string - */ - protected $resourcesPopupSelector = './/ancestor::body/div[descendant::div[@id="integration-popup-container"]]'; - - /** - * Selector for Integration tokens popup container - * - * @var string - */ - protected $tokensPopupSelector = './/ancestor::body/div[descendant::fieldset[contains(@id,"integration_token")]]'; - - /** - * Selector for confirm. - * - * @var string - */ - protected $confirmModal = '.confirm._show[data-role=modal]'; - - /** - * Search and delete current item - * - * @param array $item - * @return void - */ - public function searchAndDelete(array $item) - { - $this->search($item); - $this->_rootElement->find($this->deleteLink)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - } - - /** - * Search and activate current item - * - * @param array $filter - * @return void - */ - public function searchAndActivate(array $filter) - { - $this->search($filter); - $this->_rootElement->find($this->activateLink)->click(); - } - - /** - * Search and reauthorize current item - * - * @param array $filter - * @return void - */ - public function searchAndReauthorize(array $filter) - { - $this->search($filter); - $this->_rootElement->find($this->activateLink)->click(); - } - - /** - * Return Integration resources popup block - * - * @return ResourcesPopup - */ - public function getResourcesPopup() - { - /** @var ResourcesPopup $resourcesPopup */ - $resourcesPopup = $this->blockFactory->create( - \Magento\Integration\Test\Block\Adminhtml\Integration\IntegrationGrid\ResourcesPopup::class, - ['element' => $this->_rootElement->find($this->resourcesPopupSelector, Locator::SELECTOR_XPATH)] - ); - - return $resourcesPopup; - } - - /** - * Return Integration tokens popup block - * - * @return TokensPopup - */ - public function getTokensPopup() - { - $tokensPopup = $this->blockFactory->create( - \Magento\Integration\Test\Block\Adminhtml\Integration\IntegrationGrid\TokensPopup::class, - ['element' => $this->_rootElement->find($this->tokensPopupSelector, Locator::SELECTOR_XPATH)] - ); - $this->waitForElementVisible($this->tokensPopupSelector, Locator::SELECTOR_XPATH); - - return $tokensPopup; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/DeleteDialog.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/DeleteDialog.php deleted file mode 100644 index 1b42af5006b41..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/DeleteDialog.php +++ /dev/null @@ -1,34 +0,0 @@ -_rootElement->find($this->deleteButton, Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.php deleted file mode 100644 index 909461fbe9f74..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.php +++ /dev/null @@ -1,102 +0,0 @@ -waitPopupToLoad(); - } - - /** - * Wait until API content is loaded. - * - * @return void - */ - protected function waitPopupToLoad() - { - $context = $this->_rootElement; - $selector = $this->content; - $context->waitUntil( - function () use ($context, $selector) { - return $context->find($selector)->isVisible() ? true : null; - } - ); - } - - /** - * Click allow button in integration resources popup window. - * - * @return void - */ - public function clickAllowButton() - { - $this->_rootElement->find($this->allowButtonSelector)->click(); - } - - /** - * Click reauthorize button in integration resources popup window. - * - * @return void - */ - public function clickReauthorizeButton() - { - $this->_rootElement->find($this->reauthorizeButtonSelector)->click(); - } - - /** - * Get tree structure for selected nodes. - * - * @param int|null $level - * @return array - */ - public function getStructure($level = null) - { - return $this->_rootElement->find($this->tree, Locator::SELECTOR_CSS, 'jquerytree')->getStructure($level); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.xml deleted file mode 100644 index b16afb585cc79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/ResourcesPopup.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - [data-role="tree-resources-container"] - css selector - jquerytree - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.php deleted file mode 100644 index 7dc62ce90e9d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->doneButtonSelector)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.xml deleted file mode 100644 index 2d2be2102c804..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Block/Adminhtml/Integration/IntegrationGrid/TokensPopup.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name="consumer_key"] - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertEmailValidationErrorGenerated.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertEmailValidationErrorGenerated.php deleted file mode 100644 index 93c24b89131f9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertEmailValidationErrorGenerated.php +++ /dev/null @@ -1,52 +0,0 @@ -getIntegrationForm()->getJsErrors("integration_info"); - $emailJsError = false; - foreach ($errors as $error) { - if (strpos($error, 'Please enter a valid email address') !== false) { - $emailJsError = true; - break; - } - } - \PHPUnit\Framework\Assert::assertTrue( - $emailJsError, - 'Failed to validate email address (' . $integration->getEmail() . ') when saving integration.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Email address is properly validated when saving integration.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIncorrectUserPassword.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIncorrectUserPassword.php deleted file mode 100644 index b0b2f6dbae8ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIncorrectUserPassword.php +++ /dev/null @@ -1,48 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Incorrect password message is present and correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationForm.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationForm.php deleted file mode 100644 index 85111c12aa0b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationForm.php +++ /dev/null @@ -1,180 +0,0 @@ -strictResourcesVerify = $strictResourcesVerify; - $data = ($initialIntegration === null) - ? $integration->getData() - : array_merge($initialIntegration->getData(), $integration->getData()); - $filter = [ - 'name' => $data['name'], - ]; - - $integrationIndexPage->open(); - $integrationIndexPage->getIntegrationGrid()->searchAndOpen($filter); - $formData = $integrationNewPage->getIntegrationForm()->getData(); - unset($formData['current_password']); - unset($data['current_password']); - $dataDiff = $this->verifyForm($formData, $data); - \PHPUnit\Framework\Assert::assertEmpty( - $dataDiff, - 'Integration form was filled incorrectly.' - . "\nLog:\n" . implode(";\n", $dataDiff) - ); - } - - /** - * Verifying that form is filled correctly. - * - * @param array $formData - * @param array $fixtureData - * @return array - */ - protected function verifyForm(array $formData, array $fixtureData) - { - $errorMessages = []; - foreach ($fixtureData as $key => $value) { - if (in_array($key, $this->skippedFields)) { - continue; - } elseif ($key === 'resources') { - $errorMessages = array_merge( - $errorMessages, - $this->checkResources($formData[$key], $fixtureData[$key]) - ); - } elseif ($value !== $formData[$key]) { - $errorMessages[] = $this->getErrorMessage($value, $formData[$key], $key); - } - } - - return $errorMessages; - } - - /** - * Check resources errors. - * - * @param array $formData - * @param array|string $fixtureData - * @return array - */ - protected function checkResources(array $formData, $fixtureData) - { - $errorMessages = []; - $diff = $this->getResourcesDifferentData($formData, $fixtureData); - if (array_filter($diff)) { - $errorMessages[] = $this->getErrorMessage($fixtureData, $formData, 'resources'); - } - - return $errorMessages; - } - - /** - * Get different data between form and fixture data. - * - * @param array $formData - * @param array|string $fixtureData - * @return array - */ - protected function getResourcesDifferentData(array $formData, $fixtureData) - { - $fixtureData = is_array($fixtureData) ? $fixtureData : [$fixtureData]; - return $this->strictResourcesVerify - ? array_diff($formData, $fixtureData) - : $this->notStrictVerification($formData, $fixtureData); - } - - /** - * Not strict verify resources data. - * - * @param array $formData - * @param array $fixtureData - * @return array - */ - protected function notStrictVerification(array $formData, array $fixtureData) - { - $diff = []; - foreach ($fixtureData as $itemData) { - $diff[] = in_array($itemData, $formData) ? null : true; - } - - return $diff; - } - - /** - * Get error message. - * - * @param mixed $fixtureData - * @param mixed $formData - * @param mixed $field - * @return string - */ - protected function getErrorMessage($fixtureData, $formData, $field) - { - $fixtureData = is_array($fixtureData) ? $this->arrayToString($fixtureData) : $fixtureData; - $formData = is_array($formData) ? $this->arrayToString($formData) : $formData; - return sprintf($this->errorMessagePattern, $field, $fixtureData, $formData); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Integration form was filled correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationInGrid.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationInGrid.php deleted file mode 100644 index 64fa30ca6a06f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationInGrid.php +++ /dev/null @@ -1,54 +0,0 @@ - ($initialIntegration !== null && !$integration->hasData('name')) - ? $initialIntegration->getName() - : $integration->getName(), - ]; - - $integrationIndexPage->open(); - \PHPUnit\Framework\Assert::assertTrue( - $integrationIndexPage->getIntegrationGrid()->isRowVisible($filter), - 'Integration \'' . $filter['name'] . '\' is absent in Integration grid.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Integration is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNameDuplicationErrorMessage.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNameDuplicationErrorMessage.php deleted file mode 100644 index 4b9f6c017fe48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNameDuplicationErrorMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getName()); - $actualMessage = $integrationIndexPage->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Duplicated integration name error message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNotInGrid.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNotInGrid.php deleted file mode 100644 index 1d9240ac82aa6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationNotInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ - $integration->getName()]; - - $integrationIndexPage->open(); - \PHPUnit\Framework\Assert::assertFalse( - $integrationIndexPage->getIntegrationGrid()->isRowVisible($filter), - 'Integration \'' . $filter['name'] . '\' is present in Integration grid.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Integration is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationResourcesPopup.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationResourcesPopup.php deleted file mode 100644 index 32c75c224f588..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationResourcesPopup.php +++ /dev/null @@ -1,81 +0,0 @@ -getResources()) - ? $integration->getResources() - : [$integration->getResources()]; - $formResources = $integrationIndex->getIntegrationGrid()->getResourcesPopup()->getStructure($resourceDepth); - $result = $this->verifyResources($formResources, $fixtureResources); - \PHPUnit\Framework\Assert::assertEmpty( - $result, - "Integration resources is not correct.\nLog:\n" . $result - ); - $integrationIndex->getIntegrationGrid()->getResourcesPopup()->clickAllowButton(); - } - - /** - * Verify that resources are correct. - * - * @param array $formResources - * @param array $fixtureResources - * @return string - */ - protected function verifyResources(array $formResources, array $fixtureResources) - { - $errorMessage = ''; - $topFormResources = []; - - foreach ($fixtureResources as $fixtureResource) { - foreach ($formResources as $formResource) { - if (preg_match('|^' . preg_quote($fixtureResource) . '|', $formResource)) { - $topFormResources[] = $formResource; - } - } - } - $diff = array_diff($formResources, $topFormResources); - if (!empty($diff)) { - $errorMessage = sprintf( - "Resources are not equal.\nExpected: %s\nActual: %s", - implode(",\n", $formResources), - implode(",\n", $topFormResources) - ); - } - - return $errorMessage; - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Resources in popup window are shown correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessActivationMessage.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessActivationMessage.php deleted file mode 100644 index c984eaae41a3a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessActivationMessage.php +++ /dev/null @@ -1,52 +0,0 @@ -getName()); - $actualMessage = $integrationIndexPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Integration success activation message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessDeleteMessage.php deleted file mode 100644 index 04e0d2a090abe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessDeleteMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getName()); - $actualMessage = $integrationIndexPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Integrations success delete message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessReauthorizeMessage.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessReauthorizeMessage.php deleted file mode 100644 index b2db5b905b0ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessReauthorizeMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getName()), - $integrationIndexPage->getMessagesBlock()->getSuccessMessage(), - "Wrong success message is displayed." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Integration success reauthorize message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessage.php deleted file mode 100644 index 75dc1adbf293f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessage.php +++ /dev/null @@ -1,57 +0,0 @@ -hasData('name')) - ? $initialIntegration->getName() - : $integration->getName(); - $expectedMessage = sprintf(self::SUCCESS_SAVE_MESSAGE, $name); - $actualMessage = $integrationIndexPage->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Integration success save message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessageNotPresent.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessageNotPresent.php deleted file mode 100644 index b307091cfb606..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationSuccessSaveMessageNotPresent.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->isVisible()) { - try { - $integrationIndex->getMessagesBlock()->getSuccessMessage(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - $noSuccessMessage = true; - } - } else { - $noSuccessMessage = true; - } - \PHPUnit\Framework\Assert::assertTrue( - $noSuccessMessage, - 'Integration is not saved.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Integration is not saved.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensAfterReauthorize.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensAfterReauthorize.php deleted file mode 100644 index b9adb6bfa2f3e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensAfterReauthorize.php +++ /dev/null @@ -1,102 +0,0 @@ - $integration->getName()]; - $integrationIndex->open(); - $integrationIndex->getIntegrationGrid()->searchAndOpen($filter); - $actualData = $integrationNew->getIntegrationForm()->getData(); - $errors = $this->checkTokens($actualData, $integration->getData()); - - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "Integration tokens was changed incorrectly.\nLog:\n" . implode(";\n", $errors) - ); - } - - /** - * Check tokens was changed correctly. - * - * @param array $actualData - * @param array $tokens - * @return array - */ - protected function checkTokens(array $actualData, array $tokens) - { - $errors = []; - foreach ($this->consumerKeys as $consumerKey) { - if ($actualData[$consumerKey] !== $tokens[$consumerKey]) { - $errors[] = "Field '" . $consumerKey . "' was changed."; - } - } - foreach ($this->accessTokens as $accessToken) { - if ($actualData[$accessToken] === $tokens[$accessToken]) { - $errors[] = "Field '" . $accessToken . "' was not changed."; - } - } - return $errors; - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Access tokens were reauthorized correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensPopup.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensPopup.php deleted file mode 100644 index 22fddd2b17289..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertIntegrationTokensPopup.php +++ /dev/null @@ -1,75 +0,0 @@ -getIntegrationGrid()->getTokensPopup()->getData(); - $tokensKeys = array_keys($tokensData); - $diff = array_diff($this->fields, $tokensKeys); - if (!empty($diff)) { - $errors[] = 'Field(s) "' . implode(', ', $diff) . '" is absent in integration tokens.'; - } - foreach ($tokensData as $key => $value) { - if (empty($value)) { - $errors[] = 'Field with key: ' . $key . '" is empty in integration tokens.'; - } - } - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "Integration tokens is not correct.\nLog:\n" . implode(";\n", $errors) - ); - $integrationIndex->getIntegrationGrid()->getTokensPopup()->clickDoneButton(); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Tokens is shown and not empty.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertNoAlertPopup.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertNoAlertPopup.php deleted file mode 100644 index cb59be6634df4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertNoAlertPopup.php +++ /dev/null @@ -1,45 +0,0 @@ -getFormPageActions()->isAlertPresent(); - if ($isAlertPresent) { - $integrationNew->getFormPageActions()->acceptAlert(); - } - \PHPUnit\Framework\Assert::assertFalse( - $isAlertPresent, - 'Saving an integration should not cause alert.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Integration is saved with no alert.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertUrlValidationErrorGenerated.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertUrlValidationErrorGenerated.php deleted file mode 100644 index 2fabecd2a920c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Constraint/AssertUrlValidationErrorGenerated.php +++ /dev/null @@ -1,53 +0,0 @@ -getIntegrationForm()->getJsErrors("integration_info"); - $urlJsError = false; - foreach ($errors as $error) { - if (strpos($error, 'Please enter a valid URL.') !== false) { - $urlJsError = true; - break; - } - } - Assert::assertTrue( - $urlJsError, - 'Failed to validate callback url (' . $integration->getEndpoint() . ') when saving integration.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Callback url is properly validated when saving integration.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml deleted file mode 100644 index 4890b949bc96c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php deleted file mode 100644 index 5820b6c0747f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php +++ /dev/null @@ -1,123 +0,0 @@ -]+name="%s"[^>]+value="([^"]+)"[^>]+\/>/'; - - /** - * List fields of activation data for getting from page. - * - * @var array - */ - protected $fields = [ - 'consumer_key', - 'consumer_secret', - 'token', - 'token_secret', - ]; - - /** - * Create integration using cURL client. - * - * @param FixtureInterface $fixture - * @throws \Exception - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - /** @var Integration $fixture */ - /** Prepare data for the post to integration save URL */ - $data = $fixture->getData(); - $data['all_resources'] = ($data['resource_access'] === 'All') ? 1 : 0; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $result = []; - - /** Create new integration via cURL */ - $url = $_ENV['app_backend_url'] . 'admin/integration/save'; - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Integration creation by curl handler was not successful! Response: $response"); - } - $result['integration_id'] = $this->getIntegrationId($fixture); - - if (isset($data['status']) && 'Active' == $data['status']) { - $fields = $this->activateIntegration($result['integration_id']); - $result = array_merge($result, $fields); - } - - return $result; - } - - /** - * Get integration id. - * - * @param Integration $integration - * @return int|null - */ - protected function getIntegrationId(Integration $integration) - { - $name = $integration->getName(); - $filter = base64_encode('name=' . $integration->getName()); - $url = $_ENV['app_backend_url'] . 'admin/integration/grid/filter/' . $filter; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - - $curl->write($url); - $response = $curl->read(); - $curl->close(); - - preg_match('~.*?' . $name . '.*?/integration/edit/id/(\d+)/~siu', $response, $matches); - return isset($matches[1]) ? $matches[1] : null; - } - - /** - * Activate integration. - * - * @param int $integrationId - * @return array - */ - protected function activateIntegration($integrationId) - { - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $result = []; - - $url = 'admin/integration/permissionsDialog/id/' . $integrationId . '/reauthorize/0/'; - $curl->write($_ENV['app_backend_url'] . $url, [], CurlInterface::GET); - $curl->read(); - - $url = 'admin/integration/tokensDialog/id/' . $integrationId . '/reauthorize/0/'; - $curl->write($_ENV['app_backend_url'] . $url, [], CurlInterface::GET); - $response = $curl->read(); - $curl->close(); - - foreach ($this->fields as $field) { - $pattern = sprintf($this->patternField, $field); - preg_match($pattern, $response, $matches); - $result[$field] = isset($matches[1]) ? $matches[1] : null; - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/IntegrationInterface.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/IntegrationInterface.php deleted file mode 100644 index 772d86906b44c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/IntegrationInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Page/Adminhtml/IntegrationNew.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Page/Adminhtml/IntegrationNew.xml deleted file mode 100644 index d67114df2365a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Page/Adminhtml/IntegrationNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.xml deleted file mode 100644 index 7d4811c4cb558..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/Repository/Integration.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - default_integration_%isolation% - test_%isolation%@example.com - All - %current_password% - - - - Integration_%isolation% - Integration_%isolation%@example.com - All - Active - %current_password% - - - - default_integration_%isolation% - test_%isolation%@example.com - All - %current_password% - - Dashboard - Sales - Products - Customers - Carts - My Account - Marketing - Content - Reports - Stores - System - Global Search - Catalog - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.php deleted file mode 100644 index 418b45fe8f41f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.php +++ /dev/null @@ -1,67 +0,0 @@ - Extensions > Integrations. - * 3. Click on the "Activate" link near required integration. - * 4. Perform all assertions. - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-26119 - */ -class ActivateIntegrationEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Injection data. - * - * @param IntegrationIndex $integrationIndex - * @return void - */ - public function __inject(IntegrationIndex $integrationIndex) - { - $this->integrationIndexPage = $integrationIndex; - } - - /** - * Activate Integration Entity Test. - * - * @param Integration $integration - * @return void - */ - public function test(Integration $integration) - { - // Preconditions - $integration->persist(); - - // Steps - $filter = ['name' => $integration->getName()]; - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getIntegrationGrid()->searchAndActivate($filter); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.xml deleted file mode 100644 index 11a8ed006af30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ActivateIntegrationEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - test_type:extended_acceptance_test - default_with_all_resources - 1 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.php deleted file mode 100644 index 9f6bde2c75bc7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.php +++ /dev/null @@ -1,73 +0,0 @@ - Extensions > Integrations. - * 3. Start to create new Integration. - * 4. Fill in all data according to data set. - * 5. Click "Save" button. - * 6. Perform all assertions. - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-26009, MAGETWO-16755, MAGETWO-16819, MAGETWO-16820 - */ -class CreateIntegrationEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Integration new page. - * - * @var IntegrationNew - */ - protected $integrationNewPage; - - /** - * Injection data. - * - * @param IntegrationIndex $integrationIndex - * @param IntegrationNew $integrationNew - * @return void - */ - public function __inject(IntegrationIndex $integrationIndex, IntegrationNew $integrationNew) - { - $this->integrationIndexPage = $integrationIndex; - $this->integrationNewPage = $integrationNew; - } - - /** - * Create Integration Entity test. - * - * @param Integration $integration - * @return void - */ - public function test(Integration $integration) - { - // Steps - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getGridPageActions()->addNew(); - $this->integrationNewPage->getIntegrationForm()->fill($integration); - $this->integrationNewPage->getFormPageActions()->saveNew(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.xml deleted file mode 100644 index e9d1a94dbbd90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationEntityTest.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - Integration%isolation% - test@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - - Integration%isolation% - %current_password% - Custom - Sales/Operations/Invoices - false - - - - - - Integration%isolation% - %current_password% - All - - - - - - <script>alert('XSS-%isolation%')</script> - - - <script>alert('XSS')</script> - <script>alert('XSS')</script> - %current_password% - All - - - - - <IMG SRC=javascript:alert('XSS-%isolation%')> - - - <IMG SRC=javascript:alert('XSS')> - <IMG SRC=javascript:alert('XSS')> - %current_password% - All - - - - - name-%isolation%' OR 'a'='a - - - endpoint' OR 'a'='a - link' OR 'a'='a - %current_password% - All - - - - - name-%isolation%" OR "a"="a - - - endpoint" OR "a"="a - link" OR "a"="a - %current_password% - All - - - - - name-%isolation%" OR 'a"='a - - - endpoint" OR 'a"='a - link" OR 'a"='a - %current_password% - All - - - - - Integration%isolation% - abc.example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - abc.@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - abc..123@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - a@b@c@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - a"b(c)d,e:f;g<h>i[j\k]l@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - this\ still\"not\\allowed@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - just"not"right@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - this is"not\allowed@example.com - https://endpoint.com - https://testlink.com - %current_password% - All - - - - - Integration%isolation% - test@example.com - https://endpoint.com - https://testlink.com - incorrect password - All - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.php deleted file mode 100644 index c8ae8824a67c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.php +++ /dev/null @@ -1,82 +0,0 @@ - Extensions > Integrations - * 3. Click 'Add New Integration' - * 4. Fill in all required data - * 5. Click "Save" button to save Integration1 - * 6. Click 'Add New Integration' - * 7. Fill in all required data and use the same name as for Integration1 - * 8. Click "Save" button - * 9. Perform all assertions - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-16756 - */ -class CreateIntegrationWithDuplicatedNameTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Integration new page. - * - * @var IntegrationNew - */ - protected $integrationNewPage; - - /** - * Injection data. - * - * @param IntegrationIndex $integrationIndex - * @param IntegrationNew $integrationNew - * @return void - */ - public function __inject( - IntegrationIndex $integrationIndex, - IntegrationNew $integrationNew - ) { - $this->integrationIndexPage = $integrationIndex; - $this->integrationNewPage = $integrationNew; - } - - /** - * Create Integration Entity with existing name test. - * - * @param Integration $integration - * @return array - */ - public function test(Integration $integration) - { - // Precondition - $integration->persist(); - - // Steps - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getGridPageActions()->addNew(); - $this->integrationNewPage->getIntegrationForm()->fill($integration); - $this->integrationNewPage->getFormPageActions()->saveNew(); - return ['integration' => $integration]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.xml deleted file mode 100644 index 2cd14d9de05a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/CreateIntegrationWithDuplicatedNameTest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - mftf_migrated:yes - default - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.php deleted file mode 100644 index a9549f5525521..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.php +++ /dev/null @@ -1,67 +0,0 @@ - Extensions > Integrations. - * 3. Click on the "Remove" icon for required integration. - * 4. Click "Delete" button. - * 5. Perform all assertions. - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-26058 - */ -class DeleteIntegrationEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Injection data. - * - * @param IntegrationIndex $integrationIndex - * @return void - */ - public function __inject(IntegrationIndex $integrationIndex) - { - $this->integrationIndexPage = $integrationIndex; - } - - /** - * Delete Integration Entity test. - * - * @param Integration $integration - * @return void - */ - public function test(Integration $integration) - { - // Precondition - $integration->persist(); - - // Steps - $filter = ['name' => $integration->getName()]; - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getIntegrationGrid()->searchAndDelete($filter); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.xml deleted file mode 100644 index a43b88469faae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/DeleteIntegrationEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - default - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 265790ed4b763..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - System > Integrations - Integrations - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.php deleted file mode 100644 index a8c81ea14ba46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.php +++ /dev/null @@ -1,90 +0,0 @@ -integrationIndex = $integrationIndex; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Test for Reauthorize tokens for the Integration Entity. - * - * @param Integration $integration - * @return array - */ - public function test(Integration $integration) - { - // Precondition - $integration->persist(); - $filter = ['name' => $integration->getName()]; - $this->integrationIndex->open(); - $this->integrationIndex->getIntegrationGrid()->searchAndActivate($filter); - $this->integrationIndex->getIntegrationGrid()->getResourcesPopup()->clickAllowButton(); - $tokens = $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->getData(); - $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->clickDoneButton(); - $integration = $this->fixtureFactory->createByCode( - 'integration', - ['data' => array_merge($integration->getData(), $tokens)] - ); - - // Steps - $this->integrationIndex->getIntegrationGrid()->searchAndReauthorize($filter); - $this->integrationIndex->getIntegrationGrid()->getResourcesPopup()->clickReauthorizeButton(); - $this->integrationIndex->getIntegrationGrid()->getTokensPopup()->clickDoneButton(); - - return ['integration' => $integration]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.xml deleted file mode 100644 index bd090ad18a26f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/ReAuthorizeTokensIntegrationEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Re-authorize integration - mftf_migrated:yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.php b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.php deleted file mode 100644 index d6cb982468fa0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.php +++ /dev/null @@ -1,81 +0,0 @@ - Extensions > Integrations. - * 3. Select an integration in the grid. - * 4. Edit test value(s) according to dataset. - * 5. Click "Save" button. - * 6. Perform all assertions. - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-26102 - */ -class UpdateIntegrationEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Integration edit page. - * - * @var IntegrationNew - */ - protected $integrationNewPage; - - /** - * Injection data. - * - * @param IntegrationIndex $integrationIndex - * @param IntegrationNew $integrationNew - * @return void - */ - public function __inject(IntegrationIndex $integrationIndex, IntegrationNew $integrationNew) - { - $this->integrationIndexPage = $integrationIndex; - $this->integrationNewPage = $integrationNew; - } - - /** - * Update Integration Entity test. - * - * @param Integration $initialIntegration - * @param Integration $integration - * @return void - */ - public function test(Integration $initialIntegration, Integration $integration) - { - // Precondition - $initialIntegration->persist(); - - // Steps - $filter = ['name' => $initialIntegration->getName()]; - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getIntegrationGrid()->searchAndOpen($filter); - $this->integrationNewPage->getIntegrationForm()->fill($integration); - $this->integrationNewPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.xml deleted file mode 100644 index 97b31c5d6502d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/TestCase/UpdateIntegrationEntityTest.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Integration_%isolation% - - - https://endpoint.com - https://testlink.com - %current_password% - - - - - - - - mftf_migrated:yes - - - stable:no - Integration_%isolation% - - - - - - - %current_password% - Custom - Sales - - - - - - Integration_%isolation% - - - - - - - incorrect password - Custom - Sales - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/etc/curl/di.xml deleted file mode 100644 index 9745c0e1b1265..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/etc/di.xml deleted file mode 100644 index 1ca18040af3a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Integration/Test/etc/di.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Block/Navigation.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Block/Navigation.php deleted file mode 100644 index 97c43d7c4e2ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Block/Navigation.php +++ /dev/null @@ -1,192 +0,0 @@ -_rootElement->find($this->clearAll)->click(); - } - - /** - * Get all available filters. - * - * @return array - */ - public function getFilters() - { - $this->waitForElementVisible($this->loadedNarrowByList); - - $options = $this->_rootElement->getElements(sprintf($this->optionTitle, ''), Locator::SELECTOR_XPATH); - $data = []; - foreach ($options as $option) { - $data[] = strtoupper($option->getText()); - } - - return $data; - } - - /** - * Apply Layered Navigation filter. - * - * @param string $filter - * @param string $linkPattern - * @return void - * @throws \Exception - */ - public function applyFilter($filter, $linkPattern) - { - $links = sprintf($this->filterLink, $filter); - $this->openFilterContainer($filter, $links); - - $links = $this->_rootElement->getElements($links, Locator::SELECTOR_XPATH); - foreach ($links as $link) { - if (preg_match($linkPattern, trim($link->getText()))) { - $link->click(); - return; - } - } - throw new \Exception("Can't find {$filter} filter link by pattern: {$linkPattern}"); - } - - /** - * Check that category with product quantity can be displayed on layered navigation. - * - * @param Category $category - * @param int $qty - * @return bool - */ - public function isCategoryVisible(Category $category, $qty) - { - $link = sprintf($this->categoryName, $category->getName()); - - if (!$this->_rootElement->find($link, Locator::SELECTOR_XPATH)->isVisible()) { - $this->openFilterContainer('Category', $link); - return $this->_rootElement->find( - $link . sprintf($this->productQtyInCategory, $qty), - Locator::SELECTOR_XPATH - )->isVisible(); - } else { - return $this->_rootElement->find( - $link . sprintf($this->productQty, $qty), - Locator::SELECTOR_XPATH - )->isVisible(); - } - } - - /** - * Get Layered Navigation filter options. - * - * @param string $attributeLabel - * @return array - */ - public function getFilterContents($attributeLabel) - { - $data = []; - - if (trim($attributeLabel) === '') { - return $data; - } - - $link = sprintf($this->filterLink, $attributeLabel); - $this->openFilterContainer($attributeLabel, $link); - - $optionContents = $this->_rootElement->getElements($link, Locator::SELECTOR_XPATH); - - foreach ($optionContents as $optionContent) { - $data[] = trim(strtoupper($optionContent->getText())); - } - - return $data; - } - - /** - * Open filter container. - * - * @param string $filter - * @param string $link - * @return void - */ - private function openFilterContainer($filter, $link) - { - $expandFilterButton = sprintf($this->optionTitle, $filter); - - $this->waitForElementVisible($this->loadedNarrowByList); - if (!$this->_rootElement->find($link, Locator::SELECTOR_XPATH)->isVisible()) { - $this->_rootElement->find($expandFilterButton, Locator::SELECTOR_XPATH)->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategoryLayeredNavigation.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategoryLayeredNavigation.php deleted file mode 100644 index e610b131cec60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategoryLayeredNavigation.php +++ /dev/null @@ -1,91 +0,0 @@ -browser = $browser; - $this->openCategory($category->getDataFieldConfig('parent_id')['source']->getParentCategory()); - - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getLayeredNavigationBlock()->isCategoryVisible($category, 1), - 'Category ' . $category->getName() . ' is absent in Layered Navigation.' - ); - - $productsOnCategoryPage = $catalogCategoryView->getListProductBlock()->getProductNames(); - $productsInCategory = $category->getDataFieldConfig('category_products')['source']->getProducts(); - foreach ($productsInCategory as $product) { - \PHPUnit\Framework\Assert::assertTrue( - in_array($product->getName(), $productsOnCategoryPage), - 'Product ' . $product->getName() . ' is absent on category page.' - ); - } - } - - /** - * Open category. - * - * @param Category $category - * @return void - */ - private function openCategory(Category $category) - { - $categoryUrlKey = []; - - while ($category) { - $categoryUrlKey[] = $category->hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($category !== null && 1 == $category->getParentId()) { - $category = null; - } - } - $categoryUrlKey = $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; - - $this->browser->open($categoryUrlKey); - } - - /** - * Assert success message that category is present in layered navigation and product is visible in product grid. - * - * @return string - */ - public function toString() - { - return 'Category is present in layered navigation and product is visible in product grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategorySortingOnFilteredProductList.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategorySortingOnFilteredProductList.php deleted file mode 100644 index 3cf996fbc6cbd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategorySortingOnFilteredProductList.php +++ /dev/null @@ -1,87 +0,0 @@ -products = $category->getDataFieldConfig('category_products')['source']->getProducts(); - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - $filteredIndexes = range(0, count($this->products)); - foreach ($layeredNavigation as $filters) { - foreach ($filters as $filter) { - $catalogCategoryView->getLayeredNavigationBlock()->applyFilter( - $filter['title'], - $filter['linkPattern'] - ); - $filteredIndexes = array_intersect( - $filteredIndexes, - array_map( - function ($productKey) { - return str_replace('product_', '', trim($productKey)); - }, - explode(',', $filter['products']) - ) - ); - } - } - $catalogCategoryView->getTopToolbar()->applySorting($sortBy); - \PHPUnit\Framework\Assert::assertEquals( - array_map( - function ($index) { - return $this->products[$index]->getName(); - }, - array_values($filteredIndexes) - ), - $catalogCategoryView->getListProductBlock()->getProductNames(), - 'Products are filtered or sorted incorrectly.' - ); - $catalogCategoryView->getLayeredNavigationBlock()->clearAll(); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products are filtered and sorted in the correct way.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php deleted file mode 100644 index 9fa1fa01bacca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php +++ /dev/null @@ -1,90 +0,0 @@ -products = $category->getDataFieldConfig('category_products')['source']->getProducts(); - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - - foreach ($layeredNavigation as $filters) { - foreach ($filters as $filter) { - $catalogCategoryView->getLayeredNavigationBlock()->applyFilter( - $filter['title'], - $filter['linkPattern'] - ); - - $productNames = $this->getProductNames($filter['products']); - sort($productNames); - $pageProductNames = $catalogCategoryView->getListProductBlock()->getProductNames(); - sort($pageProductNames); - \PHPUnit\Framework\Assert::assertEquals($productNames, $pageProductNames); - } - $catalogCategoryView->getLayeredNavigationBlock()->clearAll(); - } - } - - /** - * Get product names list by keys. - * - * @param string $productKeys - * @return array - */ - protected function getProductNames($productKeys) - { - $keys = array_map('trim', explode(',', $productKeys)); - $productNames = []; - - foreach ($keys as $key) { - $key = str_replace('product_', '', $key); - $productNames[] = $this->products[$key]->getName(); - } - - return $productNames; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Filtered product list via layered navigation are displayed correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php deleted file mode 100644 index 6a82795f782d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertProductsCount.php +++ /dev/null @@ -1,101 +0,0 @@ -browser = $browser; - $this->catalogCategoryView = $catalogCategoryView; - while ($category) { - $parentCategory = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($parentCategory && $parentCategory->getData('is_anchor') == 'No') { - $this->openCategory($parentCategory); - \PHPUnit\Framework\Assert::assertTrue( - $this->catalogCategoryView->getLayeredNavigationBlock()->isCategoryVisible( - $category, - $productsCount - ), - 'Category ' . $category->getName() . ' is absent in Layered Navigation or products count is wrong' - ); - } - $category = $parentCategory; - } - } - - /** - * Open category. - * - * @param Category $category - * @return void - */ - private function openCategory(Category $category) - { - $categoryUrlKey = []; - - while ($category) { - $categoryUrlKey[] = $category->hasData('url_key') - ? strtolower($category->getUrlKey()) - : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-'); - - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - if ($category !== null && 1 == $category->getParentId()) { - $category = null; - } - } - $categoryUrlKey = $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html'; - - $this->browser->open($categoryUrlKey); - } - - /** - * Assert success message that category is present in layered navigation and product is visible in product grid. - * - * @return string - */ - public function toString() - { - return 'Category is present in layered navigation and product is visible in product grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Page/Category/CatalogCategoryView.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Page/Category/CatalogCategoryView.xml deleted file mode 100644 index 1bfa2da88b77e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Page/Category/CatalogCategoryView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml deleted file mode 100644 index 7799faf309ccf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/Category.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_category - - Yes - No - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_non_anchored_subcategory - - Yes - Yes - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_second_level_anchored_subcategory - - Yes - No - Yes - - - - DefaultSubcategory%isolation% - default-subcategory-%isolation% - - default_third_level_non_anchored_subcategory - - Yes - Yes - Yes - - - diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/ConfigData.xml deleted file mode 100644 index 85c8e82b254c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - default - 0 - 1 - - - default - 0 - manual - - - default - 0 - 10 - - - default - 0 - 10 - - - - - default - 0 - 1 - - - default - 0 - auto - - - - - default - 0 - 1 - - - default - 0 - improved - - - default - 0 - 0 - - - default - 0 - 3 - - - - - default - 0 - 1 - - - default - 0 - auto - - - - - default - 0 - 1 - - - default - 0 - auto - - - - - default - 0 - 1 - - - default - 0 - auto - - - - diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.php deleted file mode 100644 index ea69fac43a066..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.php +++ /dev/null @@ -1,93 +0,0 @@ -configData = $configData; - $this->flushCache = $flushCache; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => $this->flushCache] - )->run(); - - if ($runReindex) { - $indexer->reindex(); - } - - // Steps - $category->persist(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true, 'flushCache' => $this->flushCache] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.xml deleted file mode 100644 index fa285a13655d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/FilterProductListTest.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - layered_navigation_manual_range_10 - true - default_anchor_subcategory - catalogProductSimple::product_20_dollar, configurableProduct::filterable_two_options_with_zero_price - - - - Price - `^.+10\.00 - .+19\.99 1$`m - product_1 - - - - - attribute_dropdown - `^option_0_[0-9]+ 1$`m - product_1 - - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - layered_navigation_automatic_equalize_price_range - true - default_anchor_subcategory - - catalogProductSimple::product_1_dollar, catalogProductSimple::product_5_dollar, catalogProductSimple::product_9_99_dollar, catalogProductSimple::product_10_dollar, catalogProductSimple::product_15_dollar, catalogProductSimple::product_21_dollar - - - - - Price - `^.+0\.00 - .+9\.99 3$`m - product_0, product_1, product_2 - - - - - Price - `^.+10\.00 - .+19\.99 2$`m - product_3, product_4 - - - - - Price - `^.+20\.00 and above 1$`m - product_5 - - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - layered_navigation_automatic_equalize_product_counts - true - default_anchor_subcategory - - catalogProductSimple::product_1_dollar, catalogProductSimple::product_5_dollar, catalogProductSimple::product_9_99_dollar, catalogProductSimple::product_10_dollar, catalogProductSimple::product_15_dollar, catalogProductSimple::product_21_dollar - - - - - Price - `^.+0\.00 - .+9\.99 3$`m - product_0, product_1, product_2 - - - - - Price - `^.+10\.00 and above 3$`m - product_3, product_4, product_5 - - - - - - - - layered_navigation_manual_range_10 - true - default_anchor_subcategory - configurableProduct::filterable_two_options_with_zero_price, catalogProductSimple::product_20_dollar, catalogProductSimple::product_10_dollar - - - - Price - `^.+10\.00 - .+19\.99 2$`m - product_2, product_0 - - - - - Product Name - asc - - - - - - layered_navigation_manual_range_10 - true - true - default_anchor_subcategory - - catalogProductSimple::product_1_dollar, catalogProductSimple::product_5_dollar, catalogProductSimple::product_9_99_dollar, catalogProductSimple::product_10_dollar, catalogProductSimple::product_15_dollar, catalogProductSimple::product_21_dollar - - - - - Price - `^.+0\.00 - .+9\.99 3$`m - product_0, product_1, product_2 - - - - - Price - `^.+10\.00 - .+19\.99 2$`m - product_3, product_4 - - - - - Price - `^.+20\.00 and above 1$`m - product_5 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php deleted file mode 100644 index e55cc0d9e0610..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.php +++ /dev/null @@ -1,140 +0,0 @@ - Is Anchor: No - * - Category 2: - * Category name: "Test2" - * Parent Category: Test1 - * Display settings -> Is Anchor: Yes - * - Category 3: - * Category name: "Test3" - * Parent Category: Test2 - * Display settings -> Is Anchor: No - * - Category 4: - * Category name: "Test4" - * Parent Category: Test3 - * Display settings -> Is Anchor: Yes - * 2. Create configurable product with two configurable options and assign it to category "Test4" - * - * Steps: - * 1. Disable configurable options via massaction or from edit product page - * 2. Open created non anchored categories on frontend. - * On the left side in the Layered Navigation there is one category inside each of achored with zero products inside. - * 3. Open created anchored categories on frontend. There are no products inside. - * - * @group Layered_Navigation - * @ZephyrId MAGETWO-90123 - */ -class ProductsCountInLayeredNavigationTest extends Injectable -{ - /** - * Product page with a grid - * - * @var CatalogProductIndex - */ - protected $catalogProductIndex; - - /** - * Page to update a product - * - * @var CatalogProductEdit - */ - protected $editProductPage; - - /** - * Fixture factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Injection data - * - * @param CatalogProductIndex $catalogProductIndex - * @param CatalogProductEdit $editProductPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - CatalogProductIndex $catalogProductIndex, - CatalogProductEdit $editProductPage, - FixtureFactory $fixtureFactory - ) { - $this->catalogProductIndex = $catalogProductIndex; - $this->editProductPage = $editProductPage; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Test category name and products count displaying in layered navigation after configurable options disabling. - * - * @param Category $category - * @param bool $disableFromProductsGreed - * @return array - */ - public function test( - Category $category, - bool $disableFromProductsGreed = true - ) { - // Preconditions - $category->persist(); - // Steps - $products = $category->getDataFieldConfig('category_products')['source']->getProducts(); - $configurableOptions = []; - /** @var \Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ $product */ - foreach ($products as $product) { - $configurableOptions = array_merge( - $configurableOptions, - $product->getConfigurableAttributesData()['matrix'] - ); - } - // Disable configurable options - if ($disableFromProductsGreed) { - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->massaction( - array_map( - function ($assignedProduct) { - return ['sku' => $assignedProduct['sku']]; - }, - $configurableOptions - ), - ['Change status' => 'Disable'] - ); - } else { - $productToDisable = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => ['status' => 'No']] - ); - foreach ($configurableOptions as $configurableOption) { - $filter = ['sku' => $configurableOption['sku']]; - $this->catalogProductIndex->open(); - $this->catalogProductIndex->getProductGrid()->searchAndOpen($filter); - $this->editProductPage->getProductForm()->fill($productToDisable); - $this->editProductPage->getFormPageActions()->save(); - } - } - - return [ - 'products' => $configurableOptions, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml b/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml deleted file mode 100644 index 0cf932d15cc88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/TestCase/ProductsCountInLayeredNavigationTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - true - true - default_fourth_level_anchored_subcategory - configurableProduct::product_with_size - 0 - true - - - - true - true - default_fourth_level_anchored_subcategory - configurableProduct::product_with_size - 0 - false - - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ListProduct.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ListProduct.php deleted file mode 100644 index ce964eb63467c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ListProduct.php +++ /dev/null @@ -1,33 +0,0 @@ -productItem, $product->getName()); - - return $this->blockFactory->create( - \Magento\Msrp\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/Map.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/Map.php deleted file mode 100644 index b01f07c0d04b3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/Map.php +++ /dev/null @@ -1,84 +0,0 @@ - [ - 'selector' => '.actual-price .price', - ], - 'old_price' => [ - 'selector' => '.old-price .price-wrapper', - ] - ]; - - /** - * 'Add to Cart' button. - * - * @var string - */ - protected $addToCart = '.action.tocart'; - - /** - * 'Close' button. - * - * @var string - */ - protected $close = '.class="ui-dialog-buttonset .action.close'; - - /** - * Get actual Price value on frontend. - * - * @param string $currency - * @return string|null - */ - public function getActualPrice($currency = '$') - { - return $this->getTypePrice('actual_price', $currency); - } - - /** - * Get old Price value on frontend. - * - * @param string $currency - * @return string|null - */ - public function getOldPrice($currency = '$') - { - return $this->getTypePrice('old_price', $currency); - } - - /** - * Add product to shopping cart from MAP Block. - * - * @return void - */ - public function addToCart() - { - $this->_rootElement->find($this->addToCart)->click(); - } - - /** - * Close MAP Block. - * - * @return void - */ - public function close() - { - $this->_rootElement->find($this->close)->click(); - $this->waitForElementNotVisible($this->close); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ProductList/ProductItem.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ProductList/ProductItem.php deleted file mode 100644 index bac92cb1b4650..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/ProductList/ProductItem.php +++ /dev/null @@ -1,54 +0,0 @@ -_rootElement->find($this->mapLink)->click(); - $this->waitForElementVisible($this->mapPopupBlock, Locator::SELECTOR_XPATH); - } - - /** - * Return MAP block. - * - * @return Map - */ - public function getMapBlock() - { - return $this->blockFactory->create( - \Magento\Msrp\Test\Block\Product\Map::class, - ['element' => $this->_rootElement->find($this->mapPopupBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/View.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/View.php deleted file mode 100644 index 16bffb094cb06..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Block/Product/View.php +++ /dev/null @@ -1,53 +0,0 @@ -_rootElement->find($this->clickForPrice, Locator::SELECTOR_CSS)->click(); - $this->waitForElementVisible($this->mapPopupBlock, Locator::SELECTOR_XPATH); - } - - /** - * Return MAP block. - * - * @return Map - */ - public function getMapBlock() - { - return $this->blockFactory->create( - \Magento\Msrp\Test\Block\Product\Map::class, - ['element' => $this->_rootElement->find($this->mapPopupBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnCategoryPage.php deleted file mode 100644 index 5d59fd4c452ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnCategoryPage.php +++ /dev/null @@ -1,63 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - - $productBlock = $catalogCategoryView->getMsrpListProductBlock()->getProductItem($product); - $productBlock->openMapBlock(); - $mapBlock = $productBlock->getMapBlock(); - \PHPUnit\Framework\Assert::assertEquals( - $product->getMsrp(), - $mapBlock->getOldPrice(), - 'Displayed on Category page MAP is incorrect.' - ); - $priceData = $product->getDataFieldConfig('price')['source']->getPriceData(); - $price = isset($priceData['category_price']) ? $priceData['category_price'] : $product->getPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $price, - $mapBlock->getActualPrice(), - 'Displayed on Category page price is incorrect.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return "Displayed Product MAP data on category page is correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnProductView.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnProductView.php deleted file mode 100644 index 3b35cbe7eca5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnProductView.php +++ /dev/null @@ -1,67 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - - $viewBlock = $catalogProductView->getMsrpViewBlock(); - $viewBlock->openMapBlock(); - $mapBlock = $viewBlock->getMapBlock(); - \PHPUnit\Framework\Assert::assertContains( - $product->getMsrp(), - $mapBlock->getOldPrice(), - 'Displayed on Product view page MAP is incorrect.' - ); - $priceData = $product->getDataFieldConfig('price')['source']->getPriceData(); - $price = isset($priceData['category_price']) ? $priceData['category_price'] : $product->getPrice(); - \PHPUnit\Framework\Assert::assertEquals( - $price, - $mapBlock->getActualPrice(), - 'Displayed on Product view page price is incorrect.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return "Displayed Product MAP data on product view page is correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpInShoppingCart.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpInShoppingCart.php deleted file mode 100644 index 4615ef47eb393..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpInShoppingCart.php +++ /dev/null @@ -1,69 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - - if ($product->hasData('checkout_data') || $product->getMsrpDisplayActualPriceType() === 'In Cart') { - $catalogProductView->getViewBlock()->addToCart($product); - } else { - $catalogProductView->getMsrpViewBlock()->openMapBlock(); - $catalogProductView->getMsrpViewBlock()->getMapBlock()->addToCart(); - } - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - $checkoutCart->open(); - - $priceData = $product->getDataFieldConfig('price')['source']->getPriceData(); - $productPrice = isset($priceData['category_price']) ? $priceData['category_price'] : $product->getPrice(); - $unitPrice = $checkoutCart->getCartBlock()->getCartItem($product)->getPrice(); - \PHPUnit\Framework\Assert::assertEquals($productPrice, $unitPrice, 'Incorrect unit price is displayed in Cart'); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return "Displayed Product MAP data in Shopping Cart is correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnCategoryPage.php deleted file mode 100644 index f77a6dbe4cad2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnCategoryPage.php +++ /dev/null @@ -1,64 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - - $productBlock = $catalogCategoryView->getMsrpListProductBlock()->getProductItem($product); - \PHPUnit\Framework\Assert::assertTrue( - $productBlock->isVisible(), - 'Product is invisible on Category page.' - ); - - $priceBlock = $productBlock->getPriceBlock(); - \PHPUnit\Framework\Assert::assertEquals( - $product->getMsrp(), - $priceBlock->getOldPrice(), - 'Displayed on Category page MSRP is incorrect.' - ); - \PHPUnit\Framework\Assert::assertFalse( - $priceBlock->isRegularPriceVisible(), - 'Regular price on Category page is visible and not expected.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return "Displayed Product MSRP data on category page is correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnProductView.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnProductView.php deleted file mode 100644 index 2b8683c7c0e22..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnProductView.php +++ /dev/null @@ -1,63 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - - $viewBlock = $catalogProductView->getMsrpViewBlock(); - $priceBlock = $viewBlock->getPriceBlock(); - \PHPUnit\Framework\Assert::assertEquals( - $product->getMsrp(), - $priceBlock->getOldPrice(), - 'Displayed on Product view page MSRP is incorrect' - ); - \PHPUnit\Framework\Assert::assertFalse( - $priceBlock->isRegularPriceVisible(), - 'Regular price on Product view page is visible and not expected.' - ); - } - - /** - * Return string representation of object. - * - * @return string - */ - public function toString() - { - return "Displayed Product MSRP data on product view page is correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertProductEditPageAdvancedPricingFields.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertProductEditPageAdvancedPricingFields.php deleted file mode 100644 index 2901ff86dd5e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertProductEditPageAdvancedPricingFields.php +++ /dev/null @@ -1,51 +0,0 @@ -open(['id' => $product->getId()]); - $catalogProductEdit->getProductForm()->openSection('advanced-pricing'); - $advancedPricing = $catalogProductEdit->getProductForm()->getSection('advanced-pricing'); - - \PHPUnit\Framework\Assert::assertTrue( - $advancedPricing->checkField($this->manufacturerFieldTitle), - '"Minimum Advertised Price" field is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '"Minimum Advertised Price" field is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Category/CatalogCategoryView.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Category/CatalogCategoryView.xml deleted file mode 100644 index 2859b7cf1e95b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Category/CatalogCategoryView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index 7bf37d1cd593c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/CatalogProductSimple.xml deleted file mode 100644 index 437d8721fb2d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/CatalogProductSimple.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - default - - Simple Product with msrp %isolation% - sku_simple_product_with_msrp_%isolation% - 1 - This item has weight - - 25 - In Stock - - - 560 - - - - - taxable_goods - - - - default - - - Catalog, Search - - simple_order_default - - 600 - Before Order Confirmation - - - - Simple Product with msrp %isolation% - simple-product-with-msrp-%isolation% - sku_simple_product_with_msrp_%isolation% - 1 - This item has weight - - 1000 - In Stock - - - 10 - - - - - default_subcategory - - - taxable_goods - - - - default - - - - No - - 15 - On Gesture - - - - \'Simple Product with\' msrp %isolation% - simple-product-with-msrp-%isolation% - sku_simple_product_with_msrp_%isolation% - 1 - This item has weight - - 1000 - In Stock - - - 10 - - - - - default_subcategory - - - taxable_goods - - - - default - - - - No - - 15 - In Cart - - - - \'Simple Product with\' msrp on gesture %isolation% - simple-product-with-msrp on gesture-%isolation% - sku_simple_product_with_msrp_on_gesture_%isolation% - 1 - This item has weight - - 1000 - In Stock - - - 20 - - - - - default_subcategory - - - taxable_goods - - - - default - - - - No - - 35 - On Gesture - - - - \'Simple Product with msrp on gesture %isolation% - simple-product-with-msrp on gesture-%isolation% - sku_simple_product_with_msrp_on_gesture_%isolation% - 1 - This item has weight - - 1000 - In Stock - - - 20 - - - - - default_subcategory - - - taxable_goods - - - - default - - - - No - - 35 - On Gesture - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigData.xml deleted file mode 100644 index 96aae53330051..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - sales - 1 - Yes - 1 - - - - - - sales - 1 - No - 0 - - - - - - sales - 1 - Yes - 1 - - - sales - 1 - Before Order Confirmation - 3 - - - - - - sales - 1 - No - 0 - - - sales - 1 - On Gesture - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigurableProduct.xml deleted file mode 100644 index a825039a25b9c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/Repository/ConfigurableProduct.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - Test configurable product %isolation% - sku_test_configurable_product_%isolation% - - 10 - default - - 30 - - taxable_goods - - test-configurable-product-%isolation% - - default_subcategory - - - 1 - In Stock - - - one_variation_one_dollar - - - - default - - - - custom_attribute_set - - - configurable_one_option - - 15 - On Gesture - - - diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.php b/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.php deleted file mode 100644 index 9f6f2189cf9ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.php +++ /dev/null @@ -1,59 +0,0 @@ -objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'msrp'] - )->run(); - $product = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductStep::class, - ['product' => $product] - )->run(); - - return $product; - } - - /** - * Disable MAP on Config level. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'msrp', 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.xml b/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.xml deleted file mode 100644 index 32d86dec7a52a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Msrp/Test/TestCase/ApplyMapTest.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - catalogProductSimple::msrp_on_gesture - - - - - - - - configurableProduct::msrp_on_gesture_one_variation - test_type:acceptance_test, test_type:extended_acceptance_test - - - - - - - - catalogProductSimple::msrp_display_actual_price_in_cart_with_quotes_in_product_name - - - - - - catalogProductSimple::msrp_on_gesture_for_product_with_single_quotes_in_product_name - - - - - - - - catalogProductSimple::msrp_on_gesture_for_product_with_one_single_quote_in_product_name - - - - - - - - bundleProduct::bundle_fixed_product - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php deleted file mode 100644 index a52fbe43373c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Addresses.php +++ /dev/null @@ -1,68 +0,0 @@ -_rootElement->find($this->newAddress, Locator::SELECTOR_CSS)->click(); - } - - /** - * Select shipping addresses for products. - * - * @param array $bindings - * @return void - */ - public function selectAddresses($bindings) - { - foreach ($bindings as $key => $value) { - $this->_rootElement->find( - '//tr[.//a[text()="' . $key . '"]]//select[contains(@name,"[address]")]', - Locator::SELECTOR_XPATH, - 'select' - )->setValue($value); - } - $this->clickContinueButton(); - } - - /** - * Click "Continue to Billing Information" button. - * - * @return void - */ - public function clickContinueButton() - { - $this->_rootElement->find($this->continue)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Billing.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Billing.php deleted file mode 100644 index ee274e44ba550..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Billing.php +++ /dev/null @@ -1,46 +0,0 @@ -_rootElement->find('#p_method_' . $payment['method'], Locator::SELECTOR_CSS)->click(); - if (isset($payment['dataConfig']['payment_form_class'])) { - $paymentFormClass = $payment['dataConfig']['payment_form_class']; - /** @var $formBlock \Magento\Mtf\Block\Form */ - $formBlock = $this->blockFactory->create( - $paymentFormClass, - ['element' => $this->_rootElement->find('#payment_form_' . $payment['method'], Locator::SELECTOR_CSS)] - ); - $formBlock->fill($payment['credit_card']); - } - - $this->_rootElement->find($this->continue, Locator::SELECTOR_CSS)->click(); - $this->waitForElementNotVisible('.please-wait'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Link.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Link.php deleted file mode 100644 index f9c0d8713e210..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Link.php +++ /dev/null @@ -1,25 +0,0 @@ -_rootElement->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Overview.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Overview.php deleted file mode 100644 index fbbed2c5d7dfa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Overview.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->placeOrder)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Shipping.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Shipping.php deleted file mode 100644 index 24c40ea774bee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Shipping.php +++ /dev/null @@ -1,60 +0,0 @@ -getData('fields'); - $shippingService = $method['shipping_service']; - $shippingMethod = $method['shipping_method']; - } else { - $shippingService = $shipping['shipping_service']; - $shippingMethod = $shipping['shipping_method']; - } - $selector = '//div[' . $count++ . '][contains(@class,"block-shipping")]//dt[text()="' - . $shippingService . '"]/following-sibling::*//*[contains(text(), "' - . $shippingMethod . '")]'; - $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->click(); - } - $this->clickContinueButton(); - } - - /** - * Click continue button. - * - * @return void - */ - public function clickContinueButton() - { - $this->_rootElement->find($this->continueButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Success.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Success.php deleted file mode 100644 index 8c29d19bf6337..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Block/Checkout/Success.php +++ /dev/null @@ -1,66 +0,0 @@ -_rootElement->find($this->continue, Locator::SELECTOR_CSS)->click(); - $this->waitForElementNotVisible('.please-wait'); - } - - /** - * Get ids for placed order - * - * @param int $ordersNumber - * @return array - */ - public function getOrderIds($ordersNumber) - { - $continueShopping = $this->_rootElement->find($this->continueShopping); - $this->_rootElement->waitUntil( - function () use ($continueShopping) { - return $continueShopping->isVisible() ? true : null; - } - ); - $orderIds = []; - for ($i = 1; $i <= $ordersNumber; $i++) { - $orderIds[] = $this->_rootElement->find( - '//a[' . $i . '][contains(@href, "view/order_id")]', - Locator::SELECTOR_XPATH - )->getText(); - } - - return $orderIds; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php deleted file mode 100644 index 5cd2c966f37f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Constraint/AssertMultishippingOrderSuccessPlacedMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getTitleBlock()->getTitle(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Success message on multiple address checkout page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/CheckoutCart.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/CheckoutCart.xml deleted file mode 100644 index 6875fe06d4d36..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/CheckoutCart.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddressNewShipping.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddressNewShipping.php deleted file mode 100644 index 9ba6a68dffe2c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddressNewShipping.php +++ /dev/null @@ -1,51 +0,0 @@ -url = $_ENV['app_frontend_url'] . self::MCA; - } - - /** - * Get form for edit customer address. - * - * @return \Magento\Customer\Test\Block\Address\Edit - */ - public function getEditBlock() - { - return Factory::getBlockFactory()->getMagentoCustomerAddressEdit( - $this->browser->find($this->editBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddresses.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddresses.xml deleted file mode 100644 index c7d5edf39f75b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutAddresses.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutBilling.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutBilling.xml deleted file mode 100644 index 34068cb1bb128..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutBilling.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutCart.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutCart.php deleted file mode 100644 index 36ec8277c2580..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutCart.php +++ /dev/null @@ -1,41 +0,0 @@ -getMagentoMultishippingCheckoutLink( - $this->browser->find($this->multishippingLinkBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutLogin.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutLogin.php deleted file mode 100644 index 23095cb55e721..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutLogin.php +++ /dev/null @@ -1,51 +0,0 @@ -url = $_ENV['app_frontend_url'] . self::MCA; - } - - /** - * Get form for customer login. - * - * @return \Magento\Customer\Test\Block\Form\Login - */ - public function getLoginBlock() - { - return Factory::getBlockFactory()->getMagentoCustomerFormLogin( - $this->browser->find($this->loginBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutOverview.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutOverview.xml deleted file mode 100644 index 1cab9fb8b21c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutOverview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutRegister.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutRegister.php deleted file mode 100644 index d8ee6b99433b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutRegister.php +++ /dev/null @@ -1,51 +0,0 @@ -url = $_ENV['app_frontend_url'] . self::MCA; - } - - /** - * Get customer register block form. - * - * @return \Magento\Customer\Test\Block\Form\Register - */ - public function getRegisterBlock() - { - return Factory::getBlockFactory()->getMagentoCustomerFormRegister( - $this->browser->find($this->registerBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutShipping.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutShipping.xml deleted file mode 100644 index ecfe7a6d84500..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutShipping.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutSuccess.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutSuccess.xml deleted file mode 100644 index ea49207f49611..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/Page/MultishippingCheckoutSuccess.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillCustomerAddressesStep.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillCustomerAddressesStep.php deleted file mode 100644 index 0b7536af43148..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillCustomerAddressesStep.php +++ /dev/null @@ -1,94 +0,0 @@ -addresses = $addresses; - $this->customer = $customer; - $this->products = $products; - $this->objectManager = $objectManager; - $this->objectManager->configure( - [\Magento\Customer\Test\Block\Address\Renderer::class => ['shared' => false]] - ); - } - - /** - * Fill customer addresses and proceed to next step. - * - * @return void - */ - public function run() - { - $addresses = $this->customer->getDataFieldConfig('address')['source']->getAddresses(); - $bindings = []; - - foreach ($this->products as $key => $product) { - $productName = $product->getName(); - $addressRender = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $addresses[$key], 'type' => 'oneline'] - ); - $bindings[$productName] = $addressRender->render(); - } - $this->addresses->getAddressesBlock()->selectAddresses($bindings); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillShippingInformationStep.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillShippingInformationStep.php deleted file mode 100644 index 2c41ce3d8b4e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/FillShippingInformationStep.php +++ /dev/null @@ -1,66 +0,0 @@ -shippingInformation = $shippingInformation; - $this->shippingMethod = $shippingMethod; - $this->customer = $customer; - } - - /** - * Fill shipping information for each address and proceed to next step. - * - * @return void - */ - public function run() - { - $shippingMethods = []; - for ($i = 0, $count = count($this->customer->getAddress()); $i < $count; $i++) { - $shippingMethods[] = $this->shippingMethod; - } - $this->shippingInformation->getShippingBlock()->selectShippingMethod($shippingMethods); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/PlaceOrderStep.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/PlaceOrderStep.php deleted file mode 100644 index 91eb304a01936..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/PlaceOrderStep.php +++ /dev/null @@ -1,40 +0,0 @@ -multishippingCheckoutOverview = $multishippingCheckoutOverview; - } - - /** - * Place order with multiple addresses checkout. - * - * @return void - */ - public function run() - { - $this->multishippingCheckoutOverview->getOverviewBlock()->placeOrder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/ProceedToMultipleAddressCheckoutStep.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/ProceedToMultipleAddressCheckoutStep.php deleted file mode 100644 index 6ccbd24d0f531..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/ProceedToMultipleAddressCheckoutStep.php +++ /dev/null @@ -1,41 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Start checkout with multiple addresses. - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getMultipleAddressCheckoutBlock()->multipleAddressesCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/SelectPaymentMethodStep.php b/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/SelectPaymentMethodStep.php deleted file mode 100644 index 96f22de648c46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/TestStep/SelectPaymentMethodStep.php +++ /dev/null @@ -1,49 +0,0 @@ -billingInformation = $billingInformation; - $this->payment = $payment; - } - - /** - * Select payment method. - * - * @return void - */ - public function run() - { - $this->billingInformation->getBillingBlock()->selectPaymentMethod($this->payment); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Multishipping/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Multishipping/Test/etc/di.xml deleted file mode 100644 index 0a8f8f240b1db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Multishipping/Test/etc/di.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - S3 - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.php deleted file mode 100644 index 8de406c896591..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - input[name='start_at'] - - - select[name="stores[]"] - multiselectgrouplist - - - input[name='subject'] - - - input[name='sender_name'] - - - input[name='sender_email'] - - - textarea[name='text'] - - - textarea[name='styles'] - - - \ No newline at end of file diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Grid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Grid.php deleted file mode 100644 index 642f3792bd3d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Grid.php +++ /dev/null @@ -1,57 +0,0 @@ - [ - 'selector' => 'input[name="newsletter_subject"]', - ], - 'start_at_from' => [ - 'selector' => 'input[name="start_at[from]"]', - ], - 'start_at_to' => [ - 'selector' => 'input[name="start_at[to]"]', - ], - ]; - - /** - * Locator value for link in action column. - * - * @var string - */ - protected $editLink = 'td.col-subject'; - - /** - * Locator for "Action". - * - * @var string - */ - private $action = '.col-actions [class*="control-select"]'; - - /** - * Action for newsletter queue template. - * - * @param string $action - * @return void - */ - public function performAction($action) - { - $this->_rootElement->find($this->action, Locator::SELECTOR_CSS, 'select')->setValue($action); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Subscriber/Grid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Subscriber/Grid.php deleted file mode 100644 index ea20f5e3ef145..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Subscriber/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => '#subscriberGrid_filter_email', - ], - 'firstname' => [ - 'selector' => '#subscriberGrid_filter_firstname', - ], - 'lastname' => [ - 'selector' => '#subscriberGrid_filter_lastname', - ], - 'status' => [ - 'selector' => '#subscriberGrid_filter_status', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/FormPageActions.php deleted file mode 100644 index fea6c99a17222..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/FormPageActions.php +++ /dev/null @@ -1,42 +0,0 @@ -_rootElement->find($this->previewButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/Grid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/Grid.php deleted file mode 100644 index 4963d73cffc16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/Grid.php +++ /dev/null @@ -1,52 +0,0 @@ - [ - 'selector' => 'input[name="code"]', - ], - ]; - - /** - * Locator value for link in action column - * - * @var string - */ - protected $editLink = 'td.col-template'; - - /** - * Locator for "Action" - * - * @var string - */ - protected $action = '.col-actions [class*="control-select"]'; - - /** - * Action for newsletter template - * - * @param string $action - * @return void - */ - public function performAction($action) - { - $this->_rootElement->find($this->action, Locator::SELECTOR_CSS, 'select')->setValue($action); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/GridPageActions.php deleted file mode 100644 index 5211e1bc91837..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Template/GridPageActions.php +++ /dev/null @@ -1,25 +0,0 @@ -loader; - $browser = $this->browser; - $this->browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector, Locator::SELECTOR_XPATH); - return $element->isVisible() == false ? true : null; - } - ); - $this->browser->switchToFrame(new Locator($this->iFrame)); - - $content = $this->_rootElement->getText(); - - $this->browser->switchToFrame(); - return $content; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertCustomerIsSubscribedToNewsletter.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertCustomerIsSubscribedToNewsletter.php deleted file mode 100644 index 254d0209c7d9f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertCustomerIsSubscribedToNewsletter.php +++ /dev/null @@ -1,53 +0,0 @@ - $customer->getEmail(), - 'firstname' => $customer->getFirstname(), - 'lastname' => $customer->getLastname(), - 'status' => 'Subscribed', - ]; - - $subscriberIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $subscriberIndex->getSubscriberGrid()->isRowVisible($filter), - 'Customer with email \'' . $customer->getEmail() . '\' is absent in Newsletter Subscribers grid.' - ); - } - - /** - * Text of successful customer's subscription to newsletter - * - * @return string - */ - public function toString() - { - return "Customer is subscribed to newsletter"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterForm.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterForm.php deleted file mode 100644 index 6f606171b9eed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterForm.php +++ /dev/null @@ -1,45 +0,0 @@ -open()->getNewsletterTemplateGrid()->searchAndOpen(['code' => $template->getCode()]); - $errors = $this->verifyData($template->getData(), $templateEdit->getEditForm()->getData($template)); - - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return "Newsletter template form data equals to data passed from fixture."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterInGrid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterInGrid.php deleted file mode 100644 index f5156f0417df1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterInGrid.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - $filter = ['code' => $template->getCode()]; - \PHPUnit\Framework\Assert::assertTrue( - $templateIndex->getNewsletterTemplateGrid()->isRowVisible($filter), - 'Newsletter \'' . $template->getCode() . '\'is absent in newsletter template grid.' - ); - } - - /** - * Success assert of newsletter template in grid. - * - * @return string - */ - public function toString() - { - return 'Newsletter template is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterPreview.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterPreview.php deleted file mode 100644 index c990e79ad0824..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterPreview.php +++ /dev/null @@ -1,52 +0,0 @@ -selectWindow(); - $content = $templatePreview->getContent()->getPageContent(); - $browser->closeWindow(); - \PHPUnit\Framework\Assert::assertEquals( - $newsletter->getText(), - $content, - 'Template content not correct information.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Newsletter preview opened in new window and has valid content.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueue.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueue.php deleted file mode 100644 index 1283ca4af9a9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueue.php +++ /dev/null @@ -1,48 +0,0 @@ -verifyData($newsletter->getData(), $templateQueue->getEditForm()->getData($newsletter)); - \PHPUnit\Framework\Assert::assertEmpty($dataDiff, $dataDiff); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Edit Queue content equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php deleted file mode 100644 index 9041b4d866bfc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $indexQueue->getQueueTemplateGrid()->searchAndOpen(['newsletter_subject' => $queue->getNewsletterSubject()]); - - $dataDiff = $this->verifyData($queue->getData(), $templateQueue->getEditForm()->getData($queue)); - \PHPUnit\Framework\Assert::assertEmpty($dataDiff, $dataDiff); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Newsletter Queue form data equal the fixture data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php deleted file mode 100644 index c191ec4df44d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php +++ /dev/null @@ -1,52 +0,0 @@ -getQueueStartAt())); - $filter = [ - 'newsletter_subject' => $queue->getNewsletterSubject(), - 'start_at_from' => $startAt, - 'start_at_to' => $startAt, - ]; - - $indexQueue->open(); - $indexQueue->getQueueTemplateGrid()->search(['newsletter_subject' => $queue->getNewsletterSubject()]); - - \PHPUnit\Framework\Assert::assertTrue( - $indexQueue->getQueueTemplateGrid()->isRowVisible($filter, false, false), - 'Newsletter Queue \'' . $queue->getNewsletterSubject() . '\' is absent in grid.' - ); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Newsletter Queue is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php deleted file mode 100644 index 8803f464996cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertContains( - self::SUCCESS_MESSAGE, - $actualMessages, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual:\n" . implode("\n - ", $actualMessages) - ); - } - - /** - * {@inheritdoc} - */ - public function toString() - { - return 'Newsletter Queue success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterSuccessCreateMessage.php deleted file mode 100644 index cc025604be837..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterSuccessCreateMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Success assert of created newsletter template success message - * - * @return string - */ - public function toString() - { - return 'Newsletter success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml deleted file mode 100644 index 7e723e678e1ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php deleted file mode 100644 index 17585cd2860b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php +++ /dev/null @@ -1,59 +0,0 @@ -params = $params; - if (isset($data['dataset'])) { - $datasets = is_array($data['dataset']) ? $data['dataset'] : [$data['dataset']]; - foreach ($datasets as $dataset) { - /** @var \Magento\Store\Test\Fixture\Store $store */ - $store = $fixtureFactory->createByCode('store', ['dataset' => $dataset]); - if (!$store->hasData('store_id')) { - $store->persist(); - } - $this->stores[] = $store; - $this->data[] = $store->getGroupId() . '/' . $store->getName(); - } - } - } - - /** - * Return stores. - * - * @return array - */ - public function getStores() - { - return $this->stores; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml deleted file mode 100644 index df98ea7bad0a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php deleted file mode 100644 index 5b295490ede9a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php +++ /dev/null @@ -1,45 +0,0 @@ -url; - $data = $this->replaceMappingData($fixture->getData()); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Newsletter template creation by curl was not successful! Response: $response"); - } - $curl->close(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/TemplateInterface.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/TemplateInterface.php deleted file mode 100644 index adcad922e0be3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/TemplateInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateEdit.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateEdit.xml deleted file mode 100644 index 2d900dec9597f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateIndex.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateIndex.xml deleted file mode 100644 index 489cfdb6e381c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateNewIndex.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateNewIndex.xml deleted file mode 100644 index a44937ee1d55f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateNewIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplatePreview.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplatePreview.xml deleted file mode 100644 index 5cef02e5497c7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplatePreview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueue.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueue.xml deleted file mode 100644 index c09af8f62f943..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueue.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueueIndex.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueueIndex.xml deleted file mode 100644 index 65f7b91d1a9f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Page/Adminhtml/TemplateQueueIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Customer.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Customer.xml deleted file mode 100644 index ca7e210988848..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Customer.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - John - Doe - JohnDoe_%isolation%@example.com - 1 - 123123^q - 123123^q - 01/01/1990 - Male - - General - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml deleted file mode 100644 index eac5caac897ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - M j, Y g:i:s A - - - - default - custom - - - Newsletter Subject %isolation% - Sender Name %isolation% - support%isolation%@example.com - Template Content %isolation% - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.xml deleted file mode 100644 index 2eb3f4f46c213..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Template.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Newsletter Template %isolation% - Newsletter Subject %isolation% - Sender Name %isolation% - support%isolation%@example.com - Template Content %isolation% - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.php deleted file mode 100644 index 631990aab187a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.php +++ /dev/null @@ -1,72 +0,0 @@ - Newsletter Template - * 3. Find created template in grid - * 4. Select action in action dropdown for created template according to dataset - * 5. Perform all assertions - * - * @group Newsletters - * @ZephyrId MAGETWO-27043 - */ -class ActionNewsletterTemplateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const STABLE = 'no'; - /* end tags */ - - /** - * Page with newsletter template grid - * - * @var TemplateIndex - */ - protected $templateIndex; - - /** - * Inject newsletter page - * - * @param TemplateIndex $templateIndex - * @return void - */ - public function __inject(TemplateIndex $templateIndex) - { - $this->templateIndex = $templateIndex; - } - - /** - * Action for Newsletter Template - * - * @param Template $newsletter - * @param string $action - * @return void - */ - public function test(Template $newsletter, $action) - { - // Preconditions - $newsletter->persist(); - - // Steps - $this->templateIndex->open(); - $this->templateIndex->getNewsletterTemplateGrid()->search(['code' => $newsletter->getCode()]); - $this->templateIndex->getNewsletterTemplateGrid()->performAction($action); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.xml deleted file mode 100644 index f0a66fb6c381c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/ActionNewsletterTemplateEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - default - Preview - - - - default - Queue Newsletter - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.php deleted file mode 100644 index 7fef2f6545b49..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.php +++ /dev/null @@ -1,87 +0,0 @@ - Newsletter Template - * 3. Find created template in grid - * 4. Execute "Queue Newsletter" action - * 5. Fill data from fixtures - * 6. Save Newsletter Queue - * - * @group Newsletters - * @ZephyrId MAGETWO-71653 - */ -class CreateNewsletterQueueTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const STABLE = 'no'; - /* end tags */ - - /** - * Page with newsletter template grid. - * - * @var TemplateIndex - */ - private $templateIndex; - - /** - * Page for edit newsletter queue. - * - * @var TemplateQueue - */ - private $templateQueue; - - /** - * Inject newsletter page. - * - * @param TemplateIndex $templateIndex - * @param TemplateQueue $templateQueue - * @return void - */ - public function __inject( - TemplateIndex $templateIndex, - TemplateQueue $templateQueue - ) { - $this->templateIndex = $templateIndex; - $this->templateQueue = $templateQueue; - } - - /** - * @param Template $newsletter - * @param Queue $queue - * @return void - */ - public function test(Template $newsletter, Queue $queue) - { - // Preconditions - $newsletter->persist(); - - // Steps - $this->templateIndex->open(); - $this->templateIndex->getNewsletterTemplateGrid()->search(['code' => $newsletter->getCode()]); - $this->templateIndex->getNewsletterTemplateGrid()->performAction('Queue Newsletter'); - $this->templateQueue->getEditForm()->fill($queue); - $this->templateQueue->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.xml deleted file mode 100644 index 7d5b55a14d99d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterQueueTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - default - default_with_stores - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.php deleted file mode 100644 index 9bd8301a48e95..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.php +++ /dev/null @@ -1,75 +0,0 @@ - Newsletter Template. - * 3. Add New Template. - * 4. Fill in all data according to data set. - * 5. Save. - * 6. Perform asserts. - * - * @group Newsletters - * @ZephyrId MAGETWO-23302 - */ -class CreateNewsletterTemplateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page for create newsletter template - * - * @var TemplateNewIndex - */ - protected $templateNewIndex; - - /** - * Page with newsletter template grid - * - * @var TemplateIndex - */ - protected $templateIndex; - - /** - * Inject newsletter page - * - * @param TemplateIndex $templateIndex - * @param TemplateNewIndex $templateNewIndex - */ - public function __inject( - TemplateIndex $templateIndex, - TemplateNewIndex $templateNewIndex - ) { - $this->templateIndex = $templateIndex; - $this->templateNewIndex = $templateNewIndex; - } - - /** - * Create newsletter template - * - * @param Template $template - */ - public function testCreateNewsletterTemplate(Template $template) - { - // Steps - $this->templateIndex->open(); - $this->templateIndex->getGridPageActions()->addNew(); - $this->templateNewIndex->getEditForm()->fill($template); - $this->templateNewIndex->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.xml deleted file mode 100644 index 27d2a1ba5b3f3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/CreateNewsletterTemplateEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - TemplateName%isolation% - TemplateSubject%isolation% - SenderName%isolation% - SenderName%isolation%@example.com - Some content %isolation% - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index b1a6b3e0c4386..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > Newsletter Template - Newsletter Templates - - - - mftf_migrated:yes - Marketing > Newsletter Queue - Newsletter Queue - - - - mftf_migrated:yes - Marketing > Newsletter Subscribers - Newsletter Subscribers - - - - mftf_migrated:yes - Reports > Newsletter Problem Reports - Newsletter Problems Report - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.php deleted file mode 100644 index 440228f5bbc15..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.php +++ /dev/null @@ -1,86 +0,0 @@ - "Newsletter Template" - * 3. Find created template in grid and open it - * 4. Click "Preview Template" button at the top of the page - * 5. Perform all assertions - * - * @group Newsletters - * @ZephyrId MAGETWO-51979 - */ -class PreviewNewsletterTemplateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page with newsletter template grid - * - * @var TemplateIndex - */ - protected $templateIndex; - - /** - * Page for create newsletter template - * - * @var TemplateNewIndex - */ - protected $templateNewIndex; - - /** - * Inject newsletter page - * - * @param TemplateIndex $templateIndex - * @param TemplateNewIndex $templateNewIndex - * @return void - */ - public function __inject( - TemplateIndex $templateIndex, - TemplateNewIndex $templateNewIndex - ) { - $this->templateIndex = $templateIndex; - $this->templateNewIndex = $templateNewIndex; - } - - /** - * Action for Newsletter Template - * - * @param Template $newsletter - * @return void - */ - public function test(Template $newsletter) - { - // Preconditions - $newsletter->persist(); - - // Steps - // 1. Open Backend - // 2. Go to "Marketing" -> "Newsletter Template" - $this->templateIndex->open(); - // 3. Find created template in grid and open it - $this->templateIndex->getNewsletterTemplateGrid()->searchAndOpen(['code' => $newsletter->getCode()]); - // 4. Click "Preview Template" button at the top of the page - $this->templateNewIndex->getFormPageActions()->clickPreview(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.xml deleted file mode 100644 index 17a22c8788c5f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/PreviewNewsletterTemplateEntityTest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - stable:no - default - - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.php deleted file mode 100644 index 4921afbb77fcb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.php +++ /dev/null @@ -1,84 +0,0 @@ - Newsletter Template - * 3. Open Template from preconditions - * 4. Fill in all data according to data set - * 5. Click 'Save Template' button - * 6. Perform asserts - * - * @group Newsletters - * @ZephyrId MAGETWO-29427 - */ -class UpdateNewsletterTemplateTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Newsletter template index page - * - * @var TemplateIndex - */ - protected $templateIndex; - - /** - * Newsletter template edit page - * - * @var TemplateEdit - */ - protected $templateEdit; - - /** - * Injection data - * - * @param TemplateIndex $templateIndex - * @param TemplateEdit $templateEdit - * @return void - */ - public function __inject(TemplateIndex $templateIndex, TemplateEdit $templateEdit) - { - $this->templateIndex = $templateIndex; - $this->templateEdit = $templateEdit; - } - - /** - * Run Update Newsletter test - * - * @param Template $templateInitial - * @param Template $template - * @return void - */ - public function test(Template $templateInitial, Template $template) - { - // Preconditions: - $templateInitial->persist(); - - // Steps: - $this->templateIndex->open(); - $this->templateIndex->getNewsletterTemplateGrid()->searchAndOpen(['code' => $templateInitial->getCode()]); - $this->templateEdit->getEditForm()->fill($template); - $this->templateEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.xml deleted file mode 100644 index b6b40f43cc3e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateNewsletterTemplateTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - TemplateName%isolation% - TemplateSubject%isolation% - SenderName%isolation% - SenderName%isolation%@example.com - Some content %isolation% - - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/etc/curl/di.xml deleted file mode 100644 index 1ebc2073704e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml deleted file mode 100644 index b24e2e828ffb5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - payment - 1 - Yes - 1 - - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - Specific Countries - 1 - - - payment - 1 - - GB - - - - - - - payment - 1 - No - 0 - - - payment - 1 - All Allowed Countries - 0 - - - - - - payment - 1 - Yes - 1 - - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - Specific Countries - 1 - - - payment - 1 - - GB - - - - - - - payment - 1 - All Allowed Countries - 0 - - - - - - payment - 1 - Yes - 1 - - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - Specific Countries - 1 - - - payment - 1 - - GB - - - - - - - payment - 1 - No - 0 - - - payment - 1 - All Allowed Countries - 0 - - - - - - payment - 1 - Yes - 1 - - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - Specific Countries - 1 - - - payment - 1 - - GB - - - - - - - payment - 1 - No - 0 - - - payment - 1 - All Allowed Countries - 0 - - - - - - payment - 1 - Yes - 1 - - - - - - cataloginventory - 1 - Yes - 1 - - - cataloginventory - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/OfflineShipping/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/OfflineShipping/Test/Repository/ConfigData.xml deleted file mode 100644 index 5d016009de281..0000000000000 --- a/dev/tests/functional/tests/app/Magento/OfflineShipping/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - carriers - 1 - Yes - 1 - - - - - - carriers - 1 - No - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - - 100 - - - - - - carriers - 1 - Yes - 0 - - - carriers - 1 - - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - Specific Countries - 1 - - - carriers - 1 - United Kingdom - GB - - - - - - carriers - 1 - No - 0 - - - carriers - 1 - All Allowed Countries - 0 - - - - - - carriers - 1 - No - 0 - - - carriers - 1 - All Allowed Countries - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - - Flat Rate - - - carriers - 1 - - Fixed - - - carriers - 1 - Per Item - I - - - carriers - 1 - - 5 - - - carriers - 1 - Fixed - F - - - carriers - 1 - - This shipping method is not available. To use this shipping method, please contact us. - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache.php deleted file mode 100644 index eb365f3bffc75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache.php +++ /dev/null @@ -1,96 +0,0 @@ - 'You flushed the cache storage.', - 'cache_magento_flushed' => 'The Magento cache storage has been flushed.', - ]; - - /** - * Flush magento cache. - */ - public function flushMagentoCache() - { - $this->_rootElement->find($this->flushMagentoCacheButton)->click(); - } - - /** - * Flush cache storage. - */ - public function flushCacheStorage() - { - $this->_rootElement->find($this->flushCacheStorageButton)->click(); - } - - /** - * Is storage cache flushed successfully. - * - * @return bool - */ - public function isStorageCacheFlushed() - { - return $this->getMessagesBlock()->getSuccessMessage() == $this->messagesText['cache_storage_flushed']; - } - - /** - * Is magento cache flushed successfully. - * - * @return bool - */ - public function isMagentoCacheFlushed() - { - return $this->getMessagesBlock()->getSuccessMessage() == $this->messagesText['cache_magento_flushed']; - } - - /** - * Get messages block. - * - * @return \Magento\Backend\Test\Block\Messages - */ - protected function getMessagesBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Messages::class, - ['element' => $this->_rootElement->find($this->messagesSelector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Additional.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Additional.php deleted file mode 100644 index 4e079dc04f1d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Additional.php +++ /dev/null @@ -1,46 +0,0 @@ -_rootElement->find(sprintf($this->flushButton, $flushButtonName), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Check if button is visible in 'Additional Cache Management'. - * - * @param string $flushButtonName - * @return bool - */ - public function isFlushCacheButtonVisible($flushButtonName) - { - return $this->_rootElement->find(sprintf($this->flushButton, $flushButtonName), Locator::SELECTOR_XPATH) - ->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Grid.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Grid.php deleted file mode 100644 index 7c29f3fdff9af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Block/Cache/Grid.php +++ /dev/null @@ -1,53 +0,0 @@ -getRow($filter, false)->find($this->selectItem); - if ($selectItem->isVisible()) { - $selectItem->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } - - /** - * Checks cache status. - * - * @param string $cacheType - * @param string $cacheStatus - * @return bool - */ - public function isCacheStatusCorrect($cacheType, $cacheStatus) - { - return $this->_rootElement->find(sprintf($this->cacheStatus, $cacheType, $cacheStatus), Locator::SELECTOR_XPATH) - ->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheFlushSuccessMessage.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheFlushSuccessMessage.php deleted file mode 100644 index 9ff35698a3e9a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheFlushSuccessMessage.php +++ /dev/null @@ -1,42 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Action is not successful.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Flush additional caches are successful.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidateNotice.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidateNotice.php deleted file mode 100644 index da82d3c9eb576..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidateNotice.php +++ /dev/null @@ -1,60 +0,0 @@ - "Blocks HTML output", - ]; - - /** - * Assert cache invalidate notice. - * - * @param AdminCache $adminCache - * @param array $caches - * @return void - */ - public function processAssert(AdminCache $adminCache, array $caches) - { - $adminCache->getSystemMessageDialog()->closePopup(); - foreach ($caches as $cacheType => $cacheStatus) { - if ($cacheStatus === 'Invalidated') { - \PHPUnit\Framework\Assert::assertContains( - $this->cacheTypes[$cacheType], - $adminCache->getSystemMessageBlock()->getContent() - ); - } else { - \PHPUnit\Framework\Assert::assertNotContains( - $this->cacheTypes[$cacheType], - $adminCache->getSystemMessageBlock()->getContent() - ); - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cache invalidate notice is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidatePopUp.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidatePopUp.php deleted file mode 100644 index ad1fcb4d62ec0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheInvalidatePopUp.php +++ /dev/null @@ -1,59 +0,0 @@ - "Blocks HTML output", - ]; - - /** - * Assert cache invalidate pop up. - * - * @param AdminCache $adminCache - * @param array $caches - * @return void - */ - public function processAssert(AdminCache $adminCache, array $caches) - { - foreach ($caches as $cacheType => $cacheStatus) { - if ($cacheStatus === 'Invalidated') { - \PHPUnit\Framework\Assert::assertContains( - $this->cacheTypes[$cacheType], - $adminCache->getSystemMessageDialog()->getPopupText() - ); - } else { - \PHPUnit\Framework\Assert::assertNotContains( - $this->cacheTypes[$cacheType], - $adminCache->getSystemMessageDialog()->getPopupText() - ); - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cache invalidate pop up is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheIsRefreshableAndInvalidated.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheIsRefreshableAndInvalidated.php deleted file mode 100644 index 6498802c6cc30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheIsRefreshableAndInvalidated.php +++ /dev/null @@ -1,58 +0,0 @@ - $cacheTag, - 'status' => 'Invalidated' - ]; - } - - $adminCache->open(); - $adminCache->getGridBlock()->massaction($items, 'Refresh'); - - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, count($items)), - $adminCache->getMessagesBlock()->getSuccessMessage(), - 'Cache is Invalid and refreshable.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cache is not Invalid or not refreshable.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheStatus.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheStatus.php deleted file mode 100644 index 76bd5f6ad3dc9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCacheStatus.php +++ /dev/null @@ -1,54 +0,0 @@ - "Blocks HTML output", - 'full_page' => "Page Cache", - ]; - - /** - * Assert cache status equals to passed from variation. - * - * @param AdminCache $adminCache - * @param array $caches - * @return void - */ - public function processAssert(AdminCache $adminCache, array $caches) - { - $adminCache->open(); - foreach ($caches as $cacheType => $cacheStatus) { - \PHPUnit\Framework\Assert::assertTrue( - $adminCache->getGridBlock()->isCacheStatusCorrect($this->cacheTypes[$cacheType], $cacheStatus), - $this->cacheTypes[$cacheType] . " cache status in grid does not equal to " . $cacheStatus - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Cache status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCategoryCaching.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCategoryCaching.php deleted file mode 100644 index e575822c90c8a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertCategoryCaching.php +++ /dev/null @@ -1,63 +0,0 @@ -getDataFieldConfig('category_products')['source']->getProducts(); - foreach ($products as $product) { - $assertProductNotVisible->processAssert($categoryView, $cmsIndex, $product, $category); - } - - $cron->run(); - $cron->run(); - - foreach ($products as $product) { - $assertProduct->processAssert($categoryView, $cmsIndex, $product, $category); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category products are visible after indexing.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertFlushStaticFilesCacheButtonVisibility.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertFlushStaticFilesCacheButtonVisibility.php deleted file mode 100644 index 8eeecc83633c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Constraint/AssertFlushStaticFilesCacheButtonVisibility.php +++ /dev/null @@ -1,49 +0,0 @@ -getAdditionalBlock()->isFlushCacheButtonVisible(self::FLUSH_STATIC_FILES_CACHE), - self::FLUSH_STATIC_FILES_CACHE . ' button should not be visible in production mode.' - ); - } else { - \PHPUnit\Framework\Assert::assertTrue( - $adminCache->getAdditionalBlock()->isFlushCacheButtonVisible(self::FLUSH_STATIC_FILES_CACHE), - self::FLUSH_STATIC_FILES_CACHE . ' button should be visible in developer or default mode.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return self::FLUSH_STATIC_FILES_CACHE . ' button has correct visibility.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Page/Adminhtml/AdminCache.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/Page/Adminhtml/AdminCache.xml deleted file mode 100644 index f944d68b5d1d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Page/Adminhtml/AdminCache.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/Repository/ConfigData.xml deleted file mode 100644 index c631928273344..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - default - 0 - Built-in Cache - 1 - - - - - - default - 0 - Varnish Cache (Recommended) - 1 - - - - - - default - 0 - German (Germany) - 1 - - - - - - default - 0 - English (United States) - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.php deleted file mode 100644 index c02dfa50e92f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.php +++ /dev/null @@ -1,109 +0,0 @@ -browser = $browser; - $this->fixtureFactory = $fixtureFactory; - $this->editProductPage = $editProductPage; - } - - /** - * Open category on the 2nd website and reassign product. - * - * @param CatalogProductSimple $product - * @param Store $store - * @return array - */ - public function test( - CatalogProductSimple $product, - Store $store - ) { - //Preconditions: - $product->persist(); - $store->persist(); - - //Steps - $category = $product->getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $storeGroup = $store->getDataFieldConfig('group_id')['source']->getStoreGroup(); - $website = $storeGroup->getDataFieldConfig('website_id')['source']->getWebsite(); - $url = $_ENV['app_frontend_url'] . 'websites/' . $website->getCode() . '/' . $category->getUrlKey() . '.html'; - $this->browser->open($url); - $this->browser->open($url); - - $productFixture = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['data' => ['website_ids' => [['store' => $store]]]] - ); - $this->editProductPage->open(['id' => $product->getId()]); - $this->editProductPage->getProductForm()->fill($productFixture); - $this->editProductPage->getFormPageActions()->save(); - - return [ - 'category' => $category, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.xml deleted file mode 100644 index d6c31c1f15cc7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheInvalidationTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - product_with_category - custom_store - - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.php deleted file mode 100644 index 2d46fca677746..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.php +++ /dev/null @@ -1,136 +0,0 @@ -indexManagement = $indexManagement; - $this->categoryEdit = $categoryEdit; - $this->browser = $browser; - $this->fixtureFactory = $fixtureFactory; - $this->cache = $cache; - } - - /** - * Create category with products and verify cache invalidation. - * - * @param Category $initialCategory - * @param Category $category - * @return array - */ - public function test(Category $initialCategory, Category $category) - { - $this->indexManagement->open(); - $this->indexManagement->getMainBlock()->massaction([], 'Update by Schedule', false, 'Select All'); - $initialCategory->persist(); - $this->cache->flush(); - - $this->browser->open($_ENV['app_frontend_url'] . $initialCategory->getUrlKey() . '.html'); - $this->categoryEdit->open(['id' => $initialCategory->getId()]); - $this->categoryEdit->getEditForm()->fill($category); - $this->categoryEdit->getFormPageActions()->save(); - - $products = $category->getDataFieldConfig('category_products')['source']->getProducts(); - return [ - 'category' => $this->fixtureFactory->createByCode( - 'category', - [ - 'data' => array_merge( - $initialCategory->getData(), - $category->getData(), - ['category_products' => ['products' => $products]] - ) - ] - ), - ]; - } - - /** - * Restore indexers mode. - * - * @return void - */ - public function tearDown(): void - { - $this->indexManagement->open(); - $this->indexManagement->getMainBlock()->massaction([], 'Update on Save', false, 'Select All'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.xml deleted file mode 100644 index 07697d0fe93cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/CacheStatusOnScheduledIndexingTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - default - catalogProductSimple::default,catalogProductSimple::product_20_dollar - Enabled - - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.php deleted file mode 100644 index c928af0c47b22..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.php +++ /dev/null @@ -1,46 +0,0 @@ -markTestSkipped('Skip flushing static files cache test when in production mode.'); - } - $adminCache->open(); - $adminCache->getAdditionalBlock()->clickFlushCache($flushButtonName); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.xml deleted file mode 100644 index fe6ff3c3e5cdb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushAdditionalCachesTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - severity:S2 - Flush Catalog Images Cache - The image cache was cleaned. - - - - severity:S2 - Flush JavaScript/CSS Cache - The JavaScript/CSS cache has been cleaned. - - - - severity:S2 - Flush Static Files Cache - The static files cache has been cleaned. - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.php b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.php deleted file mode 100644 index 82e9680d75b05..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.php +++ /dev/null @@ -1,38 +0,0 @@ -open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.xml deleted file mode 100644 index bc529729f1217..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/TestCase/FlushStaticFilesCacheButtonVisibilityTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - severity:S3, mftf_migrated:yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/PageCache/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/PageCache/Test/etc/di.xml deleted file mode 100644 index f4260d2d7bc45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/PageCache/Test/etc/di.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - S2 - - - - - S2 - - - - - S3 - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.php deleted file mode 100644 index b64bf2fe1eefc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.php +++ /dev/null @@ -1,34 +0,0 @@ -getData(); - unset($data['payment_code']); - $mapping = $this->dataMapping($data); - $this->_fill($mapping, $element); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.xml deleted file mode 100644 index 06fe14f001daf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Block/Form/PaymentCc.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - payment - - - select - - - - select - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertCardRequiredFields.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertCardRequiredFields.php deleted file mode 100644 index 455b0bf6129fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertCardRequiredFields.php +++ /dev/null @@ -1,67 +0,0 @@ -getCreateBlock()->getBillingMethodBlock() - ->getJsErrors(); - $creditCardEmpty = $creditCard->get('visa_empty'); - foreach (array_keys($creditCardEmpty) as $field) { - \PHPUnit\Framework\Assert::assertTrue( - isset($actualRequiredFields[$field]), - "Field '$field' is not highlighted with an JS error." - ); - $expected = self::REQUIRE_MESSAGE; - if (in_array($field, ['cc_number', 'cc_cid'])) { - $expected = self::VALID_NUMBER_MESSAGE; - } - \PHPUnit\Framework\Assert::assertEquals( - $expected, - $actualRequiredFields[$field], - "Field '$field' is not highlighted as required." - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'All required fields on customer form are highlighted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreActive.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreActive.php deleted file mode 100644 index 6c2ce58cdcd05..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreActive.php +++ /dev/null @@ -1,44 +0,0 @@ -getPaymentsConfigBlock()->isFieldDisabled($fieldId), - 'Field is disabled.' - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Field is active.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreDisabled.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreDisabled.php deleted file mode 100644 index a5f277c5f0437..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreDisabled.php +++ /dev/null @@ -1,44 +0,0 @@ -getPaymentsConfigBlock()->isFieldDisabled($fieldId), - 'Field is active.' - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Field is disabled.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreEnabled.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreEnabled.php deleted file mode 100644 index d65c0095382f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsAreEnabled.php +++ /dev/null @@ -1,44 +0,0 @@ -getPaymentsConfigBlock()->isFieldEnabled($fieldId), - 'Field is active.' - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Field is disabled.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsArePresent.php b/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsArePresent.php deleted file mode 100644 index a69e5e36450c3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Constraint/AssertFieldsArePresent.php +++ /dev/null @@ -1,44 +0,0 @@ -getPaymentsConfigBlock()->isFieldPresent($fieldId), - 'Field is active.' - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Field is disabled.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Fixture/CreditCard.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/Fixture/CreditCard.xml deleted file mode 100644 index dea3182bcd5f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Fixture/CreditCard.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/Page/CheckoutOnepage.xml deleted file mode 100644 index ce876cb30f7ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Page/CheckoutOnepage.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/Repository/CreditCard.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/Repository/CreditCard.xml deleted file mode 100644 index b2c866f9cdce1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/Repository/CreditCard.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - 4111111111111111 - 01 - January - 2025 - 123 - - - - Visa - 4111111111111111 - 01 - January - 2025 - 123 - - - - 4012888888881881 - 02 - February - 2025 - 123 - - - - 378282246310005 - 02 - February - 2025 - 1234 - - - - 4617747819866651 - 01 - January - 2025 - 123 - - - - - - - - - - - - 4111111111111111 - 01 - January - 2025 - 306 - - - - 5555555555554444 - 01 - January - 2025 - 123 - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.php b/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.php deleted file mode 100644 index 8833c3efece56..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.php +++ /dev/null @@ -1,31 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.xml deleted file mode 100644 index b9ef50dac2a72..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/TestCase/ConflictResolutionTest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - US - - - PayPal Express Checkout - - - - Payments Advanced - (Includes Express Checkout) - - Payments Pro (Includes - Express Checkout) - - Payments Standard - - - - - - - - - - - - - - - - test_type:3rd_party_test, severity:S2 - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/etc/di.xml deleted file mode 100644 index bd31e0753c594..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/etc/di.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - - - S2 - - - diff --git a/dev/tests/functional/tests/app/Magento/Payment/Test/etc/fixture.xml b/dev/tests/functional/tests/app/Magento/Payment/Test/etc/fixture.xml deleted file mode 100644 index f7827a9bf20dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Payment/Test/etc/fixture.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - virtual - credit_card - - - cc_type - - - cc_number - - - cc_exp_month - - - cc_exp_year - - - cc_cid - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review.php deleted file mode 100644 index f89b2b80bd6e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review.php +++ /dev/null @@ -1,48 +0,0 @@ -waitForElementVisible($this->shippingMethod); - $shippingElement = $this->_rootElement->find( - $this->shippingMethod, - Locator::SELECTOR_CSS, - \Magento\Paypal\Test\Block\Express\Review\ShippingoptgroupElement::class - ); - $shippingElement->setValue($shippingMethod['shipping_service'] . '/' . $shippingMethod['shipping_method']); - $this->waitForElementNotVisible('#review-please-wait'); - } - - /** - * Click "Place Order" button. - */ - public function placeOrder() - { - $this->_rootElement->find('#review-button')->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review/ShippingoptgroupElement.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review/ShippingoptgroupElement.php deleted file mode 100644 index f920fd3aa89ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Express/Review/ShippingoptgroupElement.php +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - select - #credit_card_type - - - #credit_card_number - - - [name=expiryMonth] - - - [name=expiryYear] - - - [name=cvv2] - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PayflowLink/Cc.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PayflowLink/Cc.php deleted file mode 100644 index c033f6b445ac6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PayflowLink/Cc.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - #cc_number - - - #expdate_month - - - #expdate_year - - - #cvv2_number - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PaymentsAdvanced/Cc.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PaymentsAdvanced/Cc.php deleted file mode 100644 index 07c583bb8af91..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Form/PaymentsAdvanced/Cc.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - #cc_number - - - #expdate_month - - - #expdate_year - - - #cvv2_number - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php deleted file mode 100644 index 7f9bf3cc5b859..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php +++ /dev/null @@ -1,30 +0,0 @@ -switchToPaypalFrame(); - $formBlock = $this->blockFactory->create( - $this->formBlockCc, - ['element' => $this->_rootElement->find($this->creditCardForm)] - ); - $formBlock->fill($creditCard, $iframeRootElement); - $iframeRootElement->find($this->payNowButton)->click(); - - $this->waitSubmitForm($iframeRootElement); - - $this->browser->switchToFrame(); - } - - /** - * Wait form submit for that payment. - * - * @param ElementInterface $iframeRootElement - * @return void - */ - protected function waitSubmitForm(ElementInterface $iframeRootElement) - { - $loaderElement = $iframeRootElement->find($this->loader); - - $loaderElement->waitUntil(function () use ($loaderElement) { - return $loaderElement->isVisible() ? true : null; - }); - - $loaderElement->waitUntil(function () use ($loaderElement) { - return !$loaderElement->isVisible() ? true : null; - }); - } - - /** - * Check if error message is appeared. - * - * @return bool - */ - public function isErrorMessageVisible() - { - $isErrorMessageVisible = false; - if ($this->_rootElement->find($this->paypalIframe)->isPresent()) { - $iframeRootElement = $this->switchToPaypalFrame(); - $isErrorMessageVisible = $iframeRootElement->find($this->errorMessage)->isVisible(); - $this->browser->switchToFrame(); - } - return $isErrorMessageVisible; - } - - /** - * Change the focus to a PayPal frame. - * - * @return ElementInterface - */ - private function switchToPaypalFrame() - { - $iframeLocator = $this->browser->find($this->paypalIframe)->getLocator(); - $this->browser->switchToFrame($iframeLocator); - return $this->browser->find('body'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.php deleted file mode 100644 index c881fcfc4f268..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->loginButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.xml deleted file mode 100644 index 08e941bb9db4e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressLogin.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainLogin.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainLogin.php deleted file mode 100644 index 7e3fbeeebb0ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainLogin.php +++ /dev/null @@ -1,65 +0,0 @@ -waitForElementNotVisible($this->preloaderSpinner); - } - - /** - * Determines whether new login form or old is shown. - * - * @return \Magento\Paypal\Test\Block\Sandbox\ExpressLogin|\Magento\Paypal\Test\Block\Sandbox\ExpressOldLogin - */ - public function getLoginBlock() - { - if ($this->_rootElement->find($this->expressLogin)->isVisible()) { - return $this->blockFactory->create( - \Magento\Paypal\Test\Block\Sandbox\ExpressLogin::class, - ['element' => $this->_rootElement->find($this->expressLogin)] - ); - } - return $this->blockFactory->create( - \Magento\Paypal\Test\Block\Sandbox\ExpressOldLogin::class, - ['element' => $this->_rootElement->find($this->expressOldLogin)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainReview.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainReview.php deleted file mode 100644 index 95912f513b3dd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressMainReview.php +++ /dev/null @@ -1,41 +0,0 @@ -_rootElement->find($this->expressReview)->isVisible()) { - return $this->blockFactory->create( - \Magento\Paypal\Test\Block\Sandbox\ExpressReview::class, - ['element' => $this->_rootElement] - ); - } - return $this->blockFactory->create( - \Magento\Paypal\Test\Block\Sandbox\ExpressOldReview::class, - ['element' => $this->_rootElement] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.php deleted file mode 100644 index 1331f8c58ddfa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->loginButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.xml deleted file mode 100644 index ee9bd11ebcd4d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldLogin.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - [name=login_email] - - - [name=login_password] - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldReview.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldReview.php deleted file mode 100644 index 0ff6162f68ac4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/ExpressOldReview.php +++ /dev/null @@ -1,27 +0,0 @@ -waitForElementVisible($this->total); - $total = $this->_rootElement->find($this->total, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($total); - } - - /** - * Review order on PayPal side and continue. - * - * @return void - */ - public function reviewAndContinue() - { - $this->waitForElementVisible($this->continue); - $this->_rootElement->find($this->continue)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.php deleted file mode 100644 index cc83044f6982b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.php +++ /dev/null @@ -1,33 +0,0 @@ -browser->selectWindow(); - $this->_rootElement->find($this->linkCard)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.xml deleted file mode 100644 index ea59a852af9fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupAddCard.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - [name=cardNumber] - - - [name=expiryDate] - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.php deleted file mode 100644 index 5c4d59d341e1f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.php +++ /dev/null @@ -1,42 +0,0 @@ -_rootElement->find($this->termsAgree, Locator::SELECTOR_CSS, 'checkbox')->setValue('Yes'); - $this->browser->selectWindow(); - $this->_rootElement->find($this->agreeAndCreateAccount)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.xml deleted file mode 100644 index 2efde4a252f3d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupCreate.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - [name=firstName] - - - [name=lastName] - - - [name=address1] - - - - select - - - - [name=phoneNumber] - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.php deleted file mode 100644 index b9b6aa5dc755f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->continuePersonal)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.xml deleted file mode 100644 index 47936f58af7a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Sandbox/SignupPersonalAccount.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - [name=confirmPassword] - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/ExpressCheckout.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/ExpressCheckout.php deleted file mode 100644 index 8ad1d56c0701b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/ExpressCheckout.php +++ /dev/null @@ -1,147 +0,0 @@ - '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_checkout_' . - 'required_express_checkout_required_express_checkout_api_username', - 'API Password' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_checkout_' . - 'required_express_checkout_required_express_checkout_api_password', - 'API Signature' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_checkout_' . - 'required_express_checkout_required_express_checkout_api_signature', - 'Merchant Account ID' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_' . - 'checkout_required_merchant_id', - 'Sort Order PayPal Credit' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_' . - 'checkout_required_express_checkout_bml_sort_order', - ]; - - /** - * PayPal Express Checkout enablers fields sectors array. - * - * @var array - */ - private $enablers = [ - 'Enable this Solution' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_' . - 'checkout_required_enable_express_checkout', - 'Enable In-Context Checkout Experience' => '#payment_us_paypal_alternative_payment_methods_express_checkout_' . - 'us_express_checkout_required_enable_in_context_checkout', - 'Enable PayPal Credit' => '#payment_us_paypal_alternative_payment_methods_express_checkout_us_express_' . - 'checkout_required_enable_express_checkout_bml' - ]; - - /** - * PayPal Express Checkout 'Configure' button selector. - * - * @var string - */ - private $configureExpressButton = '#payment_us_paypal_alternative_payment_methods_express_checkout_us-head'; - - /** - * Return credentials fields selectors. - * - * @return array - */ - public function getFields() - { - return $this->fields; - } - - /** - * Specify credentials in PayPal Express Checkout configuration. - * - * @return void - */ - public function specifyCredentials() - { - $this->_rootElement->find($this->fields['API Username'])->setValue('1'); - $this->_rootElement->find($this->fields['API Password'])->setValue('1'); - $this->_rootElement->find($this->fields['API Signature'])->setValue('1'); - } - - /** - * Set fields for credentials empty in PayPal Express Checkout configuration. - * - * @return void - */ - public function clearCredentials() - { - $this->_rootElement->find($this->fields['API Username'])->setValue(''); - $this->_rootElement->find($this->fields['API Password'])->setValue(''); - $this->_rootElement->find($this->fields['API Signature'])->setValue(''); - } - - /** - * Specify Merchant Account ID in PayPal Express Checkout configuration. - * - * @return void - */ - public function specifyMerchantAccountId() - { - $this->_rootElement->find($this->fields['Merchant Account ID'])->setValue('1'); - } - - /** - * Return enabler fields selectors. - * - * @return array - */ - public function getEnablerFields() - { - return $this->enablers; - } - - /** - * Click 'Configure' button to expand PayPal Express Checkout configuration. - * - * @return void - */ - public function clickConfigureButton() - { - $this->_rootElement->find($this->configureExpressButton)->click(); - } - - /** - * Set 'Enable this Solution' = Yes. - * - * @return void - */ - public function enableExpressCheckout() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('Yes'); - } - - /** - * Set 'Enable this Solution' = No. - * - * @return void - */ - public function disableExpressCheckout() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowLink.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowLink.php deleted file mode 100644 index 663079d915d0d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowLink.php +++ /dev/null @@ -1,137 +0,0 @@ - '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_payflow_link_payflow_' . - 'link_partner', - 'Vendor' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_payflow_link_payflow_' . - 'link_vendor', - 'User' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_payflow_link_payflow_' . - 'link_user', - 'Password' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_payflow_link_payflow' . - '_link_pwd' - ]; - - /** - * Payflow Link enablers fields sectors array. - * - * @var array - */ - private $enablers = [ - 'Enable Payflow Link' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_enable_' . - 'payflow_link', - 'Enable Express Checkout' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_' . - 'enable_express_checkout', - 'Enable PayPal Credit' => '#payment_us_paypal_payment_gateways_payflow_link_us_payflow_link_required_enable_' . - 'express_checkout_bml' - ]; - - /** - * Payflow Link 'Configure' button selector. - * - * @var string - */ - private $configurePayflowLinkButton = '#payment_us_paypal_payment_gateways_payflow_link_us-head'; - - /** - * Specify credentials in PayPal Payflow Link configuration. - * - * @return void - */ - public function specifyCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue('1'); - $this->_rootElement->find($this->fields['Vendor'])->setValue('1'); - $this->_rootElement->find($this->fields['User'])->setValue('1'); - $this->_rootElement->find($this->fields['Password'])->setValue('1'); - } - - /** - * Set fields for credentials empty in PayPal Payflow Link configuration. - * - * @return void - */ - public function clearCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue(''); - $this->_rootElement->find($this->fields['Vendor'])->setValue(''); - $this->_rootElement->find($this->fields['User'])->setValue(''); - $this->_rootElement->find($this->fields['Password'])->setValue(''); - } - - /** - * Return credentials fields selectors. - * - * @return array - */ - public function getFields() - { - return $this->fields; - } - - /** - * Return enabler fields selectors. - * - * @return array - */ - public function getEnablerFields() - { - return $this->enablers; - } - - /** - * Click 'Configure' button to expand PayPal Payflow Link configuration. - * - * @return void - */ - public function clickConfigureButton() - { - $this->_rootElement->find($this->configurePayflowLinkButton)->click(); - } - - /** - * Set 'Enable this Solution' = Yes. - * - * @return void - */ - public function enablePayflowLink() - { - $this->_rootElement->find( - $this->enablers['Enable Payflow Link'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('Yes'); - } - - /** - * Set 'Enable this Solution' = No. - * - * @return void - */ - public function disablePayflowLink() - { - $this->_rootElement->find( - $this->enablers['Enable Payflow Link'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowPro.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowPro.php deleted file mode 100644 index 9477b7c2aae37..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PayflowPro.php +++ /dev/null @@ -1,137 +0,0 @@ - '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal_payflow_' . - 'required_paypal_payflow_api_settings_partner', - 'Vendor' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal_payflow_' . - 'required_paypal_payflow_api_settings_vendor', - 'User' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal_payflow_' . - 'required_paypal_payflow_api_settings_user', - 'Password' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal_payflow_' . - 'required_paypal_payflow_api_settings_pwd' - ]; - - /** - * Payflow Pro enablers fields sectors array. - * - * @var array - */ - private $enablers = [ - 'Enable this Solution' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal' . - '_payflow_required_enable_paypal_payflow', - 'Enable PayPal Credit' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal' . - '_payflow_required_enable_express_checkout_bml_payflow', - 'Vault Enabled' => '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout_paypal_' . - 'payflow_required_payflowpro_cc_vault_active' - ]; - - /** - * Payflow Pro 'Configure' button selector. - * - * @var string - */ - private $configureProButton = '#payment_us_paypal_payment_gateways_paypal_payflowpro_with_express_checkout-head'; - - /** - * Specify credentials in PayPal Payflow Pro configuration. - * - * @return void - */ - public function specifyCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue('1'); - $this->_rootElement->find($this->fields['Vendor'])->setValue('1'); - $this->_rootElement->find($this->fields['User'])->setValue('1'); - $this->_rootElement->find($this->fields['Password'])->setValue('1'); - } - - /** - * Set fields for credentials empty in PayPal Payflow Pro configuration. - * - * @return void - */ - public function clearCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue(''); - $this->_rootElement->find($this->fields['Vendor'])->setValue(''); - $this->_rootElement->find($this->fields['User'])->setValue(''); - $this->_rootElement->find($this->fields['Password'])->setValue(''); - } - - /** - * Return credentials fields selectors. - * - * @return array - */ - public function getFields() - { - return $this->fields; - } - - /** - * Return enabler fields selectors. - * - * @return array - */ - public function getEnablerFields() - { - return $this->enablers; - } - - /** - * Click 'Configure' button to expand PayPal Payflow Pro configuration. - * - * @return void - */ - public function clickConfigureButton() - { - $this->_rootElement->find($this->configureProButton)->click(); - } - - /** - * Set 'Enable this Solution' = Yes. - * - * @return void - */ - public function enablePayflowPro() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('Yes'); - } - - /** - * Set 'Enable this Solution' = No. - * - * @return void - */ - public function disablePayflowPro() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsAdvanced.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsAdvanced.php deleted file mode 100644 index 4234fa8926514..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsAdvanced.php +++ /dev/null @@ -1,131 +0,0 @@ - '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_partner', - 'Vendor' => '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_vendor', - 'User' => '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_user', - 'Password' => '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_pwd' - ]; - - /** - * Payments Advanced enablers fields sectors array. - * - * @var array - */ - private $enablers = [ - 'Enable this Solution' => '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_enable_' . - 'payflow_advanced', - 'Enable PayPal Credit' => '#payment_us_paypal_group_all_in_one_payflow_advanced_required_settings_enable_' . - 'express_checkout_bml' - ]; - - /** - * Payments Advanced 'Configure' button selector. - * - * @var string - */ - private $configureAdvancedButton = '#payment_us_paypal_group_all_in_one_payflow_advanced-head'; - - /** - * Specify credentials in PayPal Payments Advanced configuration. - * - * @return void - */ - public function specifyCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue('1'); - $this->_rootElement->find($this->fields['Vendor'])->setValue('1'); - $this->_rootElement->find($this->fields['User'])->setValue('1'); - $this->_rootElement->find($this->fields['Password'])->setValue('1'); - } - - /** - * Set fields for credentials empty in PayPal Payments Advanced configuration. - * - * @return void - */ - public function clearCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue(''); - $this->_rootElement->find($this->fields['Vendor'])->setValue(''); - $this->_rootElement->find($this->fields['User'])->setValue(''); - $this->_rootElement->find($this->fields['Password'])->setValue(''); - } - - /** - * Return credentials fields selectors. - * - * @return array - */ - public function getFields() - { - return $this->fields; - } - - /** - * Return enabler fields selectors. - * - * @return array - */ - public function getEnablerFields() - { - return $this->enablers; - } - - /** - * Click 'Configure' button to expand PayPal Payments Advanced configuration. - * - * @return void - */ - public function clickConfigureButton() - { - $this->_rootElement->find($this->configureAdvancedButton)->click(); - } - - /** - * Set 'Enable this Solution' = Yes. - * - * @return void - */ - public function enablePaymentsAdvanced() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('Yes'); - } - - /** - * Set 'Enable this Solution' = No. - * - * @return void - */ - public function disablePaymentsAdvanced() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsPro.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsPro.php deleted file mode 100644 index ded39e077b6d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/System/Config/PaymentsPro.php +++ /dev/null @@ -1,137 +0,0 @@ - '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_paypal_payflow_api_' . - 'settings_partner', - 'Vendor' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_paypal_payflow_api_' . - 'settings_vendor', - 'User' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_paypal_payflow_api_settings' . - '_user', - 'Password' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_paypal_payflow_api_' . - 'settings_pwd' - ]; - - /** - * Payments Pro enablers fields sectors array. - * - * @var array - */ - private $enablers = [ - 'Enable this Solution' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_paypal' . - '_payflow', - 'Enable PayPal Credit' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_' . - 'express_checkout_bml_payflow', - 'Vault Enabled' => '#payment_us_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_payflowpro_cc_vault' . - '_active' - ]; - - /** - * Payments Pro 'Configure' button selector. - * - * @var string - */ - private $configureProButton = '#payment_us_paypal_group_all_in_one_wpp_usuk-head'; - - /** - * Specify credentials in PayPal Payments Pro configuration. - * - * @return void - */ - public function specifyCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue('1'); - $this->_rootElement->find($this->fields['Vendor'])->setValue('1'); - $this->_rootElement->find($this->fields['User'])->setValue('1'); - $this->_rootElement->find($this->fields['Password'])->setValue('1'); - } - - /** - * Set fields for credentials empty in PayPal Payments Pro configuration. - * - * @return void - */ - public function clearCredentials() - { - $this->_rootElement->find($this->fields['Partner'])->setValue(''); - $this->_rootElement->find($this->fields['Vendor'])->setValue(''); - $this->_rootElement->find($this->fields['User'])->setValue(''); - $this->_rootElement->find($this->fields['Password'])->setValue(''); - } - - /** - * Return credentials fields selectors. - * - * @return array - */ - public function getFields() - { - return $this->fields; - } - - /** - * Return enabler fields selectors. - * - * @return array - */ - public function getEnablerFields() - { - return $this->enablers; - } - - /** - * Click 'Configure' button to expand PayPal Payments Pro configuration. - * - * @return void - */ - public function clickConfigureButton() - { - $this->_rootElement->find($this->configureProButton)->click(); - } - - /** - * Set 'Enable this Solution' = Yes. - * - * @return void - */ - public function enablePaymentsPro() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('Yes'); - } - - /** - * Set 'Enable this Solution' = No. - * - * @return void - */ - public function disablePaymentsPro() - { - $this->_rootElement->find( - $this->enablers['Enable this Solution'], - Locator::SELECTOR_CSS, - 'select' - )->setValue('No'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/AssertExpressCancelledMessage.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/AssertExpressCancelledMessage.php deleted file mode 100644 index 102a87b84980e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/AssertExpressCancelledMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Success message about Express Checkout cancellation is not present or wrong.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Success message about Express Checkout cancellation is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/Sandbox/AssertTotalPaypalReview.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/Sandbox/AssertTotalPaypalReview.php deleted file mode 100644 index 5cbba6b9ab368..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Constraint/Sandbox/AssertTotalPaypalReview.php +++ /dev/null @@ -1,45 +0,0 @@ -getExpressMainReviewBlock()->getReviewBlock()->getTotal(); - - \PHPUnit\Framework\Assert::assertEquals( - $reviewTotal, - number_format($total, 2), - 'Total price: \'' . $reviewTotal - . '\' not equals with price from data set: \'' . $total . '\'' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Total price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Fixture/SandboxCustomer.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Fixture/SandboxCustomer.xml deleted file mode 100644 index 6ce56a0f9e950..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Fixture/SandboxCustomer.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml deleted file mode 100644 index 7e375e850bccc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Adminhtml/SystemConfigEditSectionPayment.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/CheckoutOnepage.xml deleted file mode 100644 index e61d26ecd2198..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/CheckoutOnepage.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/OrderReviewExpress.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/OrderReviewExpress.xml deleted file mode 100644 index 883e1d869bee0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/OrderReviewExpress.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/AccountSignup.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/AccountSignup.xml deleted file mode 100644 index 12f1fc11ad0de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/AccountSignup.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/ExpressReview.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/ExpressReview.xml deleted file mode 100644 index 8c3af56daf693..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/ExpressReview.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupAddCard.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupAddCard.xml deleted file mode 100644 index 308dffae0a3e5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupAddCard.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupCreate.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupCreate.xml deleted file mode 100644 index 7c94e5d0c6c03..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Page/Sandbox/SignupCreate.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/ConfigData.xml deleted file mode 100644 index 6cb2e275d0936..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - payment - 1 - United Kingdom - GB - - - - - payment - 1 - United States - US - - - - - - payment - 1 - Email Associated with PayPal Merchant Account (Optional) - %payflow_pro_business_account% - - - payment - 1 - Partner - %payflow_pro_partner% - - - payment - 1 - User - %payflow_pro_user% - - - payment - 1 - Vendor - %payflow_pro_vendor% - - - payment - 1 - Password - %payflow_pro_pwd% - - - payment - 1 - Test Mode - 1 - - - payment - 1 - Enable this Solution - 1 - - - - - payment - 1 - Enable this Solution - 0 - - - - - - payment - 1 - Email Associated with PayPal Merchant Account (Optional) - %payflow_pro_business_account% - - - payment - 1 - Partner - %payflow_pro_partner% - - - payment - 1 - User - %payflow_pro_user% - - - payment - 1 - Password - %payflow_pro_pwd% - - - payment - 1 - Vendor - %payflow_pro_vendor% - - - payment - 1 - - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - - - - payment - 1 - Yes - HOSTED_PRO_BUSINESS_ACCOUNT - - - payment - 1 - - HOSTED_PRO_API_USERNAME - - - payment - 1 - - HOSTED_PRO_API_PASSWORD - - - payment - 1 - - HOSTED_PRO_API_SIGNATURE - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - PAYPAL_BUSINESS_ACCOUNT - - - payment - 1 - - PAYPAL_API_USERNAME - - - payment - 1 - - PAYPAL_API_PASSWORD - - - payment - 1 - - PAYPAL_API_SIGNATURE - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - - - payment - 1 - Yes - 0 - - - - - - payment - 1 - Email Associated with PayPal Merchant Account - %payflow_link_business_account_email% - - - payment - 1 - Partner - %payflow_link_partner% - - - payment - 1 - User - %payflow_link_user% - - - payment - 1 - Password - %payflow_link_password% - - - payment - 1 - Vendor - %payflow_link_vendor% - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Email Associated with PayPal Merchant Account - %payflow_link_business_account_email% - - - payment - 1 - Partner - %payflow_link_partner% - - - payment - 1 - User - %payflow_link_user% - - - payment - 1 - Password - %payflow_link_password% - - - payment - 1 - Vendor - %payflow_link_vendor% - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - - PAYMENT_PAYPALEXPRESS_MERCHANTID - - - - - payment - 1 - Yes - 0 - - - - - - payment - 1 - Yes - 1 - - - - - payment - 1 - No - 0 - - - - - - payment - 1 - Yes - 1 - - - payment - 1 - No - 0 - - - - - payment - 1 - No - 0 - - - payment - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/CreditCard.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/CreditCard.xml deleted file mode 100644 index e7546d8bfac1c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/CreditCard.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - V - 4032034402702800 - 01 - 2020 - 123 - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/SandboxCustomer.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/SandboxCustomer.xml deleted file mode 100644 index 9270cbdfe43f3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Repository/SandboxCustomer.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - JohnDoe_%isolation%@example.com - 87654321 - 87654321 - John - Doe - 6161 West Centinela Avenue - Culver City - CA - 90230 - 555-55-555-55 - 4032034402702800 - 05/20 - 123 - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseOrderTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseOrderTest.xml deleted file mode 100644 index 33ccc0a4b17d8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseOrderTest.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - - 15.00 - - captured_price_15.00 - visa_default - Complete - paypal_direct - test_type:3rd_party_test, severity:S0 - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - full_invoice_with_product_10_dollar - - 15.00 - - visa_default - Complete - payflowpro, payflowpro_use_vault - test_type:3rd_party_test, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.php deleted file mode 100644 index a0fbade5a1888..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.php +++ /dev/null @@ -1,44 +0,0 @@ - Orders page. - * 3. Open order. - * 4. Click 'Ship' button and submit shipment. - * 5. Click 'Invoice' button. - * 6. Select Amount=Capture Online. - * 7. Click 'Submit Invoice' button. - * 11. Perform assertions. - * - * @group Paypal - * @ZephyrId MAGETWO-13016 - */ -class CloseSalesWithHostedProTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = '3rd_party_test'; - /* end tags */ - - /** - * Complete order paid PayPal Payments Pro Hosted Solution. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.xml deleted file mode 100644 index af750202c5aaf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CloseSalesWithHostedProTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - default - US_address_1_without_email - guest - Flat Rate - Fixed - hosted_pro - - 145.98 - - captured_price_145.98 - credit_card_hostedpro - visa_hosted_pro - false - Complete - merchant_country_gb, hosted_pro, config_base_currency_gb - test_type:3rd_party_test, severity:S0 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.php deleted file mode 100644 index e1ec96f87e630..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.php +++ /dev/null @@ -1,43 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.xml deleted file mode 100644 index f212f48237ecb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoPayflowLinkTest.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S0 - catalogProductSimple::product_100_dollar - us_ca_ny_rule - default - guest - US_address_1_without_email - Flat Rate - Fixed - payflow_link - payflowlink - visa_default - Closed - - - 0 - - - - - 226.50 - - - - Authorization - Yes - - - Refund - Yes - - - Capture - Yes - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml deleted file mode 100644 index 4b84fb5c75496..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S0 - catalogProductSimple::product_10_dollar - default - guest - - - 0 - - - - - 15.00 - - - US_address_1_without_email - Flat Rate - Fixed - payflowpro - paypal_direct - visa_default - - - - Yes - - - - Closed - - Refund - Yes - - - Capture - Yes - - - - - - - - - test_type:3rd_party_test, severity:S0 - catalogProductSimple::product_10_dollar - default - guest - - - 0 - - - - - 15.00 - - - US_address_1_without_email - Flat Rate - Fixed - payflowpro - payflowpro - visa_default - Closed - - Authorization - Yes - - - Refund - Yes - - - Capture - Yes - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.php deleted file mode 100644 index c82a154b4ee7a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.php +++ /dev/null @@ -1,50 +0,0 @@ - Orders. - * 3. Click Create New Order. - * 4. Select Customer created in preconditions. - * 5. Add Product. - * 6. Fill data according dataset. - * 7. Click Update Product qty. - * 8. Fill data according dataset. - * 9. Click Get Shipping Method and rates. - * 10. Fill data according dataset. - * 11. Select payment method Credit Card (PayFlow Pro) - * 12. Leave empty required fields for credit card - * 13. Click Submit order button - * - * @group PayPal - * @ZephyrId MAGETWO-58934 - */ -class CreatePayFlowOrderBackendNegativeTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = '3rd_party_test'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Runs sales order on backend. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.xml deleted file mode 100644 index 89b389b217176..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreatePayFlowOrderBackendNegativeTest.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S2 - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - No - Flat Rate - Fixed - - 15.00 - - payflowpro - visa_empty - Yes - payflowpro, payflowpro_use_vault - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml deleted file mode 100644 index abbb046add212..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S0 - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - No - Flat Rate - Fixed - - 15.00 - - payflowpro - payflowpro_cc_vault - visa_default_admin - Yes - payflowpro, payflowpro_use_vault - Processing - Back, Cancel, Send Email, Hold, Invoice, Ship, Reorder, Edit - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.php deleted file mode 100644 index 445fa49bc124b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.php +++ /dev/null @@ -1,46 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.xml deleted file mode 100644 index 2fa69ebba0acf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - catalogProductSimple::simple_10_dollar - us_ca_ny_rule - sandbox_us_default - guest - - Free - Free Shipping - - - 10.00 - - - 10.00 - 0.83 - 0.00 - 10.83 - - paypal_express - paypal_express, freeshipping - test_type:3rd_party_test_deprecated, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.php deleted file mode 100644 index 54b5a6cee9742..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.php +++ /dev/null @@ -1,46 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.xml deleted file mode 100644 index fb56b11b5a417..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - sandbox_us_default - guest - - Fixed - Flat Rate - - - 121.00 - - - 121.00 - 9.98 - 15.00 - 145.98 - - payflowpro - test_type:3rd_party_test_deprecated, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.php deleted file mode 100644 index d5c1de065c250..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.php +++ /dev/null @@ -1,50 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.xml deleted file mode 100644 index df421e0c60009..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - sandbox_us_default - default - guest - US_address_1 - Flat Rate - Fixed - - 145.98 - - - 145.98 - - paypal_express - paypal_express - test_type:3rd_party_test_deprecated, severity:S0 - - - - - - - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - sandbox_us_default - default - guest - US_address_1 - Flat Rate - Fixed - - 145.98 - - - 145.98 - - paypal_express - payflowlink - test_type:3rd_party_test_deprecated, severity:S0 - - - - - - - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - sandbox_us_default - default - guest - US_address_1 - Flat Rate - Fixed - - 145.98 - - - 145.98 - - paypal_express - paypal_express - test_type:3rd_party_test_deprecated - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.php deleted file mode 100644 index 8a48467847fa5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.php +++ /dev/null @@ -1,47 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.xml deleted file mode 100644 index bc40b104f1e1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressCheckoutFromShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - paypal_express, paypal_express_in_context - test_type:3rd_party_test, severity:S0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.php deleted file mode 100644 index db5e4b1dcf998..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.php +++ /dev/null @@ -1,47 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.xml deleted file mode 100644 index a050bf1eca317..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/InContextExpressOnePageCheckoutTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - catalogProductSimple::simple_10_dollar - default - US_address_1 - guest - - Free - Free Shipping - - paypal_express - paypal_express_in_context, paypal_express, freeshipping - test_type:3rd_party_test, severity:S0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 114235e75524f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - severity:S0, mftf_migrated:yes - Reports > PayPal Settlement - PayPal Settlement Reports - - - - severity:S0, mftf_migrated:yes - Sales > Billing Agreements - Billing Agreements - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutDeclinedTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutDeclinedTest.xml deleted file mode 100644 index c5ffa5bf0fccd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutDeclinedTest.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::product_10_dollar - default - AVS_street_does_not_match_address - guest - Flat Rate - Fixed - payflowpro - visa_default - payflowpro, payflowpro_avs_street_does_not_match - Transaction has been declined - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - visa_default - Transaction has been declined - payflowpro, payflowpro_use_avs_zip - test_type:3rd_party_test, severity:S1 - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - visa_cvv_mismatch - payflowpro, payflowpro_avs_security_code_does_not_match - Transaction has been declined - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.php deleted file mode 100644 index 65c31dcf047c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.php +++ /dev/null @@ -1,51 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.xml deleted file mode 100644 index 9f3917aefb43f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutHostedProTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - default - US_address_1_without_email - guest - Flat Rate - Fixed - hosted_pro - - 145.98 - - credit_card_hostedpro - visa_hosted_pro - false - merchant_country_gb, hosted_pro, config_base_currency_gb - Processing - test_type:3rd_party_test, severity:S0 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.php deleted file mode 100644 index e66dc50ae0de7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.php +++ /dev/null @@ -1,51 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.xml deleted file mode 100644 index a46835cf3c2dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPayflowLinkTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - catalogProductSimple::product_100_dollar - us_ca_ny_rule - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflow_link - - 226.50 - - visa_default - false - payflowlink - Processing - test_type:3rd_party_test, severity:S0 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.php deleted file mode 100644 index e0aef6517a502..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.php +++ /dev/null @@ -1,51 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.xml deleted file mode 100644 index f7e3e615d87cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutPaymentsAdvancedTest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - configurableProduct::with_one_option - bundleProduct::bundle_fixed_100_dollar_product - us_ca_ny_rule - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflow_advanced - - 145.98 - - visa_default - false - payments_advanced - Processing - test_type:3rd_party_test, severity:S0 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index 1e50cdf69197f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1 - us_ca_ny_rule - guest - Flat Rate - Fixed - payflowpro - - 15.83 - - visa_default - false - payflowpro - - Visa - - test_type:3rd_party_test, severity:S1 - - - - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - UK_address_without_email - guest - Flat Rate - Fixed - payflowpro - - 15.00 - - credit_card - visa_default - false - payflowpro - - Under review by Fraud Service - #N: No Details matched - - Processing - - - - - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::product_10_dollar - default - AVS_street_match_address - guest - Flat Rate - Fixed - payflowpro - - 15.00 - - credit_card - visa_default - false - payflowpro - - #Y: Yes. Matched Address and five-digit ZIP - - Processing - - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - - 15.00 - - visa_default - paypal_direct - test_type:3rd_party_test, severity:S1 - - - - - - - catalogProductSimple::product_10_dollar - default - AVS_zip_match_address - guest - Flat Rate - Fixed - payflowpro - visa_default - - #Y: Yes. Matched Address and five-digit ZIP - - payflowpro, payflowpro_use_avs_zip - Processing - test_type:3rd_party_test, severity:S1 - - - - - - test_type:3rd_party_test, severity:S1 - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - guest - Flat Rate - Fixed - payflowpro - - 15.00 - - visa_default - payflowpro, payflowpro_avs_security_code_does_not_match - - #Y: Matched (CVV2CSC) - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml deleted file mode 100644 index fe2ff170b0e0a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - Reorder from Admin with saved within PayPal Payflow Pro credit card for Guest Customer - catalogProductSimple::product_10_dollar - default - US_address_1 - guest - Flat Rate - Fixed - - 15.00 - - payflowpro - payflowpro_cc_vault - visa_default - payflowpro, payflowpro_use_vault - Processing - test_type:3rd_party_test, severity:S1 - - Visa - xxxx-1111 - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/UseVaultOnCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/UseVaultOnCheckoutTest.xml deleted file mode 100644 index 7b19fb76adc66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/UseVaultOnCheckoutTest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - login - Flat Rate - Fixed - payflowpro - payflowpro_cc_vault - visa_default - Yes - payflowpro, payflowpro_use_vault - Processing - test_type:3rd_party_test, severity:S0 - Processing - Back, Cancel, Send Email, Hold, Invoice, Ship, Reorder, Edit - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckExpressConfigStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckExpressConfigStep.php deleted file mode 100644 index 121a7563ec12a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckExpressConfigStep.php +++ /dev/null @@ -1,159 +0,0 @@ -systemConfigEditSectionPayment = $systemConfigEditSectionPayment; - $this->assertFieldsAreDisabled = $assertFieldsAreDisabled; - $this->assertFieldsArePresent = $assertFieldsArePresent; - $this->assertFieldsAreActive = $assertFieldsAreActive; - $this->assertFieldsAreEnabled = $assertFieldsAreEnabled; - $this->countryCode = $countryCode; - $this->sections = $sections; - $this->expressCheckoutConfigBlock = $this->systemConfigEditSectionPayment->getExpressCheckoutConfigBlock(); - } - - /** - * Run step for checking PayPal Express Checkout configuration. - * - * @return void - */ - public function run() - { - $this->systemConfigEditSectionPayment->open(); - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->switchMerchantCountry($this->countryCode); - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections); - $this->enableExpressCheckout(); - $this->disableExpressCheckout(); - } - - /** - * Enables Express Checkout and makes assertions for fields. - * - * @return void - */ - private function enableExpressCheckout() - { - $this->expressCheckoutConfigBlock->clickConfigureButton(); - $this->expressCheckoutConfigBlock->clearCredentials(); - $enablers = $this->expressCheckoutConfigBlock->getEnablerFields(); - $this->assertFieldsAreDisabled->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->expressCheckoutConfigBlock->specifyCredentials(); - $this->expressCheckoutConfigBlock->enableExpressCheckout(); - $expressFields = $this->expressCheckoutConfigBlock->getFields(); - $this->assertFieldsArePresent->processAssert( - $this->systemConfigEditSectionPayment, - [$expressFields['Merchant Account ID'], $expressFields['Sort Order PayPal Credit']] - ); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable In-Context Checkout Experience'], $enablers['Enable PayPal Credit']] - ); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable In-Context Checkout Experience'], $enablers['Enable PayPal Credit']] - ); - $this->expressCheckoutConfigBlock->specifyMerchantAccountId(); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Disables Express Checkout and makes assertions for fields. - * - * @return void - */ - private function disableExpressCheckout() - { - $enablers = $this->expressCheckoutConfigBlock->getEnablerFields(); - $this->expressCheckoutConfigBlock->clickConfigureButton(); - $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->assertFieldsAreEnabled->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->expressCheckoutConfigBlock->disableExpressCheckout(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable In-Context Checkout Experience'], $enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowLinkConfigStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowLinkConfigStep.php deleted file mode 100644 index 533d40ebc0608..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowLinkConfigStep.php +++ /dev/null @@ -1,165 +0,0 @@ -systemConfigEditSectionPayment = $systemConfigEditSectionPayment; - $this->assertFieldsAreDisabled = $assertFieldsAreDisabled; - $this->assertFieldsArePresent = $assertFieldsArePresent; - $this->assertFieldsAreActive = $assertFieldsAreActive; - $this->assertFieldsAreEnabled = $assertFieldsAreEnabled; - $this->countryCode = $countryCode; - $this->sections = $sections; - $this->payflowLinkConfigBlock = $this->systemConfigEditSectionPayment->getPayflowLinkConfigBlock(); - } - - /** - * Run step for checking Payflow Link configuration. - * - * @return void - */ - public function run() - { - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections); - $this->enablePayflowLink(); - $this->disablePayflowLink(); - } - - /** - * Enables Payflow Link and makes assertions for fields. - * - * @return void - */ - private function enablePayflowLink() - { - $this->payflowLinkConfigBlock->clickConfigureButton(); - $this->payflowLinkConfigBlock->clearCredentials(); - $enablers = $this->payflowLinkConfigBlock->getEnablerFields(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - $enablers - ); - $this->payflowLinkConfigBlock->specifyCredentials(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable Payflow Link']] - ); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable Express Checkout'], $enablers['Enable PayPal Credit']] - ); - $this->payflowLinkConfigBlock->enablePayflowLink(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - $enablers - ); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - $enablers - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Disables Payflow Link and makes assertions for fields. - * - * @return void - */ - private function disablePayflowLink() - { - $enablers = $this->payflowLinkConfigBlock->getEnablerFields(); - $this->payflowLinkConfigBlock->clickConfigureButton(); - $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - $enablers - ); - $this->payflowLinkConfigBlock->disablePayflowLink(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable Express Checkout'], $enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowProConfigStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowProConfigStep.php deleted file mode 100644 index bc761e1f54b42..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPayflowProConfigStep.php +++ /dev/null @@ -1,165 +0,0 @@ -systemConfigEditSectionPayment = $systemConfigEditSectionPayment; - $this->assertFieldsAreDisabled = $assertFieldsAreDisabled; - $this->assertFieldsArePresent = $assertFieldsArePresent; - $this->assertFieldsAreActive = $assertFieldsAreActive; - $this->assertFieldsAreEnabled = $assertFieldsAreEnabled; - $this->countryCode = $countryCode; - $this->sections = $sections; - $this->payflowProConfigBlock = $this->systemConfigEditSectionPayment->getPayflowProConfigBlock(); - } - - /** - * Run step for checking Payflow Pro configuration. - * - * @return void - */ - public function run() - { - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections); - $this->enablePayflowPro(); - $this->disablePayflowPro(); - } - - /** - * Enables Payflow Pro and makes assertions for fields. - * - * @return void - */ - private function enablePayflowPro() - { - $this->payflowProConfigBlock->clickConfigureButton(); - $this->payflowProConfigBlock->clearCredentials(); - $enablers = $this->payflowProConfigBlock->getEnablerFields(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->payflowProConfigBlock->specifyCredentials(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution']] - ); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable PayPal Credit']] - ); - $this->payflowProConfigBlock->enablePayflowPro(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit'], $enablers['Vault Enabled']] - ); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Disables Payflow Pro and makes assertions for fields. - * - * @return void - */ - private function disablePayflowPro() - { - $enablers = $this->payflowProConfigBlock->getEnablerFields(); - $this->payflowProConfigBlock->clickConfigureButton(); - $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->payflowProConfigBlock->disablePayflowPro(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsAdvancedConfigStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsAdvancedConfigStep.php deleted file mode 100644 index d59db9aae7a41..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsAdvancedConfigStep.php +++ /dev/null @@ -1,155 +0,0 @@ -systemConfigEditSectionPayment = $systemConfigEditSectionPayment; - $this->assertFieldsAreDisabled = $assertFieldsAreDisabled; - $this->assertFieldsArePresent = $assertFieldsArePresent; - $this->assertFieldsAreActive = $assertFieldsAreActive; - $this->assertFieldsAreEnabled = $assertFieldsAreEnabled; - $this->countryCode = $countryCode; - $this->sections = $sections; - $this->paymentsAdvancedConfigBlock = $this->systemConfigEditSectionPayment->getPaymentsAdvancedConfigBlock(); - } - - /** - * Run step for checking Payments Advanced configuration. - * - * @return void - */ - public function run() - { - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections); - $this->enablePaymentsAdvanced(); - $this->disablePaymentsAdvanced(); - } - - /** - * Enables Payments Advanced and makes assertions for fields. - * - * @return void - */ - private function enablePaymentsAdvanced() - { - $this->paymentsAdvancedConfigBlock->clickConfigureButton(); - $this->paymentsAdvancedConfigBlock->clearCredentials(); - $enablers = $this->paymentsAdvancedConfigBlock->getEnablerFields(); - $this->assertFieldsAreDisabled->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->paymentsAdvancedConfigBlock->specifyCredentials(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution']] - ); - $this->paymentsAdvancedConfigBlock->enablePaymentsAdvanced(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Disables Payments Advanced and makes assertions for fields. - * - * @return void - */ - private function disablePaymentsAdvanced() - { - $enablers = $this->paymentsAdvancedConfigBlock->getEnablerFields(); - $this->paymentsAdvancedConfigBlock->clickConfigureButton(); - $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->assertFieldsAreEnabled->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->paymentsAdvancedConfigBlock->disablePaymentsAdvanced(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsProConfigStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsProConfigStep.php deleted file mode 100644 index 1d1b1c4a7726a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckPaymentsProConfigStep.php +++ /dev/null @@ -1,165 +0,0 @@ -systemConfigEditSectionPayment = $systemConfigEditSectionPayment; - $this->assertFieldsAreDisabled = $assertFieldsAreDisabled; - $this->assertFieldsArePresent = $assertFieldsArePresent; - $this->assertFieldsAreActive = $assertFieldsAreActive; - $this->assertFieldsAreEnabled = $assertFieldsAreEnabled; - $this->countryCode = $countryCode; - $this->sections = $sections; - $this->paymentsProConfigBlock = $this->systemConfigEditSectionPayment->getPaymentsProConfigBlock(); - } - - /** - * Run step for checking Payments Pro configuration. - * - * @return void - */ - public function run() - { - $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections); - $this->enablePaymentsPro(); - $this->disablePaymentsPro(); - } - - /** - * Enables Payments Pro and makes assertions for fields. - * - * @return void - */ - private function enablePaymentsPro() - { - $this->paymentsProConfigBlock->clickConfigureButton(); - $this->paymentsProConfigBlock->clearCredentials(); - $enablers = $this->paymentsProConfigBlock->getEnablerFields(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->paymentsProConfigBlock->specifyCredentials(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution']] - ); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable PayPal Credit']] - ); - $this->paymentsProConfigBlock->enablePaymentsPro(); - $this->assertFieldsAreActive->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit'], $enablers['Vault Enabled']] - ); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } - - /** - * Disables Payments Pro and makes assertions for fields. - * - * @return void - */ - private function disablePaymentsPro() - { - $enablers = $this->paymentsProConfigBlock->getEnablerFields(); - $this->paymentsProConfigBlock->clickConfigureButton(); - $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers); - $this->assertFieldsAreEnabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']] - ); - $this->paymentsProConfigBlock->disablePaymentsPro(); - $this->assertFieldsAreDisabled->processAssert( - $this->systemConfigEditSectionPayment, - [$enablers['Enable PayPal Credit']] - ); - $this->systemConfigEditSectionPayment->getPageActions()->save(); - $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromProductPageStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromProductPageStep.php deleted file mode 100644 index a62b3b0a8a793..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromProductPageStep.php +++ /dev/null @@ -1,66 +0,0 @@ -catalogProductView = $catalogProductView; - $this->browser = $browser; - $this->product = $product; - } - - /** - * Open product on frontend and click Checkout with PayPal button. - * - * @return void - */ - public function run() - { - $this->browser->open($_ENV['app_frontend_url'] . $this->product->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->paypalCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromShoppingCartStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromShoppingCartStep.php deleted file mode 100644 index d5f79048380f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CheckoutWithPaypalFromShoppingCartStep.php +++ /dev/null @@ -1,43 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Checkout with PayPal from Shopping Cart. - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->paypalCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinuePaypalCheckoutStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinuePaypalCheckoutStep.php deleted file mode 100644 index 303d1aa656f25..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinuePaypalCheckoutStep.php +++ /dev/null @@ -1,83 +0,0 @@ -sandboxCustomer = $sandboxCustomer; - $this->expressReview = $expressReview; - $this->assertTotalPaypalReview = $assertTotalPaypalReview; - $this->paypalPrices = $paypalPrices; - } - - /** - * Review order on PayPal side and continue. - * - * @return void - */ - public function run() - { - $this->expressReview->getExpressMainLoginBlock()->waitForFormLoaded(); - if ($this->expressReview->getExpressMainLoginBlock()->isVisible()) { - $this->expressReview->getExpressMainLoginBlock()->getLoginBlock()->fill($this->sandboxCustomer); - $this->expressReview->getExpressMainLoginBlock()->getLoginBlock()->sandboxLogin(); - } - if (isset($this->paypalPrices['total'])) { - $this->assertTotalPaypalReview->processAssert($this->expressReview, $this->paypalPrices['total']); - } - $this->expressReview->getExpressMainReviewBlock()->getReviewBlock()->reviewAndContinue(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalInContextStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalInContextStep.php deleted file mode 100644 index ebc67971e1e94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalInContextStep.php +++ /dev/null @@ -1,42 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - } - - /** - * Click Continue to PayPal button. - * - * @return array - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->inContextPaypalCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalStep.php deleted file mode 100644 index 8dd5d869bfd5a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ContinueToPaypalStep.php +++ /dev/null @@ -1,42 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - } - - /** - * Click Continue to PayPal button. - * - * @return array - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CreateSandboxCustomerStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CreateSandboxCustomerStep.php deleted file mode 100644 index 7e1301e9a1258..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/CreateSandboxCustomerStep.php +++ /dev/null @@ -1,82 +0,0 @@ -sandboxCustomer = $sandboxCustomer; - $this->accountSignup = $accountSignup; - $this->signupAddCard = $signupAddCard; - $this->signupCreate = $signupCreate; - } - - /** - * Create new PayPal Sandbox Customer. - * - * @return void - */ - public function run() - { - $this->accountSignup->open(); - $this->accountSignup->getSignupPersonalAccountBlock()->fill($this->sandboxCustomer); - $this->accountSignup->getSignupPersonalAccountBlock()->continueSignup(); - $this->signupCreate->getSignupCreateBlock()->fill($this->sandboxCustomer); - $this->signupCreate->getSignupCreateBlock()->createAccount(); - $this->signupAddCard->getSignupAddCardBlock()->fill($this->sandboxCustomer); - $this->signupAddCard->getSignupAddCardBlock()->linkCardToAccount(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ExpressCheckoutOrderPlaceStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ExpressCheckoutOrderPlaceStep.php deleted file mode 100644 index 0cd9ee86c3758..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/ExpressCheckoutOrderPlaceStep.php +++ /dev/null @@ -1,141 +0,0 @@ -objectManager = $objectManager; - $this->orderReviewExpress = $orderReviewExpress; - $this->checkoutOnepage = $checkoutOnepage; - $this->checkoutOnepageSuccess = $checkoutOnepageSuccess; - $this->shipping = $shipping; - $this->prices = $prices; - $this->fixtureFactory = $fixtureFactory; - $this->products = $products; - $this->order = $order; - } - - /** - * Review order contents and place order. - * - * @return array - */ - public function run() - { - $this->orderReviewExpress->getReviewBlock()->selectShippingMethod($this->shipping); - foreach ($this->prices as $priceName => $value) { - $assertName = 'Assert' . ucfirst($priceName) . 'OrderReview'; - $assert = $this->objectManager->create('Magento\\Checkout\\Test\\Constraint\\' . $assertName); - $assert->processAssert($this->checkoutOnepage, $value); - } - $this->orderReviewExpress->getReviewBlock()->placeOrder(); - $data = [ - 'entity_id' => ['products' => $this->products] - ]; - $orderData = $this->order !== null ? $this->order->getData() : []; - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - ['data' => array_merge($data, $orderData)] - ); - return [ - 'orderId' => $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(), - 'order' => $order - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/InContextCheckoutWithPaypalFromShoppingCartStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/InContextCheckoutWithPaypalFromShoppingCartStep.php deleted file mode 100644 index b38a307203356..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/InContextCheckoutWithPaypalFromShoppingCartStep.php +++ /dev/null @@ -1,44 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Checkout with PayPal from Shopping Cart. - * - * @return void - */ - public function run() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->inContextPaypalCheckout(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithHostedProStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithHostedProStep.php deleted file mode 100644 index 4238fe0310541..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithHostedProStep.php +++ /dev/null @@ -1,130 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->fixtureFactory = $fixtureFactory; - $this->creditCard = $creditCard; - $this->payment = $payment; - $this->products = $products; - $this->checkoutOnepageSuccess = $checkoutOnepageSuccess; - $this->order = $order; - } - - /** - * Place order with Hosted Pro. - * - * @return array - */ - public function run() - { - $attempts = 1; - $this->checkoutOnepage->getPaymentBlock()->selectPaymentMethod($this->payment); - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - $this->checkoutOnepage->getHostedProBlock()->fillPaymentData($this->creditCard); - // As Paypal Sandbox is not stable there are three attempts given to place order - while ($this->checkoutOnepage->getHostedProBlock()->isErrorMessageVisible() && $attempts <= 3) { - $this->checkoutOnepage->getHostedProBlock()->fillPaymentData($this->creditCard); - $attempts++; - } - - $orderId = $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); - /** @var OrderInjectable $order */ - $data = [ - 'id' => $orderId, - 'entity_id' => ['products' => $this->products] - ]; - $orderData = $this->order !== null ? $this->order->getData() : []; - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - ['data' => array_merge($data, $orderData)] - ); - - return [ - 'orderId' => $orderId, - 'order' => $order, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPayflowLinkStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPayflowLinkStep.php deleted file mode 100644 index d2a2ac1892294..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPayflowLinkStep.php +++ /dev/null @@ -1,114 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->fixtureFactory = $fixtureFactory; - $this->creditCard = $creditCard; - $this->payment = $payment; - $this->products = $products; - $this->order = $order; - } - - /** - * Place order with Payflow Link. - * - * @return array - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->selectPaymentMethod($this->payment); - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - $this->checkoutOnepage->getPayflowLinkBlock()->fillPaymentData($this->creditCard); - - $data = []; - if ($this->order !== null) { - $data = $this->order->getData(); - } - - /** @var OrderInjectable $order */ - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - [ - 'data' => array_replace_recursive( - $data, - ['entity_id' => ['products' => $this->products]] - ) - ] - ); - - return ['order' => $order]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPaymentsAdvancedStep.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPaymentsAdvancedStep.php deleted file mode 100644 index 5cc01aaeb60cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestStep/PlaceOrderWithPaymentsAdvancedStep.php +++ /dev/null @@ -1,98 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->fixtureFactory = $fixtureFactory; - $this->creditCard = $creditCard; - $this->payment = $payment; - $this->products = $products; - } - - /** - * Place order with Payments Advanced. - * - * @return array - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->selectPaymentMethod($this->payment); - $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); - $this->checkoutOnepage->getPaymentsAdvancedBlock()->fillPaymentData($this->creditCard); - - /** @var OrderInjectable $order */ - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - [ - 'data' => [ - 'entity_id' => ['products' => $this->products] - ] - ] - ); - return ['order' => $order]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/di.xml deleted file mode 100644 index 4c9b82ea81086..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml deleted file mode 100644 index a331a949743a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Persistent/Test/Constraint/AssertCustomerIsRedirectedToCheckout.php b/dev/tests/functional/tests/app/Magento/Persistent/Test/Constraint/AssertCustomerIsRedirectedToCheckout.php deleted file mode 100644 index c40db5c164e62..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Persistent/Test/Constraint/AssertCustomerIsRedirectedToCheckout.php +++ /dev/null @@ -1,42 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - !$checkoutOnepage->getMessagesBlock()->isVisible() - && $checkoutOnepage->getShippingMethodBlock()->isVisible(), - 'Checkout first step is not available.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Checkout first step is available.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Persistent/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Persistent/Test/Repository/ConfigData.xml deleted file mode 100644 index 0d7b5c5b9a504..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Persistent/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - persistent - 1 - Yes - 1 - - - persistent - 1 - No - 0 - - - - - - persistent - 1 - No - 0 - - - persistent - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.php deleted file mode 100644 index 8921fa43fb3f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.php +++ /dev/null @@ -1,181 +0,0 @@ -customerAccountCreate = $customerAccountCreate; - $this->cmsIndex = $cmsIndex; - $this->logoutCustomerOnFrontendStep = $logoutCustomerOnFrontendStep; - $this->browser = $browser; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - $this->stepFactory = $stepFactory; - } - - /** - * Prepare data. - * - * @param CatalogProductSimple $product - * @return array - */ - public function __prepare(CatalogProductSimple $product) - { - $product->persist(); - - return ['product' => $product]; - } - - /** - * Create Customer account on Storefront. - * - * @param string $configData - * @param CatalogProductSimple $product - * @param Customer $customer - * @return void - */ - public function test($configData, CatalogProductSimple $product, Customer $customer) - { - $this->configData = $configData; - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - // Steps - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); - - // Ensure that shopping cart is empty - $this->checkoutCart->open()->getCartBlock()->clearShoppingCart(); - - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->addToCart($product); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $this->logoutCustomerOnFrontendStep->run(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.xml deleted file mode 100644 index 57148f7820d4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Persistent/Test/TestCase/CheckoutWithPersistentShoppingCartTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - MAGETWO-59976: Customer can't open Product on Storefront if Persistent Cart is enabled - register_customer - clearpersistence_on_signout - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.php deleted file mode 100644 index 52bae84525290..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.php +++ /dev/null @@ -1,183 +0,0 @@ -_rootElement->find($this->saveButton)->click(); - return $this; - } - - /** - * Clicks 'Edit' button. - * - * @return $this - */ - public function clickEditButton() - { - $this->waitForElementNotDisabled($this->editButton); - $this->_rootElement->find($this->editButton)->click(); - return $this; - } - - /** - * Clicks 'Delete' button. - * - * @return $this - */ - public function clickDeleteButton() - { - $this->_rootElement->find($this->deleteButton)->click(); - return $this; - } - - /** - * Clicks 'Close' button. - * - * @return $this - */ - public function clickCloseButton() - { - $this->_rootElement->find($this->closeButton)->click(); - return $this; - } - - /** - * Fills form with data - * - * @param array $data - * @return $this - * @throws \Exception - */ - public function fillForm(array $data) - { - $data = $this->dataMapping($data); - if (isset($data['video_url'])) { - $videoFill = ['video_url' => $data['video_url']]; - unset($data['video_url']); - $this->_fill($videoFill); - $this->_rootElement->find($this->getVideoButton)->click(); - $this->waitForElementVisible($this->screenshotPreview); - $this->waitForElementVisible($this->videoPlayer); - } - $this->_fill($data); - return $this; - } - - /** - * Wait for element is not disabled in the block - * - * @param string $selector - * @param string $strategy - * @return bool|null - */ - public function waitForElementNotDisabled($selector, $strategy = Locator::SELECTOR_CSS) - { - $browser = $this->browser; - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $element = $browser->find($selector, $strategy); - return $element->isDisabled() == false ? true : null; - } - ); - } - - /** - * Gets video info - * - * @return array - */ - public function getVideoInfo() - { - $data = []; - foreach (array_keys($this->mapping) as $field) { - $data[$field] = $this->_rootElement->find($field, Locator::SELECTOR_NAME)->getValue(); - } - return $data; - } - - /** - * Validates data in form. - * - * @param array $video - * @return bool - */ - public function validate(array $video) - { - $result = true; - $data = $this->getVideoInfo(); - foreach ($video as $key => $value) { - if ($value != $data[$key]) { - $result = false; - break; - } - } - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.xml deleted file mode 100644 index cb0bf62aba03f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/Images/VideoDialog.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/ImagesAndVideos.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/ImagesAndVideos.php deleted file mode 100644 index dad28c8afc84a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/Edit/Tab/ImagesAndVideos.php +++ /dev/null @@ -1,244 +0,0 @@ -waitForElementVisible($this->newVideoDialog); - return $this->blockFactory->create( - \Magento\ProductVideo\Test\Block\Adminhtml\Product\Edit\Tab\Images\VideoDialog::class, - ['element' => $this->browser->find($this->newVideoDialog)] - ); - } - - /** - * Clicks add video button. - * - * @return void - */ - protected function clickAddVideo() - { - $this->_rootElement->find($this->addVideoButton)->click(); - } - - /** - * Fill data to fields on tab. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - if (!array_key_exists('images', $fields['media_gallery']['value'])) { - return $this; - } - if ($fields['media_gallery']['value']['images'] == '') { - $fields['media_gallery']['value']['images'] = []; - } - $currentImages = $this->getImageIds(); - $newImages = array_keys($fields['media_gallery']['value']['images']); - $updateIds = array_intersect($currentImages, $newImages); - $addIds = array_diff($newImages, $currentImages); - $deleteIds = array_diff($currentImages, $newImages); - - foreach ($updateIds as $id) { - $this->updateVideo($id, $fields['media_gallery']['value']['images'][$id]); - } - - foreach ($deleteIds as $id) { - $this->deleteVideo($id); - } - - foreach ($addIds as $id) { - $this->addVideo($fields['media_gallery']['value']['images'][$id]); - } - - return $this; - } - - /** - * Adds new video. - * - * @param $data - * @return void - */ - protected function addVideo($data) - { - $this->clickAddVideo(); - $this->getVideoDialog()->fillForm($data)->clickSaveButton(); - } - - /** - * Deletes video. - * - * @param $id - * @return void - */ - protected function deleteVideo($id) - { - $this->clickVideo($id); - $this->getVideoDialog()->clickDeleteButton(); - } - - /** - * Updates video. - * - * @param $id - * @param $data - * @return void - */ - protected function updateVideo($id, $data) - { - $this->clickVideo($id); - $this->getVideoDialog()->fillForm($data)->clickEditButton(); - } - - /** - * Get data of tab. - * - * @param array|null $tabFields - * @param SimpleElement|null $element - * @return array - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($tabFields = null, SimpleElement $element = null) - { - $fields = reset($tabFields); - $name = key($tabFields); - $formData = []; - if (empty($fields['value']) || !array_key_exists('images', $fields['value'])) { - return ''; - } - if ($fields['value']['images'] == '') { - $fields['value']['images'] = []; - } - - $formData[$name]['images'] = []; - - $imageArray = $fields['value']['images']; - $resetImages = array_flip(array_keys($imageArray)); - - foreach ($imageArray as $keyRoot => $fieldSet) { - $image = $this->_rootElement->find($this->getImageSelector($resetImages[$keyRoot])); - if ($image) { - $image->click(); - $videoDialog = $this->getVideoDialog(); - $data = $videoDialog->getVideoInfo(); - foreach (array_keys($fieldSet) as $field) { - if (isset($data[$field])) { - $formData[$name]['images'][$keyRoot][$field] = $data[$field]; - } - } - $videoDialog->clickCloseButton(); - } - } - - if (count($formData[$name]['images']) == 0) { - $formData[$name]['images'] = ''; - } - - return $formData; - } - - /** - * Gets image CSS selector. - * - * @param $id - * @return string - */ - protected function getImageSelector($id) - { - ++$id; - return $this->imageItem . ':nth-child(' . $id . ') .product-image-wrapper'; - } - - /** - * Returns emulated image index - * - * @return array - */ - protected function getImageIds() - { - $images = $this->_rootElement->getElements($this->imageItem); - return array_keys($images); - } - - /** - * Clicks on video image. - * - * @param $id - * @return void - */ - protected function clickVideo($id) - { - $this->_rootElement->find($this->getImageSelector($id))->click(); - } - - /** - * Clicks on first video image. - * - * @return $this - */ - public function clickFirstVideo() - { - $this->_rootElement->find($this->getImageSelector($this->firstVideoId))->click(); - return $this; - } - - /** - * Delete first video in a product - * - * @return void - */ - public function deleteFirstVideo() - { - $this->deleteVideo($this->firstVideoId); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index a1b946840d69e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - \Magento\ProductVideo\Test\Block\Adminhtml\Product\Edit\Tab\ImagesAndVideos - [data-index="gallery"] - css selector - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertGetVideoInfoDataIsCorrect.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertGetVideoInfoDataIsCorrect.php deleted file mode 100644 index 894cb1b8a3502..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertGetVideoInfoDataIsCorrect.php +++ /dev/null @@ -1,56 +0,0 @@ -open(); - $productGrid->getProductGrid()->searchAndOpen(['sku' => $product->getSku()]); - - $editProductPage->getProductForm()->openSection('images-and-videos'); - $imagesTab = $editProductPage->getProductForm()->getSection('images-and-videos'); - $result = $imagesTab->clickFirstVideo()->getVideoDialog()->validate($video); - - \PHPUnit\Framework\Assert::assertTrue( - $result, - 'Video data received from external service is not correct.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Video data received from external service is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoCategoryView.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoCategoryView.php deleted file mode 100644 index 6c9771613fe33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoCategoryView.php +++ /dev/null @@ -1,49 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $src = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getBaseImageSource(); - \PHPUnit\Framework\Assert::assertTrue( - strpos($src, '/placeholder/') !== false, - 'Product image is displayed on category view when it should not.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'No product images is displayed on category view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoProductView.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoProductView.php deleted file mode 100644 index 5fd0aa00221a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoProductView.php +++ /dev/null @@ -1,47 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getViewBlock()->isVideoVisible(), - 'Product video is displayed on product view when it should not.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'No product video is displayed on product view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoCategoryView.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoCategoryView.php deleted file mode 100644 index 0b3aa227486de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoCategoryView.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $src = $catalogCategoryView->getListProductBlock()->getProductItem($product)->getBaseImageSource(); - \PHPUnit\Framework\Assert::assertFalse( - strpos($src, '/placeholder/') !== false, - 'Video preview image is not displayed on category view when it should.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Video preview images is displayed on category view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoConfigurableProductView.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoConfigurableProductView.php deleted file mode 100644 index 813d56f152344..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoConfigurableProductView.php +++ /dev/null @@ -1,69 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - // assert video and video data of configurable product is presented on page - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->isVideoVisible(), - 'Product video is not displayed on product view when it should.' - ); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->checkVideoDataPresence($youtubeDataCode), - 'Configurable product video data is not displayed on product view when it should.' - ); - // select configurable product variation - $catalogProductView->getConfigurableAttributesBlock()->selectConfigurableOption($product, $variation); - // assert video and video data of simple product option is presented on page - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->isVideoVisible(), - 'Configurable product variation video is not displayed on product view when it should.' - ); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->checkVideoDataPresence($vimeoDataCode), - 'Configurable product variation video data is not displayed on product view when it should.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Configurable product video and it variation video are displayed on product view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoProductView.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoProductView.php deleted file mode 100644 index 8b4488a63e0e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoProductView.php +++ /dev/null @@ -1,47 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getViewBlock()->isVideoVisible(), - 'Product video is not displayed on product view when it should.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product video is displayed on product view.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/CatalogProductSimple.xml deleted file mode 100644 index 351a62b33a71d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/CatalogProductSimple.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/ConfigurableProduct.xml deleted file mode 100644 index 16418ce52de5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/ConfigurableProduct.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/Product/MediaGallery.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/Product/MediaGallery.php deleted file mode 100644 index fd7bad8e177ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Fixture/Product/MediaGallery.php +++ /dev/null @@ -1,86 +0,0 @@ -createTestImage($media['file']); - } - } - } - $this->data = $data; - } - - /** - * Create test image. - * - * @param string $filename - * @return void - */ - protected function createTestImage($filename) - { - $filename = $this->getFullPath($filename); - if (!file_exists($filename)) { - // Create an image with the specified dimensions - $image = imageCreate(300, 200); - - // Create a color (this first call to imageColorAllocate - // also automatically sets the image background color) - $colorYellow = imageColorAllocate($image, 255, 255, 0); - - // Draw a rectangle - imageFilledRectangle($image, 50, 50, 250, 150, $colorYellow); - - $directory = dirname($filename); - if (!file_exists($directory)) { - mkdir($directory, 0777, true); - } - imageJpeg($image, $filename); - - // Release memory - imageDestroy($image); - } - } - - /** - * Gets full path based on filename. - * - * @param string $filename - * @return string - */ - protected function getFullPath($filename) - { - return BP . $this->mediaPathTmp . $filename; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/CatalogProductSimple.xml deleted file mode 100644 index 9f8d8c5fb932e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/CatalogProductSimple.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - default - - Simple Product with video %isolation% - sku_simple_product_with_video_%isolation% - No - 1 - - 1000 - In Stock - - - 10 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-with-video-%isolation% - - default_subcategory - - - - - https://youtu.be/bpOSxM0rNPM - Some title - - - - - - - default - - Simple Product with video %isolation% - sku_simple_product_with_video_%isolation% - No - 1 - - 1000 - In Stock - - - 10 - - - taxable_goods - - - - default - - - Catalog, Search - simple-product-with-video-%isolation% - - default_subcategory - - - - - https://vimeo.com/16342611 - Some title - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/ConfigData.xml deleted file mode 100644 index 0b1499091e02a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - default - 0 - Yes - AIzaSyAzWKu17L5BcpPwtcHMdVDLma2hHoJQb5w - - - - - default - 0 - Yes - - - - - - default - 0 - Yes - 0 - - - - - default - 0 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.php deleted file mode 100644 index 6fa1e07622509..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.php +++ /dev/null @@ -1,121 +0,0 @@ -productGrid = $productGrid; - $this->newProductPage = $newProductPage; - } - - /** - * Run update product simple entity test. - * - * @param CatalogProductSimple $product - * @param string $configData - * @return array - */ - public function test( - CatalogProductSimple $product, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Steps - // * 1. Go to backend. - $this->productGrid->open(); - - // * 2. Open simple product page to create a new one. - $this->productGrid->getGridPageActionBlock()->addProduct('simple'); - - // * 3. Click "Add Video" in "Images and Videos" section. - // * 4. Fill fields regarding to Test Data. - // * 5. Click "Save" button on "Add Video" panel. - $this->newProductPage->getProductForm()->fill($product); - - // * 6. Click "Save" button on product page. - $this->newProductPage->getFormPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.xml deleted file mode 100644 index 496868a0a87a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/AddProductVideoTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - stable:no - product_with_video_youtube - youtube_api_key,play_if_base - - - - - - stable:no - product_with_video_vimeo - play_if_base - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.php deleted file mode 100644 index 0e81b07c4bbf4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.php +++ /dev/null @@ -1,125 +0,0 @@ -productIndex = $productIndex; - $this->productNew = $productNew; - $this->productEdit = $productEdit; - $this->testStepFactory = $testStepFactory; - } - - /** - * @param CatalogProductSimple $simpleProductVideo - * @param ConfigurableProduct $product - * @param AssertProductSaveMessage $assertCreateProducts - * @param string $variation - * @param null $configData - */ - public function test( - CatalogProductSimple $simpleProductVideo, - ConfigurableProduct $product, - AssertProductSaveMessage $assertCreateProducts, - $variation, - $configData = null - ) { - //Preconditions - $this->configData = $configData; - $this->testStepFactory->create( - SetupConfigurationStep::class, - ['configData' => $this->configData, 'flushCache' => true] - )->run(); - - // Steps - $this->productIndex->open(); - $this->productIndex->getGridPageActionBlock()->addProduct('configurable'); - $this->productNew->getProductForm()->fill($product); - $this->productNew->getFormPageActions()->save($product); - $assertCreateProducts->processAssert($this->productEdit); - - $sku = $product->getConfigurableAttributesData()['matrix'][$variation]['sku']; - $this->productIndex->open(); - $this->productIndex->getProductGrid()->searchAndOpen(['sku' => $sku]); - $this->productEdit->getProductForm()->fill($simpleProductVideo); - $this->productEdit->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.xml deleted file mode 100644 index 862a1351e839d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/ConfigurableProductVideoTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - configurable_with_video - https://vimeo.com/16342611 - attribute_key_0:option_key_0 attribute_key_1:option_key_0 - youtube_api_key,play_if_base - 16342611 - bpOSxM0rNPM - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.php deleted file mode 100644 index 7daa50b9dec33..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.php +++ /dev/null @@ -1,128 +0,0 @@ -productGrid = $productGrid; - $this->newProductPage = $newProductPage; - } - - /** - * Run update product simple entity test. - * - * @param CatalogProductSimple $product - * @param string $configData - * @return array - */ - public function test( - CatalogProductSimple $product, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Steps - // * 1. Go to backend. - $this->productGrid->open(); - - // * 2. Open simple product page to create a new one. - $this->productGrid->getGridPageActionBlock()->addProduct('simple'); - - // * 3. Click "Add Video" in "Images and Videos" section. - // * 4. Fill fields regarding to Test Data. - // * 5. Click "Save" button on "Add Video" panel. - $productForm = $this->newProductPage->getProductForm(); - $productForm->fill($product); - - // * 6. Click on added video preview. - // * 7. Click "Delete" button on "Edit Video" panel. - $productForm->openSection('images-and-videos')->getSection('images-and-videos')->deleteFirstVideo(); - - // * 8. Click "Save" button on product page. - $this->newProductPage->getFormPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.xml deleted file mode 100644 index 262b9c26b2abd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/DeleteProductVideoTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - stable:no - product_with_video_youtube - youtube_api_key,play_if_base - - - - - - stable:no - product_with_video_vimeo - play_if_base - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.php b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.php deleted file mode 100644 index 1aeb12ab70b39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.php +++ /dev/null @@ -1,132 +0,0 @@ -productGrid = $productGrid; - $this->newProductPage = $newProductPage; - } - - /** - * Run update product simple entity test. - * - * @param CatalogProductSimple $product - * @param CatalogProductSimple $productVideo - * @param null $configData - * @return array - */ - public function test( - CatalogProductSimple $product, - CatalogProductSimple $productVideo, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Steps - // * 1. Go to backend. - $this->productGrid->open(); - // * 2. Open simple product page to create a new product. - $this->productGrid->getGridPageActionBlock()->addProduct('simple'); - - // * 3. Click "Add Video" in "Images and Videos" section. - // * 4. Fill fields regarding to Test Data. - // * 5. Click "Save" button on "Add Video" panel. - $this->newProductPage->getProductForm()->fill($productVideo); - - // * 6. Click on video preview. - // * 7. Fill fields regarding to Test Data. - // * 8. Click "Save" button on "Edit Video" panel. - - $this->newProductPage->getProductForm()->fill($product); - - // * 9. Click "Save" button on product page - $this->newProductPage->getFormPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData) { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.xml deleted file mode 100644 index 9d5dd49eadc6f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/TestCase/UpdateProductVideoTest.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - product_with_video_youtube - simple_product_with_category_%isolation% - https://vimeo.com/16342611 - youtube_api_key,play_if_base - - - - product_with_video_vimeo - simple_product_with_category_%isolation% - https://youtu.be/bpOSxM0rNPM - youtube_api_key,play_if_base - - - - product_with_video_vimeo - simple_product_with_category_%isolation% - Edit Test - This is an edit test - play_if_base - - - - product_with_video_vimeo - simple_product_with_category_%isolation% - https://youtu.be/bpOSxM0rNPM - Edit Test - This is an edit test - youtube_api_key,play_if_base - - - - product_with_video_youtube - simple_product_with_category_%isolation% - https://youtu.be/WMp2PvU2qi8 - Foo Fighters - Congregation - youtube_api_key,play_if_base - - - - test_type:extended_acceptance_test - product_with_video_vimeo - simple_product_with_category_%isolation% - https://vimeo.com/21776334 - Foo Fighters - "Walk" - Official Music Video (HD) - play_if_base - - - - diff --git a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/ProductVideo/Test/etc/di.xml deleted file mode 100644 index dc262bb6b5b94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ProductVideo/Test/etc/di.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/ReleaseNotification/Mtf/App/State/NotificationHandler.php b/dev/tests/functional/tests/app/Magento/ReleaseNotification/Mtf/App/State/NotificationHandler.php deleted file mode 100644 index fef4bfdf605fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ReleaseNotification/Mtf/App/State/NotificationHandler.php +++ /dev/null @@ -1,55 +0,0 @@ -configuration = $configuration; - } - - /** - * Mark admin user as notified about release notes. - * - * @param AbstractState $state - * @return bool - * @throws \Exception - * @SuppressWarnings("unused") - */ - public function execute(AbstractState $state) - { - $url = $_ENV['app_backend_url'] . 'admin/releaseNotification/notification/markUserNotified/?isAjax=true'; - $curl = new BackendDecorator(new CurlTransport(), $this->configuration); - $curl->write($url, []); - $response = json_decode($curl->read(), true); - $curl->close(); - if (isset($response['success'])) { - return $response['success']; - } - return false; - } -} diff --git a/dev/tests/functional/tests/app/Magento/ReleaseNotification/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/ReleaseNotification/Test/etc/di.xml deleted file mode 100644 index 5ac2e24283050..0000000000000 --- a/dev/tests/functional/tests/app/Magento/ReleaseNotification/Test/etc/di.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - Magento\ReleaseNotification\Mtf\App\State\NotificationHandler - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/AbstractFilter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/AbstractFilter.php deleted file mode 100644 index ce4820570984c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/AbstractFilter.php +++ /dev/null @@ -1,74 +0,0 @@ - $reportFilter) { - if (in_array($key, $this->dateFields)) { - $date = ObjectManager::getInstance()->create( - \Magento\Backend\Test\Fixture\Source\Date::class, - ['params' => [], 'data' => ['pattern' => $reportFilter]] - ); - $viewsReport[$key] = $date->getData(); - } - } - return $viewsReport; - } - - /** - * Search entity in report grid - * - * @var array $report - * @return void - */ - public function viewsReport(array $report) - { - $report = $this->prepareData($report); - $data = $this->dataMapping($report); - $this->_fill($data); - } - - /** - * Click refresh filter button - * - * @return void - */ - public function refreshFilter() - { - $this->_rootElement->find($this->refresh)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/AccountsGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/AccountsGrid.php deleted file mode 100644 index 5f08fc1da323b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/AccountsGrid.php +++ /dev/null @@ -1,97 +0,0 @@ - 'datepicker', - 'report_to' => 'datepicker', - 'report_period' => 'select', - ]; - - /** - * Total results locator - * - * @var string - */ - protected $totalResults = 'tfoot .col-qty'; - - /** - * Filter locator - * - * @var string - */ - protected $filter = '[name=%s]'; - - /** - * Refresh button locator - * - * @var string - */ - protected $refreshButton = '[data-ui-id="adminhtml-report-grid-refresh-button"]'; - - /** - * Search accounts in report grid - * - * @var array $customersReport - * @return void - */ - public function searchAccounts(array $customersReport) - { - $customersReport = $this->prepareData($customersReport); - foreach ($customersReport as $name => $value) { - $this->_rootElement - ->find(sprintf($this->filter, $name), Locator::SELECTOR_CSS, $this->dataMapping[$name]) - ->setValue($value); - } - $this->_rootElement->find($this->refreshButton)->click(); - } - - /** - * Get total Results from New Accounts Report grid - * - * @return string - */ - public function getTotalResults() - { - return $this->_rootElement->find($this->totalResults)->getText(); - } - - /** - * Prepare data - * - * @param array $customersReport - * @return array - */ - protected function prepareData(array $customersReport) - { - foreach ($customersReport as $name => $reportFilter) { - if ($name === 'report_period') { - continue; - } - $date = ObjectManager::getInstance()->create( - \Magento\Backend\Test\Fixture\Source\Date::class, - ['params' => [], 'data' => ['pattern' => $reportFilter]] - ); - $customersReport[$name] = $date->getData(); - } - return $customersReport; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Filter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Filter.php deleted file mode 100644 index 1c07ede1d44bd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Filter.php +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - datepicker - - - datepicker - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Grid.php deleted file mode 100644 index eaa94eed8a7a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Counts/Grid.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - datepicker - - - datepicker - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Totals/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Totals/Grid.php deleted file mode 100644 index 5c144a4033c08..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Customer/Totals/Grid.php +++ /dev/null @@ -1,83 +0,0 @@ - [ - 'selector' => 'td[contains(@class,"col-name") and normalize-space(.)="%s"]', - ], - 'orders' => [ - 'selector' => 'td[contains(@class,"col-orders_count") and normalize-space(.)="%s"]', - ], - 'average' => [ - 'selector' => 'td[contains(@class,"col-average") and contains(.,"%s")]', - ], - 'total' => [ - 'selector' => 'td[contains(@class,"col-total") and contains(.,"%s")]', - ], - ]; - - /** - * Obtain specific row in grid - * - * @param array $filter - * @param bool $isStrict - * @return SimpleElement - */ - protected function getRow(array $filter, $isStrict = true) - { - $this->date = sprintf($this->date, $filter['date']); - $location = '//table//tr[((preceding-sibling::' . sprintf($this->preceding, $filter['date']) - . ' and following-sibling::' . $this->following . ') or ' . $this->date . ') and '; - unset($filter['date']); - $rows = []; - foreach ($filter as $key => $value) { - $rows[] = sprintf($this->filters[$key]['selector'], $value); - } - $location = $location . implode(' and ', $rows) . ']'; - if (!$this->_rootElement->find($location, Locator::SELECTOR_XPATH)->isVisible()) { - $location = str_replace($this->following, 'tr[last()]', $location); - $location = str_replace($this->date, $this->date . ' or last()', $location); - } - return $this->_rootElement->find($location, Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Downloads/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Downloads/Grid.php deleted file mode 100644 index 6200f769e9594..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Downloads/Grid.php +++ /dev/null @@ -1,31 +0,0 @@ - [ - 'selector' => 'input[name="name"]', - ], - 'link_title' => [ - 'selector' => 'input[name="link_title"]', - ], - 'sku' => [ - 'selector' => 'input[name="sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Lowstock/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Lowstock/Grid.php deleted file mode 100644 index 57849e7b116e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Lowstock/Grid.php +++ /dev/null @@ -1,25 +0,0 @@ - [ - 'selector' => 'input[name="name"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Sold/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Sold/Grid.php deleted file mode 100644 index 3f53c7d2126b5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Sold/Grid.php +++ /dev/null @@ -1,131 +0,0 @@ - 'datepicker', - 'report_to' => 'datepicker', - 'report_period' => 'select', - ]; - - /** - * Product in grid locator - * - * @var string - */ - protected $product = './/*[contains(.,"%s")]/*[contains(@class,"col-qty")]'; - - /** - * Product sku from grid locator - * - * @var string - */ - private $productSku = './/*[contains(.,"%s")]/*[contains(@class,"col-sku")]'; - - /** - * Filter locator - * - * @var string - */ - protected $filter = '[name=%s]'; - - /** - * Refresh button locator - * - * @var string - */ - protected $refreshButton = '[data-ui-id="adminhtml-report-grid-refresh-button"]'; - - /** - * Search accounts in report grid - * - * @var array $customersReport - * @return void - */ - public function searchAccounts(array $customersReport) - { - $customersReport = $this->prepareData($customersReport); - foreach ($customersReport as $name => $value) { - $this->_rootElement - ->find(sprintf($this->filter, $name), Locator::SELECTOR_CSS, $this->dataMapping[$name]) - ->setValue($value); - } - $this->_rootElement->find($this->refreshButton)->click(); - } - - /** - * Prepare data - * - * @param array $customersReport - * @return array - */ - protected function prepareData(array $customersReport) - { - foreach ($customersReport as $name => $reportFilter) { - if ($name === 'report_period') { - continue; - } - $date = ObjectManager::getInstance()->create( - \Magento\Backend\Test\Fixture\Source\Date::class, - ['params' => [], 'data' => ['pattern' => $reportFilter]] - ); - $customersReport[$name] = $date->getData(); - } - return $customersReport; - } - - /** - * Get orders quantity from Ordered Products Report grid - * - * @param OrderInjectable $order - * @return array - */ - public function getOrdersResults(OrderInjectable $order) - { - $products = $order->getEntityId()['products']; - $views = []; - foreach ($products as $key => $product) { - $views[$key] = $this->_rootElement - ->find(sprintf($this->product, $product->getName()), Locator::SELECTOR_XPATH)->getText(); - } - return $views; - } - - /** - * Get product sku from Ordered Products Report grid. - * - * @param OrderInjectable $order - * @return array - */ - public function getOrdersResultsforConfigurableProducts(OrderInjectable $order) - { - $products = $order->getEntityId()['products']; - $skus = []; - - foreach ($products as $key => $productSku) { - $skus[$key] = $this->_rootElement - ->find(sprintf($this->productSku, $productSku->getName()), Locator::SELECTOR_XPATH)->getText(); - } - - return $skus; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/Filter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/Filter.php deleted file mode 100644 index a81decc00b223..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/Filter.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - datepicker - - - datepicker - - - select - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/ProductGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/ProductGrid.php deleted file mode 100644 index 361895c3afad5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Product/Viewed/ProductGrid.php +++ /dev/null @@ -1,35 +0,0 @@ - [ - 'selector' => 'td[contains(@class,"col-period") and normalize-space(.)="%s"]', - ], - 'product' => [ - 'selector' => 'td[contains(@class,"col-product") and normalize-space(.)="%s"]', - ], - 'price' => [ - 'selector' => 'td[contains(@class,"col-price") and contains(.,"%s")]', - ], - 'orders' => [ - 'selector' => 'td[contains(@class,"col-qty") and normalize-space(.)="%s"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Refresh/Statistics/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Refresh/Statistics/Grid.php deleted file mode 100644 index 4b48c7f7fe4e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Refresh/Statistics/Grid.php +++ /dev/null @@ -1,62 +0,0 @@ -_rootElement->find(sprintf($this->selectItem, $filter['report']), Locator::SELECTOR_XPATH); - if ($selectItem->isVisible()) { - $selectItem->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } - - /** - * Get rows data. - * - * @param array $columns - * @return array - */ - public function getRowsData(array $columns) - { - $data = []; - $rows = $this->_rootElement->getElements($this->rowItem); - foreach ($rows as $row) { - $rowData = []; - foreach ($columns as $columnName) { - $rowData[$columnName] = trim($row->find('.col-' . $columnName)->getText()); - } - - $data[] = $rowData; - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Customer/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Customer/Grid.php deleted file mode 100644 index a4a45b1c9b557..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Customer/Grid.php +++ /dev/null @@ -1,56 +0,0 @@ -getFirstname() . ' ' . $customer->getLastname(); - $this->_rootElement->find(sprintf($this->searchRow, $customerName), Locator::SELECTOR_XPATH)->click(); - } - - /** - * Get qty review from customer review grid - * - * @param string $customerName - * @return int - */ - public function getQtyReview($customerName) - { - return $this->_rootElement - ->find(sprintf($this->colReviewCount, $customerName), Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Grid.php deleted file mode 100644 index 585b49cd91f73..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Grid.php +++ /dev/null @@ -1,35 +0,0 @@ -_rootElement->find(sprintf($this->searchRow, $name), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/Filter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/Filter.php deleted file mode 100644 index a551803436468..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/Filter.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - datepicker - - - datepicker - - - select - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/ProductGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/ProductGrid.php deleted file mode 100644 index 03de2fdf30ba9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Review/Products/Viewed/ProductGrid.php +++ /dev/null @@ -1,47 +0,0 @@ -product . $this->productView, $product->getName(), $product->getPrice()); - $views[] = $this->_rootElement->find($productLocator, Locator::SELECTOR_XPATH)->getText(); - } - return $views; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Action.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Action.php deleted file mode 100644 index b95e834667479..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Action.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->showReportButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Filter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Filter.php deleted file mode 100644 index 97117cc02ae47..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Filter.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - select - - - select - - - datepicker - - - datepicker - - - select - - - select - - - select - - - [name="order_statuses[]"] - multiselect - - - [name="rules_list[]"] - multiselect - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Grid.php deleted file mode 100644 index 4305ddf687055..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Coupons/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => '.col-coupon_code', - ], - 'rule_name' => [ - 'selector' => '.col-rule_name', - ], - 'subtotal' => [ - 'selector' => '.col-subtotal', - ], - 'discount' => [ - 'selector' => '.col-discount', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Invoiced/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Invoiced/Grid.php deleted file mode 100644 index 32c96856ad36d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Invoiced/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ -getResults($this->filterRows); - } - - /** - * Get total data from report grid - * - * @return array - */ - public function getTotalResult() - { - return $this->getResults($this->totalRows); - } - - /** - * Get data from report grid - * - * @param string $filterRows - * @return array - */ - protected function getResults($filterRows) - { - $orders = []; - $row = $this->_rootElement->find(sprintf($filterRows, $this->rows[0]), Locator::SELECTOR_XPATH); - if (!$row->isVisible()) { - return array_fill_keys($this->rows, 0); - } - foreach ($this->rows as $row) { - $value = $this->_rootElement->find(sprintf($filterRows, $row), Locator::SELECTOR_XPATH)->getText(); - $orders[$row] = preg_replace('`[$,]`', '', $value); - } - - return $orders; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Refunded/FilterGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Refunded/FilterGrid.php deleted file mode 100644 index 8c14920904c4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/Refunded/FilterGrid.php +++ /dev/null @@ -1,31 +0,0 @@ -_rootElement->find($this->showReportButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Filter.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Filter.php deleted file mode 100644 index 38e57a500f94c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Filter.php +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - select - - - select - - - datepicker - - - datepicker - - - select - - - [name="order_statuses[]"] - multiselect - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Grid.php deleted file mode 100644 index 33abb140c956f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Sales/TaxRule/Grid.php +++ /dev/null @@ -1,16 +0,0 @@ - [ - 'selector' => 'input[name="query_text"]', - ], - 'num_results' => [ - 'selector' => 'input[name="num_results[from]"]', - ], - 'popularity' => [ - 'selector' => 'input[name="popularity[from]"]', - ], - ]; - - /** - * Locator value for link in action column - * - * @var string - */ - protected $editLink = 'td[class*=col-query]'; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Abandoned/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Abandoned/Grid.php deleted file mode 100644 index eb44bac769c7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Abandoned/Grid.php +++ /dev/null @@ -1,42 +0,0 @@ - [ - 'selector' => 'input[name="customer_name"]', - ], - 'email' => [ - 'selector' => 'input[name="email"]', - ], - 'items_count' => [ - 'selector' => 'input[name="items_count[from]"]', - ], - 'items_qty' => [ - 'selector' => 'input[name="items_qty[from]"]', - ], - 'created_at' => [ - 'selector' => 'input[name="created_at[from]"]', - 'input' => 'datepicker', - ], - 'updated_at' => [ - 'selector' => 'input[name="updated_at[from]"]', - 'input' => 'datepicker', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Product/Grid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Product/Grid.php deleted file mode 100644 index bf731b10659b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Shopcart/Product/Grid.php +++ /dev/null @@ -1,59 +0,0 @@ -productRow, $product->getName()); - $productPrice = sprintf($this->productPrice, $product->getPrice()); - $productRow = $this->_rootElement->find($productRowSelector, Locator::SELECTOR_XPATH); - if ($productRow->isVisible()) { - $result = $productRow->find($productPrice, Locator::SELECTOR_XPATH)->isVisible() - && $productRow->find(sprintf($this->productCarts, $carts), Locator::SELECTOR_XPATH)->isVisible(); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Viewed/Action.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Viewed/Action.php deleted file mode 100644 index 48818bc842269..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Block/Adminhtml/Viewed/Action.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->showReportButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertCustomerOrderReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertCustomerOrderReportResult.php deleted file mode 100644 index a566960cb3fcd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertCustomerOrderReportResult.php +++ /dev/null @@ -1,49 +0,0 @@ - date($format), - 'customer' => $customer->getFirstname() . ' ' . $customer->getLastname(), - 'orders' => $columns['orders'], - 'average' => number_format($columns['average'], 2), - 'total' => number_format($columns['total'], 2) - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertInvoiceReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertInvoiceReportResult.php deleted file mode 100644 index 86b2c606f8845..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertInvoiceReportResult.php +++ /dev/null @@ -1,78 +0,0 @@ -salesInvoiceReport = $salesInvoiceReport; - } - - /** - * Search in invoice report grid. - * - * @param array $invoiceReport - * @return void - */ - protected function searchInInvoiceReportGrid(array $invoiceReport) - { - $this->salesInvoiceReport->open(); - $this->salesInvoiceReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $this->salesInvoiceReport->getFilterForm()->viewsReport($invoiceReport); - $this->salesInvoiceReport->getActionBlock()->showReport(); - } - - /** - * Prepare expected result. - * - * @param array $expectedInvoiceData - * @return array - */ - protected function prepareExpectedResult(array $expectedInvoiceData) - { - $totalInvoice = $this->order->getPrice()['invoice'][0]['grand_invoice_total']; - $expectedInvoiceData['invoiced'] += 1; - $expectedInvoiceData['qty'] += 1; - $expectedInvoiceData['total-invoiced'] += $totalInvoice; - - return $expectedInvoiceData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertSalesReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertSalesReportResult.php deleted file mode 100644 index 3528427441af7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertSalesReportResult.php +++ /dev/null @@ -1,67 +0,0 @@ -salesReportPage->open(); - $this->salesReportPage->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $this->salesReportPage->getFilterBlock()->viewsReport($salesReport); - $this->salesReportPage->getActionBlock()->showReport(); - } - - /** - * Prepare expected result - * - * @param array $expectedSalesData - * @return array - */ - protected function prepareExpectedResult(array $expectedSalesData) - { - $salesItems = 0; - $invoice = $this->order->getPrice()['invoice'][0]['grand_invoice_total']; - $salesTotal = $this->order->getPrice()['invoice'][0]['grand_order_total']; - foreach ($this->order->getEntityId()['products'] as $product) { - $salesItems += $product->getCheckoutData()['qty']; - } - $expectedSalesData['orders'] += 1; - $expectedSalesData['sales-items'] += $salesItems; - $expectedSalesData['sales-total'] += $salesTotal; - $expectedSalesData['invoiced'] += $invoice; - return $expectedSalesData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertShippingReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertShippingReportResult.php deleted file mode 100644 index f43ec8f044638..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AbstractAssertShippingReportResult.php +++ /dev/null @@ -1,84 +0,0 @@ -salesShippingReport = $salesShippingReport; - } - - /** - * Search in invoice report grid. - * - * @param array $shippingReport - * @return void - */ - protected function searchInShippingReportGrid(array $shippingReport) - { - $this->salesShippingReport->open(); - $this->salesShippingReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $this->salesShippingReport->getFilterForm()->viewsReport($shippingReport); - $this->salesShippingReport->getActionBlock()->showReport(); - } - - /** - * Prepare expected and initial results. - * - * @param array $expectedShippingData - * @param array $shipmentResult - * @return array - */ - protected function prepareExpectedResult(array $expectedShippingData, array $shipmentResult) - { - $totalShipping = $this->order->getPrice()[0]['grand_shipment_total']; - $expectedShippingData['qty'] += 1; - $expectedShippingData['total-sales-shipping'] += $totalShipping; - - $preparedResult = [$expectedShippingData, $shipmentResult]; - foreach ($preparedResult as &$result) { - $result = array_map(function ($rowData) { - return (int)$rowData; - }, $result); - } - return $preparedResult; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertAbandonedCartCustomerInfoResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertAbandonedCartCustomerInfoResult.php deleted file mode 100644 index d4e3ececb4ec2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertAbandonedCartCustomerInfoResult.php +++ /dev/null @@ -1,63 +0,0 @@ - Abandoned carts): - * – name and email - * – products and qty - * – created and updated date - * - * @param AbandonedCarts $abandonedCarts - * @param array $products - * @param Customer $customer - * @return void - */ - public function processAssert(AbandonedCarts $abandonedCarts, $products, Customer $customer) - { - $abandonedCarts->open(); - $qty = 0; - foreach ($products as $product) { - $qty += $product->getCheckoutData()['qty']; - } - $filter = [ - 'customer_name' => $customer->getFirstname() . " " . $customer->getLastname(), - 'email' => $customer->getEmail(), - 'items_count' => count($products), - 'items_qty' => $qty, - 'created_at' => date('m/j/Y'), - 'updated_at' => date('m/j/Y'), - ]; - $abandonedCarts->getGridBlock()->search($filter); - $filter['created_at'] = date('M j, Y'); - $filter['updated_at'] = date('M j, Y'); - \PHPUnit\Framework\Assert::assertTrue( - $abandonedCarts->getGridBlock()->isRowVisible($filter, false, false), - 'Expected customer info is absent in Abandoned Carts report grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Customer info in Abandoned Carts report grid is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertBestsellerReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertBestsellerReportResult.php deleted file mode 100644 index cdfac1066b0b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertBestsellerReportResult.php +++ /dev/null @@ -1,54 +0,0 @@ -getEntityId()['products'][0]; - - $filter = [ - 'date' => date($date), - 'product' => $product->getName(), - 'price' => $product->getPrice(), - 'orders' => $product->getCheckoutData()['qty'], - ]; - - \PHPUnit\Framework\Assert::assertTrue( - $bestsellers->getGridBlock()->isRowVisible($filter, false), - 'Bestseller does not present in report grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Bestseller total result is equals to data from dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCouponReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCouponReportResult.php deleted file mode 100644 index 6bcdff4b9626a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCouponReportResult.php +++ /dev/null @@ -1,55 +0,0 @@ -getData(); - $discount = $data['price']['discount'] != 0 - ? '-' . $currency . number_format($data['price']['discount'], 2) - : $currency . '0.00'; - $couponCode = $data['coupon_code']->getCouponCode(); - $filter = [ - 'coupon_code' => $couponCode, - 'rule_name' => $data['coupon_code']->getName(), - 'subtotal' => $currency . number_format($data['price']['subtotal'], 2), - 'discount' => $discount, - ]; - \PHPUnit\Framework\Assert::assertTrue( - $salesCouponReportView->getGridBlock()->isRowVisible($filter, false), - "Coupon with code - '$couponCode' is not visible." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Coupon info is correct on coupons report page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderCountReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderCountReportResult.php deleted file mode 100644 index 7227bc298c485..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderCountReportResult.php +++ /dev/null @@ -1,49 +0,0 @@ -prepareFilter($customer, $columns, $report); - - \PHPUnit\Framework\Assert::assertTrue( - $customerOrdersReport->getGridBlock()->isRowVisible($filter, false), - 'Order does not present in count grid.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Order count is present in count grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderTotalReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderTotalReportResult.php deleted file mode 100644 index a3adf8302c394..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertCustomerOrderTotalReportResult.php +++ /dev/null @@ -1,49 +0,0 @@ -prepareFilter($customer, $columns, $report); - - \PHPUnit\Framework\Assert::assertTrue( - $customerTotalsReport->getGridBlock()->isRowVisible($filter, false), - 'Order does not present in report grid.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Order total is present in reports grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertDownloadsReportResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertDownloadsReportResult.php deleted file mode 100644 index 9d4e5360ccb94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertDownloadsReportResult.php +++ /dev/null @@ -1,60 +0,0 @@ - Products > Downloads) - * - * @param OrderInjectable $order - * @param DownloadsReport $downloadsReport - * @param int $downloads - * @return void - */ - public function processAssert(OrderInjectable $order, DownloadsReport $downloadsReport, $downloads) - { - $downloadsReport->open(); - foreach ($order->getEntityId()['products'] as $product) { - foreach ($product->getDownloadableLinks()['downloadable']['link'] as $link) { - $filter = [ - 'name' => $product->getName(), - 'link_title' => $link['title'], - 'sku' => $product->getSku(), - ]; - $downloadsReport->getGridBlock()->search($filter); - $filter[] = $downloads; - \PHPUnit\Framework\Assert::assertTrue( - $downloadsReport->getGridBlock()->isRowVisible($filter, false), - "Downloads report link {$link['title']} is not present in reports grid." - ); - } - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Downloads report is present in reports grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportIntervalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportIntervalResult.php deleted file mode 100644 index 17b7426ceb741..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportIntervalResult.php +++ /dev/null @@ -1,51 +0,0 @@ -order = $order; - $this->searchInInvoiceReportGrid($invoiceReport); - $invoiceResult = $this->salesInvoiceReport->getGridBlock()->getLastResult(); - $prepareInitialResult = $this->prepareExpectedResult($initialInvoiceResult); - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $invoiceResult, - "Invoice report interval result not contains actual data." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoice report interval result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportTotalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportTotalResult.php deleted file mode 100644 index 207bba94028ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertInvoiceReportTotalResult.php +++ /dev/null @@ -1,47 +0,0 @@ -order = $order; - $this->searchInInvoiceReportGrid($invoiceReport); - $invoiceResult = $this->salesInvoiceReport->getGridBlock()->getTotalResult(); - $prepareInitialResult = $this->prepareExpectedResult($initialInvoiceTotalResult); - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $invoiceResult, - "Grand total Invoice result is not correct." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoice report grand total result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLifetimeStatisticsUpdatedMessage.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLifetimeStatisticsUpdatedMessage.php deleted file mode 100644 index 575043242cc88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLifetimeStatisticsUpdatedMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::LIFETIME_STATISTICS_UPDATED_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::LIFETIME_STATISTICS_UPDATED_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Correct message is displayed after refreshing lifetime statistics."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLowStockProductInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLowStockProductInGrid.php deleted file mode 100644 index 6854956f69b0c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertLowStockProductInGrid.php +++ /dev/null @@ -1,44 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $productLowStock->getLowStockGrid()->isRowVisible(['name' => $product->getName()]), - 'Product with Low Stock is absent in Low Stock grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product with Low Stock is present in Low Stock grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertNewAccountsReportTotalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertNewAccountsReportTotalResult.php deleted file mode 100644 index 29983bbb24433..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertNewAccountsReportTotalResult.php +++ /dev/null @@ -1,40 +0,0 @@ -getGridBlock()->getTotalResults(); - \PHPUnit\Framework\Assert::assertEquals($total, $totalForm); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'New account total result is equals to data from dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductReportForConfigurableProduct.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductReportForConfigurableProduct.php deleted file mode 100644 index fa10fbc955891..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductReportForConfigurableProduct.php +++ /dev/null @@ -1,59 +0,0 @@ -getEntityId()['products']; - $simpleChildSku = $orderedProducts->getGridBlock()->getOrdersResultsforConfigurableProducts($order); - $filters = []; - foreach ($products as $product) { - /** @var ConfigurableProduct $product */ - if ($product->hasData('configurable_attributes_data')) { - $matrix = isset($product->getConfigurableAttributesData()['matrix']) ? - $product->getConfigurableAttributesData()['matrix'] : []; - foreach ($matrix as $variation) { - $filters[] = $variation['sku']; - } - } - } - - \PHPUnit\Framework\Assert::assertContains( - $simpleChildSku[0], - $filters, - 'Ordered simple product sku is not present in the Reports grid' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Child product sku is present on the Ordered Products report grid'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductResult.php deleted file mode 100644 index bfb771060f54f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertOrderedProductResult.php +++ /dev/null @@ -1,52 +0,0 @@ -getEntityId()['products']; - $totalQuantity = $orderedProducts->getGridBlock()->getOrdersResults($order); - $productQty = []; - - foreach ($totalQuantity as $key => $value) { - /** @var CatalogProductSimple $product */ - $product = $products[$key]; - $productQty[$key] = $product->getCheckoutData()['qty']; - } - \PHPUnit\Framework\Assert::assertEquals($totalQuantity, $productQty); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Ordered Products result is equals to data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductInCartResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductInCartResult.php deleted file mode 100644 index 54b5b76502ce2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductInCartResult.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - \PHPUnit\Framework\Assert::assertTrue( - $shopCartProductReport->getGridBlock()->isProductVisible($product, $carts), - 'Product is absent in Products in Carts report grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product is present in Products in Carts report grid with correct carts number.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerInGrid.php deleted file mode 100644 index 039118e6b9f89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerInGrid.php +++ /dev/null @@ -1,65 +0,0 @@ -prepareFilter($product, $review->getData(), $gridStatus); - - $customerReportReview->open(); - $customerReportReview->getGridBlock()->openReview($customer); - $reviewIndex->getReviewGrid()->search($filter); - unset($filter['visible_in']); - \PHPUnit\Framework\Assert::assertTrue( - $reviewIndex->getReviewGrid()->isRowVisible($filter, false), - 'Customer review is absent in Review grid.' - ); - } - - /** - * Text success exist review in grid on product reviews tab - * - * @return string - */ - public function toString() - { - return 'Customer review is present in grid on product reviews tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerNotInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerNotInGrid.php deleted file mode 100644 index fff57fa4d258a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReportByCustomerNotInGrid.php +++ /dev/null @@ -1,65 +0,0 @@ -prepareFilter($product, $review, $gridStatus); - - $customerReportReview->open(); - $customerReportReview->getGridBlock()->openReview($customer); - $reviewIndex->getReviewGrid()->search($filter); - unset($filter['visible_in']); - \PHPUnit\Framework\Assert::assertFalse( - $reviewIndex->getReviewGrid()->isRowVisible($filter, false), - 'Customer review is present in Review grid.' - ); - } - - /** - * Text success if review not in grid on product reviews tab - * - * @return string - */ - public function toString() - { - return 'Customer review is absent in grid on product reviews tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewIsAvailableForProduct.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewIsAvailableForProduct.php deleted file mode 100644 index 11e15df66b3b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewIsAvailableForProduct.php +++ /dev/null @@ -1,58 +0,0 @@ -open(); - $productReportReview->getGridBlock()->openReview($product->getName()); - unset($assertProductReviewInGrid->filter['visible_in']); - $filter = $assertProductReviewInGrid->prepareFilter($product, $review->getData(), ''); - $reviewIndex->getReviewGrid()->resetFilter(); - \PHPUnit\Framework\Assert::assertTrue( - $reviewIndex->getReviewGrid()->isRowVisible($filter, false), - 'Review for ' . $product->getName() . ' product is not visible in reports grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Review is visible in review grid for select product.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewReportIsVisibleInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewReportIsVisibleInGrid.php deleted file mode 100644 index 0b6bb7c5b0ad4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewReportIsVisibleInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $name = $review->getDataFieldConfig('entity_id')['source']->getEntity()->getName(); - \PHPUnit\Framework\Assert::assertTrue( - $productReportReview->getGridBlock()->isRowVisible(['title' => $name], false), - 'Review for ' . $name . ' product is not visible in reports grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product Review Report is visible in reports grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewsQtyByCustomer.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewsQtyByCustomer.php deleted file mode 100644 index de48407fdcebc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductReviewsQtyByCustomer.php +++ /dev/null @@ -1,50 +0,0 @@ -getFirstname() . ' ' . $customer->getLastname(); - $customerReportReview->open(); - \PHPUnit\Framework\Assert::assertEquals( - $reviewsCount, - $customerReportReview->getGridBlock()->getQtyReview($customerName), - 'Wrong qty review in Customer Reviews Report grid.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Product reviews qty column in \'Review Report by Customer\' grid is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductViewsReportTotalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductViewsReportTotalResult.php deleted file mode 100644 index 7ae1fcb2b6e34..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertProductViewsReportTotalResult.php +++ /dev/null @@ -1,42 +0,0 @@ -getGridBlock()->getViewsResults($productsList); - \PHPUnit\Framework\Assert::assertEquals($totalForm, $total); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Products view total result is equals to data from dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRecentStatisticsUpdatedMessage.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRecentStatisticsUpdatedMessage.php deleted file mode 100644 index d8f6bbaef0e59..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRecentStatisticsUpdatedMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::RECENT_STATISTICS_UPDATED_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::RECENT_STATISTICS_UPDATED_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Correct message is displayed after refreshing recent statistics."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRefundReportIntervalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRefundReportIntervalResult.php deleted file mode 100644 index 2def81b453b54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertRefundReportIntervalResult.php +++ /dev/null @@ -1,71 +0,0 @@ -salesReportPage = $refundsReportPage; - $this->order = $order; - $this->searchInSalesReportGrid($refundsReport); - $salesResult = $refundsReportPage->getGridBlock()->getLastResult(); - $prepareInitialResult = $this->prepareExpectedResult($initialRefundsResult); - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $salesResult, - "Refund total Sales result is not correct." - ); - } - - /** - * Prepare expected result - * - * @param array $expectedOrderData - * @return array - */ - protected function prepareExpectedResult(array $expectedOrderData) - { - ++$expectedOrderData['orders_count']; - $expectedOrderData['refunded'] += $this->order->getPrice()['invoice'][0]['grand_order_total']; - return $expectedOrderData; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Refund report interval result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportStatisticsNoticeMessage.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportStatisticsNoticeMessage.php deleted file mode 100644 index 4abb2a6ead8a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportStatisticsNoticeMessage.php +++ /dev/null @@ -1,78 +0,0 @@ -salesReportPage = $salesReportPage; - $this->searchInSalesReportGrid($salesReport); - $displayedDate = new \DateTime($this->getLastUpdatedDate(), $timezone); - $currentDate = new \DateTime('now', $timezone); - - \PHPUnit\Framework\Assert::assertTrue( - $displayedDate->getTimestamp() > $initialDate->getTimestamp() - && $displayedDate->getTimestamp() < $currentDate->getTimestamp(), - "Message in Sales Reports Page is displayed in an incorrect timezone." - ); - } - - /** - * Get last updated date value. - * - * @return string - */ - private function getLastUpdatedDate() - { - $result = ''; - - foreach ($this->salesReportPage->getMessagesBlock()->getNoticeMessages() as $message) { - if (strpos($message, $this->lastUpdatedPrefix) === 0) { - $messages = explode('.', $message); - $message = array_shift($messages); - $result = trim($message, $this->lastUpdatedPrefix); - break; - } - } - - return $result; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Message in Sales Reports Page displays correct date/time in the correct timezone.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportsUpdatedTimezone.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportsUpdatedTimezone.php deleted file mode 100644 index 4cbf3ceacefda..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportsUpdatedTimezone.php +++ /dev/null @@ -1,47 +0,0 @@ -open(); - $dates = $reportStatistics->getGridBlock()->getRowsData(['updated_at']); - $currentDate = new \DateTime(); - $currentDate->setTimezone(new \DateTimeZone($_ENV['magento_timezone'])); - foreach ($dates as $date) { - \PHPUnit\Framework\Assert::assertContains( - $currentDate->format('M j, Y, g'), - date('M j, Y, g', strtotime($date['updated_at'])), - "Reports 'Updated' column values are displayed in an incorrect timezone." - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Reports 'Updated' column values are displayed in the correct timezone."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportIntervalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportIntervalResult.php deleted file mode 100644 index 1236a86e160b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportIntervalResult.php +++ /dev/null @@ -1,70 +0,0 @@ -salesReportPage = $salesReportPage; - $this->order = $order; - $this->searchInSalesReportGrid($salesReport); - $salesResult = $this->prepareSalesResult($salesReportPage->getGridBlock()->getLastResult()); - $prepareInitialResult = $this->prepareSalesResult($this->prepareExpectedResult($initialSalesResult)); - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $salesResult, - "Grand total Sales result is not correct." - ); - } - - /** - * Prepare sales result. - * - * @param array $salesResult - * @return array - */ - protected function prepareSalesResult($salesResult) - { - $data = []; - foreach ($salesResult as $key => $result) { - $data[$key] = (float)$result; - } - - return $data; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sales report interval result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportTotalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportTotalResult.php deleted file mode 100644 index 423ca6dafbdde..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSalesReportTotalResult.php +++ /dev/null @@ -1,70 +0,0 @@ -salesReportPage = $salesReportPage; - $this->order = $order; - $this->searchInSalesReportGrid($salesReport); - $salesResult = $this->prepareSalesResult($salesReportPage->getGridBlock()->getTotalResult()); - $prepareInitialResult = $this->prepareSalesResult($this->prepareExpectedResult($initialSalesTotalResult)); - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $salesResult, - "Grand total Sales result is not correct." - ); - } - - /** - * Prepare sales result. - * - * @param array $salesResult - * @return array - */ - protected function prepareSalesResult($salesResult) - { - $data = []; - foreach ($salesResult as $key => $result) { - $data[$key] = (float)$result; - } - - return $data; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sales report grand total result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermReportForm.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermReportForm.php deleted file mode 100644 index ed8950579486b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermReportForm.php +++ /dev/null @@ -1,58 +0,0 @@ - $productName, - 'num_results' => $countProducts, - 'popularity' => $countSearch, - ]; - $searchIndex->open(); - $searchIndex->getSearchGrid()->searchAndOpen($filter); - - $dataDiff = $this->verifyData($filter, $catalogSearchEdit->getForm()->getData()); - - \PHPUnit\Framework\Assert::assertEmpty($dataDiff, $dataDiff); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search Term Report form data equals to passed from dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermsInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermsInGrid.php deleted file mode 100644 index 6421f79aaad4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertSearchTermsInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ - $productName, - 'num_results' => $countProducts, - 'popularity' => $countSearch, - ]; - \PHPUnit\Framework\Assert::assertTrue( - $searchIndex->getSearchGrid()->isRowVisible($filter), - 'Search terms report is absent in Search Terms grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Search terms report is present in Search Terms grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportIntervalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportIntervalResult.php deleted file mode 100644 index 94692f922e8aa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportIntervalResult.php +++ /dev/null @@ -1,47 +0,0 @@ -order = $order; - $this->searchInShippingReportGrid($shippingReport); - $shipmentResult = $this->salesShippingReport->getGridBlock()->getLastResult(); - $prepareInitialResults = $this->prepareExpectedResult($initialShippingResult, $shipmentResult); - list($prepareInitialResult, $shipmentResult) = $prepareInitialResults; - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $shipmentResult, - "Shipment report interval result not contains actual data." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipment report interval result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportTotalResult.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportTotalResult.php deleted file mode 100644 index 16e92554e3984..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertShippingReportTotalResult.php +++ /dev/null @@ -1,47 +0,0 @@ -order = $order; - $this->searchInShippingReportGrid($shippingReport); - $shipmentResult = $this->salesShippingReport->getGridBlock()->getTotalResult(); - $prepareInitialResults = $this->prepareExpectedResult($initialShippingTotalResult, $shipmentResult); - list($prepareInitialResult, $shipmentResult) = $prepareInitialResults; - \PHPUnit\Framework\Assert::assertEquals( - $prepareInitialResult, - $shipmentResult, - "Grand total Shipment result is not correct." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipment report grand total result contains actual data.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportInGrid.php deleted file mode 100644 index 3f22780b8a01c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportInGrid.php +++ /dev/null @@ -1,57 +0,0 @@ - $taxRule->getTaxRate()[0], - 'rate' => $taxRule->getDataFieldConfig('tax_rate')['source']->getFixture()[0]->getRate(), - 'orders' => count($order->getEntityId()['products']), - 'tax_amount' => $taxAmount, - ]; - - \PHPUnit\Framework\Assert::assertTrue( - $salesTaxReport->getGridBlock()->isRowVisible($filter, false), - "Tax Report is not visible in grid on tax report page." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Sales info in report: Tax, Rate, Orders, Tax Amount is correct in grid on tax report page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportNotInGrid.php b/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportNotInGrid.php deleted file mode 100644 index 095c83a7e5fb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertTaxReportNotInGrid.php +++ /dev/null @@ -1,61 +0,0 @@ - $taxRule->getTaxRate()[0], - 'rate' => $taxRule->getDataFieldConfig('tax_rate')['source']->getFixture()[0]->getRate(), - 'orders' => count($order->getEntityId()['products']), - 'tax_amount' => $taxAmount, - ]; - - \PHPUnit\Framework\Assert::assertFalse( - $salesTaxReport->getGridBlock()->isRowVisible($filter, false), - "Tax Report is visible in grid on tax report page." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Sales info in report: Tax, Rate, Orders, Tax Amount is incorrect in grid on tax report page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/AbandonedCarts.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/AbandonedCarts.xml deleted file mode 100644 index e80dab17c3c8f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/AbandonedCarts.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Bestsellers.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Bestsellers.xml deleted file mode 100644 index 4b9c525a41adc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Bestsellers.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerAccounts.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerAccounts.xml deleted file mode 100644 index 289a81fd6bb1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerAccounts.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerOrdersReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerOrdersReport.xml deleted file mode 100644 index 38c0b9d0d9faa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerOrdersReport.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerReportReview.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerReportReview.xml deleted file mode 100644 index 2f9e3a9dbd3f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerReportReview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerTotalsReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerTotalsReport.xml deleted file mode 100644 index 55051e44ac03f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/CustomerTotalsReport.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/DownloadsReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/DownloadsReport.xml deleted file mode 100644 index 58d48d0783689..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/DownloadsReport.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/OrderedProductsReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/OrderedProductsReport.xml deleted file mode 100644 index a00de65b696f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/OrderedProductsReport.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductLowStock.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductLowStock.xml deleted file mode 100644 index f71aa484ebd9f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductLowStock.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportReview.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportReview.xml deleted file mode 100644 index d173cc616fab3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportReview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportView.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportView.xml deleted file mode 100644 index 58c386a3e370c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ProductReportView.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/RefundsReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/RefundsReport.xml deleted file mode 100644 index 60b97d8a3158f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/RefundsReport.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesCouponReportView.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesCouponReportView.xml deleted file mode 100644 index 8405745f20b54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesCouponReportView.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesInvoiceReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesInvoiceReport.xml deleted file mode 100644 index 243f46c9f0432..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesInvoiceReport.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesReport.xml deleted file mode 100644 index 54171cdf4ccec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesReport.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesShippingReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesShippingReport.xml deleted file mode 100644 index 3aa7a644de3e4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesShippingReport.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesTaxReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesTaxReport.xml deleted file mode 100644 index cf520329ea7ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SalesTaxReport.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SearchIndex.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SearchIndex.xml deleted file mode 100644 index 2a574b71a638e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/SearchIndex.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ShopCartProductReport.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ShopCartProductReport.xml deleted file mode 100644 index 89b17e88c71be..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/ShopCartProductReport.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Statistics.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Statistics.xml deleted file mode 100644 index 3fe6025205043..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Page/Adminhtml/Statistics.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/Repository/ConfigData.xml deleted file mode 100644 index 354dff88d38b7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - catalog - 1 - Website - Website - - - catalog - 1 - - 5 - - - catalog - 1 - - 12 - - - - - - Timezone - Australia/Sydney - - - store - website - custom_store - - - - - - catalog - 1 - - 2 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.php deleted file mode 100644 index 610387d9a39eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.php +++ /dev/null @@ -1,134 +0,0 @@ - Abandoned Carts. - * 3. Click "Reset Filter". - * 4. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-28558 - */ -class AbandonedCartsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'yes'; - /* end tags */ - - /** - * Catalog Product View page. - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Browser interface. - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param BrowserInterface $browser - * @param FixtureFactory $fixtureFactory - * @param CatalogProductView $catalogProductView - * @return void - */ - public function __inject( - BrowserInterface $browser, - FixtureFactory $fixtureFactory, - CatalogProductView $catalogProductView - ) { - $this->browser = $browser; - $this->catalogProductView = $catalogProductView; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create product and add it to cart. - * - * @param string $products - * @param Customer $customer - * @return array - */ - public function test($products, Customer $customer) - { - // Precondition - $products = $this->createProducts($products); - $customer->persist(); - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $this->addProductsToCart($products); - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - return ['products' => $products]; - } - - /** - * Create products. - * - * @param string $products - * @return array - */ - protected function createProducts($products) - { - $createProductsStep = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - ); - - return $createProductsStep->run()['products']; - } - - /** - * Add products to cart. - * - * @param array $products - * @return void - */ - protected function addProductsToCart(array $products) - { - $addProductsToCart = $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - ); - $addProductsToCart->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.xml deleted file mode 100644 index b7f31ebae9e69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/AbandonedCartsReportEntityTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - add product to cart as registered user and check product in Report - default - catalogProductSimple::product_100_dollar - - - - add two products to cart as registered user and check product in Report - default - catalogProductSimple::product_100_dollar - catalogProductSimple::product_100_dollar - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.php deleted file mode 100644 index d09697e33968a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.php +++ /dev/null @@ -1,72 +0,0 @@ - Products > Bestsellers. - * 3. Select time range, report period. - * 4. Click "Show report". - * 5. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-28222 - */ -class BestsellerProductsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Bestsellers page. - * - * @var Bestsellers - */ - protected $bestsellers; - - /** - * Inject pages. - * - * @param Bestsellers $bestsellers - * @return void - */ - public function __inject(Bestsellers $bestsellers) - { - $this->bestsellers = $bestsellers; - } - - /** - * Bestseller Products Report. - * - * @param OrderInjectable $order - * @param array $bestsellerReport - * @return void - */ - public function test(OrderInjectable $order, array $bestsellerReport) - { - // Preconditions - $order->persist(); - $this->bestsellers->open(); - $this->bestsellers->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - - // Steps - $this->bestsellers->getFilterBlock()->viewsReport($bestsellerReport); - $this->bestsellers->getActionsBlock()->showReport(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.xml deleted file mode 100644 index 0464c57829abb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/BestsellerProductsReportEntityTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - simple_big_qty - Year - m/d/Y -1 year - m/d/Y - No - Y - - - - virtual_big_qty - Month - m/d/Y -1 month - m/d/Y - Yes - n/Y - - - - simple_big_qty - Day - m/d/Y -1 day - m/d/Y +1 day - No - M d, Y - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.php deleted file mode 100644 index bee94c00d1f28..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.php +++ /dev/null @@ -1,84 +0,0 @@ - Customer > Order Count - * 3. Fill data from dataset - * 4. Click button Refresh - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-28521 - */ -class CustomersOrderCountReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Order count report page. - * - * @var CustomerOrdersReport - */ - protected $customerOrdersReport; - - /** - * Inject page. - * - * @param CustomerOrdersReport $customerOrdersReport - * @return void - */ - public function __inject(CustomerOrdersReport $customerOrdersReport) - { - $this->customerOrdersReport = $customerOrdersReport; - } - - /** - * Order count report view. - * - * @param Customer $customer - * @param string $orders - * @param array $report - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function test(Customer $customer, $orders, array $report, FixtureFactory $fixtureFactory) - { - // Precondition - $customer->persist(); - $orders = explode(',', $orders); - foreach ($orders as $order) { - $order = $fixtureFactory->createByCode( - 'orderInjectable', - ['dataset' => $order, 'data' => ['customer_id' => ['customer' => $customer]]] - ); - $order->persist(); - } - - // Steps - $this->customerOrdersReport->open(); - $this->customerOrdersReport->getFilterBlock()->viewsReport($report); - $this->customerOrdersReport->getFilterBlock()->refreshFilter(); - - return['customer' => $customer]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.xml deleted file mode 100644 index a6e185e9cef5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderCountReportEntityTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - default,virtual_product - m/d/Y - m/d/Y - Day - 2 - 285 - 570 - - - - default,virtual_product - m/d/Y - m/d/Y - Month - 2 - 285 - 570 - - - - default - m/d/Y - m/d/Y - Year - 1 - 560 - 560 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.php deleted file mode 100644 index 71434f4ac4d19..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.php +++ /dev/null @@ -1,83 +0,0 @@ - Customer > Order Total - * 3. Fill data from dataset - * 4. Click button Refresh - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-28358 - */ -class CustomersOrderTotalReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Order total report page. - * - * @var CustomerTotalsReport - */ - protected $customerTotalsReport; - - /** - * Inject page. - * - * @param CustomerTotalsReport $customerTotalsReport - * @return void - */ - public function __inject(CustomerTotalsReport $customerTotalsReport) - { - $this->customerTotalsReport = $customerTotalsReport; - } - - /** - * Order total report view. - * - * @param Customer $customer - * @param string $orders - * @param array $report - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function test(Customer $customer, $orders, array $report, FixtureFactory $fixtureFactory) - { - // Precondition - $customer->persist(); - $orders = explode(',', $orders); - foreach ($orders as $order) { - $order = $fixtureFactory->createByCode( - 'orderInjectable', - ['dataset' => $order, 'data' => ['customer_id' => ['customer' => $customer]]] - ); - $order->persist(); - } - - // Steps - $this->customerTotalsReport->open(); - $this->customerTotalsReport->getFilterBlock()->viewsReport($report); - $this->customerTotalsReport->getFilterBlock()->refreshFilter(); - - return['customer' => $customer]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.xml deleted file mode 100644 index 27b8d8a7afbf8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/CustomersOrderTotalReportEntityTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - default,virtual_product - m/d/Y -2 days - m/d/Y +2 days - Day - 2 - 285 - 570 - - - - default,virtual_product - m/d/Y -1 month - m/d/Y +1 month - Month - 2 - 285 - 570 - - - - default - m/d/Y -1 year - m/d/Y +1 day - Year - 1 - 560 - 560 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.php deleted file mode 100644 index 666402f9c3a9a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.php +++ /dev/null @@ -1,134 +0,0 @@ - My Downloads and click download link. - * - * Steps: - * 1. Open Backend. - * 2. Go to Reports > Products > Downloads. - * 3. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-28823 - */ -class DownloadProductsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Browser Interface. - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Customer Account index page. - * - * @var CustomerAccountIndex - */ - protected $customerAccount; - - /** - * Downloadable Customer Products page. - * - * @var DownloadableCustomerProducts - */ - protected $customerProducts; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject pages. - * - * @param FixtureFactory $fixtureFactory - * @param CustomerAccountIndex $customerAccount - * @param DownloadableCustomerProducts $customerProducts - * @param BrowserInterface $browser - * @return void - */ - public function __inject( - FixtureFactory $fixtureFactory, - CustomerAccountIndex $customerAccount, - DownloadableCustomerProducts $customerProducts, - BrowserInterface $browser - ) { - $this->fixtureFactory = $fixtureFactory; - $this->customerAccount = $customerAccount; - $this->customerProducts = $customerProducts; - $this->browser = $browser; - } - - /** - * Order downloadable product. - * - * @param OrderInjectable $order - * @param string $downloads - * @return void - */ - public function test(OrderInjectable $order, $downloads) - { - // Preconditions - $order->persist(); - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $invoice = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateInvoiceStep::class, - ['order' => $order, 'cart' => $cart] - ); - $invoice->run(); - $this->openDownloadableLink($order, (int)$downloads); - } - - /** - * Open Downloadable Link. - * - * @param OrderInjectable $order - * @param int $downloads - * @return void - */ - protected function openDownloadableLink(OrderInjectable $order, $downloads) - { - $customerLogin = $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer()] - ); - $customerLogin->run(); - $this->customerAccount->getAccountMenuBlock()->openMenuItem('My Downloadable Products'); - $downloadableProductsUrl = $this->browser->getUrl(); - foreach ($order->getEntityId()['products'] as $product) { - foreach ($product->getDownloadableLinks()['downloadable']['link'] as $link) { - for ($i = 0; $i < $downloads; $i++) { - $this->browser->open($this->customerProducts->getMainBlock()->getLinkUrl($link['title'])); - $this->browser->open($downloadableProductsUrl); - } - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.xml deleted file mode 100644 index e5c8148baa08f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/DownloadProductsReportEntityTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - to_maintain:yes - downloadable_product - 1 - - - - to_maintain:yes - two_downloadable_product - 2 - - - - to_maintain:yes - downloadable_product - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.php deleted file mode 100644 index 8f4f2739ff0b5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.php +++ /dev/null @@ -1,38 +0,0 @@ - Low Stock. - * 3. Perform appropriate assertions. - * - * @group Reports - * @ZephyrId MAGETWO-27193 - */ -class LowStockProductsReportEntityTest extends Scenario -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Runs low stock products report test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.xml deleted file mode 100644 index 984eb2f3d06e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/LowStockProductsReportEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - MAGETWO-62279: Low stock products report doesn't work - catalogProductSimple::low_stock_product - notify_stock_quantity_2 - true - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 4e3cd1824767a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - mftf_migrated:yes - Reports > Products in Cart - Products in Carts - - - - mftf_migrated:yes - Reports > Abandoned Carts - Abandoned Carts - - - - mftf_migrated:yes - Reports > Orders - Orders Report - - - - mftf_migrated:yes - Reports > Tax - Tax Report - - - - mftf_migrated:yes - Reports > Invoiced - Invoice Report - - - - mftf_migrated:yes - Reports > Coupons - Coupons Report - - - - mftf_migrated:yes - Reports > Order Total - Order Total Report - - - - mftf_migrated:yes - Reports > Order Count - Order Count Report - - - - mftf_migrated:yes - Reports > New - New Accounts Report - - - - mftf_migrated:yes - Reports > Views - Product Views Report - - - - mftf_migrated:yes - Reports > Bestsellers - Bestsellers Report - - - - mftf_migrated:yes - Reports > Low Stock - Low Stock Report - - - - mftf_migrated:yes - Reports > Ordered - Ordered Products Report - - - - mftf_migrated:yes - Reports > Downloads - Downloads Report - - - - mftf_migrated:yes - Reports > Refresh Statistics - Refresh Statistics - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.php deleted file mode 100644 index 39a6f49c9aa26..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.php +++ /dev/null @@ -1,80 +0,0 @@ - Customers> New. - * 3. Select time range and report period. - * 4. Click "Refresh button". - * 5. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-27742 - */ -class NewAccountsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Customer Accounts pages. - * - * @var CustomerAccounts - */ - protected $customerAccounts; - - /** - * Customer index pages. - * - * @var CustomerIndex - */ - protected $customerIndexPage; - - /** - * Inject pages. - * - * @param CustomerIndex $customerIndexPage - * @param CustomerAccounts $customerAccounts - * @return void - */ - public function __inject(CustomerIndex $customerIndexPage, CustomerAccounts $customerAccounts) - { - $this->customerAccounts = $customerAccounts; - $this->customerIndexPage = $customerIndexPage; - } - - /** - * New Accounts Report. - * - * @param Customer $customer - * @param array $customersReport - * @return void - */ - public function test(Customer $customer, array $customersReport) - { - // Preconditions - $this->customerIndexPage->open(); - $this->customerIndexPage->getCustomerGridBlock()->massaction([], 'Delete', true, 'Select All'); - $customer->persist(); - - // Steps - $this->customerAccounts->open(); - $this->customerAccounts->getGridBlock()->searchAccounts($customersReport); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.xml deleted file mode 100644 index 02e0e7484db5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/NewAccountsReportEntityTest.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - stable:no - default - 1 - m/d/Y - m/d/Y - Year - - - - stable:no - default - 1 - m/d/Y - m/d/Y - Month - - - - stable:no - default - 1 - m/d/Y - m/d/Y - Day - - - - default - 0 - m/d/Y 12:00 a+1 day - m/d/Y 12:00 a+1 day - Day - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.php deleted file mode 100644 index b43eb335d36c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.php +++ /dev/null @@ -1,67 +0,0 @@ - Products > Ordered - * 3. Select time range and report period - * 4. Click "Refresh button" - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-28200 - */ -class OrderedProductsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Ordered Products Report. - * - * @var OrderedProductsReport - */ - protected $orderedProducts; - - /** - * Inject pages. - * - * @param OrderedProductsReport $orderedProducts - * @return void - */ - public function __inject(OrderedProductsReport $orderedProducts) - { - $this->orderedProducts = $orderedProducts; - } - - /** - * Search order products report. - * - * @param OrderInjectable $order - * @param array $customersReport - * @return void - */ - public function test(OrderInjectable $order, array $customersReport) - { - // Preconditions - $order->persist(); - - // Steps - $this->orderedProducts->open(); - $this->orderedProducts->getGridBlock()->searchAccounts($customersReport); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.xml deleted file mode 100644 index 2667f3cf77a02..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/OrderedProductsReportEntityTest.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - default - m/d/Y - m/d/Y - Year - - - - default - m/d/Y - m/d/Y - Month - - - - virtual_product - m/d/Y - m/d/Y - Day - - - - configurable_product - m/d/Y -1 day - m/d/Y - Day - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.php deleted file mode 100644 index d53134289b813..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.php +++ /dev/null @@ -1,123 +0,0 @@ -persist(); - - return ['customer' => $customer]; - } - - /** - * Injection data - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView - ) { - $this->cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - } - - /** - * Create products in cart report entity - * - * @param Customer $customer - * @param CatalogProductSimple $product - * @param string $isGuest - * @param BrowserInterface $browser - * @return void - */ - public function test( - Customer $customer, - CatalogProductSimple $product, - $isGuest, - BrowserInterface $browser - ) { - // Preconditions - $product->persist(); - - //Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $productUrl = $_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'; - $browser->open($productUrl); - $this->catalogProductView->getViewBlock()->addToCart($product); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - if ($isGuest) { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - $browser->open($productUrl); - $this->catalogProductView->getViewBlock()->addToCart($product); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - } - - /** - * Log out after test - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.xml deleted file mode 100644 index e13d31342dba1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ProductsInCartReportEntityTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - default - 1 - 0 - - - - default - 2 - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.php deleted file mode 100644 index 694f75cbb4202..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.php +++ /dev/null @@ -1,82 +0,0 @@ - Refresh Statistics. - * 3. Select all reports. - * 4. Update statistics. - * 5. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-40919 - */ -class RefreshReportsStatisticsTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Reports Statistics page. - * - * @var Statistics - */ - protected $reportStatistics; - - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - protected $testStepFactory; - - /** - * Inject pages. - * - * @param TestStepFactory $testStepFactory - * @param Statistics $reportStatistics - * @return void - */ - public function __inject( - TestStepFactory $testStepFactory, - Statistics $reportStatistics - ) { - $this->testStepFactory = $testStepFactory; - $this->reportStatistics = $reportStatistics; - } - - /** - * Refresh reports statistics. - * - * @param string $action - * @param string $configData - * @return void - */ - public function test($action, $configData) - { - // Preconditions - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - // Test steps - $this->reportStatistics->open(); - $this->reportStatistics->getGridBlock()->massaction([], $action, true, 'Select All'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.xml deleted file mode 100644 index 82fcd250cdf04..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/RefreshReportsStatisticsTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - MAGETWO-63069 Reports feature Refresh Lifetime Statistics does not work on Magento with split DB - Refresh Statistics for the Last Day - website_with_custom_timezone - - - - - MAGETWO-63069 Reports feature Refresh Lifetime Statistics does not work on Magento with split DB - Refresh Lifetime Statistics - website_with_custom_timezone - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.php deleted file mode 100644 index c0c17c497b1f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.php +++ /dev/null @@ -1,176 +0,0 @@ -createByCode('customer', ['dataset' => 'johndoe_unique']); - $customer->persist(); - return ['customer' => $customer]; - } - - /** - * Preparing pages for test. - * - * @param ProductReportReview $productReportReview - * @param CatalogProductView $pageCatalogProductView - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param CustomerAccountLogout $customerAccountLogout - * @return void - */ - public function __inject( - ProductReportReview $productReportReview, - CatalogProductView $pageCatalogProductView, - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - CustomerAccountLogout $customerAccountLogout - ) { - $this->productReportReview = $productReportReview; - $this->pageCatalogProductView = $pageCatalogProductView; - $this->cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->customerAccountLogout = $customerAccountLogout; - } - - /** - * Test Creation for ReviewReportEntity. - * - * @param Review $review - * @param Customer $customer - * @param BrowserInterface $browser - * @param CatalogProductSimple $product [optional] - * @param bool $isCustomerLoggedIn [optional] - * @return array - */ - public function test( - Review $review, - Customer $customer, - BrowserInterface $browser, - CatalogProductSimple $product = null, - $isCustomerLoggedIn = false - ) { - // Preconditions - $this->cmsIndex->open(); - if ($isCustomerLoggedIn) { - $this->loginCustomer($customer); - } - // Steps - if ($review->getType() === "Administrator") { - $review->persist(); - $product = $review->getDataFieldConfig('entity_id')['source']->getEntity(); - } else { - $product->persist(); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->pageCatalogProductView->getReviewSummary()->getAddReviewLink()->click(); - $this->pageCatalogProductView->getReviewFormBlock()->fill($review); - $this->pageCatalogProductView->getReviewFormBlock()->submit(); - } - - return ['product' => $product]; - } - - /** - * Login customer on frontend. - * - * @param Customer $customer - * @return void - */ - private function loginCustomer(Customer $customer) - { - $this->objectManager->create( - 'Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep', - ['customer' => $customer] - )->run(); - } - - /** - * Logout customer from frontend account. - * - * return void - */ - public function tearDown(): void - { - $this->customerAccountLogout->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.xml deleted file mode 100644 index d5e42cddcc510..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ReviewReportEntityTest.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - true - default - Customer - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - 1 - - - - - true - default - Customer - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - 2 - - - - - default - Guest - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - 2 - - - - - default - frontend_guest - - - - frontend_review - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.php deleted file mode 100644 index 675ef1e95d083..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.php +++ /dev/null @@ -1,130 +0,0 @@ - Sales > Coupons - * 3. Select time range, report period etc - * 4. Click "Show report" - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-28190 - */ -class SalesCouponReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Order index page - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * Order invoice new page - * - * @var OrderInvoiceNew - */ - protected $orderInvoiceNew; - - /** - * Sales coupon report view page - * - * @var SalesCouponReportView - */ - protected $salesCouponReportView; - - /** - * Order view page - * - * @var SalesOrderView - */ - protected $salesOrderView; - - /** - * Report statistic page - * - * @var Statistics - */ - protected $reportStatistic; - - /** - * Injection data - * - * @param OrderIndex $orderIndex - * @param OrderInvoiceNew $orderInvoiceNew - * @param SalesCouponReportView $salesCouponReportView - * @param SalesOrderView $salesOrderView - * @param Statistics $reportStatistic - * @return void - */ - public function __inject( - OrderIndex $orderIndex, - OrderInvoiceNew $orderInvoiceNew, - SalesCouponReportView $salesCouponReportView, - SalesOrderView $salesOrderView, - Statistics $reportStatistic - ) { - $this->orderIndex = $orderIndex; - $this->orderInvoiceNew = $orderInvoiceNew; - $this->salesCouponReportView = $salesCouponReportView; - $this->salesOrderView = $salesOrderView; - $this->reportStatistic = $reportStatistic; - } - - /** - * Sales coupon report - * - * @param OrderInjectable $order - * @param array $viewsReport - * @return void - */ - public function test(OrderInjectable $order, array $viewsReport) - { - // Precondition - $order->persist(); - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $this->salesOrderView->getPageActions()->invoice(); - $this->orderInvoiceNew->getTotalsBlock()->submit(); - $this->reportStatistic->open(); - $this->reportStatistic->getGridBlock()->massaction( - [['report' => 'Coupons']], - 'Refresh Statistics for the Last Day', - true - ); - - // Steps - $this->salesCouponReportView->open(); - $ruleName = $order->getCouponCode()->getName(); - if (isset($viewsReport['rules_list'])) { - $viewsReport['rules_list'] = str_replace('%rule_name%', $ruleName, $viewsReport['rules_list']); - } - $this->salesCouponReportView->getFilterBlock()->viewsReport($viewsReport); - $this->salesCouponReportView->getActionBlock()->showReport(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.xml deleted file mode 100644 index d2c841c666de4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesCouponReportEntityTest.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - with_coupon - Order Created - Year - m/d/Y - m/d/Y - Any - No - Any - - - - with_coupon - Order Created - Month - m/d/Y - m/d/Y - Specified - Processing - No - Any - - - - with_coupon - Order Updated - Day - m/d/Y - m/d/Y - Any - No - Specified - %rule_name% - - - - with_coupon - Order Updated - Day - m/d/Y 12:00 a-1 day - m/d/Y 12:00 a+1 day - Specified - Processing - Yes - Specified - %rule_name% - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.php deleted file mode 100644 index ccde642a08b6e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.php +++ /dev/null @@ -1,81 +0,0 @@ - Sales > Invoiced - * 3. Refresh statistic - * 4. Configure filter - * 5. Click "Show Report" - * 6. Save/remember report result - * 7. Create customer - * 8. Place order - * 9. Create Invoice - * 10. Refresh statistic - * - * Steps: - * 1. Open Backend - * 2. Go to Reports > Sales > Invoiced - * 3. Configure filter - * 4. Click "Show Report" - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-29216 - */ -class SalesInvoiceReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Sales invoice report. - * - * @param FixtureFactory $fixtureFactory - * @param SalesInvoiceReport $salesInvoiceReport - * @param OrderInjectable $order - * @param array $invoiceReport - * @return array - */ - public function test( - FixtureFactory $fixtureFactory, - SalesInvoiceReport $salesInvoiceReport, - OrderInjectable $order, - array $invoiceReport - ) { - // Preconditions - $salesInvoiceReport->open(); - $salesInvoiceReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $salesInvoiceReport->getFilterForm()->viewsReport($invoiceReport); - $salesInvoiceReport->getActionBlock()->showReport(); - $initialInvoiceResult = $salesInvoiceReport->getGridBlock()->getLastResult(); - $initialInvoiceTotalResult = $salesInvoiceReport->getGridBlock()->getTotalResult(); - $order->persist(); - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $fixtureFactory->createByCode('cart', $cart); - $invoice = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateInvoiceStep::class, - ['order' => $order, 'cart' => $cart] - ); - $invoice->run(); - - return [ - 'initialInvoiceResult' => $initialInvoiceResult, - 'initialInvoiceTotalResult' => $initialInvoiceTotalResult - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.xml deleted file mode 100644 index 82807bf1359f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesInvoiceReportEntityTest.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - default - full_invoice - Order Created - Year - m/d/Y 12:00 a-2 days - m/d/Y 12:00 a+2 days - Any - Yes - - - - - default - full_invoice - Order Created - Month - m/d/Y - m/d/Y - Any - No - - - - - default - full_invoice - Last Invoice Created Date - Day - m/d/Y - m/d/Y - Specified - Processing - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.php deleted file mode 100644 index 747bfb0456556..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.php +++ /dev/null @@ -1,99 +0,0 @@ - Sales > Orders - * 3. Refresh statistic - * 4. Configure filter - * 5. Click "Show Report" - * 6. Save/remember report result - * 7. Create customer - * 8. Place order - * 9. Create Invoice - * 10. Refresh statistic - * - * Steps: - * 1. Open Backend - * 2. Go to Reports > Sales > Orders - * 3. Configure filter - * 4. Click "Show Report" - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-29136 - */ -class SalesOrderReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Sales Report page. - * - * @var SalesReport - */ - protected $salesReport; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject page. - * - * @param FixtureFactory $fixtureFactory - * @param SalesReport $salesReport - * @return void - */ - public function __inject(FixtureFactory $fixtureFactory, SalesReport $salesReport) - { - $this->salesReport = $salesReport; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Sales order report. - * - * @param OrderInjectable $order - * @param array $salesReport - * @return array - */ - public function test(OrderInjectable $order, array $salesReport) - { - // Preconditions - $this->salesReport->open(); - $this->salesReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $this->salesReport->getFilterBlock()->viewsReport($salesReport); - $this->salesReport->getActionBlock()->showReport(); - $initialSalesResult = $this->salesReport->getGridBlock()->getLastResult(); - $initialSalesTotalResult = $this->salesReport->getGridBlock()->getTotalResult(); - - $order->persist(); - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $invoice = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateInvoiceStep::class, - ['order' => $order, 'cart' => $cart] - ); - $invoice->run(); - - return ['initialSalesResult' => $initialSalesResult, 'initialSalesTotalResult' => $initialSalesTotalResult]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.xml deleted file mode 100644 index 20501b73813fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - default - full_invoice - Order Created - Year - m/d/Y 12:00 a-2 days - m/d/Y 12:00 a+2 days - Any - Yes - Yes - - - - - - default - full_invoice - Order Created - Month - m/d/Y - m/d/Y - Any - No - No - - - - - default - full_invoice - Order Updated - Day - m/d/Y - m/d/Y - Specified - Processing - No - No - - - - - default - full_invoice - Order Created - Year - 12/31/Y 12:00 a-1 year - m/d/Y 12:00 - Any - Yes - No - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.php deleted file mode 100644 index b34f1992de70d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.php +++ /dev/null @@ -1,102 +0,0 @@ - Sales > Refunds - * 3. Refresh statistic - * 4. Configure filter - * 5. Click "Show Report" - * 6. Save/remember report result - * 7. Place order - * 8. Create Invoice - * 9. Refresh statistic - * - * Steps: - * 1. Go to backend - * 2. Go to Reports > Sales > Refunds - * 3. Fill data from dataset - * 4. Click button Show Report - * 5. Perform Asserts - * - * @group Reports - * @ZephyrId MAGETWO-29348 - */ -class SalesRefundsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Refunds report page. - * - * @var RefundsReport - */ - protected $refundsReport; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Inject pages. - * - * @param FixtureFactory $fixtureFactory - * @param RefundsReport $refundsReport - * @return void - */ - public function __inject(FixtureFactory $fixtureFactory, RefundsReport $refundsReport) - { - $this->refundsReport = $refundsReport; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Refunds report. - * - * @param OrderInjectable $order - * @param array $refundsReport - * @return array - */ - public function test(OrderInjectable $order, array $refundsReport) - { - // Preconditions - $this->refundsReport->open(); - $this->refundsReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $this->refundsReport->getFilterBlock()->viewsReport($refundsReport); - $this->refundsReport->getActionBlock()->showReport(); - $initialRefundsResult = $this->refundsReport->getGridBlock()->getLastResult(); - - $order->persist(); - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $invoice = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateInvoiceStep::class, - ['order' => $order, 'cart' => $cart] - ); - $invoice->run(); - $creditMemo = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateCreditMemoStep::class, - ['order' => $order, 'cart' => $cart] - ); - $creditMemo->run(); - - return ['initialRefundsResult' => $initialRefundsResult]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.xml deleted file mode 100644 index 58fad5925e5bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - assert refunds year report - default - full_invoice - Order Created - Year - m/d/Y 12:00 a-2 days - m/d/Y 12:00 a+2 days - Any - Yes - - - - assert refunds month report - default - full_invoice - Order Created - Month - m/d/Y - m/d/Y - Any - No - - - - assert refund Daily report - default - full_invoice - Last Credit Memo Created Date - Day - m/d/Y - m/d/Y - Specified - No - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.php deleted file mode 100644 index 0571a6dbb0533..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.php +++ /dev/null @@ -1,223 +0,0 @@ - Sales > Tax. - * 3. Fill data from dataset. - * 4. Click "Show report". - * 5. Perform all assertions. - * - * @group Reports - * @ZephyrId MAGETWO-28515 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class SalesTaxReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Order index page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * Order invoice new page. - * - * @var OrderInvoiceNew - */ - protected $orderInvoiceNew; - - /** - * Sales tax report page. - * - * @var SalesTaxReport - */ - protected $salesTaxReport; - - /** - * Order view page. - * - * @var SalesOrderView - */ - protected $salesOrderView; - - /** - * Report statistic page. - * - * @var Statistics - */ - protected $reportStatistic; - - /** - * Tax Rule grid page. - * - * @var TaxRuleIndex - */ - protected $taxRuleIndexPage; - - /** - * Tax Rule new and edit page. - * - * @var TaxRuleNew - */ - protected $taxRuleNewPage; - - /** - * Tax Rule fixture. - * - * @var TaxRule - */ - protected $taxRule; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - private $fixtureFactory; - - /** - * Delete all tax rules. - * - * @return void - */ - public function __prepare() - { - $deleteTaxRule = $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class); - $deleteTaxRule->run(); - } - - /** - * Injection data. - * - * @param OrderIndex $orderIndex - * @param OrderInvoiceNew $orderInvoiceNew - * @param SalesOrderView $salesOrderView - * @param Statistics $reportStatistic - * @param SalesTaxReport $salesTaxReport - * @param TaxRuleIndex $taxRuleIndexPage - * @param TaxRuleNew $taxRuleNewPage - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - OrderIndex $orderIndex, - OrderInvoiceNew $orderInvoiceNew, - SalesOrderView $salesOrderView, - Statistics $reportStatistic, - SalesTaxReport $salesTaxReport, - TaxRuleIndex $taxRuleIndexPage, - TaxRuleNew $taxRuleNewPage, - FixtureFactory $fixtureFactory - ) { - $this->orderIndex = $orderIndex; - $this->orderInvoiceNew = $orderInvoiceNew; - $this->salesOrderView = $salesOrderView; - $this->reportStatistic = $reportStatistic; - $this->salesTaxReport = $salesTaxReport; - $this->taxRuleIndexPage = $taxRuleIndexPage; - $this->taxRuleNewPage = $taxRuleNewPage; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create tax report entity. - * - * @param OrderInjectable $order - * @param TaxRule $taxRule - * @param array $report - * @param string $orderSteps - * @return void - */ - public function test( - OrderInjectable $order, - TaxRule $taxRule, - array $report, - $orderSteps - ) { - // Precondition - $taxRule->persist(); - $this->taxRule = $taxRule; - $order->persist(); - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $this->processOrder($orderSteps, $order); - $this->reportStatistic->open(); - $this->reportStatistic->getGridBlock()->massaction( - [['report' => 'Tax']], - 'Refresh Statistics for the Last Day', - true - ); - - // Steps - $this->salesTaxReport->open(); - $this->salesTaxReport->getFilterBlock()->viewsReport($report); - $this->salesTaxReport->getActionBlock()->showReport(); - } - - /** - * Process order to corresponded status. - * - * @param string $orderSteps - * @param OrderInjectable $order - * @return void - */ - protected function processOrder($orderSteps, OrderInjectable $order) - { - if ($orderSteps === '-') { - return; - } - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $orderStatus = explode(',', $orderSteps); - foreach ($orderStatus as $orderStep) { - $this->objectManager->create( - 'Magento\Sales\Test\TestStep\\Create' . ucfirst(trim($orderStep)) . 'Step', - ['order' => $order, 'cart' => $cart] - )->run(); - } - } - - /** - * Delete all tax rules after test. - * - * @return void - */ - public function tearDown(): void - { - $deleteTaxRule = $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class); - $deleteTaxRule->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.xml deleted file mode 100644 index e040c40bb6cae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesTaxReportEntityTest.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - custom_rule - default - Pending - Order Created - Day - m/d/Y - m/d/Y - Any - No - $46.20 - - - - stable:no - invoice - custom_rule - default - Processing - Order Created - Month - m/d/Y - m/d/Y - Specified - Processing - No - $46.20 - - - - stable:no - invoice,shipment - custom_rule - default - Complete - Order Updated - Year - m/d/Y - m/d/Y - Specified - Complete - Yes - Yes - $46.20 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.php deleted file mode 100644 index 60be714e9dbbb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.php +++ /dev/null @@ -1,123 +0,0 @@ - Search Terms. - * 4. Perform appropriate assertions. - * - * @group Search_Terms - * @ZephyrId MAGETWO-27106 - */ -class SearchTermsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Search Index page. - * - * @var SearchIndex - */ - protected $searchIndex; - - /** - * FixtureFactory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param CmsIndex $cmsIndex - * @param SearchIndex $searchIndex - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(CmsIndex $cmsIndex, SearchIndex $searchIndex, FixtureFactory $fixtureFactory) - { - $this->cmsIndex = $cmsIndex; - $this->searchIndex = $searchIndex; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Search Terms Report. - * - * @param string $product - * @param int $countProducts - * @param int $countSearch - * @return array - */ - public function test($product, $countProducts, $countSearch) - { - // Preconditions - $productName = $this->createProducts($product, $countProducts); - - // Steps - $this->cmsIndex->open(); - $this->searchProducts($productName, $countSearch); - $this->searchIndex->open(); - - return ['productName' => $productName]; - } - - /** - * Create products. - * - * @param string $product - * @param int $countProduct - * @return string - */ - protected function createProducts($product, $countProduct) - { - $name = 'simpleProductName' . random_int(0, PHP_INT_MAX); - for ($i = 0; $i < $countProduct; $i++) { - $productFixture = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => $product, 'data' => ['name' => $name]] - ); - $productFixture->persist(); - } - return $name; - } - - /** - * Search products. - * - * @param string $productName - * @param int $countSearch - * @return void - */ - protected function searchProducts($productName, $countSearch) - { - for ($i = 0; $i < $countSearch; $i++) { - $this->cmsIndex->getSearchBlock()->search($productName); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.xml deleted file mode 100644 index 58a0af80a4a51..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SearchTermsReportEntityTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - product_with_url_key - 1 - 2 - - - - - product_with_url_key - 3 - 1 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.php deleted file mode 100644 index 9ef8ab521e39a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.php +++ /dev/null @@ -1,162 +0,0 @@ - Products> Views - * 3. Select time range, report period - * 4. Click "Show report" - * 5. Perform all assertions - * - * @group Reports - * @ZephyrId MAGETWO-27954 - */ -class ViewedProductsReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Product Report View page - * - * @var ProductReportView - */ - protected $productReportView; - - /** - * Fixture factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Browser interface - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Catalog product index page - * - * @var CatalogProductIndex - */ - protected $catalogProductIndexPage; - - /** - * Catalog product index page - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Inject pages - * - * @param CmsIndex $cmsIndex - * @param ProductReportView $productReportView - * @param FixtureFactory $fixtureFactory - * @param BrowserInterface $browser - * @param CatalogProductIndex $catalogProductIndexPage - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - ProductReportView $productReportView, - FixtureFactory $fixtureFactory, - BrowserInterface $browser, - CatalogProductIndex $catalogProductIndexPage - ) { - $this->cmsIndex = $cmsIndex; - $this->productReportView = $productReportView; - $this->fixtureFactory = $fixtureFactory; - $this->browser = $browser; - $this->catalogProductIndexPage = $catalogProductIndexPage; - } - - /** - * Viewed product report list - * - * @param string $products - * @param array $viewsReport - * @param string $total - * @return array - */ - public function test($products, array $viewsReport, $total) - { - // Preconditions - $this->catalogProductIndexPage->open(); - $this->catalogProductIndexPage->getProductGrid()->massaction([], 'Delete', true, 'Select All'); - $productsList = $this->prepareProducts($products); - $this->openProducts($productsList, $total); - $this->productReportView->open(); - $this->productReportView->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - - // Steps - $this->productReportView->getFilterBlock()->viewsReport($viewsReport); - $this->productReportView->getActionsBlock()->showReport(); - return ['productsList' => $productsList]; - } - - /** - * Create products - * - * @param string $productList - * @return array - */ - protected function prepareProducts($productList) - { - $productsData = explode(', ', $productList); - $products = []; - foreach ($productsData as $productConfig) { - $product = explode('::', $productConfig); - $productFixture = $this->fixtureFactory->createByCode($product[0], ['dataset' => $product[1]]); - $productFixture->persist(); - $products[] = $productFixture; - } - return $products; - } - - /** - * Open products - * - * @param array $products - * @param string $total - * @return void - */ - protected function openProducts(array $products, $total) - { - $total = explode(', ', $total); - foreach ($products as $key => $product) { - for ($i = 0; $i < $total[$key]; $i++) { - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->assertEquals( - $product->getName(), - $this->cmsIndex->getTitleBlock()->getTitle(), - 'Could not open product page.' - ); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.xml deleted file mode 100644 index 923d795aa41a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/ViewedProductsReportEntityTest.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - View products on front and verify they all reflected in Year report. - 1, 1 - catalogProductSimple::default, catalogProductVirtual::default - Year - m/d/Y -1 year - m/d/Y - No - - - - View products on front and verify they all reflected in Month report. - 1, 1 - downloadableProduct::default, bundleProduct::bundle_dynamic_product - Month - m/d/Y -1 month - m/d/Y - No - - - - View products on front and verify they all reflected in Day report. - 1, 1 - configurableProduct::default, groupedProduct::default - Day - m/d/Y -1 day - m/d/Y +1 day - Yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Reports/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Reports/Test/etc/testcase.xml deleted file mode 100644 index e515370f02f82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Reports/Test/etc/testcase.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Customer/Edit/Tab/Reviews.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Customer/Edit/Tab/Reviews.php deleted file mode 100644 index 5000fb838ec73..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Customer/Edit/Tab/Reviews.php +++ /dev/null @@ -1,35 +0,0 @@ -blockFactory->create( - \Magento\Review\Test\Block\Adminhtml\Grid::class, - ['element' => $this->_rootElement->find($this->reviews)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/CustomerForm.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/CustomerForm.xml deleted file mode 100644 index 38a2100f89f85..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/CustomerForm.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \Magento\Review\Test\Block\Adminhtml\Customer\Edit\Tab\Reviews - #tab_reviews_content - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/Product/Grid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/Product/Grid.php deleted file mode 100644 index 649b4fea63bed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/Product/Grid.php +++ /dev/null @@ -1,29 +0,0 @@ - [ - 'selector' => 'input[name="title"]', - ], - 'sku' => [ - 'selector' => 'input[name="sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/RatingElement.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/RatingElement.php deleted file mode 100644 index 8cb915c32f032..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Edit/RatingElement.php +++ /dev/null @@ -1,93 +0,0 @@ -rating, $rating['title'], $rating['rating']); - $this->find($ratingSelector, Locator::SELECTOR_XPATH)->click(); - } - } - - /** - * Get rating vote - * - * @param SimpleElement $rating - * @return int - */ - protected function getRatingVote(SimpleElement $rating) - { - $ratingVote = 5; - $ratingVoteElement = $rating->find(sprintf($this->checkedRating, $ratingVote)); - while (!$ratingVoteElement->isVisible() && $ratingVote) { - --$ratingVote; - $ratingVoteElement = $rating->find(sprintf($this->checkedRating, $ratingVote)); - } - - return $ratingVote; - } - - /** - * Get list ratings - * - * @return array - */ - public function getValue() - { - $ratings = []; - - $count = 1; - $rating = $this->find(sprintf($this->ratingByNumber, $count), Locator::SELECTOR_XPATH); - while ($rating->isVisible()) { - $ratings[$count] = [ - 'title' => $rating->find('./label/span', Locator::SELECTOR_XPATH)->getText(), - 'rating' => $this->getRatingVote($rating), - ]; - - ++$count; - $rating = $this->find(sprintf($this->ratingByNumber, $count), Locator::SELECTOR_XPATH); - } - return $ratings; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/FormPageActions.php deleted file mode 100644 index 7964db805ae7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/FormPageActions.php +++ /dev/null @@ -1,23 +0,0 @@ - [ - 'selector' => 'input[name="review_id"]', - ], - 'title' => [ - 'selector' => 'input[name="title"]', - ], - 'status' => [ - 'selector' => '#reviewGrid_filter_status', - 'input' => 'select', - ], - 'nickname' => [ - 'selector' => 'input[name="nickname"]', - ], - 'detail' => [ - 'selector' => 'input[name="detail"]', - ], - 'visible_in' => [ - 'selector' => 'select[name="visible_in"]', - 'input' => 'selectstore', - ], - 'type' => [ - 'selector' => 'select[name="type"]', - 'input' => 'select', - ], - 'name' => [ - 'selector' => 'input[name="name"]', - ], - 'sku' => [ - 'selector' => 'input[name="sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Edit/Section/Reviews.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Edit/Section/Reviews.php deleted file mode 100644 index 2cfe16d743a7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Edit/Section/Reviews.php +++ /dev/null @@ -1,35 +0,0 @@ -blockFactory->create( - \Magento\Review\Test\Block\Adminhtml\Edit\Product\Grid::class, - ['element' => $this->_rootElement->find($this->reviews)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Grid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Grid.php deleted file mode 100644 index 900c72a75432d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/Grid.php +++ /dev/null @@ -1,36 +0,0 @@ - [ - 'selector' => 'input[name="title"]', - ], - 'sku' => [ - 'selector' => 'input[name="sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/ProductForm.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/ProductForm.xml deleted file mode 100644 index 871346c42e861..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Product/ProductForm.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \Magento\Review\Test\Block\Adminhtml\Product\Edit\Section\Reviews - [data-index="review"] - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Edit/RatingForm.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Edit/RatingForm.php deleted file mode 100644 index 91d4d3fb9b2c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Edit/RatingForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - #rating_tabs_form_section - css selector - - - [name="stores[]"] - multiselectgrouplist - - - checkbox - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Grid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Grid.php deleted file mode 100644 index d996bb9dca6c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/Rating/Grid.php +++ /dev/null @@ -1,38 +0,0 @@ - [ - 'selector' => '[name="rating_code"]', - ], - 'is_active' => [ - 'selector' => '[name="is_active"]', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.php deleted file mode 100644 index afb08f0626225..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.php +++ /dev/null @@ -1,88 +0,0 @@ -getData(); - if (isset($data['entity_id'])) { - unset($data['entity_id']); - } - $mapping = $this->dataMapping($data); - $this->_fill($mapping, $element); - - return $this; - } - - /** - * Get data from 'Posted By' field. - * - * @return string - */ - public function getPostedBy() - { - return $this->_rootElement->find($this->customer, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get data from Status field. - * - * @return string - */ - public function getStatus() - { - return $this->_rootElement->find($this->status, Locator::SELECTOR_CSS, 'select')->getText(); - } - - /** - * Set approve review. - * - * @return void - */ - public function setApproveReview() - { - $this->_rootElement->find($this->status, Locator::SELECTOR_CSS, 'select')->setValue('Approved'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.xml deleted file mode 100644 index cb851fe2db369..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Adminhtml/ReviewForm.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - select - - - <nickname /> - <select_stores> - <selector>[name="select_stores[]"]</selector> - <input>multiselectgrouplist</input> - </select_stores> - <detail> - <input>textarea</input> - </detail> - <ratings> - <selector>#rating_detail</selector> - <class>Magento\Review\Test\Block\Adminhtml\Edit\RatingElement</class> - </ratings> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View.php deleted file mode 100644 index e6c5b4df4de12..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * @api - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Review\Test\Block\Product; - -use Magento\Mtf\Block\Block; - -/** - * Class View - * Reviews frontend block - */ -class View extends Block -{ - /** - * Review item selector - * - * @var string - */ - protected $itemSelector = '.review-items .review-item'; - - /** - * Selectors mapping - * - * @var array - */ - protected $selectorsMapping = [ - 'nickname' => '.review-author .review-details-value', - 'title' => '.review-title', - 'detail' => '.review-content', - ]; - - /** - * Is visible review item - * - * @return bool - */ - public function isVisibleReviewItem() - { - return $this->_rootElement->find($this->itemSelector)->isVisible(); - } - - /** - * Get field value for review on product view page - * - * @param string $field - * @return string|null - */ - public function getFieldValue($field) - { - if (isset($this->selectorsMapping[$field])) { - return $this->_rootElement->find($this->selectorsMapping[$field])->getText(); - } - - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View/Summary.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View/Summary.php deleted file mode 100644 index 264425ffd49fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/Product/View/Summary.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** - * @api - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Review\Test\Block\Product\View; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\ElementInterface; - -/** - * Reviews frontend block. - */ -class Summary extends Block -{ - /** - * Add review link selector. - * - * @var string - */ - protected $addReviewLinkSelector = '.action.add'; - - /** - * View review link selector. - * - * @var string - */ - protected $viewReviewLinkSelector = '.action.view'; - - /** - * Get add review link. - * - * @return ElementInterface - */ - public function getAddReviewLink() - { - return $this->_rootElement->find($this->addReviewLinkSelector); - } - - /** - * Click on add review link. - * - * @return void - */ - public function clickAddReviewLink() - { - $reviewLink = $this->getAddReviewLink(); - if ($reviewLink->isVisible()) { - $reviewLink->click(); - } - } - - /** - * Get view review link - * - * @return ElementInterface - */ - public function getViewReviewLink() - { - return $this->_rootElement->find($this->viewReviewLinkSelector); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.php b/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.php deleted file mode 100644 index b2229a8f71209..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.php +++ /dev/null @@ -1,131 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Review\Test\Block; - -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Client\Element\SimpleElement; -use Magento\Review\Test\Fixture\Rating; -use Magento\Review\Test\Fixture\Review; -use Magento\Mtf\Block\Form as AbstractForm; - -/** - * Review form on frontend. - */ -class ReviewForm extends AbstractForm -{ - /** - * Legend selector. - * - * @var string - */ - protected $legendSelector = 'legend'; - - /** - * 'Submit' review button selector. - * - * @var string - */ - protected $submitButton = '.action.submit'; - - /** - * Single product rating selector. - * - * @var string - */ - protected $rating = './/*[@id="%s_rating_label"]'; - - /** - * Selector for label of rating vote. - * - * @var string - */ - protected $ratingVoteLabel = './following-sibling::div[contains(@class,"vote")]/label[contains(@id,"_%d_label")]'; - - /** - * Submit review form. - * - * @return void - */ - public function submit() - { - $this->_rootElement->find($this->submitButton, Locator::SELECTOR_CSS)->click(); - } - - /** - * Get legend. - * - * @return SimpleElement - */ - public function getLegend() - { - return $this->_rootElement->find($this->legendSelector); - } - - /** - * Check rating element is visible. - * - * @param Rating $rating - * @return bool - */ - public function isVisibleRating(Rating $rating) - { - return $this->getRating($rating)->isVisible(); - } - - /** - * Get single product rating. - * - * @param Rating $rating - * @return SimpleElement - */ - protected function getRating(Rating $rating) - { - return $this->_rootElement->find(sprintf($this->rating, $rating->getRatingCode()), Locator::SELECTOR_XPATH); - } - - /** - * Fill the review form. - * - * @param FixtureInterface $review - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $review, SimpleElement $element = null) - { - if ($review->hasData('ratings')) { - $this->fillRatings($review->getRatings()); - } - parent::fill($review, $element); - } - - /** - * Fill ratings on the review form. - * - * @param Rating[] $ratings - * @return void - */ - protected function fillRatings(array $ratings) - { - foreach ($ratings as $rating) { - $this->setRating($rating['title'], $rating['rating']); - } - } - - /** - * Set rating vote by rating code. - * - * @param string $ratingCode - * @param string $ratingVote - * @return void - */ - protected function setRating($ratingCode, $ratingVote) - { - $rating = $this->_rootElement->find(sprintf($this->rating, $ratingCode), Locator::SELECTOR_XPATH); - $rating->find(sprintf($this->ratingVoteLabel, $ratingVote), Locator::SELECTOR_XPATH)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.xml deleted file mode 100644 index 6f9104753a4ed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Block/ReviewForm.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="1"> - <fields> - <nickname> - <selector>#nickname_field</selector> - </nickname> - <title> - <selector>#summary_field</selector> - - - #review_field - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInGrid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInGrid.php deleted file mode 100644 index 83a8b44a8b322..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ - $productRating->getRatingCode()]; - - $ratingIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $ratingIndex->getRatingGrid()->isRowVisible($filter), - "Product Rating " . $productRating->getRatingCode() . " is absent on product Rating grid." - ); - } - - /** - * Text success exist product Rating in grid - * - * @return string - */ - public function toString() - { - return 'Product Rating is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInProductPage.php deleted file mode 100644 index e89b1ea9a9851..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingInProductPage.php +++ /dev/null @@ -1,61 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $reviewSummaryBlock = $catalogProductView->getReviewSummary(); - if ($reviewSummaryBlock->isVisible()) { - $reviewSummaryBlock->getAddReviewLink()->click(); - } - $rating = $productRating ? $productRating : $review->getDataFieldConfig('ratings')['source']->getRatings()[0]; - $reviewForm = $catalogProductView->getReviewFormBlock(); - \PHPUnit\Framework\Assert::assertTrue( - $reviewForm->isVisibleRating($rating), - 'Product rating "' . $rating->getRatingCode() . '" is not displayed.' - ); - } - - /** - * Text success product rating is displayed - * - * @return string - */ - public function toString() - { - return 'Product rating is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInGrid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInGrid.php deleted file mode 100644 index b4e720ad622d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ - $productRating->getRatingCode()]; - - $ratingIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $ratingIndex->getRatingGrid()->isRowVisible($filter), - "Product Rating " . $productRating->getRatingCode() . " exists on product Rating grid." - ); - } - - /** - * Text success absent product Rating in grid - * - * @return string - */ - public function toString() - { - return 'Product Rating is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInProductPage.php deleted file mode 100644 index 4a2d11e1bb9f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingNotInProductPage.php +++ /dev/null @@ -1,54 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $catalogProductView->getReviewSummary()->getAddReviewLink()->click(); - - $reviewForm = $catalogProductView->getReviewFormBlock(); - \PHPUnit\Framework\Assert::assertFalse( - $reviewForm->isVisibleRating($productRating), - 'Product rating "' . $productRating->getRatingCode() . '" is displayed.' - ); - } - - /** - * Text success product rating is not displayed - * - * @return string - */ - public function toString() - { - return 'Product rating is not displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingOnReviewPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingOnReviewPage.php deleted file mode 100644 index d992791759eaf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingOnReviewPage.php +++ /dev/null @@ -1,59 +0,0 @@ - $review->getTitle()]; - - $reviewIndex->open(); - $reviewIndex->getReviewGrid()->searchAndOpen($filter); - - $ratingReview = array_replace( - ($reviewInitial && $reviewInitial->hasData('ratings')) ? $reviewInitial->getRatings() : [], - $review->hasData('ratings') ? $review->getRatings() : [] - ); - $ratingReview = $this->sortDataByPath($ratingReview, '::title'); - $ratingForm = $reviewEdit->getReviewForm()->getData(); - $ratingForm = $this->sortDataByPath($ratingForm['ratings'], '::title'); - $error = $this->verifyData($ratingReview, $ratingForm); - \PHPUnit\Framework\Assert::assertTrue(empty($error), $error); - } - - /** - * Text success product rating is displayed on edit review page(backend) - * - * @return string - */ - public function toString() - { - return 'Product rating is displayed on edit review page(backend).'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessDeleteMessage.php deleted file mode 100644 index f803f8c4b8b5b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success delete message is displayed - * - * @return string - */ - public function toString() - { - return 'Rating success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessSaveMessage.php deleted file mode 100644 index edd11c3fed0a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductRatingSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Rating success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewBackendSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewBackendSuccessSaveMessage.php deleted file mode 100644 index 7297196efc9e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewBackendSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Text success create message is displayed - * - * @return string - */ - public function toString() - { - return 'Review success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewForm.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewForm.php deleted file mode 100644 index 615fe93aecc64..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewForm.php +++ /dev/null @@ -1,69 +0,0 @@ -open(); - $reviewGrid = $reviewIndex->getReviewGrid(); - $reviewGrid->searchAndOpen(['title' => $review->getTitle()]); - - $fixtureData = $review->getData(); - $formData = $reviewEdit->getReviewForm()->getData(); - if (isset($fixtureData['type'])) { - $formData['type'] = $reviewEdit->getReviewForm()->getPostedBy(); - } - - $error = $this->verifyData($fixtureData, $formData); - - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Review data on edit page equals passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGrid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGrid.php deleted file mode 100644 index 9cbd72ce47658..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGrid.php +++ /dev/null @@ -1,114 +0,0 @@ - 'status_id', - 'title', - 'nickname', - 'detail', - 'visible_in' => 'select_stores', - 'type', - 'name', - 'sku', - ]; - - /** - * Assert that review is displayed in grid. - * - * @param ReviewIndex $reviewIndex - * @param Review $review - * @param FixtureInterface $product - * @param string $gridStatus - * @return void - */ - public function processAssert( - ReviewIndex $reviewIndex, - Review $review, - FixtureInterface $product, - $gridStatus = '' - ) { - $filter = $this->prepareFilter($product, $review->getData(), $gridStatus); - - $reviewIndex->open(); - $reviewIndex->getReviewGrid()->search($filter); - unset($filter['visible_in']); - \PHPUnit\Framework\Assert::assertTrue( - $reviewIndex->getReviewGrid()->isRowVisible($filter, false), - 'Review is absent in Review grid.' - ); - } - - /** - * Prepare filter for assert. - * - * @param FixtureInterface $product - * @param array $review - * @param string $gridStatus [optional] - * @return array - * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) - */ - public function prepareFilter(FixtureInterface $product, array $review, $gridStatus = '') - { - $filter = []; - foreach ($this->filter as $key => $item) { - list($type, $param) = [$key, $item]; - if (is_numeric($key)) { - $type = $param = $item; - } - switch ($param) { - case 'name': - case 'sku': - $value = $product->getData($param); - break; - case 'select_stores': - $value = isset($review[$param]) ? $review[$param][0] : null; - break; - case 'status_id': - $value = $gridStatus != '' ? $gridStatus : (isset($review[$param]) ? $review[$param] : null); - break; - case 'type': - $value = isset($review[$param]) ? $review[$param] : 'Administrator'; - break; - default: - $value = isset($review[$param]) ? $review[$param] : null; - break; - } - if ($value !== null) { - $filter += [$type => $value]; - } - } - return $filter; - } - - /** - * Text success exist review in grid on product reviews tab. - * - * @return string - */ - public function toString() - { - return 'Review is present in grid on product reviews tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGridOnCustomerPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGridOnCustomerPage.php deleted file mode 100644 index 0b46e23b3e8bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewInGridOnCustomerPage.php +++ /dev/null @@ -1,86 +0,0 @@ -getDataFieldConfig('entity_id')['source']->getEntity(); - $customerIndex->open(); - $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $customerIndexEdit->getCustomerForm()->openTab('product_reviews'); - $filter = $assertProductReviewInGrid->prepareFilter($product, $this->prepareData($review, $reviewInitial)); - /** @var ReviewsGrid $reviewsGrid */ - $reviewsGrid = $customerIndexEdit->getCustomerForm()->getTab('product_reviews')->getReviewsGrid(); - $reviewsGrid->search($filter); - unset($filter['visible_in']); - \PHPUnit\Framework\Assert::assertTrue( - $reviewsGrid->isRowVisible($filter, false), - 'Review is absent in Review grid on customer page.' - ); - } - - /** - * Prepare Review data - * - * @param Review $review - * @param Review $reviewInitial - * @return array - */ - protected function prepareData(Review $review, Review $reviewInitial) - { - $dataReviewInitial = $reviewInitial->getData(); - $data = $review->getData(); - foreach ($dataReviewInitial as $key => $value) { - if (!isset($data[$key])) { - $data[$key] = $value; - } - } - $data['type'] = 'Customer'; - return $data; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Review is present in grid on customer page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewIsAbsentOnProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewIsAbsentOnProductPage.php deleted file mode 100644 index d16bbdf4811a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewIsAbsentOnProductPage.php +++ /dev/null @@ -1,60 +0,0 @@ -getViewBlock()->selectTab('Reviews'); - - \PHPUnit\Framework\Assert::assertFalse( - $catalogProductView->getCustomerReviewBlock()->isVisibleReviewItem(), - 'No reviews below the form required.' - ); - - \PHPUnit\Framework\Assert::assertEquals( - self::NO_REVIEW_LINK_TEXT, - trim($catalogProductView->getReviewSummary()->getAddReviewLink()->getText()), - sprintf('"%s" link is not available', self::NO_REVIEW_LINK_TEXT) - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product do not have a review on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessDeleteMessage.php deleted file mode 100644 index 3680d9daca3f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessDeleteMessage.php +++ /dev/null @@ -1,55 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Review success message appears after deletion via mass actions is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessMessage.php deleted file mode 100644 index bf08bf6cf6cb2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewMassActionSuccessMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Review success message appears after updated via mass actions is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotInGrid.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotInGrid.php deleted file mode 100644 index 59d21f1d2f472..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotInGrid.php +++ /dev/null @@ -1,112 +0,0 @@ - 'status_id', - 'title', - 'nickname', - 'detail', - 'visible_in' => 'select_stores', - 'type', - 'name', - 'sku', - ]; - - /** - * Asserts Product Review not available in grid - * - * @param ReviewIndex $reviewIndex - * @param Review $review - * @param string $gridStatus - * @param Review $reviewInitial - * @return void - */ - public function processAssert( - ReviewIndex $reviewIndex, - Review $review, - $gridStatus = '', - Review $reviewInitial = null - ) { - $product = $reviewInitial === null - ? $review->getDataFieldConfig('entity_id')['source']->getEntity() - : $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); - $filter = $this->prepareFilter($product, $review, $gridStatus); - - $reviewIndex->getReviewGrid()->search($filter); - unset($filter['visible_in']); - \PHPUnit\Framework\Assert::assertFalse( - $reviewIndex->getReviewGrid()->isRowVisible($filter, false), - 'Review available in grid' - ); - } - - /** - * Prepare filter for assert - * - * @param FixtureInterface $product - * @param Review $review - * @param string $gridStatus - * @return array - */ - public function prepareFilter(FixtureInterface $product, Review $review, $gridStatus) - { - $filter = []; - foreach ($this->filter as $key => $item) { - list($type, $param) = [$key, $item]; - if (is_numeric($key)) { - $type = $param = $item; - } - switch ($param) { - case 'name': - case 'sku': - $value = $product->getData($param); - break; - case 'select_stores': - $value = $review->getData($param)[0]; - break; - case 'status_id': - $value = $gridStatus != '' ? $gridStatus : $review->getData($param); - break; - default: - $value = $review->getData($param); - break; - } - if ($value !== null) { - $filter += [$type => $value]; - } - } - return $filter; - } - - /** - * Text success if review not in grid on product reviews tab - * - * @return string - */ - public function toString() - { - return 'Review is absent in grid on product reviews tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotOnProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotOnProductPage.php deleted file mode 100644 index 71db324783568..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewNotOnProductPage.php +++ /dev/null @@ -1,55 +0,0 @@ -getDataFieldConfig('entity_id')['source']->getEntity(); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $reviewBlock = $catalogProductView->getCustomerReviewBlock(); - $catalogProductView->getViewBlock()->selectTab('Reviews'); - \PHPUnit\Framework\Assert::assertFalse( - $reviewBlock->isVisibleReviewItem(), - 'Error, product review is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Review is not available on the product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewOnProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewOnProductPage.php deleted file mode 100644 index fe9822ddd45ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertProductReviewOnProductPage.php +++ /dev/null @@ -1,72 +0,0 @@ -open()->getActionsBlock()->flushMagentoCache(); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - $reviewBlock = $catalogProductView->getCustomerReviewBlock(); - $catalogProductView->getViewBlock()->selectTab('Reviews'); - - \PHPUnit\Framework\Assert::assertContains( - sprintf("You're reviewing:\n%s", $product->getName()), - $catalogProductView->getReviewFormBlock()->getLegend()->getText() - ); - - foreach ($review->getData() as $name => $value) { - $reviewValue = $reviewBlock->getFieldValue($name); - if (($reviewValue !== null) && (0 !== strcasecmp($value, trim($reviewValue)))) { - $errors[] = '- field "' . $name . '" is not equals submitted one, error value "' . $value . '"'; - } - } - - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - 'The Review contains the following errors:' . PHP_EOL . implode(PHP_EOL, $errors) - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product review is displayed correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php deleted file mode 100644 index f35596cddcb24..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewCreationSuccessMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success create message is displayed - * - * @return string - */ - public function toString() - { - return 'Review success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewLinksIsPresentOnProductPage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewLinksIsPresentOnProductPage.php deleted file mode 100644 index 8a3e85ab34c24..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewLinksIsPresentOnProductPage.php +++ /dev/null @@ -1,66 +0,0 @@ -open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - - // Verify add review link - \PHPUnit\Framework\Assert::assertTrue( - $catalogProductView->getReviewSummary()->getAddReviewLink()->isVisible(), - 'Add review link is not visible on product page.' - ); - - // Verify view review link - $viewReviewLink = $catalogProductView->getReviewSummary()->getViewReviewLink(); - \PHPUnit\Framework\Assert::assertTrue( - $viewReviewLink->isVisible(), - 'View review link is not visible on product page.' - ); - \PHPUnit\Framework\Assert::assertContains( - '1', - $viewReviewLink->getText(), - 'There is more than 1 approved review.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Add and view review links are present on product page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewSuccessSaveMessage.php deleted file mode 100644 index 97f8c86639dde..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertReviewSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text success save message is displayed - * - * @return string - */ - public function toString() - { - return 'Review success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertSetApprovedProductReview.php b/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertSetApprovedProductReview.php deleted file mode 100644 index b7612ff3351f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Constraint/AssertSetApprovedProductReview.php +++ /dev/null @@ -1,88 +0,0 @@ -cachePage = $cachePage; - $reviewIndex->open(); - $reviewGrid = $reviewIndex->getReviewGrid(); - $reviewGrid->searchAndOpen(['title' => $review->getTitle()]); - - $reviewEdit->getReviewForm()->setApproveReview(); - $reviewEdit->getPageActions()->save(); - - $assertReviewSuccessSaveMessage->processAssert($reviewIndex); - $this->flushCacheStorageWithAssert(); - } - - /** - * Flush cache storage and assert success message. - * - * @return void - */ - protected function flushCacheStorageWithAssert() - { - $this->cachePage->open(); - $this->cachePage->getActionsBlock()->flushCacheStorage(); - $this->cachePage->getModalBlock()->acceptAlert(); - \PHPUnit\Framework\Assert::assertTrue( - $this->cachePage->getActionsBlock()->isStorageCacheFlushed(), - 'Cache is not flushed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Review status is change to approve.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml deleted file mode 100644 index 1dc7672c0cd5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml deleted file mode 100644 index 6819521bfa914..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/EntityId.php b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/EntityId.php deleted file mode 100644 index 04fbf05bfdbe7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/EntityId.php +++ /dev/null @@ -1,56 +0,0 @@ -params = $params; - - if (isset($data['dataset'])) { - list($typeFixture, $dataset) = explode('::', $data['dataset']); - $fixture = $fixtureFactory->createByCode($typeFixture, ['dataset' => $dataset]); - if (!$fixture->hasData('id')) { - $fixture->persist(); - } - - $this->entity = $fixture; - $this->data = $fixture->getId(); - } - } - - /** - * Get entity. - * - * @return FixtureInterface|null - */ - public function getEntity() - { - return $this->entity; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/Ratings.php b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/Ratings.php deleted file mode 100644 index 7777c8317165d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review/Ratings.php +++ /dev/null @@ -1,66 +0,0 @@ -params = $params; - /** @var Rating $fixtureRating */ - $fixtureRating = null; - - foreach ($data as $rating) { - if (isset($rating['dataset'])) { - $fixtureRating = $fixtureFactory->createByCode('rating', ['dataset' => $rating['dataset']]); - if (!$fixtureRating->hasData('rating_id')) { - $fixtureRating->persist(); - } - } elseif (isset($rating['fixtureRating'])) { - $fixtureRating = $rating['fixtureRating']; - } - - if ($fixtureRating !== null) { - $this->ratings[] = $fixtureRating; - $this->data[] = [ - 'title' => $fixtureRating->getRatingCode(), - 'rating' => $rating['rating'] - ]; - } - } - } - - /** - * Get ratings. - * - * @return array - */ - public function getRatings() - { - return $this->ratings; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php deleted file mode 100644 index 9205b74df5bb5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php +++ /dev/null @@ -1,145 +0,0 @@ - [ - 'Yes' => 1, - 'No' => 0, - ], - ]; - - /** - * Mapping stores value - * - * @var array - */ - protected $mappingStores = [ - 'Main Website/Main Website Store/Default Store View' => 1, - ]; - - /** - * Post request for creating product Rating in backend - * - * @param FixtureInterface|null $rating [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $rating = null) - { - $url = $_ENV['app_backend_url'] . 'review/rating/save/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $data = $this->replaceMappingData($this->prepareData($rating->getData())); - - $data['stores'] = is_array($data['stores']) ? $data['stores'] : [$data['stores']]; - $data += $this->getAdditionalData(); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - 'Product Rating entity creating by curl handler was not successful! Response:' . $response - ); - } - - $ratingId = $this->getProductRatingId(); - return [ - 'rating_id' => $ratingId, - 'options' => $this->getRatingOptions($ratingId) - ]; - } - - /** - * Prepare POST data for creating rating request - * - * @param array $data - * @return array - */ - protected function prepareData(array $data) - { - if (isset($data['stores'])) { - foreach ($data['stores'] as $key => $store) { - if (isset($this->mappingStores[$store])) { - $data['stores'][$key] = $this->mappingStores[$store]; - } - } - } - - return $data; - } - - /** - * Get product Rating id - * - * @return mixed - */ - protected function getProductRatingId() - { - $url = 'review/rating/index/sort/rating_id/dir/desc/'; - $regex = '/data-column="rating_id"[^>]*>\s*([0-9]+)\s*getData(); - - return empty($match[1]) ? null : $match[1]; - } - - /** - * Get rating options - * - * @param int $ratingId - * @return array - */ - protected function getRatingOptions($ratingId) - { - $url = 'review/rating/edit/id/' . $ratingId; - $regex = '/]+name="option_title\[(\d+)\]"[^>]+>/'; - $extractor = new Extractor($url, $regex, true); - $matches = $extractor->getData(); - - if (empty($matches[1])) { - return []; - } - array_unshift($matches[1], null); - return array_filter($matches[1]); - } - - /** - * Return additional data for curl request - * - * @return array - */ - protected function getAdditionalData() - { - return [ - 'rating_codes' => [1 => ''], - 'option_title' => [ - 'add_1' => 1, - 'add_2' => 2, - 'add_3' => 3, - 'add_4' => 4, - 'add_5' => 5, - ], - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/RatingInterface.php b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/RatingInterface.php deleted file mode 100644 index 794aa6a47d794..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/RatingInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'Approved' => 1, - 'Pending' => 2, - 'Not Approved' => 3 - ], - 'select_stores' => [ - 'Main Website/Main Website Store/Default Store View' => 1 - ] - ]; - - /** - * Post request for creating product Review in backend - * - * @param FixtureInterface|null $review [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $review = null) - { - /** @var Review $review */ - $url = $_ENV['app_backend_url'] . 'review/product/post/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $data = $this->replaceMappingData($this->getPreparedData($review)); - - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - 'Product Review entity creating by curl handler was not successful! Response:' . $response - ); - } - - return ['review_id' => $this->getReviewId()]; - } - - /** - * Prepare and return data of review - * - * @param FixtureInterface $review - * @return array - */ - protected function getPreparedData(FixtureInterface $review) - { - $data = $review->getData(); - - /* Prepare ratings */ - if ($review->hasData('ratings')) { - $sourceRatings = $review->getDataFieldConfig('ratings')['source']; - $ratings = []; - foreach ($data['ratings'] as $rating) { - $ratings[$rating['title']] = $rating['rating']; - } - $data['ratings'] = []; - foreach ($sourceRatings->getRatings() as $ratingFixture) { - /** @var Rating $ratingFixture */ - $ratingCode = $ratingFixture->getRatingCode(); - if (isset($ratings[$ratingCode])) { - $ratingOptions = $ratingFixture->getOptions(); - $vote = $ratings[$ratingCode]; - $data['ratings'][$ratingFixture->getRatingId()] = $ratingOptions[$vote]; - } - } - } - - if ($review->hasData('select_stores')) { - foreach (array_keys($data['select_stores']) as $key) { - if (isset($this->mappingData['select_stores'][$data['select_stores'][$key]])) { - $data['select_stores'][$key] = $this->mappingData['select_stores'][$data['select_stores'][$key]]; - } - } - } - - /* Prepare product id */ - $data['product_id'] = $data['entity_id']; - unset($data['entity_id']); - - return $data; - } - - /** - * Get product Rating id - * - * @return int|null - */ - protected function getReviewId() - { - $url = 'review/product/index/sort/review_id/dir/desc/'; - $regex = '/class="[^"]+col-id[^"]+"[^>]*>\s*([0-9]+)\s*getData(); - - return empty($match[1]) ? null : (int)$match[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/ReviewInterface.php b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/ReviewInterface.php deleted file mode 100644 index a6853a4e9e91c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/ReviewInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingIndex.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingIndex.xml deleted file mode 100644 index 4d1e559fcf754..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingNew.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingNew.xml deleted file mode 100644 index 5583af820c063..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/RatingNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewEdit.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewEdit.xml deleted file mode 100644 index 5f924c7aa0d5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewIndex.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewIndex.xml deleted file mode 100644 index c533067e9516e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Adminhtml/ReviewIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index 7c66708c276e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.xml deleted file mode 100644 index 4bd97cc2479b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Rating.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Rating %isolation% - - Main Website/Main Website Store/Default Store View - - Yes - - - - productRating_%isolation% - - Main Website/Main Website Store/Default Store View - - Yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Review.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Review.xml deleted file mode 100644 index 226b87dc59541..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/Repository/Review.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Approved - - Main Website/Main Website Store/Default Store View - - Guest customer %isolation% - Summary review %isolation% - Text review %isolation% - - - visibleOnDefaultWebsite - 4 - - - - catalogProductSimple::default - - Administrator - - - - Approved - - Main Website/Main Website Store/Default Store View - - nickname_%isolation% - title_%isolation% - review_detail_%isolation% - - - visibleOnDefaultWebsite - 5 - - - - catalogProductSimple::default - - - - - Pending - - Main Website/Main Website Store/Default Store View - - nickname_%isolation% - title_%isolation% - review_detail_%isolation% - - catalogProductSimple::default - - Administrator - - - - Pending - - Main Website/Main Website Store/Default Store View - - Guest customer %isolation% - Summary review %isolation% - Text review %isolation% - - catalogProductSimple::default - - Guest - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.php deleted file mode 100644 index 10e84604957de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.php +++ /dev/null @@ -1,131 +0,0 @@ - Attributes > Rating. - * 3. Add New Rating. - * 4. Fill data according to dataset. - * 5. Save Rating. - * 6. Perform asserts. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-23331 - */ -class CreateProductRatingEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Product rating fixture. - * - * @var Rating - */ - protected $productRating; - - /** - * Product rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Create product rating page. - * - * @var RatingNew - */ - protected $ratingNew; - - /** - * Edit product rating page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $product = $fixtureFactory->createByCode('catalogProductSimple', ['dataset' => 'default']); - $product->persist(); - - return ['product' => $product]; - } - - /** - * Injection data. - * - * @param RatingIndex $ratingIndex - * @param RatingNew $ratingNew - * @param RatingEdit $ratingEdit - * @return void - */ - public function __inject( - RatingIndex $ratingIndex, - RatingNew $ratingNew, - RatingEdit $ratingEdit - ) { - $this->ratingIndex = $ratingIndex; - $this->ratingNew = $ratingNew; - $this->ratingEdit = $ratingEdit; - } - - /** - * Run create backend Product Rating test. - * - * @param Rating $productRating - * @return void - */ - public function testCreateProductRatingEntityTest(Rating $productRating) - { - // Prepare data for tear down - $this->productRating = $productRating; - - // Steps - $this->ratingIndex->open(); - $this->ratingIndex->getGridPageActions()->addNew(); - $this->ratingNew->getRatingForm()->fill($productRating); - $this->ratingNew->getPageActions()->save(); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if (!($this->productRating instanceof Rating)) { - return; - } - $filter = ['rating_code' => $this->productRating->getRatingCode()]; - $this->ratingIndex->open(); - $this->ratingIndex->getRatingGrid()->searchAndOpen($filter); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.xml deleted file mode 100644 index 73cdf5c621ed7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductRatingEntityTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - productRating_%isolation% - Main Website/Main Website Store/Default Store View - Yes - - - - - - productRating_%isolation% - Main Website/Main Website Store/Default Store View - No - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.php deleted file mode 100644 index 593f14b023ef3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.php +++ /dev/null @@ -1,143 +0,0 @@ - User Content > Reviews. - * 3. Click the "+" (Add New Review) button. - * 4. Select the product in the Products Grid. - * 5. Fill data according to DataSet. - * 6. Click "Save Review" button. - * 7. Perform Asserts. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-26476 - */ -class CreateProductReviewBackendEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * ReviewIndex page. - * - * @var ReviewIndex - */ - protected $reviewIndex; - - /** - * ReviewEdit page. - * - * @var ReviewEdit - */ - protected $reviewEdit; - - /** - * RatingIndex page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * RatingEdit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Product rating fixture. - * - * @var Rating - */ - protected $productRating; - - /** - * Review fixture. - * - * @var Review - */ - protected $review; - - /** - * Inject pages into test. - * - * @param ReviewIndex $reviewIndex - * @param ReviewEdit $reviewEdit - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @return void - */ - public function __inject( - ReviewIndex $reviewIndex, - ReviewEdit $reviewEdit, - RatingIndex $ratingIndex, - RatingEdit $ratingEdit - ) { - $this->reviewIndex = $reviewIndex; - $this->reviewEdit = $reviewEdit; - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - } - - /** - * Run Create Product Review Entity Backend Test. - * - * @param Review $review - * @return array - */ - public function test(Review $review) - { - // Precondition: - $product = $review->getDataFieldConfig('entity_id')['source']->getEntity(); - $filter = ['sku' => $product->getSku()]; - $this->review = $review; - - // Steps: - $this->reviewIndex->open(); - $this->reviewIndex->getReviewActions()->addNew(); - $this->reviewEdit->getProductGrid()->search($filter); - $this->reviewEdit->getProductGrid()->openFirstRow(); - $this->reviewEdit->getReviewForm()->fill($this->review); - $this->reviewEdit->getPageActions()->save(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->ratingIndex->open(); - if ($this->review instanceof Review) { - foreach ($this->review->getRatings() as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.xml deleted file mode 100644 index 7e55b576c1f1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewBackendEntityTest.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - catalogProductSimple::default - Approved - Main Website/Main Website Store/Default Store View - visibleOnDefaultWebsite - 3 - John - title %isolation% - review detail %isolation% - - - - - - catalogProductSimple::default - Pending - Main Website/Main Website Store/Default Store View - visibleOnDefaultWebsite - 4 - Britney - title %isolation% - review detail %isolation% - - - - - - catalogProductSimple::default - Not Approved - Main Website/Main Website Store/Default Store View - visibleOnDefaultWebsite - 5 - Michael - title %isolation% - review detail %isolation% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.php deleted file mode 100644 index 057efd63a3ebc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.php +++ /dev/null @@ -1,134 +0,0 @@ -catalogProductView = $catalogProductView; - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - } - - /** - * Run create frontend product rating test. - * - * @param Review $review - * @param BrowserInterface $browser - * @param AssertProductReviewIsAbsentOnProductPage $assertProductReviewIsAbsentOnProductPage - * @return array - */ - public function test( - Review $review, - BrowserInterface $browser, - AssertProductReviewIsAbsentOnProductPage $assertProductReviewIsAbsentOnProductPage - ) { - // Prepare for tear down - $this->review = $review; - - // Steps - $product = $review->getDataFieldConfig('entity_id')['source']->getEntity(); - $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $assertProductReviewIsAbsentOnProductPage->processAssert($this->catalogProductView); - $this->catalogProductView->getReviewSummary()->clickAddReviewLink(); - $reviewForm = $this->catalogProductView->getReviewFormBlock(); - $reviewForm->fill($review); - $reviewForm->submit(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->review instanceof Review) { - $ratings = $this->review->getRatings(); - if (empty($ratings)) { - return; - } - $this->ratingIndex->open(); - foreach ($ratings as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.xml deleted file mode 100644 index 19c1aaa25cd81..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/CreateProductReviewFrontendEntityTest.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - to_maintain:yes - Guest - name_%isolation% - title_%isolation% - review_%isolation% - visibleOnDefaultWebsite - 4 - catalogProductSimple::default - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - Guest - name_%isolation% - title_%isolation% - review_%isolation% - catalogProductSimple::default - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.php deleted file mode 100644 index 14573eec4dd5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.php +++ /dev/null @@ -1,94 +0,0 @@ - Attributes > Rating. - * 3. Search product rating in grid by given data. - * 4. Open this product rating by clicking. - * 5. Click 'Delete Rating' button. - * 6. Perform all asserts. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-23276 - */ -class DeleteProductRatingEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Product rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Product rating edit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $product = $fixtureFactory->createByCode('catalogProductSimple', ['dataset' => 'default']); - $product->persist(); - - return ['product' => $product]; - } - - /** - * Inject data. - * - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @return void - */ - public function __inject(RatingIndex $ratingIndex, RatingEdit $ratingEdit) - { - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - } - - /** - * Runs delete product Rating entity test. - * - * @param Rating $productRating - * @return void - */ - public function testDeleteProductRatingEntity(Rating $productRating) - { - // Preconditions - $productRating->persist(); - - // Steps - $this->ratingIndex->open(); - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $productRating->getRatingCode()]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.xml deleted file mode 100644 index 7ac47e0f1f790..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/DeleteProductRatingEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.php deleted file mode 100644 index 840f1fb501e35..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.php +++ /dev/null @@ -1,215 +0,0 @@ - All Customers. - * 3. Open customer from preconditions. - * 4. Open Product Review tab. - * 5. Open Review created in preconditions. - * 6. Fill data according to dataset. - * 7. Click "Submit review". - * 8. Perform all assertions. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-27625 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class ManageProductReviewFromCustomerPageTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Catalog product view page. - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Browser. - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Backend rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Backend rating edit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Review fixture. - * - * @var Review - */ - protected $reviewInitial; - - /** - * Review edit page. - * - * @var ReviewEdit - */ - protected $reviewEdit; - - /** - * Prepare data. - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - return ['customer' => $customer]; - } - - /** - * Injection data. - * - * @param CustomerIndexEdit $customerIndexEdit - * @param CustomerIndex $customerIndex - * @param CatalogProductView $catalogProductView - * @param BrowserInterface $browser - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @param ReviewEdit $reviewEdit - * @return void - */ - public function __inject( - CustomerIndexEdit $customerIndexEdit, - CustomerIndex $customerIndex, - CatalogProductView $catalogProductView, - BrowserInterface $browser, - RatingIndex $ratingIndex, - RatingEdit $ratingEdit, - ReviewEdit $reviewEdit - ) { - $this->customerIndexEdit = $customerIndexEdit; - $this->customerIndex = $customerIndex; - $this->catalogProductView = $catalogProductView; - $this->browser = $browser; - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - $this->reviewEdit = $reviewEdit; - } - - /** - * Run manage product review test. - * - * @param Review $reviewInitial - * @param Review $review - * @param Customer $customer - * @return array - */ - public function test( - Review $reviewInitial, - Review $review, - Customer $customer - ) { - // Preconditions - $this->login($customer); - /** @var CatalogProductSimple $product */ - $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->catalogProductView->getReviewSummary()->getAddReviewLink()->click(); - $this->catalogProductView->getReviewFormBlock()->fill($reviewInitial); - $this->catalogProductView->getReviewFormBlock()->submit(); - $this->reviewInitial = $reviewInitial; - // Steps - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getCustomerForm()->openTab('product_reviews'); - $filter = [ - 'title' => $reviewInitial->getTitle(), - 'sku' => $product->getSku(), - ]; - $this->customerIndexEdit->getCustomerForm()->getTab('product_reviews')->getReviewsGrid() - ->searchAndOpen($filter); - $this->reviewEdit->getReviewForm()->fill($review); - $this->reviewEdit->getPageActions()->save(); - - return ['reviewInitial' => $reviewInitial, 'product' => $product]; - } - - /** - * Login customer on frontend. - * - * @param Customer $customer - * @return void - */ - protected function login(Customer $customer) - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->ratingIndex->open(); - if ($this->reviewInitial instanceof Review) { - foreach ($this->reviewInitial->getRatings() as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.xml deleted file mode 100644 index da0ec50fa5a46..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ManageProductReviewFromCustomerPageTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - Approved - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - - - - - - Not Approved - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.php deleted file mode 100644 index b567149cd1005..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.php +++ /dev/null @@ -1,125 +0,0 @@ - User Content > Reviews. - * 3. Search and select review created in precondition. - * 4. Select Mass Action. - * 5. Select Action from Dataset. - * 6. Click "Submit" button. - * 7. Perform Asserts. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-26618 - */ -class MassActionsProductReviewEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Backend rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Backend rating edit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Review index page. - * - * @var ReviewIndex - */ - protected $reviewIndex; - - /** - * Fixture review. - * - * @var Review - */ - protected $review; - - /** - * Injection data. - * - * @param ReviewIndex $reviewIndex - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @param Review $review - * @return array - */ - public function __inject( - ReviewIndex $reviewIndex, - RatingIndex $ratingIndex, - RatingEdit $ratingEdit, - Review $review - ) { - $this->reviewIndex = $reviewIndex; - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - $this->review = $review; - $this->review->persist(); - $product = $review->getDataFieldConfig('entity_id')['source']->getEntity(); - - return ['review' => $this->review, 'product' => $product]; - } - - /** - * Apply for MassActions ProductReviewEntity. - * - * @param string $gridActions - * @param string $gridStatus - * @return void - */ - public function test($gridActions, $gridStatus) - { - // Steps - $this->reviewIndex->open(); - $this->reviewIndex->getReviewGrid()->massaction( - [['title' => $this->review->getTitle()]], - [$gridActions => $gridStatus], - ($gridActions == 'Delete') - ); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->ratingIndex->open(); - if ($this->review instanceof Review) { - foreach ($this->review->getRatings() as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.xml deleted file mode 100644 index 389a009d2b1fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/MassActionsProductReviewEntityTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - Update Status - Approved - - - - - - Update Status - Pending - - - - - - Update Status - Not Approved - - - - - - Delete - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.php deleted file mode 100644 index acd8373a0d0ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.php +++ /dev/null @@ -1,86 +0,0 @@ - Reviews. - * 3. Search and open review created in precondition. - * 4. Fill data according to dataset. - * 5. Save. - * 6. Perform all assertions. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-26768 - */ -class ModerateProductReviewEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Backend review grid page. - * - * @var ReviewIndex - */ - protected $reviewIndex; - - /** - * Backend review edit page. - * - * @var ReviewEdit - */ - protected $reviewEdit; - - /** - * Injection pages. - * - * @param ReviewIndex $reviewIndex - * @param ReviewEdit $reviewEdit - * @return void - */ - public function __inject(ReviewIndex $reviewIndex, ReviewEdit $reviewEdit) - { - $this->reviewIndex = $reviewIndex; - $this->reviewEdit = $reviewEdit; - } - - /** - * Run moderate product review test. - * - * @param Review $reviewInitial - * @param Review $review - * @return array - */ - public function test(Review $reviewInitial, Review $review) - { - // Precondition - $reviewInitial->persist(); - - // Steps - $this->reviewIndex->open(); - $this->reviewIndex->getReviewGrid()->searchAndOpen(['review_id' => $reviewInitial->getReviewId()]); - $this->reviewEdit->getReviewForm()->fill($review); - $this->reviewEdit->getPageActions()->save(); - - // Prepare data for asserts - $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); - - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.xml deleted file mode 100644 index a352925660d32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/ModerateProductReviewEntityTest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - frontend_review - Approved - Nick%isolation% - Title %isolation% - Details %isolation% - - - - - - frontend_review - Not Approved - Nick%isolation% - Title %isolation% - Details %isolation% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 334497cc2f77e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > All Reviews - Reviews - - - - mftf_migrated:yes - Reports > By Customers - Customer Reviews Report - - - - mftf_migrated:yes - Reports > By Products - Product Reviews Report - - - - mftf_migrated:yes - Stores > Rating - Ratings - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.php deleted file mode 100644 index fe772accc5fd2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.php +++ /dev/null @@ -1,184 +0,0 @@ - Catalog. - * 2. Search and open product from preconditions. - * 3. Open Review tab. - * 4. Search and open review created in preconditions. - * 5. Fill data according to dataset. - * 6. Save changes. - * 7. Perform all assertions. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-27743 - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class UpdateProductReviewEntityOnProductPageTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Catalog product edit page. - * - * @var CatalogProductEdit - */ - protected $catalogProductEdit; - - /** - * Backend rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Backend rating edit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Review fixture. - * - * @var Review - */ - protected $reviewInitial; - - /** - * Review edit page. - * - * @var ReviewEdit - */ - protected $reviewEdit; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->reviewInitial = $fixtureFactory->createByCode( - 'review', - ['dataset' => 'review_for_simple_product_with_rating'] - ); - $this->reviewInitial->persist(); - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Injection data. - * - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @param CatalogProductEdit $catalogProductEdit - * @param ReviewEdit $reviewEdit - * @return void - */ - public function __inject( - RatingIndex $ratingIndex, - RatingEdit $ratingEdit, - CatalogProductEdit $catalogProductEdit, - ReviewEdit $reviewEdit - ) { - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - $this->catalogProductEdit = $catalogProductEdit; - $this->reviewEdit = $reviewEdit; - } - - /** - * Update product review on product page. - * - * @param Review $review - * @param int $rating - * @return array - */ - public function test(Review $review, $rating) - { - // Steps - $review = $this->createReview($review, $rating); - $product = $this->reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); - $this->objectManager->create( - \Magento\Catalog\Test\TestStep\OpenProductOnBackendStep::class, - ['product' => $product] - )->run(); - - $this->catalogProductEdit->getProductForm()->openSection('product_reviews'); - $filter = [ - 'title' => $this->reviewInitial->getTitle(), - 'sku' => $product->getSku(), - ]; - $this->catalogProductEdit->getProductForm()->getSection('product_reviews')->getReviewsGrid() - ->searchAndOpen($filter); - $this->reviewEdit->getReviewForm()->fill($review); - $this->reviewEdit->getPageActions()->save(); - $productRating = $this->reviewInitial->getDataFieldConfig('ratings')['source']->getRatings()[0]; - - return ['product' => $product, 'productRating' => $productRating]; - } - - /** - * Create review. - * - * @param Review $review - * @param int $rating - * @return Review - */ - protected function createReview($review, $rating) - { - $reviewData = $review->getData(); - $fixtureRating = $this->reviewInitial->getDataFieldConfig('ratings')['source']->getRatings()[0]; - $reviewData['ratings'][0] = ['fixtureRating' => $fixtureRating, 'rating' => $rating]; - - return $this->fixtureFactory->createByCode('review', ['data' => $reviewData]); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - if (!$this->reviewInitial instanceof Review) { - return; - } - $this->ratingIndex->open(); - foreach ($this->reviewInitial->getRatings() as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.xml deleted file mode 100644 index 2c38631430a72..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityOnProductPageTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - to_maintain:yes - 3 - Approved - Main Website/Main Website Store/Default Store View - name%isolation% - title%isolation% - details%isolation% - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.php b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.php deleted file mode 100644 index a721f8e422465..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.php +++ /dev/null @@ -1,138 +0,0 @@ - Reviews. - * 3. Open created review. - * 4. Fill data according to dataset. - * 5. Click "Submit review". - * 6. Perform all assertions. - * - * @group Reviews_and_Ratings - * @ZephyrId MAGETWO-25604 - */ -class UpdateProductReviewEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Backend review grid page. - * - * @var ReviewIndex - */ - protected $reviewIndex; - - /** - * Backend review edit page. - * - * @var ReviewEdit - */ - protected $reviewEdit; - - /** - * Backend rating grid page. - * - * @var RatingIndex - */ - protected $ratingIndex; - - /** - * Backend rating edit page. - * - * @var RatingEdit - */ - protected $ratingEdit; - - /** - * Fixture review. - * - * @var Review - */ - protected $review; - - /** - * Injection data. - * - * @param ReviewIndex $reviewIndex - * @param ReviewEdit $reviewEdit - * @param RatingIndex $ratingIndex - * @param RatingEdit $ratingEdit - * @return void - */ - public function __inject( - ReviewIndex $reviewIndex, - ReviewEdit $reviewEdit, - RatingIndex $ratingIndex, - RatingEdit $ratingEdit - ) { - $this->reviewIndex = $reviewIndex; - $this->reviewEdit = $reviewEdit; - $this->ratingIndex = $ratingIndex; - $this->ratingEdit = $ratingEdit; - } - - /** - * Run create frontend product rating test. - * - * @param Review $reviewInitial - * @param Review $review - * @return array - */ - public function test(Review $reviewInitial, Review $review) - { - // Precondition - $reviewInitial->persist(); - - // Prepare for tear down - $this->review = $reviewInitial; - - // Steps - $this->reviewIndex->open(); - $this->reviewIndex->getReviewGrid()->searchAndOpen(['review_id' => $reviewInitial->getReviewId()]); - $this->reviewEdit->getReviewForm()->fill($review); - $this->reviewEdit->getPageActions()->save(); - - // Prepare data for asserts - $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); - - return ['product' => $product]; - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->ratingIndex->open(); - if ($this->review instanceof Review) { - foreach ($this->review->getRatings() as $rating) { - $this->ratingIndex->getRatingGrid()->searchAndOpen(['rating_code' => $rating['title']]); - $this->ratingEdit->getPageActions()->delete(); - $this->ratingEdit->getModalBlock()->acceptAlert(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.xml b/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.xml deleted file mode 100644 index abaa18a903887..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/TestCase/UpdateProductReviewEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - to_maintain:yes - review_for_simple_product_with_rating - name_upd_%isolation% - title_upd_%isolation% - review_upd_%isolation% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Review/Test/etc/curl/di.xml deleted file mode 100644 index ca49a1b86e709..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/etc/curl/di.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Review/Test/etc/di.xml deleted file mode 100644 index f562434d3025d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Review/Test/etc/di.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - high - - - - - high - - - - - middle - - - - - middle - - - - - middle - - - - - middle - - - - - high - - - - - high - - - - - middle - - - - - high - - - - - high - - - - - middle - - - - - middle - - - - - middle - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/CreditMemo/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/CreditMemo/Grid.php deleted file mode 100644 index 8e3329f2aa30d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/CreditMemo/Grid.php +++ /dev/null @@ -1,40 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'order_id' => [ - 'selector' => 'input[name="order_increment_id"]', - ], - 'grand_total_from' => [ - 'selector' => 'input[name="base_grand_total[from]"]', - ], - 'grand_total_to' => [ - 'selector' => 'input[name="base_grand_total[to]"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Invoice/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Invoice/Grid.php deleted file mode 100644 index 4d37ebe95a7ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Invoice/Grid.php +++ /dev/null @@ -1,40 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'order_id' => [ - 'selector' => 'input[name="order_increment_id"]', - ], - 'grand_total_from' => [ - 'selector' => 'input[name="grand_total[from]"]', - ], - 'grand_total_to' => [ - 'selector' => 'input[name="grand_total[to]"]', - ], - ]; - - /** - * Locator value for "View" link inside action column. - * - * @var string - */ - protected $editLink = '.action-menu-item[href*="view"]'; -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php deleted file mode 100644 index 5572c06816a39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php +++ /dev/null @@ -1,141 +0,0 @@ -browser->waitUntil( - function () { - $element = $this->browser->find($this->loader); - return $element->isVisible() == false ? true : null; - } - ); - } - - /** - * Fill form data. - * - * @param array $data - * @return void - */ - public function fillFormData(array $data) - { - $data = $this->prepareData($data); - if (isset($data['form_data'])) { - $data['form_data'] = $this->dataMapping($data['form_data']); - $this->_fill($data['form_data']); - } - } - - /** - * Fill product data. - * - * @param array $data - * @param array|null $products [optional] - * @return void - */ - public function fillProductData(array $data, $products = null) - { - $data = $this->prepareData($data); - if (isset($data['items_data']) && $products !== null) { - foreach ($data['items_data'] as $key => $item) { - $productSku = is_array($products[$key]) ? $products[$key]['sku'] : $products[$key]->getData()['sku']; - $this->getItemsBlock()->getItemProductBlock($productSku)->fillProduct($item); - } - } - } - - /** - * Fill form and product data. - * - * @param array $data - * @param array|null $products [optional] - * @return void - */ - public function fillData(array $data, $products = null) - { - $this->fillFormData($data); - $this->fillProductData($data, $products); - } - - /** - * Click update qty's button. - * - * @return void - */ - public function updateQty() - { - $this->getItemsBlock()->clickUpdateQty(); - $this->waitLoader(); - } - - /** - * Get items block. - * - * @return AbstractItemsNewBlock - */ - abstract protected function getItemsBlock(); - - /** - * Submit order. - * - * @return void - */ - public function submit() - { - $this->waitLoader(); - - $this->_rootElement->find($this->send)->click(); - } - - /** - * Prepare data. - * - * @param array $data - * @return array|null - */ - protected function prepareData(array $data) - { - $result = []; - foreach ($data as $key => $value) { - if (is_array($value)) { - $value = $this->prepareData($value); - } - if ($value !== '-' && $value !== null) { - $result[$key] = $value; - } - } - - return empty($result) ? null : $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm/Product.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm/Product.php deleted file mode 100644 index 0b4e7408c679c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm/Product.php +++ /dev/null @@ -1,113 +0,0 @@ -_rootElement->find($this->itemExclTax, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price including tax - * - * @return string|null - */ - public function getItemPriceInclTax() - { - $price = $this->_rootElement->find($this->itemInclTax, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @return string|null - */ - public function getItemSubExclTax() - { - $price = $this->_rootElement->find($this->itemSubExclTax, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @return string|null - */ - public function getItemSubInclTax() - { - $price = $this->_rootElement->find($this->itemSubInclTax, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Method that escapes currency symbols - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } - - /** - * Fill item product data - * - * @param array $data - * @return void - */ - public function fillProduct(array $data) - { - $data = $this->dataMapping($data); - $this->_fill($data); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php deleted file mode 100644 index 40f5745f551e7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php +++ /dev/null @@ -1,170 +0,0 @@ -_rootElement->getElements($this->rowItem); - $data = []; - - foreach ($items as $item) { - $itemData = []; - - $itemData['product'] = preg_replace('/\n|\r/', '', $item->find($this->title)->getText()); - $itemData['sku'] = $this->getSku($item); - $itemData['price'] = $this->escapePrice($item->find($this->price)->getText()); - $itemData['qty'] = $this->getQty($item); - $itemData['subtotal'] = $this->escapePrice($item->find($this->subtotal)->getText()); - $itemData['tax'] = $this->escapePrice($item->find($this->taxAmount)->getText()); - $itemData['discount'] = $this->escapePrice($item->find($this->discountAmount)->getText()); - $itemData['total'] = $this->escapePrice($item->find($this->rowTotal)->getText()); - - $data[] = $itemData; - } - - return $data; - } - - /** - * Get product quantity. - * - * @param ElementInterface $item - * @return null|int - */ - protected function getQty(ElementInterface $item) - { - $qty = null; - $elements = $item->getElements($this->qty); - foreach ($elements as $element) { - $qty += (int) $element->getText(); - } - return $qty; - } - - /** - * Get product SKU. - * - * @param ElementInterface $item - * @return string - */ - protected function getSku(ElementInterface $item) - { - $itemContent = $item->find($this->sku)->getText(); - $itemContent = preg_replace('/\n|\r/', '', $itemContent); - $itemContent = str_replace('SKU: ', '', $itemContent); - return $itemContent; - } - - /** - * Prepare price. - * - * @var string $price - * @return string - */ - private function escapePrice($price) - { - return preg_replace('[^0-9\.]', '', $price); - } - - /** - * Parse product name to title and sku product. - * - * @param string $product - * @return array - */ - protected function parseProductName($product) - { - $data = array_map('trim', explode('SKU:', str_replace("\n", '', $product))); - return [ - 'product' => $data[0], - 'sku' => isset($data[1]) ? $data[1] : '' - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php deleted file mode 100644 index c397f2e26a242..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php +++ /dev/null @@ -1,48 +0,0 @@ -_rootElement->find($this->updateQty)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php deleted file mode 100644 index 332aafd6d898a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php +++ /dev/null @@ -1,349 +0,0 @@ -_rootElement->find($this->ship)->isVisible(); - } - - /** - * Ship order. - * - * @return void - */ - public function ship() - { - $this->_rootElement->find($this->ship)->click(); - } - - /** - * Invoice order. - * - * @return void - */ - public function invoice() - { - $this->_rootElement->find($this->invoice)->click(); - } - - /** - * Click 'Get Payment Update' button to fetch updates from 3rd party payment solution. - * - * @return void - */ - public function paymentUpdate() - { - $this->_rootElement->find($this->getPaymentUpdate)->click(); - } - - /** - * Reorder order. - * - * @return void - */ - public function reorder() - { - $this->_rootElement->find($this->reorder)->click(); - } - - /** - * Go back. - * - * @return void - */ - public function back() - { - $this->_rootElement->find($this->back)->click(); - } - - /** - * Edit order. - * - * @return void - */ - public function edit() - { - $this->_rootElement->find($this->edit)->click(); - } - - /** - * Cancel order. - * - * @return void - */ - public function cancel() - { - $this->_rootElement->find($this->cancel)->click(); - $this->acceptAlert(); - } - - /** - * Send email. - * - * @return void - */ - public function sendEmail() - { - $this->_rootElement->find($this->sendEmail)->click(); - } - - /** - * Void order. - * - * @return void - */ - public function void() - { - $this->_rootElement->find($this->void)->click(); - $this->acceptAlert(); - } - - /** - * Hold order. - * - * @return void - */ - public function hold() - { - $this->_rootElement->find($this->hold)->click(); - } - - /** - * Unhold order. - * - * @return void - */ - public function unhold() - { - $this->_rootElement->find($this->unhold)->click(); - } - - /** - * Order credit memo. - * - * @return void - */ - public function orderCreditMemo() - { - $this->_rootElement->find($this->orderCreditMemo)->click(); - } - - /** - * Order invoice credit memo. - * - * @return void - */ - public function orderInvoiceCreditMemo() - { - $this->_rootElement->find($this->orderInvoiceCreditMemo)->click(); - } - - /** - * Refund order. - * - * @return void - */ - public function refund() - { - $this->_rootElement->find($this->refund, Locator::SELECTOR_CSS)->click(); - } - - /** - * Refund offline order. - * - * @return void - */ - public function refundOffline() - { - $this->_rootElement->find($this->refundOffline, Locator::SELECTOR_CSS)->click(); - } - - /** - * Check if action button is visible. - * - * @param string $buttonName - * @return bool - */ - public function isActionButtonVisible($buttonName) - { - return $this->_rootElement->find(sprintf($this->button, $buttonName), Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Accept order. - * - * @return void - */ - public function accept() - { - $acceptPayment = '#accept_payment'; - $this->_rootElement->find($acceptPayment)->click(); - $this->acceptAlert(); - } - - /** - * Deny order. - * - * @return void - */ - public function deny() - { - $denyPayment = '#deny_payment'; - $this->_rootElement->find($denyPayment)->click(); - $this->acceptAlert(); - } - - /** - * Accept alert. - * - * @return void - */ - private function acceptAlert() - { - $element = $this->browser->find($this->confirmModal); - /** @var Modal $modal */ - $modal = $this->blockFactory->create(Modal::class, ['element' => $element]); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php deleted file mode 100644 index f460cd91167de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php +++ /dev/null @@ -1,388 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Items::class, - ['element' => $this->_rootElement->find($this->itemsBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create billing address block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Billing\Address - */ - public function getBillingAddressBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Billing\Address::class, - ['element' => $this->_rootElement->find($this->billingAddressBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create billing address block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Shipping\Address - */ - protected function getShippingAddressBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Shipping\Address::class, - ['element' => $this->_rootElement->find($this->shippingAddressBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create payment method block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Billing\Method - */ - public function getBillingMethodBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Billing\Method::class, - ['element' => $this->_rootElement->find($this->billingMethodBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create shipping method block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Shipping\Method - */ - protected function getShippingMethodBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Shipping\Method::class, - ['element' => $this->_rootElement->find($this->shippingMethodBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create totals block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Totals - */ - protected function getTotalsBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Totals::class, - ['element' => $this->_rootElement->find($this->totalsBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get backend abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get sales order create search products block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Search\Grid - */ - public function getGridBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Search\Grid::class, - ['element' => $this->_rootElement->find($this->gridBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Get sales order create account information block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Form\Account - */ - public function getAccountBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Form\Account::class, - ['element' => $this->_rootElement->find($this->accountInformationBlock, Locator::SELECTOR_CSS)] - ); - } - - /** - * Wait display order items grid. - * - * @return void - */ - public function waitOrderItemsGrid() - { - $this->waitForElementVisible($this->orderItemsGrid); - } - - /** - * Update product data in sales. - * - * @param array $products - * @return void - */ - public function updateProductsData(array $products) - { - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\Create\Items $items */ - $items = $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Items::class, - ['element' => $this->_rootElement->find($this->itemsBlock)] - ); - foreach ($products as $product) { - $items->getItemProductByName($product->getName())->fillCheckoutData($product->getCheckoutData()); - } - $this->updateItems(); - } - - /** - * Update product items. - * - * @return void - */ - public function updateItems() - { - $this->_rootElement->find($this->updateItems)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Fill Billing Address. - * - * @param FixtureInterface $billingAddress - * @param string $saveAddress [optional] - * @param bool $setShippingAddress [optional] - * @return void - */ - public function fillBillingAddress( - FixtureInterface $billingAddress, - $saveAddress = 'No', - $setShippingAddress = true - ) { - if ($setShippingAddress !== false) { - $this->getShippingAddressBlock()->uncheckSameAsBillingShippingAddress(); - } - $this->getBillingAddressBlock()->fill($billingAddress); - $this->getBillingAddressBlock()->saveInAddressBookBillingAddress($saveAddress); - $this->getTemplateBlock()->waitLoader(); - if ($setShippingAddress) { - $this->getShippingAddressBlock()->setSameAsBillingShippingAddress(); - $this->getTemplateBlock()->waitLoader(); - } - } - - /** - * Fill Shipping Address. - * - * @param FixtureInterface $shippingAddress - * @return void - */ - public function fillShippingAddress(FixtureInterface $shippingAddress) - { - $this->getShippingAddressBlock()->fill($shippingAddress); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Select shipping method. - * - * @param array $shippingMethod - * @return void - */ - public function selectShippingMethod(array $shippingMethod) - { - $this->getShippingMethodBlock()->selectShippingMethod($shippingMethod); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Select payment method. - * - * @param array $paymentCode - * @param InjectableFixture|null $creditCard - */ - public function selectPaymentMethod(array $paymentCode, InjectableFixture $creditCard = null) - { - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->find($this->orderMethodsSelector)->click(); - $this->getBillingMethodBlock()->selectPaymentMethod($paymentCode, $creditCard); - $this->_rootElement->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Submit order. - * - * @return void - */ - public function submitOrder() - { - $this->getTotalsBlock()->submitOrder(); - } - - /** - * Click "Add Selected Product(s) to Order" button. - * - * @return void - */ - public function addSelectedProductsToOrder() - { - $this->_rootElement->find($this->addSelectedProducts)->click(); - } - - /** - * Save credit card. - * - * @param string $paymentMethod - * @param string $creditCardSave - * @return void - */ - public function saveCreditCard($paymentMethod, $creditCardSave) - { - $saveCard = sprintf($this->vaultCheckbox, $paymentMethod); - $this->_rootElement->find($saveCard, Locator::SELECTOR_CSS, 'checkbox')->setValue($creditCardSave); - } - - /** - * Select vault payment token radio button - * @param string $selector - * @return void - */ - public function selectVaultToken($selector) - { - $selector = '[id^="' . $selector . '"]'; - $this->_rootElement->find($selector)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.php deleted file mode 100644 index b142fbda6e655..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.php +++ /dev/null @@ -1,60 +0,0 @@ -_rootElement->find($this->existingAddressSelector)->getText()); - } - - /** - * Check the 'Save in address book' checkbox in billing address. - * - * @param string $saveAddress - * @return void - */ - public function saveInAddressBookBillingAddress($saveAddress) - { - $this->_rootElement->find($this->saveInAddressBook, Locator::SELECTOR_CSS, 'checkbox')->hover(); - $this->browser->find($this->billingTelephoneLabel)->hover(); - $this->_rootElement->find($this->saveInAddressBook, Locator::SELECTOR_CSS, 'checkbox')->setValue($saveAddress); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.xml deleted file mode 100644 index 17bfcf0ac4442..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Address.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - order[billing_address] - - - - - - [name='order[billing_address][street][0]'] - - - - select - - - select - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Method.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Method.php deleted file mode 100644 index e5c414c4807d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Billing/Method.php +++ /dev/null @@ -1,113 +0,0 @@ -waitForElementNotVisible($this->loader); - $billingMethodsLink = $this->_rootElement->find($this->billingMethodsLink); - if ($billingMethodsLink->isPresent()) { - $billingMethodsLink->click(); - $this->waitForElementNotVisible($this->loader); - } - - $paymentMethod = $payment['method']; - $paymentInput = $this->_rootElement->find(sprintf($this->paymentMethod, $paymentMethod)); - if ($paymentInput->isVisible()) { - $paymentInput->click(); - $this->waitForElementNotVisible($this->loader); - } - if (isset($payment['po_number'])) { - $this->_rootElement->find($this->purchaseOrderNumber)->setValue($payment['po_number']); - } - if ($creditCard !== null) { - $module = $creditCard->hasData('payment_code') ? ucfirst($creditCard->getPaymentCode()) : 'Payment'; - /** @var \Magento\Payment\Test\Block\Form\PaymentCc $formBlock */ - $formBlock = $this->blockFactory->create( - "\\Magento\\{$module}\\Test\\Block\\Form\\{$module}Cc", - ['element' => $this->_rootElement->find('#payment_form_' . $paymentMethod)] - ); - $formBlock->fill($creditCard); - } - } - - /** - * @return array - */ - public function getJsErrors() - { - $data = []; - $elements = $this->_rootElement->getElements($this->mageErrorField, Locator::SELECTOR_XPATH); - foreach ($elements as $error) { - if ($error->isVisible()) { - $label = $error->find($this->errorLabelPrecedingField, Locator::SELECTOR_XPATH); - $label = $label->getAttribute('name'); - $label = preg_replace('/payment\[(.*)\]/u', '$1', $label); - $data[$label] = $error->getText(); - } - } - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Coupons.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Coupons.php deleted file mode 100644 index dd04f7d32968b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Coupons.php +++ /dev/null @@ -1,68 +0,0 @@ -_rootElement->find($this->couponCode); - $couponField->click(); - $couponField->keys(str_split($code->getCouponCode())); - $this->waitForElementVisible($this->applyButton, Locator::SELECTOR_XPATH); - $this->_rootElement->find($this->applyButton, Locator::SELECTOR_XPATH)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get template block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->template, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Customer.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Customer.php deleted file mode 100644 index 9b3542c1daa30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Customer.php +++ /dev/null @@ -1,69 +0,0 @@ - [ - 'selector' => '#sales_order_create_customer_grid_filter_email', - ], - ]; - - /** - * Select customer if it is present in fixture or click create new customer button. - * - * @param CustomerFixture $customer - * @return void - */ - public function selectCustomer(CustomerFixture $customer) - { - if ($customer->hasData('id')) { - $this->searchAndOpen(['email' => $customer->getEmail()]); - } else { - $this->_rootElement->find($this->createNewCustomer)->click(); - } - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Search item and open it. - * - * @param array $filter - * @return void - */ - public function searchAndOpen(array $filter) - { - parent::searchAndOpen($filter); - $this->getTemplateBlock()->waitLoader(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities.php deleted file mode 100644 index c2adf4588593a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities.php +++ /dev/null @@ -1,186 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\LastOrderedItems::class, - ['element' => $this->_rootElement->find($this->reorderSidebar)] - ); - } - - /** - * Get viewed products block. - * - * @return RecentlyViewedItems - */ - public function getRecentlyViewedItemsBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\RecentlyViewedItems::class, - ['element' => $this->_rootElement->find($this->recentlyViewedSidebar)] - ); - } - - /** - * Get products in comparison block - * - * @return ProductsInComparison - */ - public function getProductsInComparisonBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\ProductsInComparison::class, - ['element' => $this->_rootElement->find($this->comparedSidebar)] - ); - } - - /** - * Get products in comparison block - * - * @return RecentlyComparedProducts - */ - public function getRecentlyComparedProductsBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\RecentlyComparedProducts::class, - ['element' => $this->_rootElement->find($this->recentlyComparedSidebar)] - ); - } - - /** - * Get products in view block - * - * @return RecentlyViewedProducts - */ - public function getRecentlyViewedProductsBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\RecentlyViewedProducts::class, - ['element' => $this->_rootElement->find($this->recentlyViewedSidebar)] - ); - } - - /** - * Get shopping Cart items block - * - * @return ShoppingCartItems - */ - public function getShoppingCartItemsBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities\Sidebar\ShoppingCartItems::class, - ['element' => $this->_rootElement->find($this->shoppingCartSidebar)] - ); - } - - /** - * Get backend abstract block - * - * @return \Magento\Backend\Test\Block\Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Click 'Update Changes' button - * - * @return void - */ - public function updateChanges() - { - $this->_rootElement->find($this->lastSidebar, Locator::SELECTOR_XPATH)->click(); - $this->_rootElement->find($this->updateChanges)->click(); - $this->getTemplateBlock()->waitLoader(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar.php deleted file mode 100644 index 0f748aa0a8c54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar.php +++ /dev/null @@ -1,63 +0,0 @@ -getName(); - $this->_rootElement->find(sprintf($this->addToOrderProductName, $name), Locator::SELECTOR_XPATH)->click(); - - $dataConfig = $product->getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - - if ($this->hasRender($typeId)) { - $this->_rootElement->find(sprintf($this->addToOrderConfigure, $name), Locator::SELECTOR_XPATH)->click(); - $this->callRender($typeId, 'configProduct', ['product' => $product]); - } else { - $this->_rootElement->click(); - $this->_rootElement->find(sprintf($this->addToOrder, $name), Locator::SELECTOR_XPATH, 'checkbox') - ->setValue('Yes'); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/LastOrderedItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/LastOrderedItems.php deleted file mode 100644 index c6f3a38ca2e70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/LastOrderedItems.php +++ /dev/null @@ -1,18 +0,0 @@ -_rootElement->getElements($this->recentlyViewedProducts, Locator::SELECTOR_XPATH); - foreach ($productNames as $productName) { - $products[] = $productName->getText(); - } - return $products; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/ShoppingCartItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/ShoppingCartItems.php deleted file mode 100644 index 5313ef58deec2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/ShoppingCartItems.php +++ /dev/null @@ -1,36 +0,0 @@ -_rootElement - ->find(sprintf($this->itemName, $product->getName()), Locator::SELECTOR_XPATH)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/Wishlist.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/Wishlist.php deleted file mode 100644 index 70bdf304d7c4c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/CustomerActivities/Sidebar/Wishlist.php +++ /dev/null @@ -1,167 +0,0 @@ -blockFactory->create( - \Magento\Catalog\Test\Block\Adminhtml\Product\Composite\Configure::class, - [ - 'element' => $this->_rootElement - ->find($this->configureBlock . $this->elementWithShowClass, Locator::SELECTOR_XPATH) - ] - ); - } - - /** - * Get customer activities block. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities - */ - public function getCustomerActivitiesBlock() - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\CustomerActivities::class, - [ - 'element' => $this->browser->find($this->customerActivities, Locator::SELECTOR_CSS) - ] - ); - } - - /** - * Select wish list in Wish list dropdown. - * - * @param string $name - * @return bool - */ - public function selectWishlist($name) - { - $this->_rootElement->find($this->wishlist, Locator::SELECTOR_CSS, 'select')->setValue($name); - } - - /** - * Select item to add to order. - * - * @param InjectableFixture $product - * @param string $qty - * @return void - */ - public function selectItemToAddToOrder(InjectableFixture $product, $qty) - { - $configureIcon = $this->_rootElement->find( - sprintf($this->addToOrderGrouped, $product->getName()), - Locator::SELECTOR_XPATH - )->isVisible(); - $productCheckoutData = $product->getData('checkout_data'); - if (isset($productCheckoutData['options']) && $configureIcon) { - $this->_rootElement->find( - sprintf($this->addToOrderGrouped, $product->getName()), - Locator::SELECTOR_XPATH - )->click(); - $this->getConfigureBlock()->clickOk(); - } else { - $checkBox = $this->_rootElement->find( - sprintf($this->addToOrder, $product->getName(), $qty, $product->getCheckoutData()['cartItem']['price']), - Locator::SELECTOR_XPATH, - 'checkbox' - ); - $checkBox->click(); - $this->_rootElement->click(); - $checkBox->setValue('Yes'); - $this->getCustomerActivitiesBlock()->updateChanges(); - } - } - - /** - * Check that backend order wishlist section is empty. - * - * @return bool - */ - public function isSectionEmpty() - { - return $this->_rootElement->find($this->noItemsMessage, Locator::SELECTOR_CSS)->isVisible() ? true : false; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Form/Account.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Form/Account.php deleted file mode 100644 index aafb24e149c3d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Form/Account.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - order[account] - - - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items.php deleted file mode 100644 index 61c48d62630f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items.php +++ /dev/null @@ -1,167 +0,0 @@ -_rootElement; - $selector = $this->addProducts; - $this->_rootElement->waitUntil( - function () use ($element, $selector) { - $addProductsButton = $element->find($selector, Locator::SELECTOR_XPATH); - return $addProductsButton->isVisible() ? true : null; - } - ); - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->find($this->addProducts, Locator::SELECTOR_XPATH)->click(); - $this->getTemplateBlock()->waitLoader(); - } - - /** - * Get item product block. - * - * @param string $name - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Create\Items\ItemProduct - */ - public function getItemProductByName($name) - { - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Create\Items\ItemProduct::class, - ['element' => $this->_rootElement->find(sprintf($this->itemProduct, $name), Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get "No items ordered" message. - * - * @return string - */ - public function getEmptyTextMessage() - { - return $this->_rootElement->find($this->emptyTextMessage, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get all added to order item names. - * - * @return array - */ - public function getItemsNames() - { - $itemNames = []; - $this->getTemplateBlock()->waitLoader(); - $items = $this->_rootElement->getElements($this->productNames, Locator::SELECTOR_XPATH); - foreach ($items as $item) { - $itemNames[] = $item->getText(); - } - - return $itemNames; - } - - /** - * Select action for item added to order. - * - * @param InjectableFixture $product - * @param string $action - * @return void - */ - public function selectItemAction(InjectableFixture $product, $action) - { - $this->_rootElement - ->find(sprintf($this->actionSelect, $product->getName()), Locator::SELECTOR_XPATH, 'select') - ->setValue($action); - } - - /** - * Get products data by fields from items ordered grid. - * - * @param array $fields - * @return array - */ - public function getProductsDataByFields($fields) - { - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->click(); - $products = $this->_rootElement->getElements($this->productNames, Locator::SELECTOR_XPATH); - $pageData = []; - foreach ($products as $product) { - $pageData[] = $this->getItemProductByName($product->getText())->getCheckoutData($fields); - } - - return $pageData; - } - - /** - * Get template block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->template, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php deleted file mode 100644 index 24b76f7746cc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.php +++ /dev/null @@ -1,111 +0,0 @@ - 'getText', - 'price' => 'getText', - 'qty' => 'getValue', - 'checkout_data' => 'getValue', - ]; - - /** - * Magento loader. - * - * @var string - */ - protected $loader = '//ancestor::body/div[@id="loading-mask"]'; - - /** - * Configure button locator. - * - * @var string - */ - protected $configureButton = 'button'; - - /** - * Order items block locator. - * - * @var string - */ - protected $orderItemsBlock = '#order-items .title'; - - /** - * Get data item products. - * - * @param array $fields - * @param string $currency [optional] - * @return array - */ - public function getCheckoutData(array $fields, $currency = '$') - { - $result = []; - $data = $this->dataMapping($fields); - foreach ($data as $key => $item) { - if (!isset($item['value'])) { - $result[$key] = $this->getCheckoutData($item); - continue; - } - $value = $this->_rootElement->find( - $item['selector'], - $item['strategy'], - $item['input'] - )->{$this->actions[$key]}(); - - $result[$key] = str_replace($currency, '', trim($value)); - } - - return $result; - } - - /** - * Fill the root form with checkout data. - * - * @param array $data - * @param SimpleElement|null $element - * @return $this - */ - public function fillCheckoutData(array $data, SimpleElement $element = null) - { - if (isset($data['cartItem'])) { - unset($data['cartItem']); - } - if (isset($data['options'])) { - unset($data['options']); - } - $mapping = $this->dataMapping($data); - $this->_fill($mapping, $element); - - return $this; - } - - /** - * Click Configure button. - * - * @return void - */ - public function configure() - { - $this->browser->find($this->orderItemsBlock)->click(); - $this->_rootElement->find($this->configureButton)->click(); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.xml deleted file mode 100644 index f574da7c06163..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Items/ItemProduct.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - .col-product span - - - .col-price span.price - - - .col-qty input - - - - .col-price input.item-price - - - .col-price input[type=checkbox] - checkbox - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Search/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Search/Grid.php deleted file mode 100644 index 1208183425537..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Search/Grid.php +++ /dev/null @@ -1,32 +0,0 @@ - [ - 'selector' => '#sales_order_create_search_grid_filter_sku', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.php deleted file mode 100644 index b176059938c90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.php +++ /dev/null @@ -1,143 +0,0 @@ -_rootElement->find($this->sameAsBilling, Locator::SELECTOR_CSS, 'checkbox')->hover(); - $this->browser->find($this->accountInformationBlock)->hover(); - $this->_rootElement->find($this->sameAsBilling, Locator::SELECTOR_CSS, 'checkbox')->setValue('Yes'); - } - - /** - * Uncheck the 'Same as billing address' checkbox in shipping address. - * - * @return void - */ - public function uncheckSameAsBillingShippingAddress() - { - $this->_rootElement->find($this->sameAsBilling, Locator::SELECTOR_CSS, 'checkbox')->hover(); - $this->browser->find($this->accountInformationBlock)->hover(); - $this->_rootElement->find($this->sameAsBilling, Locator::SELECTOR_CSS, 'checkbox')->setValue('No'); - $this->waitLoader(); - } - - /** - * Wait load block. - * - * @return void - */ - protected function waitLoader() - { - $this->getTemplateBlock()->waitLoader(); - $this->_rootElement->waitUntil( - function () { - return $this->_rootElement->find($this->title)->isVisible() ? true : null; - } - ); - } - - /** - * Get backend abstract block. - * - * @return Template - */ - protected function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Fill specified form data. - * - * @param array $fields - * @param SimpleElement $element - * @return void - * @throws \Exception - */ - protected function _fill(array $fields, SimpleElement $element = null) - { - $context = ($element === null) ? $this->_rootElement : $element; - foreach ($fields as $name => $field) { - $this->waitFormLoading(); - $element = $this->getElement($context, $field); - if (!$element->isDisabled()) { - $element->setValue($field['value']); - } else { - throw new \Exception("Unable to set value to field '$name' as it's disabled."); - } - } - } - - /** - * Wait for form loading. - * - * @return void - */ - private function waitFormLoading() - { - $this->_rootElement->click(); - $this->browser->waitUntil( - function () { - return $this->browser->find($this->waitElement)->isVisible() ? null : true; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.xml deleted file mode 100644 index d3db771d79755..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Address.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - order[shipping_address] - - - - - - [name='order[shipping_address][street][0]'] - - - - select - - - select - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Method.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Method.php deleted file mode 100644 index b5acaf01f5483..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Shipping/Method.php +++ /dev/null @@ -1,75 +0,0 @@ -waitFormLoading(); - $shippingMethodsLink = $this->_rootElement->find($this->shippingMethodsLink); - if ($shippingMethodsLink->isPresent()) { - $shippingMethodsLink->click(); - $this->waitFormLoading(); - } - - $selector = sprintf( - $this->shippingMethod, - $shippingMethod['shipping_service'], - $shippingMethod['shipping_method'] - ); - $this->waitFormLoading(); - $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Wait for form loading. - * - * @return void - */ - private function waitFormLoading() - { - $this->browser->waitUntil( - function () { - return $this->browser->find($this->waitElement)->isVisible() ? null : true; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Sidebar.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Sidebar.php deleted file mode 100644 index 3c1db6d8d56d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Sidebar.php +++ /dev/null @@ -1,125 +0,0 @@ -_rootElement->find($this->updateChangesButton, Locator::SELECTOR_CSS)->click(); - } - - /** - * Get names of items from Shopping Cart section. - * - * @return array - */ - public function getCartItemsNames() - { - $itemNames = []; - $items = $this->_rootElement->getElements($this->productNames, Locator::SELECTOR_XPATH); - foreach ($items as $item) { - $itemNames[] = $item->getText(); - } - - return $itemNames; - } - - /** - * Select item to add to order from Shopping Cart section. - * - * @param InjectableFixture $product - * @return void - */ - public function selectItemToAddToOrder(InjectableFixture $product) - { - $checkBox = $this->_rootElement->find( - sprintf( - $this->cartSection . $this->itemRowCartSection . $this->addToOrder, - $product->getName(), - $product->getCheckoutData()['cartItem']['price'] - ), - Locator::SELECTOR_XPATH, - 'checkbox' - ); - $checkBox->click(); - $this->_rootElement->click(); - $checkBox->setValue('Yes'); - } - - /** - * Check that Shopping Cart section on Create Order page on backend is empty. - * - * @return bool - */ - public function noItemsInCartCheck() - { - return $this->_rootElement->find($this->orderSidebarCart, Locator::SELECTOR_CSS) - ->find($this->noItemsMessage, Locator::SELECTOR_CSS)->isVisible() ? true : false; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Store.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Store.php deleted file mode 100644 index 4848555b86c93..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Store.php +++ /dev/null @@ -1,62 +0,0 @@ -getMagentoBackendTemplate( - $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH) - ); - } - - /** - * Select store view for order based on Order fixture - * - * @param StoreFixture|null $fixture - */ - public function selectStoreView(StoreFixture $fixture = null) - { - if (!$this->isVisible()) { - return; - } - $storeName = $fixture == null ? 'Default Store View' : $fixture->getName(); - $selector = sprintf($this->store, $storeName); - $this->_rootElement->find($selector, Locator::SELECTOR_XPATH, 'checkbox')->setValue('Yes'); - $this->getTemplateBlock()->waitLoader(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Totals.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Totals.php deleted file mode 100644 index d63798bcc8cfe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create/Totals.php +++ /dev/null @@ -1,72 +0,0 @@ -_rootElement->find($this->submitOrder)->click(); - } - - /** - * Get Order totals. - * - * @return array - */ - public function getOrderTotals() - { - $totals = []; - $elements = $this->_rootElement->getElements($this->totalsRowsLocator); - foreach ($elements as $row) { - if ($row->isVisible()) { - $key = trim($row->find($this->totalsRowKeyLocator)->getText()); - $value = $row->find($this->totalsRowValueLocator)->getText(); - $totals[$key] = $value; - } - } - return $totals; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.php deleted file mode 100644 index ad4fb8ebae3f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.php +++ /dev/null @@ -1,36 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Creditmemo\Form\Items::class, - ['element' => $this->_rootElement->find($this->items)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.xml deleted file mode 100644 index 380ecd521801c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - creditmemo - - - - - - - checkbox - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php deleted file mode 100644 index 431116903d372..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php +++ /dev/null @@ -1,59 +0,0 @@ -productItems, $productSku); - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Creditmemo\Form\Items\Product::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Click update qty button. - * - * @return void - */ - public function clickUpdateQty() - { - $button = $this->_rootElement->find($this->updateQty); - if (!$button->isDisabled()) { - $button->click(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items/Product.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items/Product.php deleted file mode 100644 index a5f8e9791b614..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items/Product.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - [name$="[qty]"] - - - [name$="[back_to_stock]"] - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Grid.php deleted file mode 100644 index 4e945d652aec8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Grid.php +++ /dev/null @@ -1,67 +0,0 @@ - [ - 'selector' => '#order_creditmemos_filter_increment_id', - ], - ]; - - /** - * Amount refunded - * - * @var string - */ - protected $amountRefunded = 'td.col-refunded.col-base_grand_total'; - - /** - * Refund status - * - * @var string - */ - protected $refundStatus = 'td.col-status.col-state'; - - /** - * An element locator which allows to select entities in grid - * - * @var string - */ - protected $selectItem = 'tbody tr .col-increment_id'; - - /** - * Get first refund amount - * - * @return array|string - */ - public function getRefundAmount() - { - return $this->_rootElement->find($this->amountRefunded)->getText(); - } - - /** - * Get first status - * - * @return array|string - */ - public function getStatus() - { - return $this->_rootElement->find($this->refundStatus)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Totals.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Totals.php deleted file mode 100644 index 8aff098fb9c3e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Totals.php +++ /dev/null @@ -1,130 +0,0 @@ -_rootElement; - $selector = $this->submit . '.disabled'; - $strategy = Locator::SELECTOR_CSS; - $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $element = $browser->find($selector, $strategy); - return $element->isVisible() == false ? true : null; - } - ); - $this->_rootElement->find($this->submit)->click(); - } - - /** - * Set Capture amount option: - * Capture Online|Capture Offline|Not Capture - * - * @param string $option - * @return void - */ - public function setCaptureOption($option) - { - $this->_rootElement->find($this->capture, Locator::SELECTOR_CSS, 'select')->setValue($option); - } - - /** - * Get Refund Shipping input element. - * - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getRefundShippingElement() - { - return $this->_rootElement->find($this->refundShippingSelector, Locator::SELECTOR_CSS); - } - - /** - * Get Adjustment Refund input element. - * - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getAdjustmentRefundElement() - { - return $this->_rootElement->find($this->adjustmentRefundSelector, Locator::SELECTOR_CSS); - } - - /** - * Get Adjustment Fee input element. - * - * @return \Magento\Mtf\Client\ElementInterface - */ - public function getAdjustmentFeeElement() - { - return $this->_rootElement->find($this->adjustmentFeeSelector, Locator::SELECTOR_CSS); - } - - /** - * Click update totals button. - * - * @return void - */ - public function clickUpdateTotals() - { - $this->_rootElement->find($this->updateTotalsSelector)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/View/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/View/Items.php deleted file mode 100644 index b672653a8c9e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/View/Items.php +++ /dev/null @@ -1,18 +0,0 @@ - [ - 'selector' => '[name="increment_id"]', - ], - 'status' => [ - 'selector' => '[name="status"]', - 'input' => 'select', - ], - 'purchase_date_from' => [ - 'selector' => '[name="created_at[from]"]', - ], - 'purchase_date_to' => [ - 'selector' => '[name="created_at[to]"]', - ], - 'base_grand_total_from' => [ - 'selector' => '[name="base_grand_total[from]"]', - ], - 'base_grand_total_to' => [ - 'selector' => '[name="base_grand_total[to]"]', - ], - 'purchased_gran_total_from' => [ - 'selector' => '[name="grand_total[from]"]', - ], - 'purchased_gran_total_to' => [ - 'selector' => '[name="grand_total[to]"]', - ], - 'purchase_point' => [ - 'selector' => '[name="store_id"]', - 'input' => 'selectstore' - ], - 'bill_to_name' => [ - 'selector' => '[name="billing_name"]' - ], - 'ship_to_name' => [ - 'selector' => '[name="shipping_name"]', - ] - ]; - - /** - * @var string - */ - protected $createNewOrder = '[data-ui-id="add-button"]'; - - /** - * Order Id td selector. - * - * @var string - */ - protected $editLink = 'a.action-menu-item'; - - /** - * First row selector. - * - * @var string - */ - protected $firstRowSelector = '//tbody/tr[1]/td[contains(@class,"data-grid-actions-cell")]/a'; - - /** - * Start to create new order. - * - * @return void - */ - public function addNewOrder() - { - $this->_rootElement->find($this->createNewOrder)->click(); - } - - /** - * Get StoreGroup list of Purchase Point on filter. - * - * @return array - */ - public function getPurchasePointStoreGroups() - { - $this->openFilterBlock(); - - $storeGroupElements = $this->_rootElement->find($this->filters['purchase_point']['selector']) - ->getElements('.//option/preceding-sibling::optgroup[1]', Locator::SELECTOR_XPATH); - $result = []; - - foreach ($storeGroupElements as $storeGroupElement) { - // "u" pattern modifier allows to match " " and other similar entities given in invalid encryption - $result[] = preg_replace('~^\s*~u', '', $storeGroupElement->getAttribute('label')); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.php deleted file mode 100644 index 61ad6ec737607..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.php +++ /dev/null @@ -1,37 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Invoice\Form\Items::class, - ['element' => $this->_rootElement->find($this->items)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.xml deleted file mode 100644 index 696ee9a3ebb45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - invoice - - - checkbox - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php deleted file mode 100644 index c82d93cf07133..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php +++ /dev/null @@ -1,32 +0,0 @@ -productItem, $productSku); - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\Invoice\Form\Items\Product::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items/Product.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items/Product.php deleted file mode 100644 index 9a929a0e182dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items/Product.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - input.qty-input - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Grid.php deleted file mode 100644 index 88aff466ef879..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Grid.php +++ /dev/null @@ -1,73 +0,0 @@ - [ - 'selector' => '#order_invoices_filter_increment_id', - ], - ]; - - /** - * Invoice amount. - * - * @var string - */ - protected $invoiceAmount = 'td.col-qty.col-base_grand_total'; - - /** - * An element locator which allows to select entities in grid. - * - * @var string - */ - protected $selectItem = 'tbody tr .col-invoice-number'; - - /** - * Get first invoice amount. - * - * @return string - */ - public function getInvoiceAmount() - { - $invoiceAmount = $this->_rootElement->find($this->invoiceAmount)->getText(); - return $this->escapeCurrency($invoiceAmount); - } - - /** - * Click the first invoice amount. - * - * @return void - */ - public function clickInvoiceAmount() - { - $this->_rootElement->find($this->invoiceAmount)->click(); - } - - /** - * Method that escapes currency symbols. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Totals.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Totals.php deleted file mode 100644 index 8e8b54f8cdfe0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Totals.php +++ /dev/null @@ -1,79 +0,0 @@ -_rootElement; - $selector = $this->submit . '.disabled'; - $strategy = Locator::SELECTOR_CSS; - $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $element = $browser->find($selector, $strategy); - return $element->isVisible() == false ? true : null; - } - ); - $this->_rootElement->find($this->submit)->click(); - } - - /** - * Set Capture amount option: - * Capture Online|Capture Offline|Not Capture - * - * @param string $option - * @return void - */ - public function setCaptureOption($option) - { - $this->_rootElement->find($this->capture, Locator::SELECTOR_CSS, 'select')->setValue($option); - } - - /** - * Get message that invoice can be created only offline. - * - * @return null|string - */ - public function getCaptureOfflineMessage() - { - $captureCaseMessage = $this->_rootElement->find($this->captureOfflineMessage, Locator::SELECTOR_XPATH); - return $captureCaseMessage->isVisible() ? $captureCaseMessage->getText() : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/View/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/View/Items.php deleted file mode 100644 index 5170ea48498a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/View/Items.php +++ /dev/null @@ -1,18 +0,0 @@ -_rootElement->find($this->submit)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php deleted file mode 100644 index 98dbe112d31f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php +++ /dev/null @@ -1,38 +0,0 @@ -_rootElement->getElements($this->rowItem); - $data = []; - - foreach ($items as $item) { - $itemData = []; - - $itemData['product'] = preg_replace('/\n|\r/', '', $item->find($this->title)->getText()); - $itemData['sku'] = $this->getSku($item); - $itemData['qty'] = $this->getQty($item); - - $data[] = $itemData; - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/Assign/AssignForm.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/Assign/AssignForm.php deleted file mode 100644 index fb00ff0c6151f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/Assign/AssignForm.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - strictselect - - - checkbox - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/GridPageActions.php deleted file mode 100644 index 6577e5ccbd9fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Status/GridPageActions.php +++ /dev/null @@ -1,31 +0,0 @@ -_rootElement->find($this->assignButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/StatusGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/StatusGrid.php deleted file mode 100644 index a8d06cb44dd75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/StatusGrid.php +++ /dev/null @@ -1,72 +0,0 @@ - [ - 'selector' => '#sales_order_status_grid_filter_label', - ], - 'status' => [ - 'selector' => '#sales_order_status_grid_filter_status', - ], - 'state' => [ - 'selector' => '#sales_order_status_grid_filter_state', - ], - ]; - - /** - * Locator value for link in action column. - * - * @var string - */ - protected $editLink = '[data-column="label"]'; - - /** - * Selector for unassign custom status link - * - * @var string - */ - protected $unassignLink = '[data-column="unassign"] a'; - - /** - * Search custom status and unassign it. - * - * @param array $filter - * @throws \Exception - * @return void - */ - public function searchAndUnassign(array $filter) - { - $this->search($filter); - $selectItem = $this->_rootElement->find($this->unassignLink); - if ($selectItem->isVisible()) { - $selectItem->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - } - - /** - * Check on assign. - * - * @param array $filter - * @return bool - */ - public function isAssign(array $filter) - { - $this->search($filter); - return $this->_rootElement->find($this->unassignLink)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Totals.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Totals.php deleted file mode 100644 index fa90c66113ccc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Totals.php +++ /dev/null @@ -1,226 +0,0 @@ -_rootElement->find($this->grandTotal, Locator::SELECTOR_XPATH)->getText(); - - return $this->escapeCurrency($grandTotal); - } - - /** - * Gets order total paid. - * - * @return string - */ - public function getTotalPaid() - { - $totalPaid = $this->_rootElement->find($this->totalPaid, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($totalPaid); - } - - /** - * Get Grand Total Excluding Tax Text. - * - * @return string - */ - public function getGrandTotalExclTax() - { - $grandTotal = $this->_rootElement->find($this->grandTotalExclTax, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Grand Total Including Tax Text. - * - * @return string - */ - public function getGrandTotalInclTax() - { - $grandTotal = $this->_rootElement->find($this->grandTotalInclTax, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Tax text from Order Totals. - * - * @return string - */ - public function getTax() - { - $tax = $this->_rootElement->find($this->tax, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($tax); - } - - /** - * Get Tax text from Order Totals. - * - * @return string|null - */ - public function getDiscount() - { - $discount = $this->_rootElement->find($this->discount, Locator::SELECTOR_XPATH); - return $discount->isVisible() ? $this->escapeCurrency($discount->getText()) : null; - } - - /** - * Get Subtotal text. - * - * @return string - */ - public function getSubtotal() - { - $subTotal = $this->_rootElement->find($this->subtotal, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal text. - * - * @return string - */ - public function getSubtotalExclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalExclTax, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal text. - * - * @return string - */ - public function getSubtotalInclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalInclTax, Locator::SELECTOR_XPATH)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Shipping Excluding tax price text. - * - * @return string|null - */ - public function getShippingInclTax() - { - $subTotal = $this->_rootElement->find($this->shippingInclTax, Locator::SELECTOR_XPATH); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Get Shipping Including tax price text. - * - * @return string|null - */ - public function getShippingExclTax() - { - $subTotal = $this->_rootElement->find($this->shippingExclTax, Locator::SELECTOR_XPATH); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Method that escapes currency symbols. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Transactions/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Transactions/Grid.php deleted file mode 100644 index bad6bc9a4c63e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Transactions/Grid.php +++ /dev/null @@ -1,43 +0,0 @@ - [ - 'selector' => '#order_transactions_filter_txn_id', - ], - ]; - - /** - * Transaction type - * - * @var string - */ - protected $transactionType = 'td.col-transaction-type.col-txn_type'; - - /** - * Get Transaction type - * - * @return array|string - */ - public function getTransactionType() - { - return $this->_rootElement->find($this->transactionType)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php deleted file mode 100644 index c0a54e3f7cb1a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php +++ /dev/null @@ -1,77 +0,0 @@ -_rootElement->find($this->billingAddress, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Get customer's shipping address from the data inside block. - * - * @return string - */ - public function getCustomerShippingAddress() - { - return $this->_rootElement->find($this->shippingAddress, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Checks if new address button is visible. - * - * @return bool - */ - public function isNewAddressButtonVisible() - { - $button = $this->_rootElement->find($this->newAddressButton); - return $button->isVisible(); - } - - /** - * Clicks new address button. - * - * @return void - */ - public function clickNewAddressButton() - { - $this->_rootElement->find($this->newAddressButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Info.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Info.php deleted file mode 100644 index 8e416748b77db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Info.php +++ /dev/null @@ -1,83 +0,0 @@ -_rootElement->find($this->email, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Get group from the data inside block - * - * @return string - */ - public function getCustomerGroup() - { - return $this->_rootElement->find($this->group, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * Get Product options - * - * @param int $sku - * @return array - */ - public function getProductOptions($sku) - { - $selector = str_replace('{SKU}', $sku, $this->itemOptions); - $productOption = $this->_rootElement->find($selector, Locator::SELECTOR_XPATH); - $result = []; - if ($productOption->isPresent()) { - $keyItem = $productOption->getElements('dt'); - $valueItem = $productOption->getElements('dd'); - foreach ($keyItem as $key => $item) { - $result[$item->getText()] = null; - if (isset($valueItem[$key])) { - $result[$item->getText()] = $valueItem[$key]->getText(); - } - } - } - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Items.php deleted file mode 100644 index 1eae8205a88a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Items.php +++ /dev/null @@ -1,161 +0,0 @@ -getName(); - - if ($product instanceof ConfigurableProduct) { - // Find the price for the specific configurable product that was purchased - $attributesData = $product->getConfigurableAttributesData()['attributes_data']; - $matrix = $product->getConfigurableAttributesData()['matrix']; - $checkoutOptions = $product->getCheckoutData()['options']['configurable_options']; - $optionsDetails = []; - $matrixKey = []; - $optionsPrice = 0; - - foreach ($checkoutOptions as $checkoutOption) { - $titleKey = $checkoutOption['title']; - $valueKey = $checkoutOption['value']; - $attributeName = $attributesData[$titleKey]['frontend_label']; - $optionLabel = $attributesData[$titleKey]['options'][$valueKey]['label']; - $optionsDetails[] = "{$attributeName}{$optionLabel}"; - $matrixKey[] = "{$titleKey}:{$valueKey}"; - - $optionsPrice += $attributesData[$titleKey]['options'][$valueKey]['pricing_value']; - } - $optionsDetails = implode(' ', $optionsDetails); - $matrixKey = implode(' ', $matrixKey); - - $productDisplay = $productName . 'SKU: ' . $matrix[$matrixKey]['sku'] . $optionsDetails; - } else { - $productDisplay = $productName . 'SKU: ' . $product->getSku(); - } - - $selector = '//tr[normalize-space(td)="' . $productDisplay . '"]' . $this->priceSelector; - return $this->escapeCurrency($this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText()); - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemPriceExclTax($productName) - { - $locator = sprintf($this->itemExclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price including tax - * - * @param string $productName - * @return string|null - */ - public function getItemPriceInclTax($productName) - { - $locator = sprintf($this->itemInclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemSubExclTax($productName) - { - $locator = sprintf($this->itemSubExclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemSubInclTax($productName) - { - $locator = sprintf($this->itemSubInclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Method that escapes currency symbols - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/OrderForm.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/OrderForm.php deleted file mode 100644 index 306793b372bbc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/OrderForm.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info - #sales_order_view_tabs_order_info - css selector - - - Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices - #sales_order_view_tabs_order_invoices - css selector - - - Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Shipments - #sales_order_view_tabs_order_shipments - css selector - - - Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\CreditMemos - #sales_order_view_tabs_order_creditmemos - css selector - - - \Magento\Backend\Test\Block\Widget\Tab - #sales_order_view_tabs_order_rma - css selector - - - Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Transactions - .//*[@id='sales_order_view_tabs_order_transactions'] - xpath - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos.php deleted file mode 100644 index 832acc0fdbf1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos.php +++ /dev/null @@ -1,36 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\CreditMemos\Grid::class, - ['element' => $this->_rootElement->find($this->grid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php deleted file mode 100644 index f323b4d6e8b62..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php +++ /dev/null @@ -1,95 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'status' => [ - 'selector' => 'select[name="state"]', - 'input' => 'select', - ], - 'amount_from' => [ - 'selector' => '[name="base_grand_total[from]"]', - ], - 'amount_to' => [ - 'selector' => '[name="base_grand_total[to]"]', - ], - ]; - - /** - * Get credit memo id from grid. - * - * @return array|string - */ - public function getCreditMemoId() - { - $this->resetFilter(); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - return $this->_rootElement->find($this->creditMemoId)->getText(); - } - - /** - * Get credit memo ids. - * - * @return array - */ - public function getIds() - { - $result = []; - $this->resetFilter(); - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $creditMemoIds = $this->_rootElement->getElements($this->creditMemoId); - foreach ($creditMemoIds as $creditMemoId) { - $result[] = trim($creditMemoId->getText()); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info.php deleted file mode 100644 index c89ccf850297e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info.php +++ /dev/null @@ -1,95 +0,0 @@ -_rootElement->find($this->orderStatus)->getText(); - } - - /** - * Returns Payment Information block. - * - * @return PaymentInfoBlock - */ - public function getPaymentInfoBlock() - { - return $this->blockFactory->create( - PaymentInfoBlock::class, - ['element' => $this->_rootElement->find($this->paymentInfoBlockSelector)] - ); - } - - /** - * Gets Order Shipping Information block. - * - * @return ShippingInfoBlock - */ - public function getShippingInfoBlock() - { - return $this->blockFactory->create( - ShippingInfoBlock::class, - ['element' => $this->_rootElement->find($this->shippingInfoBlock)] - ); - } - - /** - * Returns Comments history block. - * - * @return CommentsHistoryBlock - */ - public function getCommentsHistoryBlock() - { - return $this->blockFactory->create( - CommentsHistoryBlock::class, - ['element' => $this->_rootElement->find($this->commentsHistoryBlockSelector)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/CommentsHistoryBlock.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/CommentsHistoryBlock.php deleted file mode 100644 index 8303ffdb26c82..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/CommentsHistoryBlock.php +++ /dev/null @@ -1,93 +0,0 @@ -_rootElement->getElements($this->commentHistory); - foreach ($elements as $key => $item) { - $result[$key] = [ - 'date' => $item->find($this->commentHistoryDate)->getText(), - 'time' => $item->find($this->commentHistoryTime)->getText(), - 'status' => $item->find($this->commentHistoryStatus)->getText(), - 'is_customer_notified' => $item->find($this->commentHistoryNotifiedStatus)->getText(), - 'comment' => '', - ]; - if ($item->find($this->comment)->isVisible()) { - $result[$key]['comment'] = $item->find($this->comment)->getText(); - } - } - - return $result; - } - - /** - * Get last comment. - * - * @return array - */ - public function getLatestComment() - { - $comments = $this->getComments(); - return current($comments); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/PaymentInfoBlock.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/PaymentInfoBlock.php deleted file mode 100644 index 4940a2eee21e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/PaymentInfoBlock.php +++ /dev/null @@ -1,40 +0,0 @@ -_rootElement->getElements($this->info); - foreach ($elements as $row) { - $key = rtrim($row->find('th')->getText(), ':'); - $value = $row->find('td')->getText(); - $result[$key] = $value; - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/ShippingInfoBlock.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/ShippingInfoBlock.php deleted file mode 100644 index 1780c1b0c94d1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Info/ShippingInfoBlock.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->trackingPopupLink); - $popup->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices.php deleted file mode 100644 index 1acc42f5025e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices.php +++ /dev/null @@ -1,37 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices\Grid::class, - ['element' => $this->_rootElement->find($this->grid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices/Grid.php deleted file mode 100644 index 0bff321cdfc3a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Invoices/Grid.php +++ /dev/null @@ -1,89 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'order_id' => [ - 'selector' => 'input[name="order_increment_id"]', - ], - 'status' => [ - 'selector' => 'select[name="state"]', - 'input' => 'select', - ], - 'amount_from' => [ - 'selector' => 'input[name="grand_total[from]"]', - ], - 'amount_to' => [ - 'selector' => 'input[name="grand_total[to]"]', - ], - ]; - - /** - * Get invoice ids. - * - * @return array - */ - public function getIds() - { - $this->resetFilter(); - $result = []; - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $invoiceIds = $this->_rootElement->getElements($this->invoiceId); - foreach ($invoiceIds as $invoiceId) { - $result[] = trim($invoiceId->getText()); - } - - return $result; - } - - /** - * Click the 'View' link for invoice in Invoices grid. - * - * @return void - */ - public function viewInvoice() - { - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $this->_rootElement->find($this->invoiceId)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments.php deleted file mode 100644 index 92bc06d615693..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments.php +++ /dev/null @@ -1,36 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Shipments\Grid::class, - ['element' => $this->_rootElement->find($this->grid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments/Grid.php deleted file mode 100644 index 5535980e1596f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Shipments/Grid.php +++ /dev/null @@ -1,72 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'qty_from' => [ - 'selector' => '[name="total_qty[from]"]', - ], - 'qty_to' => [ - 'selector' => '[name="total_qty[to]"]', - ], - ]; - - /** - * Get shipment ids. - * - * @return array - */ - public function getIds() - { - $this->resetFilter(); - $result = []; - $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); - $shipmentIds = $this->_rootElement->getElements($this->shipmentId); - foreach ($shipmentIds as $shipmentId) { - $result[] = trim($shipmentId->getText()); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php deleted file mode 100644 index 58f56990c36ef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php +++ /dev/null @@ -1,37 +0,0 @@ -blockFactory->create( - \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Transactions\Grid::class, - ['element' => $this->_rootElement->find($this->grid, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions/Grid.php deleted file mode 100644 index 82d35f23212cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions/Grid.php +++ /dev/null @@ -1,54 +0,0 @@ -_rootElement->getElements($this->txnId, Locator::SELECTOR_XPATH); - foreach ($txnIds as $txnId) { - $result[trim($txnId->getText())] = [ - 'transactionType' => $txnId->find($this->txnType, Locator::SELECTOR_XPATH)->getText(), - 'statusIsClosed' => $txnId->find($this->txnStatus, Locator::SELECTOR_XPATH)->getText() - ]; - } - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Report/Filter/Form.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Report/Filter/Form.php deleted file mode 100644 index da3869c10fe08..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Report/Filter/Form.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - datepicker - - - datepicker - - - select - - - select - - - select - - - select - - - [name="order_statuses[]"] - multiselect - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/History.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/History.php deleted file mode 100644 index e048549ccce10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/History.php +++ /dev/null @@ -1,150 +0,0 @@ -waitFormToLoad(); - return $this->_rootElement->find( - sprintf($this->customerOrders, $order['id'], $order['status']), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Get order total. - * - * @param string $id - * @return string - */ - public function getOrderTotalById($id) - { - $this->waitFormToLoad(); - return $this->escapeCurrency($this->searchOrderById($id)->find($this->total)->getText()); - } - - /** - * Get item order block. - * - * @param string $id - * @return SimpleElement - */ - protected function searchOrderById($id) - { - return $this->_rootElement->find(sprintf($this->itemOrder, $id), Locator::SELECTOR_XPATH); - } - - /** - * Open item order. - * - * @param string $id - * @return void - */ - public function openOrderById($id) - { - $this->waitFormToLoad(); - $this->searchOrderById($id)->find($this->viewButton)->click(); - } - - /** - * Check if 'Reorder' button is visible for customer on order page - * - * @param string $id - * @return boolean - */ - public function isReorderButtonPresentByOrderId($id) - { - $this->waitFormToLoad(); - return $this->searchOrderById($id)->find($this->reorderButton)->isVisible(); - } - - /** - * Method that escapes currency symbols. - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } - - /** - * Wait order history form to load via ajax. - * - * @return void - */ - protected function waitFormToLoad() - { - $browser = $this->browser; - $selector = $this->formSelector; - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Info.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Info.php deleted file mode 100644 index cd645ef29c261..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Info.php +++ /dev/null @@ -1,52 +0,0 @@ -_rootElement->find(sprintf($this->paymentMethodSelector, $paymentMethod), Locator::SELECTOR_XPATH) - ->isVisible(); - } - - /** - * Returns billing address. - * - * @return string - */ - public function getBillingAddress() - { - return $this->_rootElement->find($this->billingAddressSelector)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Items.php deleted file mode 100644 index d712ad6804a64..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/Items.php +++ /dev/null @@ -1,66 +0,0 @@ -_rootElement->find( - sprintf($this->itemSelector, $product->getName()), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Get grand total price - * - * @return string|null - */ - public function getGrandTotal() - { - return $this->escapeCurrency($this->_rootElement->find($this->grandTotal)->getText()); - } - - /** - * Method that escapes currency symbols - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View.php deleted file mode 100644 index bdb3082d72cc2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View.php +++ /dev/null @@ -1,357 +0,0 @@ -content : sprintf($this->itemBlock, $id) . $this->content; - return $this->blockFactory->create( - \Magento\Sales\Test\Block\Order\Items::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Open link by name - * - * @param string $name - * @return void - */ - public function openLinkByName($name) - { - $this->_rootElement->find(sprintf($this->link, $name), Locator::SELECTOR_XPATH)->click(); - sleep(3); // TODO: remove after resolving an issue with ajax on Frontend. - } - - /** - * Get Grand Total Text - * - * @return string - */ - public function getGrandTotal() - { - $grandTotal = $this->_rootElement->find($this->grandTotal, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemPriceExclTax($productName) - { - $locator = sprintf($this->itemExclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemPriceInclTax($productName) - { - $locator = sprintf($this->itemInclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemSubExclTax($productName) - { - $locator = sprintf($this->itemSubExclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Item price excluding tax - * - * @param string $productName - * @return string|null - */ - public function getItemSubInclTax($productName) - { - $locator = sprintf($this->itemSubInclTax, $productName); - $price = $this->_rootElement->find($locator, Locator::SELECTOR_XPATH); - return $price->isVisible() ? $this->escapeCurrency($price->getText()) : null; - } - - /** - * Get Grand Total Text - * - * @return string|null - */ - public function getGrandTotalInclTax() - { - $grandTotal = $this->_rootElement->find($this->grandTotalInclTax, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Get Tax text from Order Totals - * - * @return string - */ - public function getTax() - { - $tax = $this->_rootElement->find($this->tax, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($tax); - } - - /** - * Get Tax text from Order Totals - * - * @return string|null - */ - public function getDiscount() - { - $discount = $this->_rootElement->find($this->discount, Locator::SELECTOR_CSS); - return $discount->isVisible() ? $this->escapeCurrency($discount->getText()) : null; - } - - /** - * Get Subtotal text - * - * @return string - */ - public function getSubtotal() - { - $subTotal = $this->_rootElement->find($this->subtotal, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal text - * - * @return string - */ - public function getSubtotalExclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalExclTax, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Subtotal text - * - * @return string - */ - public function getSubtotalInclTax() - { - $subTotal = $this->_rootElement->find($this->subtotalInclTax, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($subTotal); - } - - /** - * Get Shipping Excluding tax price text - * - * @return string|null - */ - public function getShippingInclTax() - { - $subTotal = $this->_rootElement->find($this->shippingInclTax, Locator::SELECTOR_CSS); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Get Shipping Including tax price text - * - * @return string|null - */ - public function getShippingExclTax() - { - $subTotal = $this->_rootElement->find($this->shippingExclTax, Locator::SELECTOR_CSS); - return $subTotal->isVisible() ? $this->escapeCurrency($subTotal->getText()) : null; - } - - /** - * Method that escapes currency symbols - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } - - /** - * Is order items top pager displayed - * - * @return bool - */ - public function isTopPagerDisplayed() - { - return $this->_rootElement->find($this->itemTopPagerSelector)->isVisible(); - } - - /** - * Is order items bottom pager displayed - * - * @return bool - */ - public function isBottomPagerDisplayed() - { - return $this->_rootElement->find($this->itemBottomPagerSelector)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View/ActionsToolbar.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View/ActionsToolbar.php deleted file mode 100644 index 710f29b71809b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Order/View/ActionsToolbar.php +++ /dev/null @@ -1,38 +0,0 @@ -_rootElement->find(sprintf($this->linkSelector, $linkName), Locator::SELECTOR_XPATH); - if (!$link->isVisible()) { - throw new \Exception(sprintf('"%s" link is not visible', $linkName)); - } - $link->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.php deleted file mode 100644 index f7a4c25853c6d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.php +++ /dev/null @@ -1,104 +0,0 @@ -getData('customer_id') - ? $fixture->getDataFieldConfig('customer_id')['source']->getCustomer()->getData() - : $fixture->getDataFieldConfig('billing_address_id')['source']->getData(); - - $data = [ - 'order_id' => $fixture->getId(), - 'billing_last_name' => $searchData['lastname'], - ]; - - if ($isSearchByEmail) { - $data['find_order_by'] = 'Email'; - $data['email_address'] = $searchData['email']; - } else { - $data['find_order_by'] = 'ZIP Code'; - $data['billing_zip_code'] = $fixture->getDataFieldConfig('billing_address_id')['source']->getPostcode(); - } - - $fields = isset($data['fields']) ? $data['fields'] : $data; - $mapping = $this->dataMapping($fields); - - $this->waitLoadForm(); - $this->_fill($mapping, $element); - - return $this; - } - - /** - * Wait while form is loading. - * - * @return void - */ - protected function waitLoadForm() - { - $rootElement = $this->_rootElement; - $selector = $this->loadsForm; - $this->browser->waitUntil( - function () use ($rootElement, $selector) { - $inputs = $rootElement->getElements($selector); - $i = 0; - foreach ($inputs as $input) { - if ($input->isVisible()) { - ++$i; - } - } - return $i == 1 ? true : null; - } - ); - } - - /** - * Submit search form. - * - * @return void - */ - public function submit() - { - $this->_rootElement->find($this->searchButtonSelector, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.xml deleted file mode 100644 index 51b62439be530..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Widget/Guest/Form.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - [name='oar_order_id'] - - - [name='oar_billing_lastname'] - - - [name='oar_type'] - select - - - [name='oar_email'] - - - [name='oar_zip'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertItems.php deleted file mode 100644 index dbb7bcdeec88f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertItems.php +++ /dev/null @@ -1,83 +0,0 @@ - $order->getEntityId()['products']]; - $fixtureFactory = $this->objectManager->create(FixtureFactory::class); - $cart = $fixtureFactory->createByCode('cart', $cart); - } - /** @var \Magento\Catalog\Test\Fixture\Cart\Item $item */ - foreach ($cart->getItems() as $key => $item) { - if (isset($data[$key]['qty']) && $data[$key]['qty'] == 0) { - continue; - } - $productsData[] = [ - 'product' => $item->getData()['name'], - 'sku' => $item->getData()['sku'], - 'qty' => (isset($data[$key]['qty'])) - ? $data[$key]['qty'] - : $item->getData()['qty'], - ]; - } - - return $this->sortDataByPath($productsData, $this->sortKey); - } - - /** - * Prepare invoice data. - * - * @param array $itemsData - * @return array - */ - protected function preparePageItems(array $itemsData) - { - foreach ($itemsData as $key => $itemData) { - $itemsData[$key] = array_intersect_key($itemData, array_flip($this->compareFields)); - } - return $this->sortDataByPath($itemsData, $this->sortKey); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertOrderOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertOrderOnFrontend.php deleted file mode 100644 index 5a9153893677e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AbstractAssertOrderOnFrontend.php +++ /dev/null @@ -1,70 +0,0 @@ -cmsIndex = $cmsIndex; - $this->customerAccountIndex = $customerAccountIndex; - } - - /** - * Login customer and open Order page. - * - * @param Customer $customer - * @return void - */ - protected function loginCustomerAndOpenOrderPage(Customer $customer) - { - $this->cmsIndex->open(); - $loginCustomerOnFrontendStep = $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - ); - $loginCustomerOnFrontendStep->run(); - $this->cmsIndex->getLinksBlock()->openLink('My Account'); - $this->customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentMessageInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentMessageInCommentsHistory.php deleted file mode 100644 index 9e1c08a906fa3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentMessageInCommentsHistory.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $latestComment = $infoTab->getCommentsHistoryBlock()->getLatestComment(); - - \PHPUnit\Framework\Assert::assertContains(self::$message, $latestComment['comment']); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Message about approved payment is available in Comments History section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentSuccessMessagePresent.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentSuccessMessagePresent.php deleted file mode 100644 index 4433cbd6dc339..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAcceptPaymentSuccessMessagePresent.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * @inheritdoc - */ - public function toString() - { - return 'Success accept payment message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAuthorizationInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAuthorizationInCommentsHistory.php deleted file mode 100644 index 055b850141b0e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertAuthorizationInCommentsHistory.php +++ /dev/null @@ -1,62 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $orderComments = $infoTab->getCommentsHistoryBlock()->getComments(); - $commentsMessages = array_column($orderComments, 'comment'); - - \PHPUnit\Framework\Assert::assertRegExp( - sprintf(self::AUTHORIZED_AMOUNT_PATTERN, $prices['grandTotal']), - implode('. ', $commentsMessages), - 'Incorrect authorized amount value for the order #' . $orderId - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message about authorized amount is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCancelInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCancelInCommentsHistory.php deleted file mode 100644 index f4b893a7c700a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCancelInCommentsHistory.php +++ /dev/null @@ -1,60 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $comments = $infoTab->getCommentsHistoryBlock()->getComments(); - $commentsMessages = array_column($comments, 'comment'); - - \PHPUnit\Framework\Assert::assertRegExp( - sprintf($this->canceledAmountPattern, $prices['grandTotal']), - implode('. ', $commentsMessages), - 'Incorrect canceled amount value for the order #' . $orderId - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Message about canceled amount is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCaptureInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCaptureInCommentsHistory.php deleted file mode 100644 index 1e38108c3c3e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCaptureInCommentsHistory.php +++ /dev/null @@ -1,72 +0,0 @@ -getPrice()['captured_prices']; - $salesOrder->open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $comments = $infoTab->getCommentsHistoryBlock()->getComments(); - - foreach ($comments as $key => $comment) { - if (strstr($comment['comment'], 'Captured') === false) { - unset($comments[$key]); - } - } - $comments = array_values($comments); - - foreach ($capturedPrices as $key => $capturedPrice) { - \PHPUnit\Framework\Assert::assertRegExp( - sprintf(self::CAPTURED_AMOUNT_PATTERN, preg_quote(number_format($capturedPrice, 2, '.', ''))), - $comments[$key]['comment'], - 'Incorrect captured amount value for the order #' . $orderId - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message about captured amount is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionIsEmptyOnBackendOrderPage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionIsEmptyOnBackendOrderPage.php deleted file mode 100644 index cbe3aab2a7ecf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionIsEmptyOnBackendOrderPage.php +++ /dev/null @@ -1,42 +0,0 @@ -open(); - $backendOrderSidebarBlock = $orderCreateIndex->getBackendOrderSidebarBlock()->noItemsInCartCheck(); - \PHPUnit\Framework\Assert::assertTrue( - $backendOrderSidebarBlock, - "Customer's Shopping Cart section on Order Create backend page is not empty." - ); - } - - /** - * Success assert message that customer's Shopping Cart section on Order Create backend page is empty. - * - * @return string - */ - public function toString() - { - return "Customer's Shopping Cart section on Order Create backend page is empty."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionWithProductsOnBackendOrderPage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionWithProductsOnBackendOrderPage.php deleted file mode 100644 index 400ba83d66309..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCartSectionWithProductsOnBackendOrderPage.php +++ /dev/null @@ -1,47 +0,0 @@ -open(); - foreach ($products as $product) { - $expectedItemNames[] = $product->getName(); - } - $itemsNames = $orderCreateIndex->getBackendOrderSidebarBlock()->getCartItemsNames(); - \PHPUnit\Framework\Assert::assertEquals( - sort($expectedItemNames), - sort($itemsNames), - "Customer's Shopping Cart section on Order Create backend page doesn't contain correct products." - ); - } - - /** - * Success assert that customer's Shopping Cart section on Order Create backend page contains products. - * - * @return string - */ - public function toString() - { - return "Customer's Shopping Cart section on Order Create backend page contains correct products."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoButton.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoButton.php deleted file mode 100644 index e3b12274604ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoButton.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - \PHPUnit\Framework\Assert::assertTrue( - $salesOrderView->getPageActions()->isActionButtonVisible('Credit Memo'), - 'Credit memo button is absent on order view page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Credit memo button is present on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoItems.php deleted file mode 100644 index f0019051213b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertCreditMemoItems.php +++ /dev/null @@ -1,59 +0,0 @@ -open(); - $orderId = $order->getId(); - $refundsData = $order->getRefund(); - $data = isset($refundsData[0]['items_data']) ? $refundsData[0]['items_data'] : []; - $productsData = $this->prepareOrderProducts($order, $data); - foreach ($ids['creditMemoIds'] as $creditMemoId) { - $filter = [ - 'order_id' => $orderId, - 'id' => $creditMemoId, - ]; - $creditMemoIndex->getCreditMemoGrid()->searchAndOpen($filter); - $itemsData = $this->preparePageItems($salesCreditMemoView->getItemsBlock()->getData()); - $error = $this->verifyData($productsData, $itemsData); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All credit memo products are present in credit memo view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentMessageInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentMessageInCommentsHistory.php deleted file mode 100644 index 254388a595e5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentMessageInCommentsHistory.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $latestComment = $infoTab->getCommentsHistoryBlock()->getLatestComment(); - - \PHPUnit\Framework\Assert::assertContains(self::$message, $latestComment['comment']); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Message about denied payment is available in Comments History section.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentSuccessMessagePresent.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentSuccessMessagePresent.php deleted file mode 100644 index bf8949ed0c867..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertDenyPaymentSuccessMessagePresent.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * @inheritdoc - */ - public function toString() - { - return 'Success deny payment message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesGrid.php deleted file mode 100644 index bc2f11be623cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesGrid.php +++ /dev/null @@ -1,62 +0,0 @@ -open(); - $amount = $order->getPrice()['invoice']; - $orderId = $order->getId(); - foreach ($ids['invoiceIds'] as $key => $invoiceId) { - $filter = [ - 'id' => $invoiceId, - 'order_id' => $orderId, - 'grand_total_from' => $amount[$key]['grand_invoice_total'], - 'grand_total_to' => $amount[$key]['grand_invoice_total'], - ]; - $invoiceIndex->getInvoicesGrid()->search($filter); - $filter['grand_total_from'] = number_format($amount[$key]['grand_invoice_total'], 2); - $filter['grand_total_to'] = number_format($amount[$key]['grand_invoice_total'], 2); - \PHPUnit\Framework\Assert::assertTrue( - $invoiceIndex->getInvoicesGrid()->isRowVisible($filter, false, false), - 'Invoice is absent in invoices grid on invoice index page.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoice is present in the invoices grid with corresponding amount on invoice index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesTab.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesTab.php deleted file mode 100644 index 392b1d1ad1331..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceInInvoicesTab.php +++ /dev/null @@ -1,66 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $salesOrderView->getOrderForm()->openTab('invoices'); - /** @var Grid $grid */ - $grid = $salesOrderView->getOrderInvoiceGrid(); - $amount = $order->getPrice()['invoice']; - foreach ($ids['invoiceIds'] as $key => $invoiceId) { - $filter = [ - 'id' => $invoiceId, - 'grand_total_from' => $amount[$key]['grand_invoice_total'], - 'grand_total_to' => $amount[$key]['grand_invoice_total'], - ]; - $grid->search($filter); - $filter['amount_from'] = number_format($amount[$key]['grand_invoice_total'], 2); - unset($filter['amount_to']); - \PHPUnit\Framework\Assert::assertTrue( - $grid->isRowVisible($filter, false, false), - 'Invoice is absent on invoices tab.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoice is present on invoices tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceItems.php deleted file mode 100644 index db039fdbd8f99..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceItems.php +++ /dev/null @@ -1,62 +0,0 @@ -getId(); - $invoicesData = $order->getInvoice(); - $data = isset($invoicesData[0]['items_data']) ? $invoicesData[0]['items_data'] : []; - $productsData = $this->prepareOrderProducts($order, $data, $cart); - foreach ($ids['invoiceIds'] as $invoiceId) { - $filter = [ - 'order_id' => $orderId, - 'id' => $invoiceId, - ]; - $invoiceIndex->open(); - $invoiceIndex->getInvoicesGrid()->searchAndOpen($filter); - $itemsData = $this->preparePageItems($salesInvoiceView->getItemsBlock()->getData()); - $error = $this->verifyData($productsData, $itemsData); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All invoice products are present in invoice view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceNotInInvoicesGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceNotInInvoicesGrid.php deleted file mode 100644 index 56beda6db2202..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceNotInInvoicesGrid.php +++ /dev/null @@ -1,61 +0,0 @@ -open(); - $amount = $order->getPrice(); - $orderId = $order->getId(); - foreach ($ids['invoiceIds'] as $key => $invoiceId) { - $filter = [ - 'id' => $invoiceId, - 'order_id' => $orderId, - 'grand_total_from' => $amount[$key]['grand_invoice_total'], - 'grand_total_to' => $amount[$key]['grand_invoice_total'], - ]; - $invoiceIndex->getInvoicesGrid()->search($filter); - $filter['grand_total_from'] = number_format($amount[$key]['grand_invoice_total'], 2); - $filter['grand_total_to'] = number_format($amount[$key]['grand_invoice_total'], 2); - \PHPUnit\Framework\Assert::assertFalse( - $invoiceIndex->getInvoicesGrid()->isRowVisible($filter, false, false), - 'Invoice is present in invoices grid on invoice index page.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Invoice is absent in the invoices grid on invoice index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceStatusInOrdersGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceStatusInOrdersGrid.php deleted file mode 100644 index 0253d1c12d8db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceStatusInOrdersGrid.php +++ /dev/null @@ -1,53 +0,0 @@ -open(['order_id' => $orderId]); - $salesOrderView->getOrderForm()->openTab('invoices'); - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices\Grid $grid */ - $grid = $salesOrderView->getOrderForm()->getTab('invoices')->getGridBlock(); - $filter = [ - 'order_id' => $orderId, - 'status' => $invoiceStatus, - ]; - \PHPUnit\Framework\Assert::assertTrue( - $grid->isRowVisible($filter), - 'Invoice status is incorrect.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Invoice status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceSuccessCreateMessage.php deleted file mode 100644 index 12dbcbc0a27ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceSuccessCreateMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Success invoice create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceWithShipmentSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceWithShipmentSuccessMessage.php deleted file mode 100644 index afbe2dda07dcd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoiceWithShipmentSuccessMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Success invoice and shipment create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedAmountOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedAmountOnFrontend.php deleted file mode 100644 index c5f35cd42392f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedAmountOnFrontend.php +++ /dev/null @@ -1,57 +0,0 @@ -loginCustomerAndOpenOrderPage($order->getDataFieldConfig('customer_id')['source']->getCustomer()); - $orderHistory->getOrderHistoryBlock()->openOrderById($order->getId()); - $customerOrderView->getOrderViewBlock()->openLinkByName('Invoices'); - foreach ($ids['invoiceIds'] as $key => $invoiceId) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($order->getPrice()['invoice'][$key]['grand_invoice_total'], 2), - $invoiceView->getInvoiceBlock()->getItemBlock($invoiceId)->getGrandTotal() - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoiced Grand Total amount is equal to placed order Grand Total amount on invoice page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedOrderOnDashboard.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedOrderOnDashboard.php deleted file mode 100644 index 744e05c1b587f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertInvoicedOrderOnDashboard.php +++ /dev/null @@ -1,54 +0,0 @@ -create( - \Magento\Backend\Test\TestStep\GetDashboardOrderStep::class, - ['argumentsList' => $argumentsList] - )->run()['dashboardOrder']['quantity']; - $invoicedOrdersQty = $orderQty - $dashboardOrder['quantity']; - - \PHPUnit\Framework\Assert::assertEquals( - $invoicedOrdersQty, - $expectedOrdersQuantityOnDashboard, - 'Order quantity om admin dashboard is not correct.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Order information on dashboard is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionContainsProducts.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionContainsProducts.php deleted file mode 100644 index c6b33de864c0d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionContainsProducts.php +++ /dev/null @@ -1,46 +0,0 @@ -getName(); - } - $itemsNames = $orderCreateIndex->getCreateBlock()->getItemsBlock()->getItemsNames(); - \PHPUnit\Framework\Assert::assertEquals( - sort($expectedItemNames), - sort($itemsNames), - "Items Ordered section on Create Order page on backend doesn't contain correct products." - ); - } - - /** - * Success assert message that Items Ordered section on Create Order page on backend contains products. - * - * @return string - */ - public function toString() - { - return "Items Ordered section on Create Order page on backend contains correct products."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionOnBackendOrderIsEmpty.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionOnBackendOrderIsEmpty.php deleted file mode 100644 index 4fb61f74304ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertItemsOrderedSectionOnBackendOrderIsEmpty.php +++ /dev/null @@ -1,46 +0,0 @@ -getCreateBlock()->getItemsBlock()->getEmptyTextMessage(), - self::TEXT_MESSAGE, - 'Items Ordered section on Create Order page on backend is not empty.' - ); - } - - /** - * Assert success message that Items Ordered section on Create Order page on backend is empty. - * - * @return string - */ - public function toString() - { - return 'Items Ordered section on Create Order page on backend is empty.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoCreditMemoButton.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoCreditMemoButton.php deleted file mode 100644 index c9bdbac4aa7ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoCreditMemoButton.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - \PHPUnit\Framework\Assert::assertFalse( - $salesOrderView->getPageActions()->isActionButtonVisible('Credit Memo'), - 'Credit memo button should not be present on order view page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Credit memo button is absent on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoInvoiceButton.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoInvoiceButton.php deleted file mode 100644 index f8b15bfc6ca41..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertNoInvoiceButton.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - \PHPUnit\Framework\Assert::assertFalse( - $salesOrderView->getPageActions()->isActionButtonVisible('Invoice'), - 'Invoice button is present on order view page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Invoice button is absent on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOnlineInvoiceCannotBeCreated.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOnlineInvoiceCannotBeCreated.php deleted file mode 100644 index fa43a807caef1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOnlineInvoiceCannotBeCreated.php +++ /dev/null @@ -1,59 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - $salesOrderView->getPageActions()->invoice(); - - \PHPUnit\Framework\Assert::assertEquals( - self::OFFLINE_INVOICE_MESSAGE, - $orderInvoiceNew->getTotalsBlock()->getCaptureOfflineMessage(), - 'Message incorrect or is not present.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message that invoice can be created only offline is present."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderAddresses.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderAddresses.php deleted file mode 100644 index bd33a39443ed2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderAddresses.php +++ /dev/null @@ -1,62 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $shippingAddress, 'type' => 'html'] - )->render(); - - $selectedBillingAddress = $this->objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $billingAddress, 'type' => 'html'] - )->render(); - - $salesOrderView->open(['order_id' => $orderId]); - $orderBillingAddress = $salesOrderView->getAddressesBlock()->getCustomerBillingAddress(); - $orderShippingAddress = $salesOrderView->getAddressesBlock()->getCustomerShippingAddress(); - - \PHPUnit\Framework\Assert::assertTrue( - $selectedBillingAddress == $orderBillingAddress && $selectedShippingAddress == $orderShippingAddress, - 'Billing and shipping addresses from the address book and from the order page are not the same.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Billing and shipping addresses from the address book and from the order page are the same.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderBillingAndShippingAddressesAreDifferent.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderBillingAndShippingAddressesAreDifferent.php deleted file mode 100644 index 548f2e9b15a71..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderBillingAndShippingAddressesAreDifferent.php +++ /dev/null @@ -1,47 +0,0 @@ -open(['order_id' => $orderId]); - $orderBillingAddress = $salesOrderView->getAddressesBlock()->getCustomerBillingAddress(); - $orderShippingAddress = $salesOrderView->getAddressesBlock()->getCustomerShippingAddress(); - - \PHPUnit\Framework\Assert::assertNotEquals( - $orderBillingAddress, - $orderShippingAddress, - "Billing and shipping addresses on order page are the same but shouldn't." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Billing and Shipping addresses are different on order page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsAvailable.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsAvailable.php deleted file mode 100644 index 5059959ea8ac1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsAvailable.php +++ /dev/null @@ -1,52 +0,0 @@ -getPageActions(); - - foreach ($buttons as $button) { - $button = trim($button); - if (!$actionsBlock->isActionButtonVisible($button)) { - $absentButtons[] = $button; - } - } - - \PHPUnit\Framework\Assert::assertEmpty( - $absentButtons, - "Next buttons was not found on page: \n" . implode(";\n", $absentButtons) - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "All buttons are available on order page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsUnavailable.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsUnavailable.php deleted file mode 100644 index b3a4c571a89ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderButtonsUnavailable.php +++ /dev/null @@ -1,59 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $buttons = explode(',', $orderButtonsUnavailable); - $matches = []; - foreach ($buttons as $button) { - if ($salesOrderView->getPageActions()->isActionButtonVisible(trim($button))) { - $matches[] = $button; - } - } - \PHPUnit\Framework\Assert::assertEmpty( - $matches, - 'Buttons are present on order page.' - . "\nLog:\n" . implode(";\n", $matches) - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Buttons from dataset are not present on order page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderByDateInOrdersGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderByDateInOrdersGrid.php deleted file mode 100644 index 1d66fc4e7e5ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderByDateInOrdersGrid.php +++ /dev/null @@ -1,49 +0,0 @@ - Orders Grid with applied date filters. - * - * @param OrderInjectable $order - * @param OrderIndex $orderIndex - * @return void - */ - public function processAssert(OrderInjectable $order, OrderIndex $orderIndex) - { - $filter = [ - 'id' => $order->getId(), - 'purchase_date_from' => date('m/j/Y', strtotime('-1 year')), - 'purchase_date_to' => date('m/j/Y', strtotime('+1 year')) - ]; - $orderIndex->open(); - $orderIndex->getSalesOrderGrid()->search($filter); - \PHPUnit\Framework\Assert::assertTrue( - $orderIndex->getSalesOrderGrid()->isFirstRowVisible(), - 'Order with following id ' . $order->getId() . ' is absent in Orders grid with applied date.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales order is present in sales orders grid with applied dates in filter.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionFailMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionFailMessage.php deleted file mode 100644 index 2c87d8539f0db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionFailMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getErrorMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Cancel fail message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionSuccessMessage.php deleted file mode 100644 index 853aea8d370bd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelMassActionSuccessMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Cancel success message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelSuccessMessage.php deleted file mode 100644 index f48e40fa6fd57..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCancelSuccessMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sales order success cancel message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCommentsHistoryNotifyStatus.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCommentsHistoryNotifyStatus.php deleted file mode 100644 index 95f1254d9be81..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderCommentsHistoryNotifyStatus.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $refundsData = $order->getRefund(); - $sendMail = isset($refundsData[0]['form_data']['send_email']) - ? filter_var($refundsData[0]['form_data']['send_email'], FILTER_VALIDATE_BOOLEAN) - : false; - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $latestComment = $infoTab->getCommentsHistoryBlock()->getLatestComment(); - - \PHPUnit\Framework\Assert::assertContains( - $latestComment['is_customer_notified'], - (bool)$sendMail ? 'Customer Notified' : 'Customer Not Notified' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message with appropriate notification status is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGrandTotal.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGrandTotal.php deleted file mode 100644 index 5f2712bab87fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGrandTotal.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - \PHPUnit\Framework\Assert::assertEquals( - number_format($prices['grandTotal'], 2, '.', ','), - $salesOrderView->getOrderTotalsBlock()->getGrandTotal(), - 'Grand Total price does not equal to price from data set.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Grand Total price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGraphImageIsVisible.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGraphImageIsVisible.php deleted file mode 100644 index 2d69d052ed567..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderGraphImageIsVisible.php +++ /dev/null @@ -1,51 +0,0 @@ -create( - \Magento\Backend\Test\TestStep\GetDashboardOrderStep::class, - ['argumentsList' => $argumentsList] - )->run(); - - \PHPUnit\Framework\Assert::assertTrue( - $dashboard->getMainBlock()->isGraphImageVisible(), - 'Graph image is not visible on admin dashboard.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Order graph image is visible on the dashboard.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGrid.php deleted file mode 100644 index 0bd55817c4f92..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGrid.php +++ /dev/null @@ -1,64 +0,0 @@ - Orders Grid. - * - * @param OrderInjectable $order - * @param OrderIndex $orderIndex - * @param string|null $status [optional] - * @param string $orderId [optional] - * @return void - */ - public function processAssert(OrderInjectable $order, OrderIndex $orderIndex, $status = null, $orderId = '') - { - $orderIndex->open(); - $this->assert($order, $orderIndex, $status, $orderId); - } - - /** - * Process assert. - * - * @param OrderInjectable $order - * @param OrderIndex $orderIndex - * @param string $status - * @param string $orderId [optional] - * @return void - */ - public function assert(OrderInjectable $order, OrderIndex $orderIndex, $status, $orderId = '') - { - $filter = [ - 'id' => $order->hasData('id') ? $order->getId() : $orderId, - 'status' => $status - ]; - $errorMessage = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertTrue( - $orderIndex->getSalesOrderGrid()->isRowVisible(array_filter($filter)), - 'Order with following data \'' . $errorMessage . '\' is absent in Orders grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales order is present in sales orders grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGridOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGridOnFrontend.php deleted file mode 100644 index 7df33e2af23f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderInOrdersGridOnFrontend.php +++ /dev/null @@ -1,74 +0,0 @@ - $order->hasData('id') ? $order->getId() : $orderId, - 'status' => $statusToCheck === null ? $status : $statusToCheck, - ]; - - $objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - $errorMessage = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertTrue( - $orderHistory->getOrderHistoryBlock()->isOrderVisible($filter), - 'Order with following data \'' . $errorMessage . '\' is absent in Orders block on frontend.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales order is present in orders on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerDisplayedOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerDisplayedOnFrontend.php deleted file mode 100644 index 90541ff822143..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerDisplayedOnFrontend.php +++ /dev/null @@ -1,71 +0,0 @@ -hasData('id') ? $order->getId() : $orderId; - - $objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer()] - )->run(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - $orderHistory->getOrderHistoryBlock()->openOrderById($orderId); - \PHPUnit\Framework\Assert::assertTrue( - $customerOrderView->getOrderViewBlock()->isTopPagerDisplayed(), - 'Order items top pager is expected to be displayed for order '. $orderId - ); - \PHPUnit\Framework\Assert::assertTrue( - $customerOrderView->getOrderViewBlock()->isBottomPagerDisplayed(), - 'Order items bottom pager is expected to be displayed for order '. $orderId - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order items pager is present on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerHiddenOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerHiddenOnFrontend.php deleted file mode 100644 index 2b0056e0acf49..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderItemsPagerHiddenOnFrontend.php +++ /dev/null @@ -1,71 +0,0 @@ -hasData('id') ? $order->getId() : $orderId; - - $objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer()] - )->run(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - $orderHistory->getOrderHistoryBlock()->openOrderById($orderId); - \PHPUnit\Framework\Assert::assertFalse( - $customerOrderView->getOrderViewBlock()->isTopPagerDisplayed(), - 'Order items top pager is expected to be hidden for order '. $orderId - ); - \PHPUnit\Framework\Assert::assertFalse( - $customerOrderView->getOrderViewBlock()->isBottomPagerDisplayed(), - 'Order items bottom pager is expected to be hidden for order '. $orderId - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order items pager is present on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderMassOnHoldSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderMassOnHoldSuccessMessage.php deleted file mode 100644 index 77b2a35ad7b9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderMassOnHoldSuccessMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'On hold success message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotInOrdersGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotInOrdersGrid.php deleted file mode 100644 index 8dec0fa1e9648..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotInOrdersGrid.php +++ /dev/null @@ -1,47 +0,0 @@ -getData(); - $filter = ['id' => $data['id']]; - $orderIndex->open(); - $errorMessage = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertFalse( - $orderIndex->getSalesOrderGrid()->isRowVisible($filter), - 'Order with following data \'' . $errorMessage . '\' is present in Orders grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Order is absent in sales orders grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotVisibleOnMyAccount.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotVisibleOnMyAccount.php deleted file mode 100644 index 6b87906a17255..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderNotVisibleOnMyAccount.php +++ /dev/null @@ -1,62 +0,0 @@ - $order->getId(), - 'status' => $status, - ]; - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - \PHPUnit\Framework\Assert::assertFalse( - $orderHistory->getOrderHistoryBlock()->isVisible() - && $orderHistory->getOrderHistoryBlock()->isOrderVisible($filter), - 'Order with following data \'' . implode(', ', $filter) . '\' is present in Orders block on frontend.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sales order absent in orders on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldFailMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldFailMessage.php deleted file mode 100644 index 7cb063246bfb1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldFailMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'On hold fail message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldSuccessMessage.php deleted file mode 100644 index 17f10dc984aac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderOnHoldSuccessMessage.php +++ /dev/null @@ -1,60 +0,0 @@ - 1) - ? sprintf(self::MULTIPLE_SUCCESS_ON_HOLD_MESSAGE, $ordersCount) - : self::SINGLE_SUCCESS_ON_HOLD_MESSAGE; - - \PHPUnit\Framework\Assert::assertEquals( - $successOnHoldMessage, - $orderIndex->getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'On hold success message is displayed on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderPaymentInformation.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderPaymentInformation.php deleted file mode 100644 index db9426d9769b0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderPaymentInformation.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $actualPaymentInformation = $infoTab->getPaymentInfoBlock()->getData(); - - \PHPUnit\Framework\Assert::assertEmpty( - array_diff($paymentInfo, $actualPaymentInformation), - 'Payment Information missmatch with expected values.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Payment Information valid and matches with expected values.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseFailMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseFailMessage.php deleted file mode 100644 index f8aed71388f11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseFailMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Release fail message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseSuccessMessage.php deleted file mode 100644 index b0226779f273d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderReleaseSuccessMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Release success message is displayed on order index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusDuplicateStatus.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusDuplicateStatus.php deleted file mode 100644 index 13ef0afda8424..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusDuplicateStatus.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::DUPLICATE_MESSAGE, - $actualMessage, - 'Wrong duplicate message is displayed.' - . "\nExpected: " . self::DUPLICATE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Duplicate Message assert. - * - * @return string - */ - public function toString() - { - return 'Order status duplicate message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusInGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusInGrid.php deleted file mode 100644 index c4ce44b197d97..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusInGrid.php +++ /dev/null @@ -1,77 +0,0 @@ - "new"]; - - /** - * Assert order status availability in Order Status grid - * - * @param OrderStatus $orderStatus - * @param OrderStatusIndex $orderStatusIndexPage - * @param string|null $defaultState - * @return void - */ - public function processAssert( - OrderStatus $orderStatus, - OrderStatusIndex $orderStatusIndexPage, - $defaultState = null - ) { - $orderStatusIndexPage->open(); - $orderStatusLabel = $orderStatus->getLabel(); - $filter = ['status' => $orderStatus->getStatus(), 'label' => $orderStatusLabel]; - if ($defaultState !== null) { - $state = $this->prepareState($orderStatus->getState()); - $filter = ['label' => $defaultState, 'state' => $state]; - } - - \PHPUnit\Framework\Assert::assertTrue( - $orderStatusIndexPage->getOrderStatusGrid()->isRowVisible($filter, true, false), - 'Order status \'' . $orderStatusLabel . '\' is absent in Order Status grid.' - ); - } - - /** - * Prepare state value for assert - * - * @param string $state - * @return string - */ - protected function prepareState($state) - { - if (isset($this->stateMapping[$state])) { - return $this->stateMapping[$state]; - } else { - return $state; - } - } - - /** - * Text of Order Status in grid assert - * - * @return string - */ - public function toString() - { - return 'Order status is present in grid'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCanceled.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCanceled.php deleted file mode 100644 index 1f19a304d7748..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCanceled.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - $grid = $salesOrder->getSalesOrderGrid(); - $grid->resetFilter(); - $grid->sortByColumn('ID'); - $grid->sortGridByField('ID'); - $grid->openFirstRow(); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - \PHPUnit\Framework\Assert::assertEquals( - $infoTab->getOrderStatus(), - 'Canceled' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCorrect.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCorrect.php deleted file mode 100644 index fc854bd8c50ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusIsCorrect.php +++ /dev/null @@ -1,56 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - $orderStatus = $statusToCheck == null ? $status : $statusToCheck; - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - \PHPUnit\Framework\Assert::assertEquals( - $orderStatus, - $infoTab->getOrderStatus() - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusNotAssigned.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusNotAssigned.php deleted file mode 100644 index c89504147bcc5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusNotAssigned.php +++ /dev/null @@ -1,50 +0,0 @@ -getLabel(); - \PHPUnit\Framework\Assert::assertFalse( - $orderStatusIndex->open()->getOrderStatusGrid()->isRowVisible( - ['label' => $statusLabel, 'state' => $orderStatus->getState()] - ), - "Order status $statusLabel is assigned to state." - ); - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return 'Order status with status code from fixture have empty "State Code and Title" value.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php deleted file mode 100644 index 6d6c6999ba170..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessAssignMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Order status success assign message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php deleted file mode 100644 index 6b7dc33875a14..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessCreateMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Created Custom Order Status Success Message assert. - * - * @return string - */ - public function toString() - { - return 'Order status success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessUnassignMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessUnassignMessage.php deleted file mode 100644 index 6d15b772ea6c3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderStatusSuccessUnassignMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Order status success unassign message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessCreateMessage.php deleted file mode 100644 index 791e782df2807..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessCreateMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Sales order success created message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessVoidedMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessVoidedMessage.php deleted file mode 100644 index b2f86afc1ce5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderSuccessVoidedMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of voided order message assert. - * - * @return string - */ - public function toString() - { - return 'Order successful void message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderTotalPaid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderTotalPaid.php deleted file mode 100644 index d04cf8698ab96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrderTotalPaid.php +++ /dev/null @@ -1,51 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - \PHPUnit\Framework\Assert::assertEquals( - number_format($prices['totalPaid'], 2, '.', ','), - $salesOrderView->getOrderTotalsBlock()->getTotalPaid(), - 'Total Paid price does not equal to price from data set.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Total Paid price equals to price from data set.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrdersInOrdersGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrdersInOrdersGrid.php deleted file mode 100644 index cde5d034e2e0a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertOrdersInOrdersGrid.php +++ /dev/null @@ -1,49 +0,0 @@ - Orders Grid - * - * @param OrderInjectable[] $orders - * @param OrderIndex $orderIndex - * @param array $orderStatuses - * @param AssertOrderInOrdersGrid $assertOrderInOrdersGrid - * @return void - */ - public function processAssert( - $orders, - OrderIndex $orderIndex, - array $orderStatuses, - AssertOrderInOrdersGrid $assertOrderInOrdersGrid - ) { - $orderIndex->open(); - foreach ($orders as $key => $order) { - $assertOrderInOrdersGrid->assert($order, $orderIndex, $orderStatuses[$key]); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'All orders are present in sales orders grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInCustomerShoppingCartOnBackendGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInCustomerShoppingCartOnBackendGrid.php deleted file mode 100644 index 3d760d6c1cab1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInCustomerShoppingCartOnBackendGrid.php +++ /dev/null @@ -1,54 +0,0 @@ -open(['id' => $customer->getId()]); - $customerIndexEdit->getPageActionsBlock()->manageShoppingCart(); - foreach ($productsInCart as $product) { - \PHPUnit\Framework\Assert::assertEquals( - $product->getName(), - $checkoutIndex->getItemsBlock()->getItemName($product), - 'Product ' . $product->getName() . " is not present in grid on customer's shopping cart on backend." - ); - } - } - - /** - * Assert success message that product is present in grid on customer's shopping cart on backend. - * - * @return string - */ - public function toString() - { - return "Product is present in grid on customer's shopping cart on backend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInItemsOrderedGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInItemsOrderedGrid.php deleted file mode 100644 index af91955d4e39b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductInItemsOrderedGrid.php +++ /dev/null @@ -1,127 +0,0 @@ - '', 'price' => '', 'checkout_data' => ['qty' => '']]; - - /** - * Check configured products. - * - * @var bool - */ - protected $productsIsConfigured; - - /** - * Assert product was added to Items Ordered grid in customer account on Order creation page backend. - * - * @param OrderCreateIndex $orderCreateIndex - * @param array $products - * @param bool $productsIsConfigured - * @throws \Exception - * @return void - */ - public function processAssert(OrderCreateIndex $orderCreateIndex, array $products, $productsIsConfigured = true) - { - if (!$products) { - throw new \Exception("No products"); - } - $this->productsIsConfigured = $productsIsConfigured; - $data = $this->prepareData($products, $orderCreateIndex->getCreateBlock()->getItemsBlock()); - - \PHPUnit\Framework\Assert::assertEquals( - $data['fixtureData'], - $data['pageData'], - 'Product data on order create page not equals to passed from fixture.' - ); - } - - /** - * Prepare data. - * - * @param array $data - * @param Items $itemsBlock - * @return array - */ - protected function prepareData(array $data, Items $itemsBlock) - { - $fixtureData = []; - foreach ($data as $product) { - $checkoutData = $product->getCheckoutData(); - $fixtureData[] = [ - 'name' => $product->getName(), - 'price' => number_format($this->getProductPrice($product), 2), - 'checkout_data' => [ - 'qty' => $this->productsIsConfigured && isset($checkoutData['qty']) ? $checkoutData['qty'] : 1, - ], - ]; - } - $pageData = $itemsBlock->getProductsDataByFields($this->fields); - $preparePageData = $this->arraySort($fixtureData, $pageData); - - return ['fixtureData' => $fixtureData, 'pageData' => $preparePageData]; - } - - /** - * Sort of array. - * - * @param array $fixtureData - * @param array $pageData - * @return array - */ - protected function arraySort(array $fixtureData, array $pageData) - { - $result = []; - foreach ($fixtureData as $key => $value) { - foreach ($pageData as $pageDataKey => $pageDataValue) { - if ($value['name'] == $pageDataValue['name']) { - $result[$key] = $pageDataValue; - unset($pageData[$pageDataKey]); - break; - } - } - } - return array_merge($result, $pageData); - } - - /** - * Get product price. - * - * @param FixtureInterface $product - * @return int - */ - protected function getProductPrice(FixtureInterface $product) - { - return isset($product->getCheckoutData()['cartItem']['price']) - ? $product->getCheckoutData()['cartItem']['price'] - : $product->getPrice(); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is added to Items Ordered grid from "Last Ordered Items" section on Order creation page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreased.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreased.php deleted file mode 100644 index e0ba926ff4463..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreased.php +++ /dev/null @@ -1,105 +0,0 @@ -fixtureFactory = $fixtureFactory; - parent::__construct($objectManager, $eventManager); - } - - /** - * Assert form data equals fixture data. - * - * @param OrderInjectable $order - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - OrderInjectable $order, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $product = $this->getProduct($order); - $this->objectManager->get(\Magento\Catalog\Test\Constraint\AssertProductForm::class)->processAssert( - $product, - $productGrid, - $productPage - ); - } - - /** - * Get product's fixture. - * - * @param OrderInjectable $order - * @param int $index [optional] - * @return FixtureInterface - */ - protected function getProduct(OrderInjectable $order, $index = 0) - { - $product = $order->getEntityId()['products'][$index]; - $productData = $product->getData(); - $checkoutDataQty = isset($productData['checkout_data']['qty']) ? $productData['checkout_data']['qty'] : 1; - $productData['quantity_and_stock_status']['qty'] -= $checkoutDataQty; - - $productData = array_diff_key($productData, array_flip($this->skipFields)); - - return $this->fixtureFactory->create(get_class($product), ['data' => $productData]); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product qty was decreased after placing an order.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php deleted file mode 100644 index 8563f6539c71a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductQtyDecreasedAfterCreditmemo.php +++ /dev/null @@ -1,109 +0,0 @@ -fixtureFactory = $fixtureFactory; - parent::__construct($objectManager, $eventManager); - } - - /** - * Assert form data equals fixture data - * - * @param OrderInjectable $order - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @return void - */ - public function processAssert( - OrderInjectable $order, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage - ) { - $data = $order->getRefund(); - $product = $this->getProduct($order, $data[0]); - $this->objectManager->get(\Magento\Catalog\Test\Constraint\AssertProductForm::class)->processAssert( - $product, - $productGrid, - $productPage - ); - } - - /** - * Get product's fixture. - * - * @param OrderInjectable $order - * @param array $data - * @param int $index [optional] - * @return FixtureInterface - */ - protected function getProduct(OrderInjectable $order, array $data, $index = 0) - { - if (!isset($data['items_data'][$index]['back_to_stock']) - || $data['items_data'][$index]['back_to_stock'] != 'Yes' - ) { - return $order->getEntityId()['products'][$index]; - } - $product = $order->getEntityId()['products'][$index]; - $productData = $product->getData(); - $checkoutDataQty = $productData['checkout_data']['qty']; - $productData['quantity_and_stock_status']['qty'] -= ($checkoutDataQty - $data['items_data'][$index]['qty']); - - $productData = array_diff_key($productData, array_flip($this->skipFields)); - - return $this->fixtureFactory->create(get_class($product), ['data' => $productData]); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product qty was decreased after creditmemo creation.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductsQtyAfterOrderCancel.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductsQtyAfterOrderCancel.php deleted file mode 100644 index 24027cacd9e4a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertProductsQtyAfterOrderCancel.php +++ /dev/null @@ -1,128 +0,0 @@ -getEntityId()['products']); $i < $count; $i++) { - $product = $order->getEntityId()['products'][$i]; - $productData = $product->getData(); - if ($product instanceof BundleProduct) { - $this->assertBundleProduct($product, $productGrid, $productPage, $fixtureFactory, $assertProductForm); - } elseif ($product instanceof ConfigurableProduct) { - $assertConfigurableProductForm->processAssert( - $fixtureFactory->create( - get_class($product), - ['data' => array_diff_key($productData, array_flip($this->skipFields))] - ), - $productGrid, - $productPage - ); - } else { - $assertProductForm->processAssert( - $fixtureFactory->create( - get_class($product), - ['data' => array_diff_key($productData, array_flip($this->skipFields))] - ), - $productGrid, - $productPage - ); - } - } - } - - /** - * Assert quantity of products that are part of the bundle product. - * - * @param BundleProduct $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductEdit $productPage - * @param FixtureFactory $fixtureFactory - * @param AssertProductForm $assertProductForm - * @return void - */ - public function assertBundleProduct( - BundleProduct $product, - CatalogProductIndex $productGrid, - CatalogProductEdit $productPage, - FixtureFactory $fixtureFactory, - AssertProductForm $assertProductForm - ) { - $productData = $product->getData(); - $bundleSelections = $product->getDataFieldConfig('bundle_selections')['source']->getProducts(); - foreach ($bundleSelections as $key => $selection) { - $valueName = $productData['checkout_data']['options']['bundle_options'][$key]['value']['name']; - foreach ($selection as $item) { - if (strpos($item->getName(), $valueName) !== false) { - $assertProductForm->processAssert( - $fixtureFactory->create( - get_class($product), - ['data' => array_diff_key($item->getData(), array_flip($this->skipFields))] - ), - $productGrid, - $productPage - ); - break; - } - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Products quantity was reverted after order cancel.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php deleted file mode 100644 index e0e4cc874f72e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php +++ /dev/null @@ -1,72 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $comments = $infoTab->getCommentsHistoryBlock()->getComments(); - - foreach ($comments as $key => $comment) { - if (stristr($comment['comment'], 'refunded') === false) { - unset($comments[$key]); - } - } - $comments = array_reverse(array_values($comments)); - - $refundedPrices = $order->getPrice()['refund']; - foreach ($refundedPrices as $key => $refundedPrice) { - \PHPUnit\Framework\Assert::assertRegExp( - sprintf(self::REFUNDED_AMOUNT_PATTERN, $refundedPrice['grand_creditmemo_total']), - $comments[$key]['comment'], - 'Incorrect refunded amount value for the order #' . $orderId - ); - } - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message about refunded amount is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php deleted file mode 100644 index b87b15523ab90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php +++ /dev/null @@ -1,63 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $salesOrderView->getOrderForm()->openTab('creditmemos'); - /** @var Grid $grid */ - $grid = $salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock(); - $amount = $order->getPrice()['refund']; - foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { - $filter = [ - 'id' => $creditMemoId, - 'amount_from' => $amount[$key]['grand_creditmemo_total'], - 'amount_to' => $amount[$key]['grand_creditmemo_total'] - ]; - \PHPUnit\Framework\Assert::assertTrue( - $grid->isRowVisible($filter, true, false), - 'Credit memo is absent on credit memos tab.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Credit memo is present on credit memos tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php deleted file mode 100644 index b0bb452581427..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php +++ /dev/null @@ -1,57 +0,0 @@ -open(); - $amount = $order->getPrice()['refund']; - $orderId = $order->getId(); - foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { - $filter = [ - 'id' => $creditMemoId, - 'order_id' => $orderId, - 'grand_total_from' => $amount[$key]['grand_creditmemo_total'], - 'grand_total_to' => $amount[$key]['grand_creditmemo_total'], - ]; - $creditMemoIndex->getCreditMemoGrid()->search($filter); - $filter['grand_total_from'] = number_format($amount[$key]['grand_creditmemo_total'], 2); - $filter['grand_total_to'] = number_format($amount[$key]['grand_creditmemo_total'], 2); - \PHPUnit\Framework\Assert::assertTrue( - $creditMemoIndex->getCreditMemoGrid()->isRowVisible($filter, false, false), - "Credit memo '#$creditMemoId' is absent in credit memos grid on credit memo index page." - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Credit memo is present in credit memos grid on credit memo index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php deleted file mode 100644 index 6808776e6f714..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php +++ /dev/null @@ -1,57 +0,0 @@ -open(); - $amount = $order->getPrice()['refund']; - $orderId = $order->getId(); - foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { - $filter = [ - 'id' => $creditMemoId, - 'order_id' => $orderId, - 'grand_total_from' => $amount[$key]['grand_creditmemo_total'], - 'grand_total_to' => $amount[$key]['grand_creditmemo_total'], - ]; - $creditMemoIndex->getCreditMemoGrid()->search($filter); - $filter['grand_total_from'] = number_format($amount[$key]['grand_creditmemo_total'], 2); - $filter['grand_total_to'] = number_format($amount[$key]['grand_creditmemo_total'], 2); - \PHPUnit\Framework\Assert::assertFalse( - $creditMemoIndex->getCreditMemoGrid()->isRowVisible($filter, false, false), - "Credit memo '#$creditMemoId' is present in credit memos grid on credit memo index page." - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Credit memo is absent in credit memos grid on credit memo index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundOrderStatusInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundOrderStatusInCommentsHistory.php deleted file mode 100644 index 0d78c4b72e168..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundOrderStatusInCommentsHistory.php +++ /dev/null @@ -1,53 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $latestComment = $infoTab->getCommentsHistoryBlock()->getLatestComment(); - - \PHPUnit\Framework\Assert::assertContains( - $infoTab->getOrderStatus(), - $latestComment['status'] - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message with appropriate order status is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundSuccessCreateMessage.php deleted file mode 100644 index 13567cf5904ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundSuccessCreateMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Success create credit memo message is present on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php deleted file mode 100644 index c0682ce954050..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php +++ /dev/null @@ -1,56 +0,0 @@ -loginCustomerAndOpenOrderPage($order->getDataFieldConfig('customer_id')['source']->getCustomer()); - $orderHistory->getOrderHistoryBlock()->openOrderById($order->getId()); - $customerOrderView->getOrderViewBlock()->openLinkByName('Refunds'); - foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { - \PHPUnit\Framework\Assert::assertEquals( - number_format($order->getPrice()['refund'][$key]['grand_creditmemo_total'], 2), - $creditMemoView->getCreditMemoBlock()->getItemBlock($creditMemoId)->getGrandTotal() - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Credit memo Grand Total amount is equal to placed order Grand Total amount on credit memo page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderButtonIsNotVisibleOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderButtonIsNotVisibleOnFrontend.php deleted file mode 100644 index ab09b4e6c8a4e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderButtonIsNotVisibleOnFrontend.php +++ /dev/null @@ -1,75 +0,0 @@ - $order->hasData('id') ? $order->getId() : $orderId, - 'status' => $statusToCheck === null ? $status : $statusToCheck, - ]; - - $objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders'); - $errorMessage = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertFalse( - $orderHistory->getOrderHistoryBlock()->isReorderButtonPresentByOrderId($filter['id']), - '"Reorder" button for order with following data \'' . $errorMessage - . '\' is present in Orders block on frontend.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '"Reorder" button is not present in orders on frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderStatusIsCorrect.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderStatusIsCorrect.php deleted file mode 100644 index 1a47e51765143..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertReorderStatusIsCorrect.php +++ /dev/null @@ -1,55 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - \PHPUnit\Framework\Assert::assertEquals( - $previousOrderStatus, - $infoTab->getOrderStatus(), - 'Order status is incorrect on order page in backend.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Order status is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderBillingAddress.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderBillingAddress.php deleted file mode 100644 index e17d2b3ceb833..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderBillingAddress.php +++ /dev/null @@ -1,48 +0,0 @@ -objectManager->create( - \Magento\Customer\Test\Block\Address\Renderer::class, - ['address' => $billingAddress, 'type' => 'html'] - ); - $expectedBillingAddress = $addressRenderer->render(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedBillingAddress, - $salesGuestPrint->getInfoBlock()->getBillingAddress(), - "Billing address was printed incorrectly." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Billing address printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderGrandTotal.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderGrandTotal.php deleted file mode 100644 index e54f9a68c1e3d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderGrandTotal.php +++ /dev/null @@ -1,42 +0,0 @@ -getViewBlock()->getItemBlock()->getGrandTotal(), - "Grand total was printed incorrectly." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Grand total was printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderPaymentMethod.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderPaymentMethod.php deleted file mode 100644 index f93959514a074..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderPaymentMethod.php +++ /dev/null @@ -1,41 +0,0 @@ -getInfoBlock()->isPaymentMethodVisible($paymentMethod), - "Payment method was printed incorrect on sales guest print page." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Payment method was printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderProducts.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderProducts.php deleted file mode 100644 index 7ec6ed27d6f35..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertSalesPrintOrderProducts.php +++ /dev/null @@ -1,51 +0,0 @@ -getViewBlock()->getItemBlock()->isItemVisible($product)) { - $errors .= sprintf(self::ERROR_MESSAGE, $product->getName()); - } - } - - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Products were printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php deleted file mode 100644 index 2168b69fa2f2f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php +++ /dev/null @@ -1,61 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - $salesOrderView->getOrderForm()->openTab('transactions'); - $actualTransactions = $salesOrderView->getOrderForm()->getTab('transactions')->getGridBlock()->getIds(); - - foreach ($transactions as $transaction) { - foreach ($actualTransactions as $actualTransaction) { - if ($actualTransaction['transactionType'] === $transaction['transactionType']) { - \PHPUnit\Framework\Assert::assertEquals( - $transaction['statusIsClosed'], - $actualTransaction['statusIsClosed'], - 'The ' . $transaction['transactionType'] . ' transaction status is not closed.' - ); - break; - } - } - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Transactions status is closed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertUnholdButton.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertUnholdButton.php deleted file mode 100644 index 6cf79cc333ca5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertUnholdButton.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - \PHPUnit\Framework\Assert::assertTrue( - $salesOrderView->getPageActions()->isActionButtonVisible('Unhold'), - 'Button "Unhold" is absent on order page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Button "Unhold" is present on order page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertVoidInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertVoidInCommentsHistory.php deleted file mode 100644 index 8fb7dbc07508e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertVoidInCommentsHistory.php +++ /dev/null @@ -1,61 +0,0 @@ -open(); - $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); - - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm()->openTab('info')->getTab('info'); - $latestComment = $infoTab->getCommentsHistoryBlock()->getLatestComment(); - - \PHPUnit\Framework\Assert::assertContains( - self::VOIDED_AMOUNT . $prices['grandTotal'], - $latestComment['comment'], - 'Incorrect voided amount value for the order #' . $orderId - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Message about voided amount is available in Comments History section."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml deleted file mode 100644 index a5a6679c5bf7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/BillingAddressId.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/BillingAddressId.php deleted file mode 100644 index ca201c017d376..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/BillingAddressId.php +++ /dev/null @@ -1,43 +0,0 @@ -params = $params; - if (isset($data['value'])) { - $this->data = $data['value']; - return; - } - if (isset($data['dataset'])) { - $addresses = $fixtureFactory->createByCode('address', ['dataset' => $data['dataset']]); - $this->data = $addresses->getData(); - $this->data['street'] = [$this->data['street']]; - } - if (isset($data['billingAddress']) && $data['billingAddress'] instanceof Address) { - /** @var Address $address */ - $address = $data['billingAddress']; - $this->data = $address->getData(); - $this->data['street'] = [$this->data['street']]; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CouponCode.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CouponCode.php deleted file mode 100644 index cf507b431ead1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CouponCode.php +++ /dev/null @@ -1,37 +0,0 @@ -params = $params; - if (isset($data['value']) && $data['value'] instanceof SalesRule) { - $this->data = $data['value']; - return; - } - if (isset($data['dataset'])) { - $salesRule = $fixtureFactory->createByCode('salesRule', ['dataset' => $data['dataset']]); - $salesRule->persist(); - $this->data = $salesRule; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CustomerId.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CustomerId.php deleted file mode 100644 index 81bb7404bbd75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/CustomerId.php +++ /dev/null @@ -1,49 +0,0 @@ -params = $params; - if (isset($data['customer']) && $data['customer'] instanceof Customer) { - $this->data = $data['customer']; - return; - } - if (isset($data['dataset'])) { - $customer = $fixtureFactory->createByCode('customer', ['dataset' => $data['dataset']]); - if ($customer->hasData('id') === false) { - $customer->persist(); - } - $this->data = $customer; - } - } - - /** - * Get customer fixture. - * - * @return Customer - */ - public function getCustomer() - { - return $this->data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/EntityId.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/EntityId.php deleted file mode 100644 index 1910156e3a136..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/EntityId.php +++ /dev/null @@ -1,47 +0,0 @@ -params = $params; - - if (isset($data['value'])) { - $this->data = $data['value']; - return; - } - - if (!isset($data['products'])) { - return; - } - if (is_string($data['products'])) { - $products = explode(',', $data['products']); - foreach ($products as $product) { - list($fixture, $dataset) = explode('::', trim($product)); - $product = $fixtureFactory->createByCode($fixture, ['dataset' => $dataset]); - $product->persist(); - $this->data['products'][] = $product; - } - } elseif (is_array($data['products'])) { - $this->data['products'] = $data['products']; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/StoreId.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/StoreId.php deleted file mode 100644 index 1423cff2490fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable/StoreId.php +++ /dev/null @@ -1,94 +0,0 @@ -params = $params; - $storeData = isset($data['dataset']) ? ['dataset' => $data['dataset']] : []; - if (isset($data['data'])) { - $storeData = array_replace_recursive($storeData, $data); - } - - if (isset($data['store'])) { - $this->store = $data['store']; - $website = $data['store']->getDataFieldConfig('group_id')['source'] - ->getStoreGroup()->getDataFieldConfig('website_id')['source']->getWebsite(); - $this->website = $website; - $this->data = $data['store']->getName(); - } else { - if ($storeData) { - $store = $fixtureFactory->createByCode('store', $storeData); - /** @var Store $store */ - if (!$store->getStoreId()) { - $store->persist(); - } - if (isset($store->getData()['group_id'])) { - $website = $store->getDataFieldConfig('group_id')['source'] - ->getStoreGroup()->getDataFieldConfig('website_id')['source']->getWebsite(); - $this->website = $website; - } - - $this->store = $store; - $this->data = $store->getName(); - } - } - } - - /** - * Return Store fixture. - * - * @return Store - */ - public function getStore() - { - return $this->store; - } - - /** - * Return Website fixture. - * - * @return Website|null - */ - public function getWebsite() - { - if (isset($this->website)) { - return $this->website; - } - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderStatus.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderStatus.xml deleted file mode 100644 index d92c411f66a0a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderStatus.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/Curl.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/Curl.php deleted file mode 100644 index f58f4a1adafbe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/Curl.php +++ /dev/null @@ -1,374 +0,0 @@ - [ - 'California' => '12', - ], - 'country_id' => [ - 'United States' => 'US', - ], - ]; - - /** - * Steps for create order on backend. - * - * @var array - */ - protected $steps = [ - 'customer_choice' => 'header,data', - 'products_choice' => 'search,items,shipping_method,totals,giftmessage,billing_method', - 'apply_coupon_code' => 'items,shipping_method,totals,billing_method', - 'shipping_data_address' => 'shipping_method,billing_method,shipping_address,totals,giftmessage', - 'shipping_data_method_get' => 'shipping_method,totals', - 'shipping_data_method_set' => 'shipping_method,totals,billing_method', - ]; - - /** - * Post request for creating order. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - $this->order = $fixture; - $this->customer = $fixture->getDataFieldConfig('customer_id')['source']->getCustomer(); - $data = $this->replaceMappingData($this->prepareData($fixture)); - return ['id' => $this->createOrder($data)]; - } - - /** - * Prepare POST data for creating product request. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $result = []; - $data = $fixture->getData(); - $result['customer_choice'] = $this->prepareCustomerData($data); - $result['products_choice'] = $this->prepareProductsData($data['entity_id']); - if (isset($data['coupon_code'])) { - $result['apply_coupon_code'] = $this->prepareCouponCode($data['coupon_code']); - } - $result['order_data'] = $this->prepareOrderData($data); - $result['shipping_data_address'] = $this->prepareShippingData($result['order_data']); - $result['shipping_data_method_get'] = [ - 'payment' => $data['payment_auth_expiration'], - 'collect_shipping_rates' => 1, - ]; - $result['shipping_data_method_set'] = [ - 'order' => ['shipping_method' => $result['order_data']['order']['shipping_method']], - 'payment' => $data['payment_auth_expiration'], - ]; - - return $result; - } - - /** - * Prepare coupon data. - * - * @param SalesRule $data - * @return array - */ - protected function prepareCouponCode(SalesRule $data) - { - return ['order' => ['coupon' => ['code' => $data->getCouponCode()]]]; - } - - /** - * Prepare shipping data. - * - * @param array $data - * @return array - */ - protected function prepareShippingData(array $data) - { - $result = [ - 'order' => [ - 'billing_address' => $data['billing_address'], - ], - 'payment' => $this->order->getPaymentAuthExpiration(), - 'reset_shipping' => 1, - 'shipping_as_billing' => 1, - ]; - return $result; - } - - /** - * Prepare products data. - * - * @param array $data - * @return array - */ - protected function prepareProductsData(array $data) - { - $result['item'] = []; - foreach ($data['products'] as $value) { - if (!$value->hasData('checkout_data')) { - continue; - } - $methodName = 'prepare' . ucfirst($value->getDataConfig()['type_id']) . 'Data'; - if (!method_exists($this, $methodName)) { - $methodName = 'prepareSimpleData'; - } - $result['item'][$value->getId()] = $this->$methodName($value); - } - return $result; - } - - /** - * Prepare data for configurable product. - * - * @param ConfigurableProduct $product - * @return array - */ - protected function prepareConfigurableData(ConfigurableProduct $product) - { - $result = []; - $checkoutData = $product->getCheckoutData(); - $result['qty'] = $checkoutData['qty']; - $attributesData = $product->hasData('configurable_attributes_data') - ? $product->getDataFieldConfig('configurable_attributes_data')['source']->getAttributesData() - : null; - if ($attributesData == null) { - return $result; - } - foreach ($checkoutData['options']['configurable_options'] as $option) { - $attributeId = $attributesData[$option['title']]['attribute_id']; - $optionId = $attributesData[$option['title']]['options'][$option['value']]['id']; - $result['super_attribute'][$attributeId] = $optionId; - } - - return $result; - } - - /** - * Prepare data for bundle product. - * - * @param BundleProduct $product - * @return array - * - * @SuppressWarnings(PHPMD.UnusedLocalVariable) - */ - protected function prepareBundleData(BundleProduct $product) - { - $result = []; - $checkoutData = $product->getCheckoutData(); - $bundleOptions = isset($checkoutData['options']['bundle_options']) - ? $checkoutData['options']['bundle_options'] - : []; - $bundleSelections = $product->getBundleSelections(); - $bundleSelectionsData = []; - $result['qty'] = $checkoutData['qty']; - - foreach ($bundleSelections['bundle_options'] as $option) { - foreach ($option['assigned_products'] as $productData) { - $productName = $productData['search_data']['name']; - $bundleSelectionsData[$productName] = [ - 'selection_id' => $productData['selection_id'], - 'option_id' => $productData['option_id'], - ]; - } - } - - foreach ($bundleOptions as $option) { - $productName = $option['value']['name']; - foreach ($bundleSelectionsData as $fullProductName => $value) { - if (null !== strpos($fullProductName, $productName)) { - $productName = $fullProductName; - } - } - - if (isset($bundleSelectionsData[$productName])) { - $optionId = $bundleSelectionsData[$productName]['option_id']; - $selectionId = $bundleSelectionsData[$productName]['selection_id']; - $result['bundle_option'][$optionId] = $selectionId; - } - } - - return $result; - } - - /** - * Prepare data for downloadable product. - * - * @param DownloadableProduct $product - * @return array - */ - protected function prepareDownloadableData(DownloadableProduct $product) - { - $result = []; - $checkoutData = $product->getCheckoutData(); - foreach ($checkoutData['options']['links'] as $link) { - $result['links'][] = $link['id']; - } - - return $result; - } - - /** - * Prepare data for simple product. - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareSimpleData(FixtureInterface $product) - { - return ['qty' => $product->getCheckoutData()['qty']]; - } - - /** - * Prepare order data. - * - * @param array $data - * @return array - */ - protected function prepareOrderData(array $data) - { - $customerGroupId = $this->customer->hasData('group_id') - ? $this->customer->getDataFieldConfig('group_id')['source']->getCustomerGroup()->getCustomerGroupId() - : 1; - $result = [ - 'name' => $this->customer->getFirstname(), - 'order' => [ - 'currency' => $data['order_currency_code'], - 'account' => [ - 'group_id' => $customerGroupId, - 'email' => $this->customer->getEmail(), - ], - 'shipping_method' => isset($data['shipping_method']) ? $data['shipping_method'] : '', - ], - 'item' => $this->prepareOrderProductsData($data['entity_id']), - 'billing_address' => $this->prepareBillingAddress($data['billing_address_id']), - 'shipping_same_as_billing' => 'on', - 'payment' => $data['payment_auth_expiration'], - - ]; - - return $result; - } - - /** - * Prepare customer data. - * - * @param array $data - * @return array - */ - protected function prepareCustomerData(array $data) - { - return [ - 'currency_id' => $data['base_currency_code'], - 'customer_id' => $this->customer->getData('id'), - 'payment' => $data['payment_authorization_amount'], - 'store_id' => $this->order->getDataFieldConfig('store_id')['source']->store->getStoreId() - ]; - } - - /** - * Prepare order products data. - * - * @param array $data - * @return array - */ - protected function prepareOrderProductsData(array $data) - { - $result = []; - foreach ($data['products'] as $product) { - if (isset($product->getCheckoutData()['qty'])) { - $result[$product->getId()] = ['qty' => ['qty' => $product->getCheckoutData()['qty']]]; - } - } - - return $result; - } - - /** - * Prepare billing address data. - * - * @param array $data - * @return array - */ - protected function prepareBillingAddress(array $data) - { - $result = $data; - $result['firstname'] = $this->customer->getFirstname(); - $result['lastname'] = $this->customer->getLastname(); - - return $result; - } - - /** - * Create product via curl. - * - * @param array $data - * @return int|null - * @throws \Exception - */ - protected function createOrder(array $data) - { - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - foreach ($this->steps as $key => $step) { - if (!isset($data[$key])) { - continue; - } - $url = $_ENV['app_backend_url'] . 'sales/order_create/loadBlock/block/' . $step . '?isAjax=true'; - $curl->write($url, $data[$key]); - $curl->read(); - } - $url = $_ENV['app_backend_url'] . 'sales/order_create/save'; - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data['order_data']); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Order creation by curl handler was not successful! Response: $response"); - } - preg_match("~

#(.*)

~", $response, $matches); - - return isset($matches[1]) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/OrderInjectableInterface.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/OrderInjectableInterface.php deleted file mode 100644 index 7957ffd3e5337..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderInjectable/OrderInjectableInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - [ - 'California' => '12', - ], - 'country_id' => [ - 'United States' => 'US', - 'United Kingdom' => 'GB', - ], - ]; - - /** - * Order quote value. - * - * @var string - */ - protected $quote; - - /** - * First part of Web API url for creating order. - * - * @var string - */ - protected $url; - - /** - * Either customer is a guest or not. - * - * @var bool - */ - private $isCustomerGuest; - - /** - * Creating order using quote via web API. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - $this->isCustomerGuest = $fixture->getData('customer_id') ? false : true; - - /** @var OrderInjectable $fixture */ - $this->createQuote($fixture); - $url = $this->isCustomerGuest ? 'guest-carts/' . $this->quote : 'carts/' . (int)$this->quote; - $this->url = $_ENV['app_frontend_url'] . $this->prepareWebsiteUrl($fixture) . '/V1/' . $url; - - $this->setProducts($fixture); - $this->setCoupon($fixture); - $this->setBillingAddress($fixture); - $this->setShippingInformation($fixture); - $this->setPaymentMethod($fixture); - $orderId = $this->placeOrder(); - $orderIncrementId = $this->getOrderIncrementId($orderId); - - return ['id' => $orderIncrementId]; - } - - /** - * Create checkout quote. - * - * @param OrderInjectable $order - * @return void - * @throws \Exception - */ - protected function createQuote(OrderInjectable $order) - { - if ($this->isCustomerGuest) { - $url = $_ENV['app_frontend_url'] . $this->prepareWebsiteUrl($order) . '/V1/guest-carts'; - $this->webapiTransport->write($url); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!is_string($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not create a checkout quote using web API.'); - } - $this->quote = $response; - } else { - $url = $_ENV['app_frontend_url'] . $this->prepareWebsiteUrl($order) - . '/V1/customers/' . $order->getCustomerId()->getId() . '/carts'; - $data = '{"customerId": "' . $order->getCustomerId()->getId() . '"}'; - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!is_numeric($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not create a checkout quote using web API.'); - } - $this->quote = $response; - } - } - - /** - * Add products to quote. - * - * @param OrderInjectable $order - * @return void - * @throws \Exception - */ - protected function setProducts(OrderInjectable $order) - { - $url = $this->url . '/items'; - $products = $order->getEntityId()['products']; - foreach ($products as $product) { - $data = [ - 'cartItem' => [ - 'sku' => $product->getSku(), - 'qty' => isset($product->getCheckoutData()['qty']) ? $product->getCheckoutData()['qty'] : 1, - 'quote_id' => $this->quote - ] - ]; - $methodName = 'prepare' . ucfirst($product->getDataConfig()['type_id']) . 'Options'; - if (method_exists($this, $methodName)) { - $data['cartItem']['product_option'] = $this->$methodName($product); - } - $this->webapiTransport->write($url, $data); - $response = (array)json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (isset($response['message'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not add product item to quote!'); - } - } - } - - /** - * Set coupon to quote. - * - * @param OrderInjectable $order - * @return void - * @throws \Exception - */ - protected function setCoupon(OrderInjectable $order) - { - if (!$order->hasData('coupon_code')) { - return; - } - $url = $this->url . '/coupons/' . $order->getCouponCode()->getCouponCode(); - $data = [ - 'cartId' => $this->quote, - 'couponCode' => $order->getCouponCode()->getCouponCode() - ]; - $this->webapiTransport->write($url, $data, WebapiDecorator::PUT); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if ($response !== true) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception("The coupon code couldn't be applied. Verify the coupon code and try again."); - } - } - - /** - * Set billing address to quote. - * - * @param OrderInjectable $order - * @return void - * @throws \Exception - */ - protected function setBillingAddress(OrderInjectable $order) - { - $url = $this->url . "/billing-address"; - $address = $order->getBillingAddressId(); - - unset($address['default_billing']); - unset($address['default_shipping']); - foreach (array_keys($this->mappingData) as $key) { - if (isset($address[$key])) { - $address[$key] = $this->mappingData[$key][$address[$key]]; - } - } - $data = ["address" => $address]; - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!is_numeric($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception("Could not set billing address to quote!"); - } - } - - /** - * Set shipping information to quote - * - * @param OrderInjectable $order - * @throws \Exception - */ - protected function setShippingInformation(OrderInjectable $order) - { - if (!$order->hasData('shipping_method')) { - return; - } - $url = $this->url . '/shipping-information'; - list($carrier, $method) = explode('_', $order->getShippingMethod()); - - $address = $order->hasData('shipping_address_id') - ? $order->getShippingAddressId() - : $order->getBillingAddressId(); - - unset($address['default_billing']); - unset($address['default_shipping']); - foreach (array_keys($this->mappingData) as $key) { - if (isset($address[$key])) { - $address[$key] = $this->mappingData[$key][$address[$key]]; - } - } - - $data = [ - 'addressInformation' => [ - 'shippingAddress' => $address, - 'shippingMethodCode' => $method, - 'shippingCarrierCode' => $carrier, - ] - ]; - - $this->webapiTransport->write($url, $data, WebapiDecorator::POST); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!isset($response['payment_methods'], $response['totals'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception("The shipping method can't be set to quote."); - } - } - - /** - * Set payment method to quote. - * - * @param OrderInjectable $order - * @return void - * @throws \Exception - */ - protected function setPaymentMethod(OrderInjectable $order) - { - $url = $this->url . '/selected-payment-method'; - $data = [ - "cartId" => $this->quote, - "method" => $order->getPaymentAuthExpiration() - ]; - $this->webapiTransport->write($url, $data, WebapiDecorator::PUT); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!is_numeric($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not set payment method to quote!'); - } - } - - /** - * Place order. - * - * @return array - * @throws \Exception - */ - protected function placeOrder() - { - $url = $this->url . '/order'; - $data = ["cartId" => $this->quote]; - $this->webapiTransport->write($url, $data, WebapiDecorator::PUT); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - if (!is_numeric($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not place order via web API!'); - } - - return $response; - } - - /** - * Prepare configurable product options. - * - * @param ConfigurableProduct $product - * @return array - */ - protected function prepareConfigurableOptions(ConfigurableProduct $product) - { - $options = []; - $attributesData = $product->getDataFieldConfig('configurable_attributes_data')['source']->getAttributesData(); - foreach ($product->getCheckoutData()['options']['configurable_options'] as $checkoutOption) { - $options[] = [ - 'option_id' => $attributesData[$checkoutOption['title']]['attribute_id'], - 'option_value' => $attributesData[$checkoutOption['title']]['options'][$checkoutOption['value']]['id'], - ]; - } - - return ['extension_attributes' => ['configurable_item_options' => $options]]; - } - - /** - * Prepare bundle product options. - * - * @param BundleProduct $product - * @return array - */ - protected function prepareBundleOptions(BundleProduct $product) - { - $options = []; - foreach ($product->getCheckoutData()['options']['bundle_options'] as $checkoutOption) { - foreach ($product->getBundleSelections()['bundle_options'] as $productOption) { - if (strpos($productOption['title'], $checkoutOption['title']) !== false) { - $option = []; - foreach ($productOption['assigned_products'] as $productData) { - if (strpos($productData['search_data']['name'], $checkoutOption['value']['name']) !== false) { - $qty = isset($checkoutOption['qty']) - ? $checkoutOption['qty'] - : $productData['data']['selection_qty']; - $option['option_id'] = $productData['option_id']; - $option['option_selections'][] = $productData['selection_id']; - $option['option_qty'] = $qty; - } - } - $options[] = $option; - } - } - } - - return ['extension_attributes' => ['bundle_options' => $options]]; - } - - /** - * Prepare downloadable product options. - * - * @param DownloadableProduct $product - * @return array - */ - protected function prepareDownloadableOptions(DownloadableProduct $product) - { - $checkoutData = $product->getCheckoutData(); - $links = []; - foreach ($checkoutData['options']['links'] as $link) { - $links[] = $link['id']; - } - - return ['extension_attributes' => ['downloadable_option' => ['downloadable_links' => $links]]]; - } - - /** - * Prepare url for placing order in custom website. - * - * @param OrderInjectable $order - * @return string - */ - private function prepareWebsiteUrl(OrderInjectable $order) - { - $url = 'rest'; - if ($website = $order->getDataFieldConfig('store_id')['source']->getWebsite()) { - $store = $order->getDataFieldConfig('store_id')['source']->getStore(); - $url = 'websites/' . $website->getCode() . '/rest/' . $store->getCode(); - } - return $url; - } - - /** - * Retrieve order increment id. - * - * @param int $orderId - * @return string - * @throws \Exception - */ - private function getOrderIncrementId($orderId) - { - $url = $_ENV['app_frontend_url'] . 'rest/V1/orders/' . $orderId; - $this->webapiTransport->write($url, [], WebapiDecorator::GET); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (!$response['increment_id']) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Could not get order details using web API.'); - } - return $response['increment_id']; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/Curl.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/Curl.php deleted file mode 100644 index c65bb9ad213fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/Curl.php +++ /dev/null @@ -1,83 +0,0 @@ - 1, - 'store_labels[1]' => '', - ]; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'state' => [ - 'Pending' => 'new', - ], - 'is_default' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'visible_on_front' => [ - 'Yes' => 1, - 'No' => 0, - ], - ]; - - /** - * Post request for creating OrderStatus. - * - * @param FixtureInterface $fixture - * @return void - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $url = $_ENV['app_backend_url'] . 'sales/order_status/save/'; - $data = array_merge($this->defaultAttributeValues, $fixture->getData()); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("OrderStatus entity creating by curl handler was not successful! Response: $response"); - } - - if (isset($data['state'])) { - $url = $_ENV['app_backend_url'] . 'sales/order_status/assignPost/'; - $data = $this->replaceMappingData($data); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - "Assigning OrderStatus entity by curl handler was not successful! Response: $response" - ); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/OrderStatusInterface.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/OrderStatusInterface.php deleted file mode 100644 index 76b87d7687a67..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Handler/OrderStatus/OrderStatusInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/InvoiceIndex.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/InvoiceIndex.xml deleted file mode 100644 index d547cfb8f27ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/InvoiceIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreateIndex.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreateIndex.xml deleted file mode 100644 index 53d43dfb52921..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreateIndex.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreditMemoNew.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreditMemoNew.xml deleted file mode 100644 index 25e659d0feb6c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderCreditMemoNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderIndex.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderIndex.xml deleted file mode 100644 index f17f50e41a199..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceNew.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceNew.xml deleted file mode 100644 index 2f5c7ce2a7e26..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceView.xml deleted file mode 100644 index cd8860fb09ccc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderInvoiceView.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusAssign.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusAssign.xml deleted file mode 100644 index 2f47ec6d76f16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusAssign.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusEdit.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusEdit.xml deleted file mode 100644 index 84682f766ad0b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusIndex.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusIndex.xml deleted file mode 100644 index ab52d13cbf1af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusNew.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusNew.xml deleted file mode 100644 index fb669c64ea8e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/OrderStatusNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesCreditMemoView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesCreditMemoView.xml deleted file mode 100644 index 5a670b4088db7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesCreditMemoView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesInvoiceView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesInvoiceView.xml deleted file mode 100644 index 5a098555f915d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesInvoiceView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesOrderView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesOrderView.xml deleted file mode 100644 index cd7174cddd142..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/Adminhtml/SalesOrderView.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CreditMemoView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CreditMemoView.xml deleted file mode 100644 index b9cf1f064f369..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CreditMemoView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CustomerOrderView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CustomerOrderView.xml deleted file mode 100644 index 221e5e129c2ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/CustomerOrderView.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/InvoiceView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/InvoiceView.xml deleted file mode 100644 index 67f3468cd6f00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/InvoiceView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/OrderHistory.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/OrderHistory.xml deleted file mode 100644 index 9c1d40b2cf835..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/OrderHistory.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestForm.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestForm.xml deleted file mode 100644 index a42f932380f93..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestForm.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestPrint.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestPrint.xml deleted file mode 100644 index 4db5da5e21bf4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestPrint.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestView.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestView.xml deleted file mode 100644 index 372b7ac36e78b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesGuestView.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesOrderShipmentNew.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesOrderShipmentNew.php deleted file mode 100644 index caddc4db119c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Page/SalesOrderShipmentNew.php +++ /dev/null @@ -1,51 +0,0 @@ -url = $_ENV['app_backend_url'] . self::MCA; - } - - /** - * Get shipment totals. - * - * @return \Magento\Sales\Test\Block\Adminhtml\Order\Shipment\Totals - */ - public function getTotalsBlock() - { - return Factory::getBlockFactory()->getMagentoSalesAdminhtmlOrderShipmentTotals( - $this->browser->find($this->totalsBlock, Locator::SELECTOR_CSS) - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/ConfigData.xml deleted file mode 100644 index a89de40bc2428..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - payment - 1 - custom - custom - - - - - - payment - 1 - Pending - Pending - - - - - - admin - 1 - Yes - 1 - - - - - - admin - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable.xml deleted file mode 100644 index e6c61c189d195..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable.xml +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - catalogProductSimple::default,catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - catalogProductVirtual::default - - - default - - - US_address - - - default_store_view - - - checkmo - - - free - - 0 - USD - - - - - downloadableProduct::with_two_bought_links - - - default - - - US_address - - - default_store_view - - - checkmo - - - free - - 0 - USD - - - - - downloadableProduct::with_two_bought_links, downloadableProduct::with_two_bought_links - - - default - - - US_address - - - default_store_view - - - checkmo - - - free - - 0 - USD - - - - - catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - active_sales_rule_for_all_groups - - - default_with_discount - - - - - - catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - active_sales_rule_for_all_groups - - - default_with_discount - - - - - - catalogProductSimple::simple_big_qty - - - johndoe_unique - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - catalogProductVirtual::virtual_big_qty - - - johndoe_unique - - - US_address - - - default_store_view - - - checkmo - - - free - - 0 - USD - - - - - catalogProductSimple::default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - catalogProductSimple::default - - - default - - - US_address - - - custom_store - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - full_flow - - - - - - catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default, catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default,catalogProductSimple::default - - - default - - - US_address - - - default_store_view - - flatrate_flatrate - - checkmo - - - free - - 0 - USD - - - - - configurableProduct::with_only_two_options - - - default - - - US_address - - - default_store_view - - - checkmo - - flatrate_flatrate - - free - - 0 - USD - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Invoice.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Invoice.xml deleted file mode 100644 index e37c9d619664b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Invoice.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - No - Full invoice comment - - - - - - - - - 1 - - - - No - Partial Invoice with changed qty = 1 - - - - - No - Partial Invoice to the rest of order items - - - - - - - - - 1 - - - - No - Partial Invoice with one item - - - - - - - - - 0 - - - - No - Partial Invoice with changed qty = 0 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml deleted file mode 100644 index 96fa07a95530b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - 560 - 280 - - - - - - 565 - 565 - - - - - - - 139.90 - - - - - - 15.00 - - - - - - 145.98 - - - - - - 226.50 - - - - - - 135.15 - - - - - - 108.25 - 118.25 - - - - - - - 118.25 - - - - 118.25 - - - - - - 15 - - - - 15 - 15 - - - - - - - - 210 - 110 - - - - - - - - 565 - - - - - - - - 555 - - - - - - - - - 110 - - - - - - - - 0 - 0 - - - - - - - 5 - - - - - - - 565 - - - - - 565 - 565 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderStatus.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderStatus.xml deleted file mode 100644 index 75e9d17f82a0d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderStatus.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - order_status%isolation% - orderLabel%isolation% - - - - order_status%isolation% - orderLabel%isolation% - Pending - Yes - Yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.php deleted file mode 100644 index 156fc2e52417a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.php +++ /dev/null @@ -1,180 +0,0 @@ - Settings > Order Status. - * 3. Click on "Assign Status to State. - * 4. Fill in all data according to data set. - * 5. Save Status Assignment. - * 6. Call assert assertOrderStatusSuccessAssignMessage. - * 7. Create Order. - * 8. Perform all assertions from dataset. - * - * @group Order_Management - * @ZephyrId MAGETWO-29382 - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class AssignCustomOrderStatusTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order Status Index page. - * - * @var OrderStatusIndex - */ - protected $orderStatusIndex; - - /** - * Order Status Assign page. - * - * @var OrderStatusAssign - */ - protected $orderStatusAssign; - - /** - * Order Index page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * OrderStatus Fixture. - * - * @var OrderStatus - */ - protected $orderStatus; - - /** - * OrderInjectable Fixture. - * - * @var OrderInjectable - */ - protected $order; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Inject pages. - * - * @param OrderStatusIndex $orderStatusIndex - * @param OrderStatusAssign $orderStatusAssign - * @param OrderIndex $orderIndex - * @return void - */ - public function __inject( - OrderStatusIndex $orderStatusIndex, - OrderStatusAssign $orderStatusAssign, - OrderIndex $orderIndex - ) { - $this->orderStatusIndex = $orderStatusIndex; - $this->orderStatusAssign = $orderStatusAssign; - $this->orderIndex = $orderIndex; - } - - /** - * Run Assign Custom OrderStatus. - * - * @param OrderStatus $orderStatus - * @param OrderInjectable $order - * @param array $orderStatusState - * @param AssertOrderStatusSuccessAssignMessage $assertion - * @return array - */ - public function test( - OrderStatus $orderStatus, - OrderInjectable $order, - array $orderStatusState, - AssertOrderStatusSuccessAssignMessage $assertion - ) { - // Preconditions: - $orderStatus->persist(); - /** @var OrderStatus $orderStatus */ - $orderStatus = $this->fixtureFactory->createByCode( - 'orderStatus', - ['data' => array_merge($orderStatus->getData(), $orderStatusState)] - ); - $this->orderStatus = $orderStatus; - - // Steps: - $this->orderStatusIndex->open(); - $this->orderStatusIndex->getGridPageActions()->assignStatusToState(); - $this->orderStatusAssign->getAssignForm()->fill($orderStatus); - $this->orderStatusAssign->getPageActionsBlock()->save(); - $assertion->processAssert($this->orderStatusIndex); - - // Prepare data for constraints - $config = $this->fixtureFactory->createByCode('configData', [ - 'dataset' => 'checkmo_custom_new_order_status', - 'data' => ['payment/checkmo/order_status' => ['value' => $orderStatus->getStatus()]] - ]); - $config->persist(); - $order->persist(); - $this->order = $order; - - return [ - 'orderId' => $order->getId(), - 'customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer(), - 'status' => $orderStatus->getLabel() - ]; - } - - /** - * Change created order status and unassign custom order status. - * - * @return void - */ - public function tearDown(): void - { - if ($this->order) { - $this->orderIndex->open()->getSalesOrderGrid()->massaction([['id' => $this->order->getId()]], 'Cancel'); - } - if ($this->orderStatus) { - $filter = ['label' => $this->orderStatus->getLabel()]; - $this->orderStatusIndex->open()->getOrderStatusGrid()->searchAndUnassign($filter); - $this->orderStatusIndex->getMessagesBlock()->waitSuccessMessage(); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'checkmo_custom_new_order_status_rollback'] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.xml deleted file mode 100644 index 808201b8e6acc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/AssignCustomOrderStatusTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - mftf_migrated:yes - Pending - Yes - No - - - - - - mftf_migrated:yes - Pending - Yes - Yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.php deleted file mode 100644 index 36cb45ce90bcf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.php +++ /dev/null @@ -1,111 +0,0 @@ - Orders. - * 3. Open the created order. - * 4. Do cancel Order. - * 5. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28191 - */ -class CancelCreatedOrderTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Orders Page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * Order View Page. - * - * @var SalesOrderView - */ - protected $salesOrderView; - - /** - * Configuration setting. - * - * @var string - */ - private $configData; - - /** - * Inject pages. - * - * @param OrderIndex $orderIndex - * @param SalesOrderView $salesOrderView - * @return void - */ - public function __inject(OrderIndex $orderIndex, SalesOrderView $salesOrderView) - { - $this->orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - } - - /** - * Cancel created order. - * - * @param OrderInjectable $order - * @param TestStepFactory $stepFactory - * @param string $configData - * @return array - */ - public function test(OrderInjectable $order, TestStepFactory $stepFactory, $configData) - { - // Preconditions - $this->configData = $configData; - $stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $order->persist(); - - // Steps - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $this->salesOrderView->getPageActions()->cancel(); - - return [ - 'customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer(), - ]; - } - - /** - * Reset config settings to default. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml deleted file mode 100644 index 6cf6a58e6d8ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CancelCreatedOrderTest.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - default - catalogProductSimple::low_stock_product,catalogProductVirtual::virtual_low_stock,bundleProduct::bundle_low_stock,configurableProduct::configurable_low_stock - Canceled - checkmo - mftf_migrated:yes - - - - - - - default - free - freeshipping_freeshipping - active_sales_rule_with_fixed_price_discount_coupon - catalogProductSimple::product_10_dollar - Canceled - zero_subtotal_checkout, freeshipping - mftf_migrated:yes - - - - - default - banktransfer - Canceled - banktransfer - mftf_migrated:yes - - - - - default - cashondelivery - Canceled - cashondelivery - mftf_migrated:yes - - - - - default - purchaseorder - po_number - Canceled - purchaseorder - mftf_migrated:yes - - - - - default - catalogProductSimple::low_stock_product - decrease_stock_after_order_no - mftf_migrated:yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CloseOrderTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CloseOrderTest.php deleted file mode 100644 index 7df2bd9203a1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CloseOrderTest.php +++ /dev/null @@ -1,45 +0,0 @@ - Orders page. - * 3. Open order. - * 4. Click 'Ship' button and submit shipment. - * 5. Click 'Invoice' button. - * 6. Select Amount=Capture Online. - * 7. Click 'Submit Invoice' button. - * 8. Perform assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-13015, MAGETWO-13020 - */ -class CloseOrderTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = '3rd_party_test'; - const SEVERITY = 'S0'; - /* end tags */ - - /** - * Close order. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.php deleted file mode 100644 index 0bdd967214b0a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.php +++ /dev/null @@ -1,43 +0,0 @@ - Orders > find out placed order and open. - * 2. Click 'Credit Memo' button. - * 3. Fill data from dataset. - * 4. On order's page click 'Refund offline' button. - * 5. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-29116 - */ -class CreateCreditMemoEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Runs test for credit memo creation for order placed with offline payment method. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.xml deleted file mode 100644 index 1c07dee56a9c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCreditMemoEntityTest.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - mftf_migrated:yes - - - 0 - - - 1 - Yes - - - - Yes - - - - default - catalogProductSimple::product_100_dollar - partial_refund - checkmo - - - - - - - - - - - - mftf_migrated:yes - - - 0 - - - 1 - - - - 0 - 5 - 10 - - - - default - banktransfer - full_refund_with_zero_shipping_refund - banktransfer - - - - - - - - - mftf_migrated:yes - - - 0 - - - 1 - - - - 0 - 5 - 10 - - - - default - cashondelivery - full_refund_with_zero_shipping_refund - cashondelivery - - - - - mftf_migrated:yes - - - 0 - - - 1 - - - - 0 - 5 - 10 - - - - default - purchaseorder - po_number - full_refund_with_zero_shipping_refund - purchaseorder - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.php deleted file mode 100644 index 6f8c8cf1e53bb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.php +++ /dev/null @@ -1,73 +0,0 @@ - Settings > Order Status. - * 3. Click on "Create New Status" button. - * 4. Fill in all data according to data set. - * 5. Save order status. - * 6. Verify created order status. - * - * @group Order_Management - * @ZephyrId MAGETWO-23412 - */ -class CreateCustomOrderStatusEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order status page. - * - * @var OrderStatusIndex - */ - protected $orderStatusIndexPage; - - /** - * Create order status page. - * - * @var OrderStatusNew - */ - protected $orderStatusNewPage; - - /** - * Inject pages. - * - * @param OrderStatusIndex $orderStatusIndexPage - * @param OrderStatusNew $orderStatusNewPage - * @return void - */ - public function __inject(OrderStatusIndex $orderStatusIndexPage, OrderStatusNew $orderStatusNewPage) - { - $this->orderStatusIndexPage = $orderStatusIndexPage; - $this->orderStatusNewPage = $orderStatusNewPage; - } - - /** - * Run Create Order Status test. - * - * @param OrderStatus $orderStatus - * @return void - */ - public function testCreateOrderStatus(OrderStatus $orderStatus) - { - // Steps - $this->orderStatusIndexPage->open(); - $this->orderStatusIndexPage->getGridPageActions()->addNew(); - $this->orderStatusNewPage->getOrderStatusForm()->fill($orderStatus); - $this->orderStatusNewPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.xml deleted file mode 100644 index e05d0fea6b129..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateCustomOrderStatusEntityTest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - mftf_migrated:yes - order_status%isolation% - orderLabel%isolation% - - - - - mftf_migrated:yes - pending - orderLabel%isolation% - - - - mftf_migrated:yes - order_status%isolation% - Suspected Fraud - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.php deleted file mode 100644 index 9da1cd896df2e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.php +++ /dev/null @@ -1,42 +0,0 @@ - Orders. - * 2. Select created order in the grid and open it. - * 3. Click 'Invoice' button. - * 4. Fill data according to dataset. - * 5. Click 'Submit Invoice' button. - * 6. Perform assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28209 - */ -class CreateInvoiceEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Runs test for invoice creation for order placed with offline payment method. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.xml deleted file mode 100644 index a6a1d61d0d6e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateInvoiceEntityTest.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - mftf_migrated:yes - default - full_invoice - 1 - - - - Yes - comments - - - - 1 - Quantity - checkmo,enable_charts - - - - - - - - - - - - - mftf_migrated:yes - default - partial_invoice - catalogProductSimple::product_100_dollar - - - banktransfer - - - - - 1 - - - - No - comments - - - - banktransfer - - - - - - - - mftf_migrated:yes - default - partial_invoice - catalogProductSimple::product_100_dollar - - - cashondelivery - - - - - 1 - - - - No - comments - - - - cashondelivery - - - - - mftf_migrated:yes - default - partial_invoice - catalogProductSimple::product_100_dollar - - - purchaseorder - po_number - - - - - 1 - - - - No - comments - - - - purchaseorder - - - - - mftf_migrated:yes - default - free_invoice - catalogProductSimple::product_10_dollar - - - free - freeshipping_freeshipping - active_sales_rule_with_fixed_price_discount_coupon - - - - - 1 - - - - No - comments - - - - zero_subtotal_checkout, freeshipping - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineCreditMemoTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineCreditMemoTest.php deleted file mode 100644 index d92ec4a7663f9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineCreditMemoTest.php +++ /dev/null @@ -1,41 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineInvoiceEntityTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineInvoiceEntityTest.php deleted file mode 100644 index e6f95f108b642..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOnlineInvoiceEntityTest.php +++ /dev/null @@ -1,55 +0,0 @@ - Orders. - * 3. Click Create New Order. - * 4. Select Customer created in preconditions. - * 5. Add Product. - * 6. Fill data according dataset. - * 7. Click Update Product qty. - * 8. Fill data according dataset. - * 9. Click Get Shipping Method and rates. - * 10. Fill data according dataset. - * 11. Submit Order. - * 12. Go to Sales > Orders. - * 13. Select created order in the grid and open it. - * 14. Click 'Invoice' button. - * 15. Fill data according to dataset. - * 16. Click 'Submit Invoice' button. - * 17. Perform assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-47010 - */ -class CreateOnlineInvoiceEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = '3rd_party_test, 3rd_party_test_single_flow'; - const SEVERITY = 'S0'; - /* end tags */ - - /** - * Runs sales order on backend. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.php deleted file mode 100644 index 8d3df766db534..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.php +++ /dev/null @@ -1,49 +0,0 @@ - Orders. - * 3. Click Create New Order. - * 4. Select Customer created in preconditions. - * 5. Add Product. - * 6. Fill data according dataset. - * 7. Click Update Product qty. - * 8. Fill data according dataset. - * 9. Click Get Shipping Method and rates. - * 10. Fill data according dataset. - * 11. Submit Order. - * 12. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28696, MAGETWO-17063 - */ -class CreateOrderBackendPartOneTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test, 3rd_party_test'; - /* end tags */ - - /** - * Runs sales order on backend. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.xml deleted file mode 100644 index 880c66483d5f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendPartOneTest.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Create order with simple product for registered US customer using Fixed shipping method and Cash on Delivery payment method - catalogProductSimple::with_one_custom_option - default - US_address_1_without_email - No - Flat Rate - Fixed - - 425.00 - - cashondelivery - Processing - Back, Reorder, Cancel, Send Email, Invoice, Edit - cashondelivery - - - - - - - - - Create order with virtual product for registered UK customer using Check/Money Order payment method - catalogProductVirtual::default - default - UK_address_without_email - false - - 10.00 - - checkmo - Pending - Back, Cancel, Send Email, Hold, Invoice, Edit - checkmo_specificcountry_gb - - - - - - - catalogProductSimple::default - default - US_address_1_without_email - No - Flat Rate - Fixed - - 565.00 - - banktransfer - Processing - Back, Cancel, Send Email, Reorder, Invoice, Edit - banktransfer - - - - - - - - - Create order with virtual product for registered UK customer using Bank Transfer payment method - catalogProductVirtual::default - default - UK_address_without_email - No - false - - 10.00 - - banktransfer - Pending - Back, Cancel, Send Email, Hold, Invoice, Edit - freeshipping_specificcountry_gb, banktransfer - - - - - - - Create order with simple product for registered US customer using Fixed shipping method and Purchase Order payment method - catalogProductSimple::default - default - No - US_address_1_without_email - Flat Rate - Fixed - - 565.00 - - purchaseorder - 123456 - Processing - Back, Cancel, Send Email, Invoice, Reorder, Edit - purchaseorder - - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - us_ca_ny_rule - default - No - login - US_address_1_without_email - Flat Rate - Fixed - - 21.91 - - checkmo - - - - - test_type:acceptance_test - catalogProductSimple::simple_10_dollar - configurableProduct::with_one_option - us_ca_ny_rule - default - Yes - register - US_address_1_without_email - Flat Rate - Fixed - - 21.91 - - checkmo - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.php deleted file mode 100644 index 239af7d6b5c90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.php +++ /dev/null @@ -1,49 +0,0 @@ - Orders. - * 3. Click Create New Order. - * 4. Select Customer created in preconditions. - * 5. Add Product. - * 6. Fill data according dataset. - * 7. Click Update Product qty. - * 8. Fill data according dataset. - * 9. Click Get Shipping Method and rates. - * 10. Fill data according dataset. - * 11. Submit Order. - * 12. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28696, MAGETWO-17063 - */ -class CreateOrderBackendTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test, 3rd_party_test'; - /* end tags */ - - /** - * Runs sales order on backend. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml deleted file mode 100644 index b1e3b9a9d9f1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - mftf_migrated:yes - catalogProductSimple::product_with_qty_25 - default - US_address_1_without_email - No - Flat Rate - Fixed - - 375.00 - - cashondelivery - cashondelivery - - - - - - mftf_migrated:yes - catalogProductSimple::default_qty_1 - default - US_address_1_without_email - No - Flat Rate - Fixed - - 565.00 - - cashondelivery - cashondelivery - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.php deleted file mode 100644 index 50e31ab2a5807..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.php +++ /dev/null @@ -1,329 +0,0 @@ - All Customers page. - * 3. Open created customer to edit. - * 4. Click Create Order button. - * 5. Select Store. - * 6. Click Add Products button. - * 7. Select corresponded Products. - * 8. Click Add Selected Product(s) to Order button. - * 9. Perform assertions. - * 10. Select Move to Wish List action for Products from Test Data. - * 11. Click Update Items and Quantities button. - * 12. Perform assertions. - * 13. Select Add to Order in "Wish List" data grid for correspondent Products. - * 14. Click Update Changes button. - * 15. Perform assertions. - * 16. Select Move to Shopping Cart action for Products from Test Data. - * 17. Click Update Items and Quantities button. - * 18. Perform assertions. - * 19. Select Add to Order in "Shopping Cart" data grid for correspondent Products. - * 20. Click Update Changes button. - * 21. Perform assertions. - * 22. Fill billing and shipping addresses. - * 23. Click Submit Order button. - * 24. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-19454 - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class CreateOrderFromEditCustomerPageTest extends Injectable -{ - /** - * Configuration settings. - * - * @var string - */ - private $configData; - - /** - * Test step factory. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Store fixture. - * - * @var Store - */ - protected $store; - - /** - * Order Create Index page. - * - * @var OrderCreateIndex - */ - protected $orderCreateIndex; - - /** - * Order View Page. - * - * @var SalesOrderView - */ - protected $salesOrderView; - - /** - * Assert that Items Ordered section on Create Order page on backend contains products. - * - * @var AssertItemsOrderedSectionContainsProducts - */ - protected $assertItemsOrderedSectionContainsProducts; - - /** - * Assert that customer's Wish List section on Order Create backend page is empty. - * - * @var AssertCustomerWishlistOnBackendIsEmpty - */ - protected $assertCustomerWishlistOnBackendIsEmpty; - - /** - * Assert that customer's Shopping Cart section on Order Create backend page is empty. - * - * @var AssertCartSectionIsEmptyOnBackendOrderPage - */ - protected $assertCartSectionIsEmptyOnBackendOrderPage; - - /** - * Assert that products added to wishlist are present on Customers account on backend. - * - * @var AssertProductsIsPresentInCustomerBackendWishlist - */ - protected $assertProductsIsPresentInCustomerBackendWishlist; - - /** - * Assert that Items Ordered section on Create Order page on backend is empty. - * - * @var AssertItemsOrderedSectionOnBackendOrderIsEmpty - */ - protected $assertItemsOrderedSectionOnBackendOrderIsEmpty; - - /** - * Assert that customer's Shopping Cart section on Order Create backend page contains products. - * - * @var AssertCartSectionWithProductsOnBackendOrderPage - */ - protected $assertCartSectionWithProductsOnBackendOrderPage; - - /** - * Prepare test data. - * - * @param AssertItemsOrderedSectionOnBackendOrderIsEmpty $assertItemsOrderedSectionOnBackendOrderIsEmpty - * @param AssertCartSectionWithProductsOnBackendOrderPage $assertCartSectionWithProductsOnBackendOrderPage - * @param AssertProductsIsPresentInCustomerBackendWishlist $assertProductsIsPresentInCustomerBackendWishlist - * @return void - */ - public function __prepare( - AssertItemsOrderedSectionOnBackendOrderIsEmpty $assertItemsOrderedSectionOnBackendOrderIsEmpty, - AssertCartSectionWithProductsOnBackendOrderPage $assertCartSectionWithProductsOnBackendOrderPage, - AssertProductsIsPresentInCustomerBackendWishlist $assertProductsIsPresentInCustomerBackendWishlist - ) { - $this->assertItemsOrderedSectionOnBackendOrderIsEmpty = $assertItemsOrderedSectionOnBackendOrderIsEmpty; - $this->assertCartSectionWithProductsOnBackendOrderPage = $assertCartSectionWithProductsOnBackendOrderPage; - $this->assertProductsIsPresentInCustomerBackendWishlist = $assertProductsIsPresentInCustomerBackendWishlist; - } - - /** - * Inject pages. - * - * @param TestStepFactory $stepFactory - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @param Store $store - * @param SalesOrderView $salesOrderView - * @param OrderCreateIndex $orderCreateIndex - * @param AssertItemsOrderedSectionContainsProducts $assertItemsOrderedSectionContainsProducts - * @param AssertCustomerWishlistOnBackendIsEmpty $assertCustomerWishlistOnBackendIsEmpty - * @param AssertCartSectionIsEmptyOnBackendOrderPage $assertCartSectionIsEmptyOnBackendOrderPage - * @return void - */ - public function __inject( - TestStepFactory $stepFactory, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit, - Store $store, - SalesOrderView $salesOrderView, - OrderCreateIndex $orderCreateIndex, - AssertItemsOrderedSectionContainsProducts $assertItemsOrderedSectionContainsProducts, - AssertCustomerWishlistOnBackendIsEmpty $assertCustomerWishlistOnBackendIsEmpty, - AssertCartSectionIsEmptyOnBackendOrderPage $assertCartSectionIsEmptyOnBackendOrderPage - ) { - $this->stepFactory = $stepFactory; - $this->customerIndex = $customerIndex; - $this->customerIndexEdit = $customerIndexEdit; - $this->store = $store; - $this->salesOrderView = $salesOrderView; - $this->orderCreateIndex = $orderCreateIndex; - $this->assertItemsOrderedSectionContainsProducts = $assertItemsOrderedSectionContainsProducts; - $this->assertCustomerWishlistOnBackendIsEmpty = $assertCustomerWishlistOnBackendIsEmpty; - $this->assertCartSectionIsEmptyOnBackendOrderPage = $assertCartSectionIsEmptyOnBackendOrderPage; - } - - /** - * Runs sales order on backend. - * - * @param Customer $customer - * @param array $payment - * @param Address $billingAddress - * @param string|null $configData - * @param array|null $shipping - * @param array|null $products - * @return array - */ - public function test( - Customer $customer, - array $payment, - Address $billingAddress, - $configData = null, - array $shipping = null, - array $products = [] - ) { - // Preconditions: - $this->configData = $configData; - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customer->persist(); - $products = $this->stepFactory->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - )->run()['products']; - - // Steps: - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - if ($this->orderCreateIndex->getStoreBlock()->isVisible()) { - $this->orderCreateIndex->getStoreBlock()->selectStoreView($this->store); - } - $this->stepFactory->create( - \Magento\Sales\Test\TestStep\AddProductsStep::class, - ['products' => $products] - )->run(); - $createBlock = $this->orderCreateIndex->getCreateBlock(); - $this->assertItemsOrderedSectionContainsProducts->processAssert($this->orderCreateIndex, $products); - $this->assertCustomerWishlistOnBackendIsEmpty->processAssert($this->orderCreateIndex); - $this->assertCartSectionIsEmptyOnBackendOrderPage->processAssert($this->orderCreateIndex); - foreach ([$products[0], $products[2]] as $product) { - $createBlock->getItemsBlock()->selectItemAction($product, 'Move to Wish List'); - } - $createBlock->updateItems(); - $this->assertItemsOrderedSectionContainsProducts->processAssert($this->orderCreateIndex, [$products[1]]); - $this->assertProductsIsPresentInCustomerBackendWishlist - ->processAssert($customer, $this->customerIndexEdit, [$products[0], $products[2]]); - $this->assertCartSectionIsEmptyOnBackendOrderPage->processAssert($this->orderCreateIndex); - $this->orderCreateIndex->getSidebarWishlistBlock()->selectItemToAddToOrder($products[0], 1); - $this->orderCreateIndex->getSidebarWishlistBlock()->selectItemToAddToOrder($products[2], 1); - $this->orderCreateIndex->getBackendOrderSidebarBlock()->updateChangesClick(); - $createBlock->waitOrderItemsGrid(); - $this->assertItemsOrderedSectionContainsProducts->processAssert($this->orderCreateIndex, $products); - $this->assertProductsIsPresentInCustomerBackendWishlist - ->processAssert($customer, $this->customerIndexEdit, [$products[0], $products[2]]); - $this->assertCartSectionIsEmptyOnBackendOrderPage->processAssert($this->orderCreateIndex); - foreach ($products as $product) { - $createBlock->getItemsBlock()->selectItemAction($product, 'Move to Shopping Cart'); - } - $createBlock->updateItems(); - $this->assertItemsOrderedSectionOnBackendOrderIsEmpty->processAssert($this->orderCreateIndex); - $this->assertProductsIsPresentInCustomerBackendWishlist - ->processAssert($customer, $this->customerIndexEdit, [$products[0], $products[2]]); - $this->assertCartSectionWithProductsOnBackendOrderPage->processAssert($this->orderCreateIndex, $products); - foreach ([$products[0], $products[2]] as $product) { - $this->orderCreateIndex->getBackendOrderSidebarBlock()->selectItemToAddToOrder($product); - } - $this->orderCreateIndex->getBackendOrderSidebarBlock()->updateChangesClick(); - $createBlock->waitOrderItemsGrid(); - $this->assertItemsOrderedSectionContainsProducts->processAssert( - $this->orderCreateIndex, - [$products[0], $products[2]] - ); - $this->assertProductsIsPresentInCustomerBackendWishlist - ->processAssert($customer, $this->customerIndexEdit, [$products[0], $products[2]]); - $this->assertCartSectionWithProductsOnBackendOrderPage->processAssert($this->orderCreateIndex, [$products[1]]); - $this->stepFactory->create( - \Magento\Sales\Test\TestStep\FillBillingAddressStep::class, - [ - 'orderCreateIndex' => $this->orderCreateIndex, - 'billingAddress' => $billingAddress, - 'setShippingAddress' => true - ] - )->run(); - $this->stepFactory->create( - \Magento\Sales\Test\TestStep\SelectPaymentMethodForOrderStep::class, - ['payment' => $payment] - )->run(); - $this->stepFactory->create( - \Magento\Sales\Test\TestStep\SelectShippingMethodForOrderStep::class, - ['shipping' => $shipping] - )->run(); - $createBlock->submitOrder(); - $orderId = trim($this->salesOrderView->getTitleBlock()->getTitle(), '#'); - return [ - 'orderId' => $orderId, - 'customer' => $customer, - 'productsInCart' => [ - $products[1] - ] - ]; - } - - /** - * Deleting cart price rules and customer segments. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.xml deleted file mode 100644 index ca506adf39edc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - customer_UK_1_default_billing_address - catalogProductSimple::product_10_dollar - catalogProductSimple::product_10_dollar - configurableProduct::product_with_price_10 - freeshipping,checkmo - checkmo - US_address_1_without_email - Free Shipping - Free - - 19.00 - - MAGETWO-65165: Unable to add product to wish list using 'create order' interface - to_maintain:yes, mftf_migrated:yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.php deleted file mode 100644 index 509b0b56ba49d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.php +++ /dev/null @@ -1,40 +0,0 @@ - My Orders page - * 3. Click 'View Order' link on order from preconditions - * - * @group Order_Management - * @ZephyrId MAGETWO-63457 - */ -class FrontendOrderPagerTest extends Scenario -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Reorder created order. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.xml deleted file mode 100644 index 77aedc21b362b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/FrontendOrderPagerTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - mftf_migrated:yes - twenty_products - - - - mftf_migrated:yes - twenty_one_products - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFilteringTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFilteringTest.xml deleted file mode 100644 index da7328f58c1db..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFilteringTest.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - severity:S2 - stable:no - Verify sales order grid filtering - - - - Magento\Sales\Test\TestStep\OnHoldStep - - 2 - orderInjectable - default - - - :id - Pending - - - :id - On Hold - - - Magento\Sales\Test\Page\Adminhtml\OrderIndex - getSalesOrderGrid - getId - - - - severity:S3 - Verify sales invoice grid filtering - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateInvoiceStep - - 2 - orderInjectable - default - - - :id - - - :id - - - Magento\Sales\Test\Page\Adminhtml\InvoiceIndex - getInvoicesGrid - getId - Order # - - - - severity:S3 - Verify sales shipment grid filtering - - Magento\Sales\Test\TestStep\CreateShipmentStep - Magento\Sales\Test\TestStep\CreateShipmentStep - - 2 - orderInjectable - default - - - :id - - - :id - - - Magento\Shipping\Test\Page\Adminhtml\ShipmentIndex - getShipmentsGrid - getId - Order - - - - severity:S3 - Verify sales credit memo grid filtering - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - 2 - orderInjectable - default - - - :id - - - :id - - - Magento\Sales\Test\Page\Adminhtml\CreditMemoIndex - getCreditMemoGrid - getId - Order - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFullTextSearchTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFullTextSearchTest.xml deleted file mode 100644 index 983b41fc006d3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridFullTextSearchTest.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - severity:S2, stable:no - Verify sales order grid full text search - - - - Magento\Sales\Test\TestStep\OnHoldStep - - 2 - orderInjectable - default - Magento\Sales\Test\Page\Adminhtml\OrderIndex - getSalesOrderGrid - getId - getId - - - - severity:S3, stable:no - Verify sales invoice grid full text search - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateInvoiceStep - - 2 - orderInjectable - default - Magento\Sales\Test\Page\Adminhtml\InvoiceIndex - getInvoicesGrid - Order # - getId - getId - - - - severity:S3 - Verify sales shipment grid full text search - - Magento\Sales\Test\TestStep\CreateShipmentStep - Magento\Sales\Test\TestStep\CreateShipmentStep - - 2 - orderInjectable - default - Magento\Shipping\Test\Page\Adminhtml\ShipmentIndex - getShipmentsGrid - Order - getId - getId - - - - severity:S3, stable:no - Verify sales credit memo grid full text search - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - 2 - orderInjectable - default - Magento\Sales\Test\Page\Adminhtml\CreditMemoIndex - getCreditMemoGrid - Order - getId - getId - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridSortingTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridSortingTest.xml deleted file mode 100644 index 28894ed6cc158..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/GridSortingTest.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - severity:S2 - Verify sales order grid storting - - - - Magento\Sales\Test\TestStep\OnHoldStep - - 2 - orderInjectable - default - - ID - Purchase Date - Status - - Magento\Sales\Test\Page\Adminhtml\OrderIndex - getSalesOrderGrid - - - - severity:S3 - to_maintain:yes - Verify sales invoince grid storting - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateInvoiceStep - - 2 - orderInjectable - default - - Invoice - Invoice Date - - Magento\Sales\Test\Page\Adminhtml\InvoiceIndex - getInvoicesGrid - - - - severity:S3 - to_maintain:yes - Verify sales shipment grid storting - - Magento\Sales\Test\TestStep\CreateShipmentStep - Magento\Sales\Test\TestStep\CreateShipmentStep - - 2 - orderInjectable - default - - Shipment - Ship Date - - Magento\Shipping\Test\Page\Adminhtml\ShipmentIndex - getShipmentsGrid - - - - severity:S3 - to_maintain:yes - Verify sales credit memo grid storting - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - Magento\Sales\Test\TestStep\CreateInvoiceStep - Magento\Sales\Test\TestStep\CreateCreditMemoStep - - - 2 - orderInjectable - default - - Credit Memo - Created - - Magento\Sales\Test\Page\Adminhtml\CreditMemoIndex - getCreditMemoGrid - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.php deleted file mode 100644 index dae8c60476ee2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.php +++ /dev/null @@ -1,96 +0,0 @@ - Orders. - * 3. Open the created order. - * 4. Do 'Hold' for Order. - * 5. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28214 - */ -class HoldCreatedOrderTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Orders Page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * Order View Page. - * - * @var SalesOrderView - */ - protected $salesOrderView; - - /** - * Enable "Check/Money Order" and "Flat Rate" in configuration. - * - * @return void - */ - public function __prepare() - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'checkmo, flatrate', 'rollback' => true] - )->run(); - } - - /** - * Inject pages. - * - * @param OrderIndex $orderIndex - * @param SalesOrderView $salesOrderView - * @return void - */ - public function __inject(OrderIndex $orderIndex, SalesOrderView $salesOrderView) - { - $this->orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - } - - /** - * Put created order on hold. - * - * @param OrderInjectable $order - * @return array - */ - public function test(OrderInjectable $order) - { - // Preconditions - $order->persist(); - - // Steps - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $this->salesOrderView->getPageActions()->hold(); - - return [ - 'customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer(), - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml deleted file mode 100644 index 43eaa07fd69fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/HoldCreatedOrderTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - hold order and check status in my account on storefront - default - catalogProductSimple::default,catalogProductSimple::default - Invoice,Cancel,Reorder,Ship,Edit - On Hold - mftf_migrated:yes - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.php deleted file mode 100644 index cfef88330bf14..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.php +++ /dev/null @@ -1,145 +0,0 @@ - Orders. - * 3. Select Mass Action according to dataset. - * 4. Submit. - * 5. Perform Asserts. - * - * @group Order_Management - * @ZephyrId MAGETWO-27897 - */ -class MassOrdersUpdateTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order index page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Injection data. - * - * @param OrderIndex $orderIndex - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject(OrderIndex $orderIndex, FixtureFactory $fixtureFactory) - { - $this->orderIndex = $orderIndex; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Mass orders update. - * - * @param string $steps - * @param int $ordersCount - * @param string $action - * @param string $resultStatuses - * @return array - */ - public function test($steps, $ordersCount, $action, $resultStatuses) - { - // Preconditions - $orders = $this->createOrders($ordersCount, $steps); - $items = $this->prepareFilter($orders); - - // Steps - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->massaction($items, $action); - - return ['orders' => $orders, 'orderStatuses' => explode(',', $resultStatuses)]; - } - - /** - * Create orders. - * - * @param int $count - * @param string $steps - * @return array - */ - protected function createOrders($count, $steps) - { - $orders = []; - $steps = explode('|', $steps); - for ($i = 0; $i < $count; $i++) { - /** @var OrderInjectable $order */ - $order = $this->fixtureFactory->createByCode('orderInjectable', ['dataset' => 'default']); - $order->persist(); - $orders[$i] = $order; - $this->processSteps($order, $steps[$i]); - } - - return $orders; - } - - /** - * Process which step to take for order. - * - * @param OrderInjectable $order - * @param string $steps - * @return void - */ - protected function processSteps(OrderInjectable $order, $steps) - { - $products = $order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $steps = array_diff(explode(',', $steps), ['-']); - foreach ($steps as $step) { - $action = str_replace(' ', '', ucwords($step)); - $methodAction = (($action != 'OnHold') ? 'Create' : '') . $action . 'Step'; - $path = 'Magento\Sales\Test\TestStep'; - $processStep = $this->objectManager->create( - $path . '\\' . $methodAction, - ['order' => $order, 'cart' => $cart] - ); - $processStep->run(); - } - } - - /** - * Prepare filter. - * - * @param OrderInjectable[] $orders - * @return array - */ - protected function prepareFilter(array $orders) - { - $items = []; - foreach ($orders as $order) { - $items[] = ['id' => $order->getId()]; - } - - return $items; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.xml deleted file mode 100644 index 90a75bd1bda5e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MassOrdersUpdateTest.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - mftf_migrated:yes - cancel orders in status Pending and Processing - - - Cancel - 1 - Canceled - - - - - mftf_migrated:yes - try to cancel orders in status Complete, Closed - invoice, shipment|invoice, credit memo - Cancel - 2 - Complete,Closed - - - - - mftf_migrated:yes - try to cancel orders in status Processing, Closed - invoice|invoice, credit memo - Cancel - 2 - Processing,Closed - - - - - mftf_migrated:yes - Put orders in statuses Pending, Processing on Hold - -|invoice - Hold - 2 - On Hold,On Hold - - - - - mftf_migrated:yes - Try to put order in status Complete on Hold - invoice, shipment - Hold - 1 - Complete - - - - - mftf_migrated:yes - Release order in status On Hold - on hold - Unhold - 1 - Pending - - - - - mftf_migrated:yes - try to Release order in status Pending - - - Unhold - 1 - Pending - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.php deleted file mode 100644 index af80af202ab59..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.php +++ /dev/null @@ -1,101 +0,0 @@ - All Customers. - * 2. Search and open customer from preconditions. - * 3. Click Create Order. - * 4. Check product in Last Ordered Items section. - * 5. Click Update Changes. - * 6. Perform all assertions. - * - * @group Customers, Order_Management - * @ZephyrId MAGETWO-27640 - */ -class MoveLastOrderedProductsOnOrderPageTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order create index page. - * - * @var OrderCreateIndex - */ - protected $orderCreateIndex; - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer index edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Inject pages. - * - * @param OrderCreateIndex $orderCreateIndex - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @return void - */ - public function __inject( - OrderCreateIndex $orderCreateIndex, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit - ) { - $this->orderCreateIndex = $orderCreateIndex; - $this->customerIndex = $customerIndex; - $this->customerIndexEdit = $customerIndexEdit; - } - - /** - * Move last ordered products on order page. - * - * @param OrderInjectable $order - * @return array - */ - public function test(OrderInjectable $order) - { - // Preconditions: - $order->persist(); - $customer = $order->getDataFieldConfig('customer_id')['source']->getCustomer(); - - // Steps: - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - $this->orderCreateIndex->getStoreBlock()->selectStoreView(); - $products = $order->getEntityId()['products']; - $activitiesBlock = $this->orderCreateIndex->getCustomerActivitiesBlock(); - $activitiesBlock->getLastOrderedItemsBlock()->addProductsToOrder($products); - $activitiesBlock->updateChanges(); - - return ['products' => $products]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.xml deleted file mode 100644 index ddb66fe921e8f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveLastOrderedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - mftf_migrated:yes - default - catalogProductSimple::default - - - - mftf_migrated:yes - default - configurableProduct::configurable_with_qty_1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.php deleted file mode 100644 index 2025ca19376cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.php +++ /dev/null @@ -1,171 +0,0 @@ - All Customers. - * 2. Search and open customer from preconditions. - * 3. Click 'Create Order'. - * 4. Check product in comparison list section. - * 5. Click 'Update Changes'. - * 6. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28050 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class MoveProductsInComparedOnOrderPageTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Cms index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Browser instance. - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Catalog product page. - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Order create index page. - * - * @var OrderCreateIndex - */ - protected $orderCreateIndex; - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer index edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Catalog product compare page. - * - * @var CatalogProductCompare - */ - protected $catalogProductCompare; - - /** - * Create customer. - * - * @param Customer $customer - * @param BrowserInterface $browser - * @return array - */ - public function __prepare(Customer $customer, BrowserInterface $browser) - { - $customer->persist(); - // Login under customer - $this->objectManager - ->create(\Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, ['customer' => $customer]) - ->run(); - $this->browser = $browser; - - return ['customer' => $customer]; - } - - /** - * Inject pages. - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param OrderCreateIndex $orderCreateIndex - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @param CatalogProductCompare $catalogProductCompare - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - OrderCreateIndex $orderCreateIndex, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit, - CatalogProductCompare $catalogProductCompare - ) { - $this->cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - $this->orderCreateIndex = $orderCreateIndex; - $this->customerIndex = $customerIndex; - $this->customerIndexEdit = $customerIndexEdit; - $this->catalogProductCompare = $catalogProductCompare; - } - - /** - * Move compare products on order page. - * - * @param Customer $customer - * @param string $products - * @return array - */ - public function test(Customer $customer, $products) - { - // Preconditions - // Create products - $products = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - )->run()['products']; - // Add products to compare - foreach ($products as $itemProduct) { - $this->browser->open($_ENV['app_frontend_url'] . $itemProduct->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->clickAddToCompare(); - } - - // Steps - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - $this->orderCreateIndex->getStoreBlock()->selectStoreView(); - $activitiesBlock = $this->orderCreateIndex->getCustomerActivitiesBlock(); - $activitiesBlock->getProductsInComparisonBlock()->addProductsToOrder($products); - $activitiesBlock->updateChanges(); - - return ['products' => $products, 'productsIsConfigured' => false]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.xml deleted file mode 100644 index cfeb5719ac667..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveProductsInComparedOnOrderPageTest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - to_maintain:yes, mftf_migrated:yes - catalogProductSimple::default - catalogProductSimple::default - - - - to_maintain:yes, mftf_migrated:yes - configurableProduct::configurable_with_qty_1 - configurableProduct::configurable_with_qty_1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.php deleted file mode 100644 index 1489482d87917..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.php +++ /dev/null @@ -1,195 +0,0 @@ - All Customers. - * 2. Search and open customer from preconditions. - * 3. Click 'Create Order'. - * 4. Check product in 'Recently compared List' section. - * 5. Click 'Update Changes'. - * 6. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28109 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class MoveRecentlyComparedProductsOnOrderPageTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Cms index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Browser instance. - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Catalog product page. - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Order create index page. - * - * @var OrderCreateIndex - */ - protected $orderCreateIndex; - - /** - * Customer index page. - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer index edit page. - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Catalog product compare page. - * - * @var CatalogProductCompare - */ - protected $catalogProductCompare; - - /** - * @var Config - */ - private $config; - - /** - * Create customer. - * @param Customer $customer - * @param BrowserInterface $browser - * @param Config $config - * @return array - */ - public function __prepare(Customer $customer, BrowserInterface $browser, Config $config) - { - $customer->persist(); - // Login under customer - $this->objectManager - ->create(LoginCustomerOnFrontendStep::class, ['customer' => $customer]) - ->run(); - $this->browser = $browser; - $this->config = $config; - - return ['customer' => $customer]; - } - - /** - * Inject pages. - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param OrderCreateIndex $orderCreateIndex - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @param CatalogProductCompare $catalogProductCompare - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - OrderCreateIndex $orderCreateIndex, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit, - CatalogProductCompare $catalogProductCompare - ) { - $this->cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - $this->orderCreateIndex = $orderCreateIndex; - $this->customerIndex = $customerIndex; - $this->customerIndexEdit = $customerIndexEdit; - $this->catalogProductCompare = $catalogProductCompare; - } - - public function setUp(): void - { - $this->config->setConfig('reports/options/enabled', 1); - parent::setUp(); - } - - /** - * Move recently compared products on order page. - * @param Customer $customer - * @param string $products - * @param bool $productsIsConfigured - * @return array - * @throws \Exception - */ - public function test(Customer $customer, $products, $productsIsConfigured = false) - { - // Preconditions - // Create product - $products = $this->objectManager->create( - CreateProductsStep::class, - ['products' => $products] - )->run()['products']; - foreach ($products as $itemProduct) { - $this->browser->open($_ENV['app_frontend_url'] . $itemProduct->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->clickAddToCompare(); - } - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - $this->catalogProductCompare->getCompareProductsBlock()->removeAllProducts(); - - // Steps: - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - $this->orderCreateIndex->getStoreBlock()->selectStoreView(); - $activitiesBlock = $this->orderCreateIndex->getCustomerActivitiesBlock(); - $activitiesBlock->getRecentlyComparedProductsBlock()->addProductsToOrder($products); - $activitiesBlock->updateChanges(); - - return ['products' => $products, 'productsIsConfigured' => $productsIsConfigured]; - } - - public function tearDown(): void - { - $this->config->setConfig('reports/options/enabled', 0); - parent::tearDown(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml deleted file mode 100644 index 1ea5e03108567..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyComparedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - catalogProductSimple::default - catalogProductSimple::default - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.php deleted file mode 100644 index 4884b4d3e864b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.php +++ /dev/null @@ -1,88 +0,0 @@ - All Customers. - * 3. Search and open customer from preconditions. - * 4. Click Create Order. - * 5. Check product in Recently Viewed Products section. - * 6. Click Update Changes. - * 7. Click Configure. - * 8. Fill data from dataset. - * 9. Click OK. - * 10. Click Update Items and Qty's button. - * 11. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-29723 - */ -class MoveRecentlyViewedProductsOnOrderPageTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Create customer. - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - $this->objectManager - ->create(\Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, ['customer' => $customer]) - ->run(); - - return ['customer' => $customer]; - } - - /** - * Runs Move Recently Viewed Products On Order Page. - * - * @param Customer $customer - * @param array $products - * @return array - */ - public function test(Customer $customer, array $products) - { - // Preconditions - $products = $this->objectManager - ->create(\Magento\Catalog\Test\TestStep\CreateProductsStep::class, ['products' => $products]) - ->run()['products']; - $this->objectManager - ->create(\Magento\Catalog\Test\TestStep\OpenProductsOnFrontendStep::class, ['products' => $products]) - ->run(); - - // Steps - $this->objectManager - ->create(\Magento\Customer\Test\TestStep\OpenCustomerOnBackendStep::class, ['customer' => $customer]) - ->run(); - $this->objectManager->create(\Magento\Customer\Test\TestStep\CreateOrderFromCustomerAccountStep::class)->run(); - $this->objectManager->create(\Magento\Sales\Test\TestStep\SelectStoreStep::class)->run(); - $this->objectManager - ->create(\Magento\Sales\Test\TestStep\AddRecentlyViewedProductsToCartStep::class, ['products' => $products]) - ->run(); - $this->objectManager - ->create(\Magento\Sales\Test\TestStep\ConfigureProductsStep::class, ['products' => $products]) - ->run(); - - return ['products' => $products]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.xml deleted file mode 100644 index e32f5c2d18ee2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveRecentlyViewedProductsOnOrderPageTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - to_maintain:yes, mftf_migrated:yes - configurableProduct::default - - - - to_maintain:yes, mftf_migrated:yes - bundleProduct::bundle_fixed_product - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.php deleted file mode 100644 index 1d04e68ad439d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.php +++ /dev/null @@ -1,170 +0,0 @@ - All Customers. - * 2. Search and open customer from preconditions. - * 3. Click Create Order. - * 4. Check product in Shopping Cart section. - * 5. Click Update Changes. - * 6. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-28540 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class MoveShoppingCartProductsOnOrderPageTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Customer logout page - * - * @var CustomerAccountLogout - */ - protected $customerAccountLogout; - - /** - * Browser instance - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Catalog product page - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Customer index page - * - * @var CustomerIndex - */ - protected $customerIndex; - - /** - * Customer index edit page - * - * @var CustomerIndexEdit - */ - protected $customerIndexEdit; - - /** - * Order create index page - * - * @var OrderCreateIndex - */ - protected $orderCreateIndex; - - /** - * Prepare data. - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Inject pages. - * - * @param CustomerAccountLogout $customerAccountLogout - * @param CatalogProductView $catalogProductView - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @param BrowserInterface $browser - * @param OrderCreateIndex $orderCreateIndex - * @return void - */ - public function __inject( - CustomerAccountLogout $customerAccountLogout, - CatalogProductView $catalogProductView, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit, - BrowserInterface $browser, - OrderCreateIndex $orderCreateIndex - ) { - $this->customerAccountLogout = $customerAccountLogout; - $this->catalogProductView = $catalogProductView; - $this->customerIndex = $customerIndex; - $this->customerIndexEdit = $customerIndexEdit; - $this->browser = $browser; - $this->orderCreateIndex = $orderCreateIndex; - } - - /** - * Create order from customer page (cartActions). - * - * @param Customer $customer - * @param string $product - * @return array - */ - public function test(Customer $customer, $product) - { - //Preconditions - // Create product - $product = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductStep::class, - ['product' => $product] - )->run()['product']; - // Login under customer - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->addToCart($product); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - - //Steps - $this->customerIndex->open(); - $this->customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $this->customerIndexEdit->getPageActionsBlock()->createOrder(); - $this->orderCreateIndex->getStoreBlock()->selectStoreView(); - $this->orderCreateIndex->getCustomerActivitiesBlock()->getShoppingCartItemsBlock() - ->addProductsToOrder([$product]); - $this->orderCreateIndex->getCustomerActivitiesBlock()->updateChanges(); - - return ['products' => [$product]]; - } - - /** - * Log out after test. - * - * @return void - */ - public function tearDown(): void - { - $this->customerAccountLogout->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.xml deleted file mode 100644 index df84045585049..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/MoveShoppingCartProductsOnOrderPageTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - stable:no, mftf_migrated:yes - catalogProductSimple::default - - - - stable:no, mftf_migrated:yes - configurableProduct::configurable_with_qty_1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 5cc673f4b4fa5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - mftf_migrated:yes - Sales > Orders - Orders - - - - mftf_migrated:yes - Sales > Invoices - Invoices - - - - mftf_migrated:yes - Sales > Shipments - Shipments - - - - mftf_migrated:yes - Sales > Credit Memos - Credit Memos - - - - mftf_migrated:yes - Sales > Transactions - Transactions - - - - mftf_migrated:yes - Stores > Order Status - Order Status - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.php deleted file mode 100644 index 478561c2f46f9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.php +++ /dev/null @@ -1,87 +0,0 @@ -browser = $browser; - $this->envWhitelist = $envWhitelist; - } - - /** - * Runs print order on frontend. - * - * @return void - */ - public function test() - { - $this->envWhitelist->addHost('example.com'); - $this->executeScenario(); - } - - /** - * Close browser. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - $this->browser->closeWindow(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.xml deleted file mode 100644 index da24a1b7075a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/PrintOrderFrontendGuestTest.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - mftf_migrated:yes - - johndoe_with_addresses - - - US_address_1_without_email - - - checkmo - - downloadableProduct::default - configurableProduct::default - bundleProduct::bundle_dynamic_product - 602.43 - 25 - -270 - Check / Money order - active_sales_rule_with_fixed_price_discount_coupon - Flat Rate - Fixed - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.php deleted file mode 100644 index cd05486ae98cc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.php +++ /dev/null @@ -1,44 +0,0 @@ - Orders. - * 3. Open the created order. - * 4. Do 'Reorder' for placed order. - * 5. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-29007 - */ -class ReorderOrderEntityTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = '3rd_party_test'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Reorder created order. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.xml deleted file mode 100644 index 8b98497f3368c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/ReorderOrderEntityTest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - Reorder placed order (update products, billing address). - two_simple_product - active_sales_rule_with_fixed_price_discount_coupon - default - US_address_1_without_email - Flat Rate - Fixed - - 1030.00 - - checkmo - Pending - Pending - Back, Reorder, Cancel, Send Email, Hold, Invoice, Ship, Edit - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.php deleted file mode 100644 index 7a8e81836bdde..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.php +++ /dev/null @@ -1,67 +0,0 @@ - Settings > Order Status. - * 3. Click "Unassign" for appropriate status. - * 4. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-29450 - */ -class UnassignCustomOrderStatusTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order Status Index page. - * - * @var OrderStatusIndex - */ - protected $orderStatusIndex; - - /** - * Injection data. - * - * @param OrderStatusIndex $orderStatusIndex - * @return void - */ - public function __inject(OrderStatusIndex $orderStatusIndex) - { - $this->orderStatusIndex = $orderStatusIndex; - } - - /** - * Run Unassign Custom OrderStatus test. - * - * @param OrderStatus $orderStatus - * @return void - */ - public function test(OrderStatus $orderStatus) - { - // Preconditions: - $orderStatus->persist(); - - // Steps: - $orderStatusLabel = $orderStatus->getLabel(); - $this->orderStatusIndex->open(); - $this->orderStatusIndex->getOrderStatusGrid()->searchAndUnassign(['label' => $orderStatusLabel]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.xml deleted file mode 100644 index d9c2ac6f11941..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UnassignCustomOrderStatusTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - unassign order status - assign_to_pending - Pending - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.php deleted file mode 100644 index ea92e2f167c83..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.php +++ /dev/null @@ -1,167 +0,0 @@ - Settings > Order Status. - * 3. Click on Custom Order Status from grid. - * 4. Fill in all data according to data set. - * 5. Save order status. - * 6. Perform all assertions. - * - * @group Order_Management - * @ZephyrId MAGETWO-29868 - */ -class UpdateCustomOrderStatusTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Order Status Index page. - * - * @var OrderStatusIndex - */ - protected $orderStatusIndex; - - /** - * Order Status Edit page. - * - * @var OrderStatusEdit - */ - protected $orderStatusEdit; - - /** - * Order Index page. - * - * @var OrderIndex - */ - protected $orderIndex; - - /** - * OrderStatus Fixture. - * - * @var OrderStatus - */ - protected $orderStatus; - - /** - * OrderStatus Fixture. - * - * @var OrderStatus - */ - protected $orderStatusInitial; - - /** - * OrderInjectable Fixture. - * - * @var OrderInjectable - */ - protected $order; - - /** - * Injection data. - * - * @param OrderStatusIndex $orderStatusIndex - * @param OrderStatusEdit $orderStatusEdit - * @param OrderIndex $orderIndex - * @return void - */ - public function __inject( - OrderStatusIndex $orderStatusIndex, - OrderStatusEdit $orderStatusEdit, - OrderIndex $orderIndex - ) { - $this->orderStatusIndex = $orderStatusIndex; - $this->orderStatusEdit = $orderStatusEdit; - $this->orderIndex = $orderIndex; - } - - /** - * Run Update Custom OrderStatus Test. - * - * @param OrderStatus $orderStatusInitial - * @param OrderStatus $orderStatus - * @param OrderInjectable $order - * @param FixtureFactory $fixtureFactory - * @param string $orderExist - * @return array - */ - public function test( - OrderStatus $orderStatusInitial, - OrderStatus $orderStatus, - OrderInjectable $order, - FixtureFactory $fixtureFactory, - $orderExist - ) { - // Preconditions: - $orderStatusInitial->persist(); - if ($orderExist == 'Yes') { - $config = $fixtureFactory->createByCode('configData', [ - 'dataset' => 'checkmo_custom_new_order_status', - 'data' => ['payment/checkmo/order_status' => ['value' => $orderStatusInitial->getStatus()]] - ]); - $config->persist(); - $order->persist(); - } - // Steps: - $this->orderStatusIndex->open(); - $this->orderStatusIndex->getOrderStatusGrid()->searchAndOpen(['label' => $orderStatusInitial->getLabel()]); - $this->orderStatusEdit->getOrderStatusForm()->fill($orderStatus); - $this->orderStatusEdit->getFormPageActions()->save(); - - // Configuring orderStatus for asserts. - $orderStatus = $fixtureFactory->createByCode( - 'orderStatus', - ['data' => array_merge($orderStatusInitial->getData(), $orderStatus->getData())] - ); - - // Prepare data for tear down - $this->orderStatus = $orderStatus; - $this->orderStatusInitial = $orderStatusInitial; - $this->order = $order; - - return [ - 'orderStatus' => $orderStatus, - 'status' => $orderStatus->getLabel(), - 'customer' => $order->getDataFieldConfig('customer_id')['source']->getCustomer() - ]; - } - - /** - * Change created order status and unassign custom order status if order was created. - * - * @return void - */ - public function tearDown(): void - { - if ($this->order->hasData('id')) { - $this->orderIndex->open()->getSalesOrderGrid()->massaction([['id' => $this->order->getId()]], 'Cancel'); - $filter = ['label' => $this->orderStatus->getLabel(), 'status' => $this->orderStatusInitial->getStatus()]; - $this->orderStatusIndex->open()->getOrderStatusGrid()->searchAndUnassign($filter); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'checkmo_custom_new_order_status_rollback'] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.xml deleted file mode 100644 index 9bcfbad524a29..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/UpdateCustomOrderStatusTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - change status label to existed - default - No - Suspected Fraud - - - - - change status label to new and check orderStatus for order with changed orderStatus - assign_to_pending - Yes - orderLabel%isolation% - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/VoidAuthorizationTest.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/VoidAuthorizationTest.php deleted file mode 100644 index a0a116bcf831f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/VoidAuthorizationTest.php +++ /dev/null @@ -1,50 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AcceptPaymentStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AcceptPaymentStep.php deleted file mode 100644 index a94cf38cf4fbd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AcceptPaymentStep.php +++ /dev/null @@ -1,49 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - } - - /** - * @inheritdoc - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->accept(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddProductsStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddProductsStep.php deleted file mode 100644 index fd1ee03c16ac7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddProductsStep.php +++ /dev/null @@ -1,76 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->products = $products; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Add product to sales. - * - * @return array - */ - public function run() - { - $createBlock = $this->orderCreateIndex->getCreateBlock(); - $createBlock->getItemsBlock()->clickAddProducts(); - foreach ($this->products as $product) { - $createBlock->getGridBlock()->searchAndSelect(['sku' => $product->getSku()]); - $createBlock->getTemplateBlock()->waitLoader(); - if ($this->orderCreateIndex->getConfigureProductBlock()->isVisible()) { - $this->orderCreateIndex->getConfigureProductBlock()->configProduct($product); - } - } - $createBlock->addSelectedProductsToOrder(); - $createBlock->getTemplateBlock()->waitLoader(); - - $cart['data']['items'] = ['products' => $this->products]; - return ['cart' => $this->fixtureFactory->createByCode('cart', $cart)]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddRecentlyViewedProductsToCartStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddRecentlyViewedProductsToCartStep.php deleted file mode 100644 index 605e566e1fd66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/AddRecentlyViewedProductsToCartStep.php +++ /dev/null @@ -1,53 +0,0 @@ -products = $products; - $this->orderCreateIndex = $orderCreateIndex; - } - - /** - * Add Recently Viewed Products to cart. - * - * @return void - */ - public function run() - { - $recentlyBlock = $this->orderCreateIndex->getCustomerActivitiesBlock(); - $recentlyBlock->getRecentlyViewedItemsBlock()->addProductsToOrder($this->products); - $recentlyBlock->updateChanges(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CancelOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CancelOrderStep.php deleted file mode 100644 index 1e206e240c810..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CancelOrderStep.php +++ /dev/null @@ -1,65 +0,0 @@ -orderIndex = $orderIndex; - $this->order = $order; - $this->salesOrderView = $salesOrderView; - } - - /** - * Run step flow - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->cancel(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ConfigureProductsStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ConfigureProductsStep.php deleted file mode 100644 index 9c4d94ed02a92..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ConfigureProductsStep.php +++ /dev/null @@ -1,56 +0,0 @@ -products = $products; - $this->orderCreateIndex = $orderCreateIndex; - } - - /** - * Configure products options on backend order. - * - * @return void - */ - public function run() - { - $orderPage = $this->orderCreateIndex; - foreach ($this->products as $product) { - $orderPage->getCreateBlock()->getItemsBlock()->getItemProductByName($product->getName())->configure(); - $orderPage->getConfigureProductBlock()->configProduct($product); - } - $orderPage->getCreateBlock()->updateItems(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateCreditMemoStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateCreditMemoStep.php deleted file mode 100644 index 6ef1713c8542f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateCreditMemoStep.php +++ /dev/null @@ -1,150 +0,0 @@ -cart = $cart; - $this->orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - $this->orderCreditMemoNew = $orderCreditMemoNew; - } - - /** - * Create credit memo from order on backend. - * - * @return array - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $refundsData = $this->order->getRefund() !== null ? $this->order->getRefund() : ['refundData' => []]; - foreach ($refundsData as $refundData) { - $this->salesOrderView->getPageActions()->orderCreditMemo(); - - $items = $this->cart->getItems(); - $this->orderCreditMemoNew->getFormBlock()->fillProductData($refundData, $items); - if ($this->compare($items, $refundData)) { - $this->orderCreditMemoNew->getFormBlock()->updateQty(); - } - $hasChangeTotals = $this->isTotalsDataChanged($refundData); - $this->orderCreditMemoNew->getFormBlock()->fillFormData($refundData); - if ($hasChangeTotals) { - $this->orderCreditMemoNew->getTotalsBlock()->clickUpdateTotals(); - } - $this->orderCreditMemoNew->getFormBlock()->submit(); - } - - return [ - 'ids' => ['creditMemoIds' => $this->getCreditMemoIds()], - 'customer' => $this->order->getDataFieldConfig('customer_id')['source']->getCustomer() - ]; - } - - /** - * Get credit memo ids. - * - * @return array - */ - protected function getCreditMemoIds() - { - $this->salesOrderView->getOrderForm()->openTab('creditmemos'); - return $this->salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock()->getIds(); - } - - /** - * Is totals data changed. - * - * @param array $data - * @return bool - */ - private function isTotalsDataChanged(array $data): bool - { - $compareData = [ - 'shipping_amount' => - $this->orderCreditMemoNew->getTotalsBlock()->getRefundShippingElement()->getValue(), - 'adjustment_positive' => - $this->orderCreditMemoNew->getTotalsBlock()->getAdjustmentRefundElement()->getValue(), - 'adjustment_negative' => - $this->orderCreditMemoNew->getTotalsBlock()->getAdjustmentFeeElement()->getValue(), - ]; - - foreach ($compareData as $fieldName => $fieldValue) { - if (isset($data['form_data'][$fieldName]) && $fieldValue !== $data['form_data'][$fieldName]) { - return true; - } - } - - return false; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateInvoiceStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateInvoiceStep.php deleted file mode 100644 index 9daf278fda47c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateInvoiceStep.php +++ /dev/null @@ -1,179 +0,0 @@ -cart = $cart; - $this->orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->orderInvoiceNew = $orderInvoiceNew; - $this->orderInvoiceView = $orderInvoiceView; - $this->order = $order; - $this->orderShipmentView = $orderShipmentView; - $this->paymentAction = $paymentAction; - } - - /** - * Create invoice (with shipment optionally) for order in Admin. - * - * @return array - */ - public function run() - { - if ($this->paymentAction == 'sale') { - return null; - } - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $invoicesData = $this->order->getInvoice() !== null ? $this->order->getInvoice() : ['invoiceData' => []]; - foreach ($invoicesData as $invoiceData) { - $this->salesOrderView->getPageActions()->invoice(); - - $items = $this->getItems(); - $this->orderInvoiceNew->getFormBlock()->fillProductData($invoiceData, $items); - if ($this->compare($this->cart->getItems(), $invoiceData)) { - $this->orderInvoiceNew->getFormBlock()->updateQty(); - } - - $this->orderInvoiceNew->getFormBlock()->fillFormData($invoiceData); - $this->orderInvoiceNew->getFormBlock()->submit(); - $shipmentIds = $this->getShipmentIds(); - } - $invoiceIds = $this->getInvoiceIds(); - - return [ - 'ids' => [ - 'invoiceIds' => $invoiceIds, - 'shipmentIds' => isset($shipmentIds) ? $shipmentIds : null, - ] - ]; - } - - /** - * Get invoice ids. - * - * @return array - */ - protected function getInvoiceIds() - { - $this->salesOrderView->getOrderForm()->openTab('invoices'); - return $this->salesOrderView->getOrderForm()->getTab('invoices')->getGridBlock()->getIds(); - } - - /** - * Get shipment ids. - * - * @return array - */ - protected function getShipmentIds() - { - $this->salesOrderView->getOrderForm()->openTab('shipments'); - return $this->salesOrderView->getOrderForm()->getTab('shipments')->getGridBlock()->getIds(); - } - - /** - * Get cart items - * - * @return mixed - */ - protected function getItems() - { - return $this->cart->getItems(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateNewOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateNewOrderStep.php deleted file mode 100644 index f10b7a122eaf2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateNewOrderStep.php +++ /dev/null @@ -1,43 +0,0 @@ -orderIndex = $orderIndex; - } - - /** - * Create new order - * - * @return void - */ - public function run() - { - $this->orderIndex->getGridPageActions()->addNew(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php deleted file mode 100644 index 44ccd208a791f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php +++ /dev/null @@ -1,130 +0,0 @@ -cart = $cart; - $this->orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - $this->orderInvoiceView = $orderInvoiceView; - $this->orderCreditMemoNew = $orderCreditMemoNew; - } - - /** - * Create credit memo. - * - * @return array - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $refundsData = $this->order->getRefund(); - foreach ($refundsData as $refundData) { - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices\Grid $invoicesGrid */ - $invoicesGrid = $this->salesOrderView->getOrderForm()->getTab('invoices')->getGridBlock(); - $this->salesOrderView->getOrderForm()->openTab('invoices'); - $invoicesGrid->viewInvoice(); - $this->salesOrderView->getPageActions()->orderInvoiceCreditMemo(); - - $items = $this->cart->getItems(); - $this->orderCreditMemoNew->getFormBlock()->fillProductData($refundData, $items); - if ($this->compare($items, $refundData)) { - $this->orderCreditMemoNew->getFormBlock()->updateQty(); - } - - $this->orderCreditMemoNew->getFormBlock()->submit(); - } - - return ['ids' => ['creditMemoIds' => $this->getCreditMemoIds()]]; - } - - /** - * Get credit memo ids. - * - * @return array - */ - private function getCreditMemoIds() - { - $this->salesOrderView->getOrderForm()->openTab('creditmemos'); - return $this->salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock()->getIds(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOrderStep.php deleted file mode 100644 index f089155a708be..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOrderStep.php +++ /dev/null @@ -1,60 +0,0 @@ -order = $order; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create order. - * - * @return array - */ - public function run() - { - $this->order->persist(); - $products = $this->order->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - - return [ - 'products' => $products, - 'order' => $this->order, - 'cart' => $this->fixtureFactory->createByCode('cart', $cart) - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php deleted file mode 100644 index dcee66b44646e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php +++ /dev/null @@ -1,138 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->orderShipmentNew = $orderShipmentNew; - $this->orderShipmentView = $orderShipmentView; - $this->order = $order; - $this->data = $data; - } - - /** - * Create shipping for order on backend. - * - * @return array - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $shipmentIds = []; - /** - * As this step is used in general scenarios and not all test cases has shippable items(ex: virtual product) - * we need to check, if it possible to create shipment for given order. - */ - if ($this->salesOrderView->getPageActions()->canShip()) { - $this->salesOrderView->getPageActions()->ship(); - if (!empty($this->data)) { - $this->orderShipmentNew->getFormBlock()->fillData($this->data, $this->order->getEntityId()['products']); - } - $this->orderShipmentNew->getFormBlock()->submit(); - $shipmentIds = $this->getShipmentIds(); - } - - return ['shipmentIds' => $shipmentIds]; - } - - /** - * Get shipment id. - * - * @return array - */ - public function getShipmentIds() - { - $this->salesOrderView->getOrderForm()->openTab('shipments'); - $this->salesOrderView->getOrderForm()->getTab('shipments')->getGridBlock()->resetFilter(); - $shipmentIds = $this->salesOrderView->getOrderForm()->getTab('shipments')->getGridBlock()->getAllIds(); - $incrementIds = []; - foreach ($shipmentIds as $shipmentId) { - $incrementIds[] = $this->salesOrderView->getOrderForm() - ->getTab('shipments') - ->getGridBlock() - ->getColumnValue($shipmentId, self::COLUMN_NAME); - } - return $incrementIds; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/DenyPaymentStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/DenyPaymentStep.php deleted file mode 100644 index ff90f8d3b9f6b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/DenyPaymentStep.php +++ /dev/null @@ -1,49 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - } - - /** - * @inheritdoc - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->deny(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillAccountInformationStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillAccountInformationStep.php deleted file mode 100644 index 86f12d6cb5271..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillAccountInformationStep.php +++ /dev/null @@ -1,52 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->customer = $customer; - } - - /** - * Fill Order Account Data. - * - * @return void - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->getAccountBlock()->fill($this->customer); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php deleted file mode 100644 index 865b9745c45b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php +++ /dev/null @@ -1,89 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->billingAddress = $billingAddress; - $this->shippingAddress = $shippingAddress; - $this->saveAddress = $saveAddress; - $this->setShippingAddress = $setShippingAddress; - } - - /** - * Fill Billing Address. - * - * @return array - */ - public function run() - { - if ($this->shippingAddress !== null) { - $this->setShippingAddress = null; - } - $this->orderCreateIndex->getCreateBlock() - ->fillBillingAddress($this->billingAddress, $this->saveAddress, $this->setShippingAddress); - - return ['billingAddress' => $this->billingAddress]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php deleted file mode 100644 index e82e5a70782e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php +++ /dev/null @@ -1,55 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->shippingAddress = $shippingAddress; - } - - /** - * Fill Shipping Address. - * - * @return void - */ - public function run() - { - if ($this->shippingAddress !== null) { - $this->orderCreateIndex->getCreateBlock()->fillShippingAddress($this->shippingAddress); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/GetPaymentUpdateStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/GetPaymentUpdateStep.php deleted file mode 100644 index 90faf4a6a99d2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/GetPaymentUpdateStep.php +++ /dev/null @@ -1,65 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - } - - /** - * Get payment update for order. - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->paymentUpdate(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OnHoldStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OnHoldStep.php deleted file mode 100644 index 6ed2fd83a8b90..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OnHoldStep.php +++ /dev/null @@ -1,64 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - } - - /** - * On hold order on backend. - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->hold(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenOrderStep.php deleted file mode 100644 index 82363275d5723..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenOrderStep.php +++ /dev/null @@ -1,53 +0,0 @@ -orderIndex = $orderIndex; - $this->order = $order; - } - - /** - * Open order. - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrderOnFrontendForGuestStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrderOnFrontendForGuestStep.php deleted file mode 100644 index 1a187e3170b00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrderOnFrontendForGuestStep.php +++ /dev/null @@ -1,79 +0,0 @@ -customerAccountLogout = $customerAccountLogout; - $this->cmsIndex = $cmsIndex; - $this->salesGuestForm = $salesGuestForm; - $this->order = $order; - } - - /** - * Run step. - * - * @return void - */ - public function run() - { - $this->customerAccountLogout->open(); - $this->cmsIndex->getFooterBlock()->clickLink('Orders and Returns'); - $this->salesGuestForm->getSearchForm()->fill($this->order); - $this->salesGuestForm->getSearchForm()->submit(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrdersStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrdersStep.php deleted file mode 100644 index c7985d2d36ee0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/OpenSalesOrdersStep.php +++ /dev/null @@ -1,43 +0,0 @@ -orderIndex = $orderIndex; - } - - /** - * Open Sales order - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/PrintOrderOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/PrintOrderOnFrontendStep.php deleted file mode 100644 index 9d79c82a7e839..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/PrintOrderOnFrontendStep.php +++ /dev/null @@ -1,53 +0,0 @@ -salesGuestView = $salesGuestView; - $this->browser = $browser; - } - - /** - * Click on "Print Order" button. - * - * @return void - */ - public function run() - { - $this->salesGuestView->getActionsToolbar()->clickLink('Print'); - $this->browser->selectWindow(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ReorderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ReorderStep.php deleted file mode 100644 index 6d0f40bc46a8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/ReorderStep.php +++ /dev/null @@ -1,43 +0,0 @@ -salesOrderView = $salesOrderView; - } - - /** - * Click reorder - * - * @return void - */ - public function run() - { - $this->salesOrderView->getPageActions()->reorder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectCustomerOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectCustomerOrderStep.php deleted file mode 100644 index 70a6bff570ec0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectCustomerOrderStep.php +++ /dev/null @@ -1,53 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->customer = $customer; - } - - /** - * Select Customer for Order - * - * @return void - */ - public function run() - { - $this->orderCreateIndex->getCustomerBlock()->selectCustomer($this->customer); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectPaymentMethodForOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectPaymentMethodForOrderStep.php deleted file mode 100644 index e799fd6956ecd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectPaymentMethodForOrderStep.php +++ /dev/null @@ -1,63 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->payment = $payment; - $this->creditCard = $creditCard; - } - - /** - * Fill Payment data. - * - * @return void - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->selectPaymentMethod($this->payment, $this->creditCard); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectShippingMethodForOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectShippingMethodForOrderStep.php deleted file mode 100644 index f51a5e6360ee4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectShippingMethodForOrderStep.php +++ /dev/null @@ -1,56 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->shipping = $shipping; - } - - /** - * Fill Shipping Data. - * - * @return array - */ - public function run() - { - if ($this->shipping['shipping_service'] !== null) { - $this->orderCreateIndex->getCreateBlock()->selectShippingMethod($this->shipping); - } - - return ['shipping' => $this->shipping]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectStoreStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectStoreStep.php deleted file mode 100644 index f5ac99a73bab4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SelectStoreStep.php +++ /dev/null @@ -1,57 +0,0 @@ -store = $store; - $this->orderCreateIndex = $orderCreateIndex; - } - - /** - * Select store on order create page - * - * @return array - */ - public function run() - { - if ($this->orderCreateIndex->getStoreBlock()->isVisible()) { - $this->orderCreateIndex->getStoreBlock()->selectStoreView($this->store); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderNegativeStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderNegativeStep.php deleted file mode 100644 index 9995da6dde184..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderNegativeStep.php +++ /dev/null @@ -1,43 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - } - - /** - * Fill Sales Data. - * - * @return void - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->submitOrder(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php deleted file mode 100644 index c9c6a00829a5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php +++ /dev/null @@ -1,122 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->salesOrderView = $salesOrderView; - $this->fixtureFactory = $fixtureFactory; - $this->customer = $customer; - $this->billingAddress = $billingAddress; - $this->products = $products; - $this->order = $order; - } - - /** - * Fill Sales Data. - * - * @return array - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->submitOrder(); - $this->salesOrderView->getMessagesBlock()->waitSuccessMessage(); - $orderId = trim($this->salesOrderView->getTitleBlock()->getTitle(), '#'); - $data = [ - 'id' => $orderId, - 'customer_id' => ['customer' => $this->customer], - 'entity_id' => ['products' => $this->products], - 'billing_address_id' => ['billingAddress' => $this->billingAddress], - ]; - $orderData = $this->order !== null ? $this->order->getData() : []; - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - ['data' => array_merge($orderData, $data)] - ); - - return ['orderId' => $orderId, 'order' => $order]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderWithoutAdditionalInfoStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderWithoutAdditionalInfoStep.php deleted file mode 100644 index 6e51affdc6ee5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderWithoutAdditionalInfoStep.php +++ /dev/null @@ -1,111 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->salesOrderView = $salesOrderView; - $this->fixtureFactory = $fixtureFactory; - $this->customer = $customer; - $this->billingAddress = $billingAddress; - $this->products = $products; - } - - /** - * Fill Sales Data. - * - * @return array - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->submitOrder(); - $this->salesOrderView->getMessagesBlock()->waitSuccessMessage(); - $orderId = trim($this->salesOrderView->getTitleBlock()->getTitle(), '#'); - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - [ - 'data' => [ - 'id' => $orderId, - 'customer_id' => ['customer' => $this->customer], - 'entity_id' => ['products' => $this->products], - 'billing_address_id' => ['billingAddress' => $this->billingAddress], - ] - ] - ); - - return ['orderId' => $orderId, 'order' => $order]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UnholdOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UnholdOrderStep.php deleted file mode 100644 index 9f4b6b0398c4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UnholdOrderStep.php +++ /dev/null @@ -1,64 +0,0 @@ -orderIndex = $orderIndex; - $this->salesOrderView = $salesOrderView; - $this->order = $order; - } - - /** - * On hold order in admin. - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->unhold(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UpdateProductsDataStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UpdateProductsDataStep.php deleted file mode 100644 index ca3f6cdae0023..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/UpdateProductsDataStep.php +++ /dev/null @@ -1,52 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->products = $products; - } - - /** - * Fill product data - * - * @return void - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->updateProductsData($this->products); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/Utils/CompareQtyTrait.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/Utils/CompareQtyTrait.php deleted file mode 100644 index ef22815e4aa09..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/Utils/CompareQtyTrait.php +++ /dev/null @@ -1,42 +0,0 @@ - $item) { - if (!isset($products[$key])) { - continue; - } - - if ($products[$key]->getData('qty') !== $item['qty']) { - ++$count; - } - } - - return $count !== 0; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/VoidAuthorizationStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/VoidAuthorizationStep.php deleted file mode 100644 index a53a99e127ec0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/VoidAuthorizationStep.php +++ /dev/null @@ -1,63 +0,0 @@ -orderIndex = $orderIndex; - $this->order = $order; - $this->salesOrderView = $salesOrderView; - } - - /** - * Void authorization. - * - * @return void - */ - public function run() - { - $this->orderIndex->open(); - $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->void(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/curl/di.xml deleted file mode 100644 index 06c5aaa6ba018..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/curl/di.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/di.xml deleted file mode 100644 index 3b2de142852f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/di.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - S0 - - - - - S1 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S0 - - - - - S1 - - - - - S2 - - - - - S0 - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S0 - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml deleted file mode 100644 index 1420255b9c86d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/webapi/di.xml deleted file mode 100644 index 4ecd76b499d01..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Grid.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Grid.php deleted file mode 100644 index a931848960cef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Grid.php +++ /dev/null @@ -1,83 +0,0 @@ - [ - 'selector' => '#promo_quote_grid_filter_rule_id', - ], - 'name' => [ - 'selector' => 'input[name="name"]', - ], - ]; - - /** - * Locator value for link in sales rule name column. - * - * @var string - */ - protected $editLink = 'td[class*=col-name]'; - - /** - * An element locator which allows to select entities in grid. - * - * @var string - */ - protected $selectItem = 'tbody tr .col-name'; - - /** - * Return the id of the row that matched the search filter. - * - * @param $filter - * @param bool $isSearchable - * @return array|int|string - */ - public function getIdOfRow($filter, $isSearchable = true) - { - $rid = -1; - $this->search($filter, $isSearchable); - $rowItem = $this->_rootElement->find($this->rowItem, Locator::SELECTOR_CSS); - if ($rowItem->isVisible()) { - $idElement = $rowItem->find($this->rowIdSelector); - $rid = $idElement->getText(); - } - return $rid; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.php deleted file mode 100644 index 54cec6cf279f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.php +++ /dev/null @@ -1,80 +0,0 @@ -waitForElementNotVisible($this->waitForSelector); - $this->waitForElementVisible($this->nameElementSelector); - $sections = $this->getFixtureFieldsByContainers($fixture); - if ($replace) { - $sections = $this->prepareData($sections, $replace); - } - $this->fillContainers($sections, $element); - } - - /** - * Replace placeholders in each values of data. - * - * @param array $sections - * @param array $replace - * @return array - */ - protected function prepareData(array $sections, array $replace) - { - foreach ($replace as $sectionName => $fields) { - foreach ($fields as $key => $pairs) { - if (isset($sections[$sectionName][$key])) { - $sections[$sectionName][$key]['value'] = str_replace( - array_keys($pairs), - array_values($pairs), - $sections[$sectionName][$key]['value'] - ); - } - } - } - - return $sections; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.xml deleted file mode 100644 index 89b2dd9045e39..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/PromoQuoteForm.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - \Magento\SalesRule\Test\Block\Adminhtml\Promo\Quote\Edit\Section\RuleInformation - //div[contains(@class,'admin__collapsible-block-wrapper')][descendant::input[@name='name']] - xpath - - - - - switcher - - - [name='website_ids'] - multiselect - - - [name='customer_group_ids'] - multiselect - - - select - - - - - - - - - switcher - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="conditions"] - css selector - - - .fieldset[id^="sales_rule_formrule_conditions_fieldset_"] - conditions - - - - - \Magento\Ui\Test\Block\Adminhtml\Section - [data-index="actions"] - css selector - - - select - - - - - - switcher - - - switcher - - - select - - - .fieldset[id^="sales_rule_formrule_actions_fieldset_"] - conditions - - - - - \Magento\SalesRule\Test\Block\Adminhtml\Promo\Quote\Edit\Section\Labels - [data-index="labels"] - css selector - - - \Magento\SalesRule\Test\Block\Adminhtml\Promo\Quote\Edit\Section\ManageCouponCode - [data-index="manage_coupon_codes"] - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Conditions.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Conditions.php deleted file mode 100644 index 8cf754251faff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Conditions.php +++ /dev/null @@ -1,37 +0,0 @@ - $value) { - $this->mapping[$key] = self::FIELD_PREFIX . $key; - } - return parent::setFieldsData($fields, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Labels.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Labels.php deleted file mode 100644 index eabcfc30ee95e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/Labels.php +++ /dev/null @@ -1,67 +0,0 @@ -find(sprintf(self::STORE_LABEL_NAME, $count))->setValue($storeLabel); - ++$count; - } - } - - return $this; - } - - /** - * Get data of labels section. - * - * @param array|null $fields - * @param SimpleElement|null $element - * @return array - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getFieldsData($fields = null, SimpleElement $element = null) - { - $context = $element === null ? $this->_rootElement : $element; - $storeLabels = []; - $count = 0; - $field = $context->find(sprintf(self::STORE_LABEL_NAME, $count)); - while ($field->isVisible()) { - $fieldValue = $field->getValue(); - if ($fieldValue != '') { - $storeLabels[$count] = $fieldValue; - } - ++$count; - $field = $context->find(sprintf(self::STORE_LABEL_NAME, $count)); - } - - return ['store_labels' => $storeLabels]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/ManageCouponCode.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/ManageCouponCode.php deleted file mode 100644 index ddfb403462de2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/ManageCouponCode.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find(self::GENERATE_CODES_BUTTON_CSS_SELECTOR); - $button->click(); - } - - /** - * Retrieve last generated coupon code - * - * @return string - */ - public function getGeneratedCouponCode() - { - $this->waitForSpinner(); - $column = $this->_rootElement->find(self::LAST_GENERATED_COUPON_CODE_SELECTOR, Locator::SELECTOR_XPATH); - return $column->getText(); - } - - private function waitForSpinner() - { - $this->waitForElementNotVisible(self::SPINNER); - sleep(1); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/RuleInformation.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/RuleInformation.php deleted file mode 100644 index a2ab0c87378dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Adminhtml/Promo/Quote/Edit/Section/RuleInformation.php +++ /dev/null @@ -1,55 +0,0 @@ -_rootElement : $element; - $data = $this->dataMapping($fields); - if ($this->getElement($context, $data['coupon_type'])->getValue() != 'Specific Coupon') { - unset($data['coupon_code']); - unset($data['uses_per_coupon']); - } - - return $this->_getData($data, $element); - } - - /** - * Check whether Customer Group is visible. - * - * @param CustomerGroup $customerGroup - * @return bool - */ - public function isVisibleCustomerGroup(CustomerGroup $customerGroup) - { - $options = $this->_rootElement->find($this->customerGroup)->getText(); - return false !== strpos($options, $customerGroup->getCustomerGroupCode()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/Items.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/Items.php deleted file mode 100644 index 3bd3f49e59ad6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/Items.php +++ /dev/null @@ -1,30 +0,0 @@ - .amount > span.price'; - - /** - * Get sales rule discount. - * - * @return string - */ - public function getSalesRuleDiscount() - { - return $this->escapeCurrency($this->_rootElement->find($this->salesRuleSelector)->getText()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/View.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/View.php deleted file mode 100644 index 79233898eabfc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Block/Order/View.php +++ /dev/null @@ -1,30 +0,0 @@ -content : sprintf($this->itemBlock, $id) . $this->content; - return $this->blockFactory->create( - \Magento\SalesRule\Test\Block\Order\Items::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleApplying.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleApplying.php deleted file mode 100644 index 240db6b0359c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleApplying.php +++ /dev/null @@ -1,227 +0,0 @@ -checkoutCart = $checkoutCart; - $this->cmsIndex = $cmsIndex; - $this->customerAccountLogin = $customerAccountLogin; - $this->customerAccountLogout = $customerAccountLogout; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->productForSalesRule1 = $productForSalesRule1; - $this->productForSalesRule2 = $productForSalesRule2; - $this->cartPrice = $cartPrice; - if ($customer !== null) { - $this->customer = $customer; - } - $isLoggedIn ? $this->login() : $this->customerAccountLogout->open(); - $this->checkoutCart->open()->getCartBlock()->clearShoppingCart(); - $this->addProductsToCart($productQuantity); - $this->checkoutCart->open(); - if ($address !== null) { - $this->checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($address); - $this->checkoutCart->getShippingBlock()->selectShippingMethod($shipping); - } - - if ($salesRule->getCouponCode()) { - $couponCode = $salesRule->getCouponCode(); - } elseif ($salesRuleOrigin->getCouponCode()) { - $couponCode = $salesRuleOrigin->getCouponCode(); - } - - if ($salesRule->getCouponCode() || $salesRuleOrigin->getCouponCode() || $couponCode) { - $this->checkoutCart->getDiscountCodesBlock()->applyCouponCode($couponCode); - } - $this->assert(); - } - - /** - * LogIn customer. - * - * @return void - */ - protected function login() - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $this->customer] - )->run(); - } - - /** - * Add products to cart. - * - * @param array $productQuantity - * @return void - */ - protected function addProductsToCart(array $productQuantity) - { - foreach ($productQuantity as $product => $quantity) { - if ($quantity > 0) { - $categoryName = $this->$product->getCategoryIds()[0]; - $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - $this->catalogCategoryView->getListProductBlock()->getProductItem($this->$product)->open(); - $this->catalogProductView->getViewBlock()->setQtyAndClickAddToCart($quantity); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsApplied.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsApplied.php deleted file mode 100644 index 8d0f404441368..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsApplied.php +++ /dev/null @@ -1,44 +0,0 @@ -checkoutCart->getTotalsBlock()->waitForShippingPriceBlock(); - $this->checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - $actualPrices['sub_total'] = $this->checkoutCart->getTotalsBlock()->getSubtotal(); - $actualPrices['grand_total'] = $this->checkoutCart->getTotalsBlock()->getGrandTotal(); - $actualPrices['discount'] = $this->checkoutCart->getTotalsBlock()->getDiscount(); - $expectedPrices = $this->cartPrice; - - \PHPUnit\Framework\Assert::assertEquals( - $expectedPrices, - $actualPrices, - 'Wrong total cart prices are displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Shopping cart subtotal doesn't equal to grand total - price rule has been applied."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsNotApplied.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsNotApplied.php deleted file mode 100644 index c051d6e9fd7fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleConditionIsNotApplied.php +++ /dev/null @@ -1,44 +0,0 @@ -checkoutCart->getTotalsBlock()->getSubtotal(); - $grandTotal = $this->checkoutCart->getTotalsBlock()->getGrandTotal(); - - if ($this->checkoutCart->getTotalsBlock()->isVisibleShippingPriceBlock()) { - $shippingPrice = $this->checkoutCart->getTotalsBlock()->getShippingPrice(); - $grandTotal = number_format(($grandTotal - $shippingPrice), 2); - } - \PHPUnit\Framework\Assert::assertEquals( - $subTotal, - $grandTotal, - 'Shopping cart subtotal: \'' . $subTotal . '\' not equals with grand total: \'' . $grandTotal . '\'' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Shopping cart subtotal equals to grand total - price rule has not been applied."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleForm.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleForm.php deleted file mode 100644 index ffdeadc015f8d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleForm.php +++ /dev/null @@ -1,116 +0,0 @@ - $salesRule->hasData('name') ? $salesRule->getName() : $salesRuleOrigin->getName(), - ]; - - $promoQuoteIndex->open(); - $promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen($filter); - $fixtureData = $salesRuleOrigin != null - ? array_merge($salesRuleOrigin->getData(), $salesRule->getData()) - : $salesRule->getData(); - $salesRuleMerged = $fixtureFactory->createByCode('salesRule', ['data' => $fixtureData]); - $formData = $promoQuoteEdit->getSalesRuleForm()->getData($salesRuleMerged); - $fixtureData = $salesRuleOrigin != null - ? array_merge($salesRuleOrigin->getData(), $salesRule->getData()) - : $salesRule->getData(); - if ($salesRuleAdditional) { - $fixtureData = array_merge($fixtureData, $salesRuleAdditional->getData()); - } - $dataDiff = $this->verify($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertTrue( - empty($dataDiff), - 'Sales rule data on edit page(backend) not equals to passed from fixture.' - . "\nFailed values:\n " . implode(";\n ", $dataDiff) - ); - } - - /** - * Verify data in form equals to passed from fixture. - * - * @param array $fixtureData - * @param array $formData - * @return array - */ - protected function verify(array $fixtureData, array $formData) - { - $errorMessage = []; - - foreach ($fixtureData as $key => $value) { - if (is_array($value)) { - $diff = array_diff($value, $formData[$key]); - $diff = array_merge($diff, array_diff($formData[$key], $value)); - if (!empty($diff)) { - $errorMessage[] = "Data in " . $key . " field is not equal." - . "\nExpected: " . implode(", ", $value) - . "\nActual: " . implode(", ", $formData[$key]); - } - } else { - if (!in_array($key, $this->skippedFields) && $value !== $formData[$key]) { - $errorMessage[] = "Data in " . $key . " field not equal." - . "\nExpected: " . $value - . "\nActual: " . $formData[$key]; - } - } - } - - return $errorMessage; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Displayed sales rule data on edit page(backend) equals to passed from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleFreeShippingIsApplied.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleFreeShippingIsApplied.php deleted file mode 100644 index b018d07913235..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleFreeShippingIsApplied.php +++ /dev/null @@ -1,42 +0,0 @@ -checkoutCart->getTotalsBlock()->getShippingPrice(); - - \PHPUnit\Framework\Assert::assertEquals( - $shippingPrice, - self::FREE_SHIPPING_PRICE, - 'Current shipping price: \'' . $shippingPrice - . '\' not equals with free shipping price: \'' . self::FREE_SHIPPING_PRICE . '\'' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Free shipping is applied.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleIsNotPresentedInGrid.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleIsNotPresentedInGrid.php deleted file mode 100644 index d0c1db7993a42..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleIsNotPresentedInGrid.php +++ /dev/null @@ -1,42 +0,0 @@ -getPromoQuoteGrid()->isRowVisible(['name' => $salesRule->getName()]), - 'Sales rule \'' . $salesRule->getName() . '\' is present in cart price rules grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales rule is not present in cart price rules grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php deleted file mode 100644 index 68c3910afccd1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessDeleteMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales rule success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php deleted file mode 100644 index c90bc3bffb904..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sales rule success save message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertSalesRuleOnPrintOrder.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertSalesRuleOnPrintOrder.php deleted file mode 100644 index 320df06822eee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertSalesRuleOnPrintOrder.php +++ /dev/null @@ -1,42 +0,0 @@ -getViewSalesRule()->getItemBlock()->getSalesRuleDiscount(), - "Sales rule amount not equals." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Sales rule amount was printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule.xml deleted file mode 100644 index 4cdee5d6fbe0e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule/ConditionsSerialized.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule/ConditionsSerialized.php deleted file mode 100644 index 30f3e3aef4035..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Fixture/SalesRule/ConditionsSerialized.php +++ /dev/null @@ -1,48 +0,0 @@ -chooserGrid = array_merge($this->chooserGrid, $this->additionalChooserGrid); - $this->params = $params; - foreach ($this->chooserGrid as $conditionsType => $chooserGrid) { - $data = preg_replace( - '#(' . preg_quote($conditionsType) . '\|.*?\|)([^\d].*?)#', - '${1}%' . $chooserGrid['class'] . '#' . $chooserGrid['field'] . '%${2}', - $data - ); - } - $this->data = $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/Curl.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/Curl.php deleted file mode 100644 index c0fa46cfb6d18..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/Curl.php +++ /dev/null @@ -1,255 +0,0 @@ - [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class, - 'attribute' => 'base_subtotal', - ], - 'Total Items Quantity' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class, - 'attribute' => 'total_qty', - ], - 'Conditions combination' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Combine::class, - 'aggregator' => 'all', - 'value' => '1', - ], - 'Products subselection' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product\Subselect::class, - 'attribute' => 'qty', - 'operator' => '==', - 'value' => '1', - 'aggregator' => 'all', - ], - 'Product attribute combination' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product\Found::class, - 'value' => '1', - 'aggregator' => 'all', - ], - 'Shipping Country' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class, - 'attribute' => 'country_id', - ], - 'Shipping Postcode' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class, - 'attribute' => 'postcode', - ], - 'Total Weight' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class, - 'attribute' => 'weight', - ], - 'Category' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product::class, - 'attribute' => 'category_ids', - ], - 'Price in cart' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product::class, - 'attribute' => 'quote_item_price', - ], - 'Quantity in cart' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product::class, - 'attribute' => 'quote_item_qty', - ], - 'Row total in cart' => [ - 'type' => \Magento\SalesRule\Model\Rule\Condition\Product::class, - 'attribute' => 'quote_item_row_total', - ] - ]; - - /** - * Map of type additional parameter. - * - * @var array - */ - protected $additionalMapTypeParams = []; - - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'is_active' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'coupon_type' => [ - 'No Coupon' => 1, - 'Specific Coupon' => 2, - 'Auto' => 3, - ], - 'is_rss' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'simple_action' => [ - 'Percent of product price discount' => 'by_percent', - 'Fixed amount discount' => 'by_fixed', - 'Fixed amount discount for whole cart' => 'cart_fixed', - 'Buy X get Y free (discount amount is Y)' => 'buy_x_get_y', - ], - 'apply_to_shipping' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'stop_rules_processing' => [ - 'Yes' => 1, - 'No' => 0, - ], - 'simple_free_shipping' => [ - 'No' => 0, - 'For matching items only' => 1, - 'For shipment with matching items' => 2, - ], - ]; - - /** - * Mapping values for Websites. - * - * @var array - */ - protected $websiteIds = [ - 'Main Website' => 1, - ]; - - /** - * Mapping values for customer group. - * - * @var array - */ - protected $customerIds = [ - 'NOT LOGGED IN' => 0, - 'General' => 1, - 'Wholesale' => 2, - 'Retailer' => 3, - ]; - - /** - * Post request for creating sales rule. - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $this->mapTypeParams = array_merge($this->mapTypeParams, $this->additionalMapTypeParams); - - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'sales_rule/promo_quote/save/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Sales rule entity creating by curl handler was not successful! Response: $response"); - } - - preg_match('` $matches[1]]; - } - - /** - * Prepare data for creating sales rule request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $this->fixture = $fixture; - $this->data = $this->replaceMappingData($this->fixture->getData()); - - $this->data['rule'] = []; - if (isset($this->data['conditions_serialized'])) { - $this->data['rule']['conditions'] = $this->prepareCondition($this->data['conditions_serialized']); - unset($this->data['conditions_serialized']); - } - - $this->prepareWebsites(); - $this->prepareCustomerGroup(); - - if (isset($this->data['actions_serialized'])) { - $this->mapTypeParams['Conditions combination']['type'] = - \Magento\SalesRule\Model\Rule\Condition\Product\Combine::class; - $this->data['rule']['actions'] = $this->prepareCondition($this->data['actions_serialized']); - unset($this->data['actions_serialized']); - } - - return $this->data; - } - - /** - * Prepare website data for curl. - * - * @return array - */ - protected function prepareWebsites() - { - $websiteIds = []; - if (!empty($this->data['website_ids'])) { - foreach ($this->data['website_ids'] as $name) { - $websiteIds[] = isset($this->websiteIds[$name]) ? $this->websiteIds[$name] : $name; - } - } - - $this->data['website_ids'] = $websiteIds; - } - - /** - * Prepare customer group data for curl. - * - * @return array - */ - protected function prepareCustomerGroup() - { - $groupIds = []; - if (!empty($this->data['customer_group_ids'])) { - foreach ($this->data['customer_group_ids'] as $name) { - $groupIds[] = isset($this->customerIds[$name]) ? $this->customerIds[$name] : $name; - } - } - - $this->data['customer_group_ids'] = $groupIds; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/SalesRuleInterface.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/SalesRuleInterface.php deleted file mode 100644 index 35196d9d3faa6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Handler/SalesRule/SalesRuleInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -handlerCurl = $handlerCurl; - } - - /** - * Post request for creating sales rule. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_frontend_url'] . 'rest/V1/salesRules'; - - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['rule_id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('sales rule creation by webapi handler was not successful!'); - } - - $this->createCoupon($response['rule_id']); - - return ['rule_id' => $response['rule_id']]; - } - - /** - * Prepare sales rule data for webapi request. - * - * @param FixtureInterface $fixture - * @return array - */ - public function prepareData(FixtureInterface $fixture) - { - $this->fixture = $fixture; - $this->data = $this->handlerCurl->prepareData($fixture); - - $this->prepareRuleInformation(); - $this->prepareConditions(); - $this->prepareActions(); - $this->prepareLabels(); - unset($this->data['rule']); - $this->prepareExtensionAttributes(); - - return ['rule' => $this->data]; - } - - /** - * Preparation of "Rule Information" tab. - * - * @return void - */ - protected function prepareRuleInformation() - { - $this->data = array_diff_key($this->data, array_flip($this->couponFields)); - $this->data['coupon_type'] = strtoupper(str_replace(' ', '_', $this->fixture->getCouponType())); - } - - /** - * Preparation of "Conditions" tab. - * - * @return void - */ - protected function prepareConditions() - { - if (isset($this->data['rule']['conditions'])) { - $this->data['condition'] = $this->convertCondition($this->data['rule']['conditions'])[0]; - } - } - - /** - * Preparation of "Actions" tab. - * - * @return void - */ - protected function prepareActions() - { - if (isset($this->data['rule']['actions'])) { - $this->data['action_condition'] = $this->convertCondition($this->data['rule']['actions'])[0]; - } - } - - /** - * Preparation of "Labels" tab. - * - * @return void - */ - protected function prepareLabels() - { - if (isset($this->data['store_labels'])) { - foreach ($this->data['store_labels'] as $storeId => $label) { - $this->data['store_labels'][$storeId] = [ - 'store_id' => $storeId, - 'store_label' => $label - ]; - } - } - } - - /** - * Create coupon related to sales rule . - * - * @param int $ruleId - * @return void - * @throws \Exception - */ - protected function createCoupon($ruleId) - { - if (!$this->fixture->hasData('coupon_code')) { - return; - } - - $url = $_ENV['app_frontend_url'] . 'rest/V1/coupons'; - $data = [ - 'coupon' => array_filter([ - 'rule_id' => $ruleId, - 'code' => $this->fixture->getCouponCode(), - 'type' => $this->mappingData['coupon_type'][$this->fixture->getCouponType()], - 'usage_limit' => isset($this->data['uses_per_coupon']) - ? $this->data['uses_per_coupon'] - : null, - 'usage_per_customer' => isset($this->data['usage_per_customer']) - ? $this->data['usage_per_customer'] - : null, - 'is_primary' => true - ]) - ]; - - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['coupon_id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Coupon creation by webapi handler was not successful!'); - } - } - - /** - * Convert condition data to webapi structure request. - * - * @param array $condition - * @param string $prefix [optional] - * @param int $indent [optional] - * @return array - * - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - protected function convertCondition(array $condition, $prefix = '', $indent = 1) - { - $result = []; - - $key = "{$prefix}{$indent}"; - $isContinue = isset($condition[$key]); - while ($isContinue) { - $childCondition = $this->convertCondition($condition, "{$prefix}{$indent}--", 1); - $result[] = array_filter([ - 'condition_type' => $condition[$key]['type'], - 'aggregator_type' => isset($condition[$key]['aggregator']) - ? $condition[$key]['aggregator'] - : null, - 'attribute_name' => isset($condition[$key]['attribute']) - ? $condition[$key]['attribute'] - : null, - 'operator' => isset($condition[$key]['operator']) - ? $condition[$key]['operator'] - : null, - 'value' => $condition[$key]['value'], - 'conditions' => empty($childCondition) ? null : $childCondition - ], [$this, 'filterCondition']); - - $indent += 1; - $key = "{$prefix}{$indent}"; - $isContinue = isset($condition[$key]); - } - - return $result; - } - - /** - * Prepare extension attributes for the sales rule. - * - * @return void - */ - protected function prepareExtensionAttributes() - { - foreach ($this->data as $fieldName => $fieldValue) { - if (!in_array($fieldName, $this->basicAttributes)) { - $this->data['extension_attributes'][$fieldName] = $fieldValue; - unset($this->data[$fieldName]); - } - } - } - - /** - * Filter condition data. - * - * @param mixed $var - * @return bool - */ - public function filterCondition($var) - { - return null !== $var; - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteEdit.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteEdit.xml deleted file mode 100644 index 9b20cb459e47b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteEdit.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteIndex.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteIndex.xml deleted file mode 100644 index 066c4fd179cfb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteIndex.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteNew.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteNew.xml deleted file mode 100644 index cc7f16fa22bd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/Adminhtml/PromoQuoteNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/SalesGuestPrint.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/SalesGuestPrint.xml deleted file mode 100644 index f67ca9afa3e43..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Page/SalesGuestPrint.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/ConfigData.xml deleted file mode 100644 index cceaa2e771793..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - - 100000 - - - - - - carriers - 1 - No - 0 - - - carriers - 1 - - 0 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/SalesRule.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/SalesRule.xml deleted file mode 100644 index 5cb5b4db72769..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/Repository/SalesRule.xml +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - Default price rule %isolation% - Yes - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - No Coupon - Percent of product price discount - 50 - - - - Cart Price Rule with Specific Coupon %isolation% - Description for Cart Price Rule - Yes - - Main Website - - - NOT LOGGED IN - - Specific Coupon - 123-abc-ABC-987-%isolation% - Percent of product price discount - 50 - - Cart Price Rule with Specific Coupon - Cart Price Rule with Specific Coupon - - - - - 10% Off Coupon - Yes - - Main Website - - - NOT LOGGED IN - - Specific Coupon - 1234 - Percent of product price discount - 10 - - - - Cart Price Rule with Specific Coupon %isolation% - Description for Cart Price Rule - Yes - - Main Website - - - NOT LOGGED IN - General - - Specific Coupon - 123-abc-ABC-987-%isolation% - Fixed amount discount - 50 - - Cart Price Rule with Specific Coupon - Cart Price Rule with Specific Coupon - - - - - Cart Price Rule %isolation% - Description for Cart Price Rule - Yes - - Main Website - - - Retailer - - No Coupon - Percent of product price discount - 50 - Yes - - - Cart Price Rule with complex conditions %isolation% - Cart Price Rule with complex conditions - Yes - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - Specific Coupon - 123-abc-ABC-987-%isolation% - 13 - 63 - - 03/25/2014 - - - - - - 1 - Yes - [Subtotal|is|300]{Conditions combination:[[Shipping Country|is|United States][Shipping Postcode|is|123456789a]]} - [Category|is|2] - Percent of product price discount - 50 - 0 - Yes - Yes - For matching items only - - Cart Price Rule with complex conditions - Cart Price Rule with complex conditions - - - - - Inactive Cart Price Rule %isolation% - No - - Main Website - - - NOT LOGGED IN - - No Coupon - Percent of product price discount - 50 - - - - Cart Price Rule with Specific Coupon %isolation% - Description for Cart Price Rule - Yes - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - Specific Coupon - 123-abc-ABC-987-%isolation% - Percent of product price discount - 50 - - Cart Price Rule with Specific Coupon - Cart Price Rule with Specific Coupon - - - - - Cart Price Rule without Coupon %isolation% - Description for Cart Price Rule - Yes - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - No Coupon - Percent of product price discount - 50 - - - - Cart Price Rule with product subselection %isolation% - Cart Price Rule with product subselection - Yes - - Main Website - - - NOT LOGGED IN - - No Coupon - 0 - Yes - {Products subselection|qty|is|2|:[[Price in cart|is|50]]} - {Conditions combination|ALL|TRUE|:[[Price in cart|is|50]]} - Percent of product price discount - 10 - 1 - 0 - No - No - No - - Cart Price Rule with subselection - Cart Price Rule with subselection - - - - - Cart price rule with attribute conditions %isolation% - Yes - - Main Website - - - NOT LOGGED IN - - No Coupon - 0 - Yes - {Product attribute combination|FOUND|ANY|:[[Price in cart|greater than|99][Quantity in cart|greater than|3]]} - {Conditions combination|ANY|TRUE|:[[Price in cart|greater than|99][Quantity in cart|greater than|3]]} - Fixed amount discount - 6 - No - No - No - - - - Cart price rule with row total condition %isolation% - Yes - - Main Website - - - NOT LOGGED IN - - No Coupon - 0 - Yes - {Product attribute combination:[[Row total in cart|greater than|50]]} - [Row total in cart|greater than|50] - Fixed amount discount - 6 - No - No - No - - - - Cart price rule with total items %isolation% - Yes - - Main Website - - - NOT LOGGED IN - - No Coupon - 1 - Yes - [Total Items Quantity|equals or greater than|3] - Percent of product price discount - 25 - No - No - No - - - Cart price rule with free shipping by weight %isolation% - Yes - - Main Website - - - NOT LOGGED IN - - No Coupon - 1 - Yes - [Total Weight|is|1] - Percent of product price discount - 0 - No - No - For matching items only - - - Cart price rule with free shipping %isolation% - Yes - - Main Website - - - NOT LOGGED IN - General - Wholesale - Retailer - - No Coupon - 1 - Yes - Percent of product price discount - 0 - Yes - No - For shipment with matching items - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.php deleted file mode 100644 index 134189073d168..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.php +++ /dev/null @@ -1,86 +0,0 @@ -fixtureFactory = $fixtureFactory; - } - - /** - * Apply several sales rules. - * - * @param array $salesRules - * @param CatalogProductSimple $productForSalesRule1 - * @param CatalogProductSimple $productForSalesRule2 - */ - public function testApplySeveralSalesRules( - array $salesRules, - CatalogProductSimple $productForSalesRule1, - CatalogProductSimple $productForSalesRule2 - ) { - // Preconditions - $productForSalesRule1->persist(); - $productForSalesRule2->persist(); - - // Create sales rules - foreach ($salesRules as $key => $dataSet) { - $salesRule[$key] = $this->fixtureFactory->createByCode( - 'salesRule', - ['dataset' => $dataSet] - ); - $salesRule[$key]->persist(); - } - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\SalesRule\Test\TestStep\DeleteAllSalesRuleStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.xml deleted file mode 100644 index 3dfe4cf118552..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ApplySeveralSalesRuleEntityTest.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - active_sales_rule_product_subselection - active_sales_rule_product_attribute - 200.00 - 204.00 - 11.00 - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 2 - - - - active_sales_rule_for_all_groups_no_coupon - active_sales_rule_row_total - 100.00 - 55.00 - 50.00 - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - - - - active_sales_rule_product_attribute - active_sales_total_items - 250.00 - 193.50 - 71.50 - simple_for_salesrule_1 - simple_for_salesrule_2 - 2 - 1 - - - - active_sales_rule_row_total - active_sales_total_items - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.php deleted file mode 100644 index bdc010832d43b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.php +++ /dev/null @@ -1,42 +0,0 @@ - Cart Price Rule. - * 3. Create Cart Price rule according to dataset and click "Save" button. - * 4. Perform asserts. - * - * @group Shopping_Cart_Price_Rules - * @ZephyrId MAGETWO-24855 - */ -class CreateSalesRuleEntityPartOneTest extends CreateSalesRuleEntityTest -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - // This blank class is created only to run long variation(s) as a separate test in parallel environment -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.xml deleted file mode 100644 index 23256b192b2d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartOneTest.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - mftf_migrated:yes - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule7 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - Percent of product price discount - 50 - No - For matching items only - Free Shipping in conditions - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 1 - 150.00 - 75.00 - 75.00 - - - - - - - mftf_migrated:yes - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule8 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - [Subtotal|is|150] - Percent of product price discount - 50 - No - No - Sales Cart Rule labels - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 1 - 150.00 - 85.00 - 75.00 - - - - - - mftf_migrated:yes - Cart Price Rule9 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - [Total Items Quantity|is|3] - Percent of product price discount - 50 - No - No - Total Items Quantity-Not Applied test - simple_for_salesrule_1 - 2 - - - - - - mftf_migrated:yes - Cart Price Rule10 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - category - {Product attribute combination:[Category|is|%category_id%]} - Percent of product price discount - 50 - No - No - Product attribute combination - Category - simple_for_salesrule_1 - simple_for_salesrule_2 - 2 - 1 - 250.00 - 140.00 - 125.00 - - - - - - mftf_migrated:yes - Cart Price Rule11 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - [Total Weight|is|200] - Percent of product price discount - 50 - No - No - Total Weight is 200 - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 2 - 200.00 - 115.00 - 100.00 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.php deleted file mode 100644 index 1e93cad8e7c8e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.php +++ /dev/null @@ -1,42 +0,0 @@ - Cart Price Rule. - * 3. Create Cart Price rule according to dataset and click "Save" button. - * 4. Perform asserts. - * - * @group Shopping_Cart_Price_Rules - * @ZephyrId MAGETWO-24855 - */ -class CreateSalesRuleEntityPartTwoTest extends CreateSalesRuleEntityTest -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - // This blank class is created only to run long variation(s) as a separate test in parallel environment -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.xml deleted file mode 100644 index 5968ff11d245c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityPartTwoTest.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule12 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - {Conditions combination:[[Shipping Method|is|\[flatrate\] Fixed][Shipping Postcode|is|95814][Shipping State/Province|is|California][Shipping Country|is|United States]]} - Percent of product price discount - 50 - No - No - Rule applied conditions combination - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 1 - 150.00 - 85.00 - 75.00 - - - - - - test_type:extended_acceptance_test - Cart Price Rule13 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - {Product attribute combination:[Attribute Set|is|Default]} - Percent of product price discount - 50 - No - No - Product attribute discount - simple_for_salesrule_1 - 1 - 100.00 - 55.00 - 50.00 - - - - - - Cart Price Rule14 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - attribute - {Product attribute combination:[%attribute_name%|is|%attribute_value%]} - Percent of product price discount - 50 - No - No - Product attribute combination - attribute - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 50.00 - 30.00 - 25.00 - - - - - - Cart Price Rule15 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - category - {Product attribute combination:[Category|is not|%category_id%]} - Percent of product price discount - 50 - No - No - Product attribute combination - Category is not - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 1 - 150.00 - 85.00 - 75.00 - - - - - Cart Price Rule1 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - Percent of product price discount - [Subtotal|greater than|0] - 50 - No - For matching items only - Sales Cart Rule labels - 100.00 - 50.00 - 50.00 - United States - California - 95814 - simple_for_salesrule_1 - 1 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.php deleted file mode 100644 index 409dab770faa8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.php +++ /dev/null @@ -1,198 +0,0 @@ - Cart Price Rule. - * 3. Create Cart Price rule according to dataset and click "Save" button. - * 4. Perform asserts. - * - * @group Shopping_Cart_Price_Rules - * @ZephyrId MAGETWO-24855 - */ -class CreateSalesRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Page PromoQuoteNew. - * - * @var PromoQuoteNew - */ - protected $promoQuoteNew; - - /** - * Page PromoQuoteEdit. - * - * @var PromoQuoteEdit - */ - protected $promoQuoteEdit; - - /** - * Page PromoQuoteIndex. - * - * @var PromoQuoteIndex - */ - protected $promoQuoteIndex; - - /** - * Sales rule name. - * - * @var string - */ - protected $salesRuleName; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Inject pages. - * - * @param PromoQuoteNew $promoQuoteNew - * @param PromoQuoteIndex $promoQuoteIndex - * @param PromoQuoteEdit $promoQuoteEdit - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - PromoQuoteNew $promoQuoteNew, - PromoQuoteIndex $promoQuoteIndex, - PromoQuoteEdit $promoQuoteEdit, - FixtureFactory $fixtureFactory - ) { - $this->promoQuoteNew = $promoQuoteNew; - $this->promoQuoteIndex = $promoQuoteIndex; - $this->promoQuoteEdit = $promoQuoteEdit; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Create Sales Price Rule. - * - * @param SalesRule $salesRule - * @param CatalogProductSimple $productForSalesRule1 - * @param CatalogProductSimple $productForSalesRule2 - * @param Customer $customer - * @param string $conditionEntity - */ - public function testCreateSalesRule( - SalesRule $salesRule, - CatalogProductSimple $productForSalesRule1, - CatalogProductSimple $productForSalesRule2 = null, - Customer $customer = null, - $conditionEntity = null, - SalesRule $salesRuleEdit = null - ) { - $replace = null; - $this->salesRuleName = $salesRule->getName(); - - // Prepare data - if ($customer !== null) { - $customer->persist(); - } - $productForSalesRule1->persist(); - if ($productForSalesRule2 !== null) { - $productForSalesRule2->persist(); - if ($conditionEntity !== null) { - $replace = $this->prepareCondition($productForSalesRule2, $conditionEntity); - } - } - - // Steps - $this->promoQuoteNew->open(); - $this->promoQuoteNew->getSalesRuleForm()->fill($salesRule, null, $replace); - - if ($salesRule->getCouponType() == "Auto") { - $this->promoQuoteNew->getFormPageActions()->saveAndContinue(); - $form = $this->promoQuoteEdit->getSalesRuleForm(); - $form->openSection('manage_coupon_code'); - /** @var ManageCouponCode $section */ - $section = $form->getSection('manage_coupon_code'); - $section->fill($salesRuleEdit); - $section->generateCouponCodes(); - $couponCode = $section->getGeneratedCouponCode(); - $this->promoQuoteEdit->getFormPageActions()->save(); - - return ["couponCode" => $couponCode]; - } else { - $this->promoQuoteNew->getFormPageActions()->save(); - } - } - - /** - * Prepare condition for Sales rule. - * - * @param CatalogProductSimple $productSimple - * @param string $conditionEntity - * @return array - */ - protected function prepareCondition(CatalogProductSimple $productSimple, $conditionEntity) - { - $result = []; - - switch ($conditionEntity) { - case 'category': - $result['%category_id%'] = $productSimple->getDataFieldConfig('category_ids')['source']->getIds()[0]; - break; - case 'attribute': - /** @var \Magento\Catalog\Test\Fixture\CatalogProductAttribute[] $attrs */ - $attributes = $productSimple->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source']->getAttributes(); - - $result['%attribute_name%'] = $attributes[0]->getFrontendLabel(); - $result['%attribute_value%'] = $attributes[0]->getOptions()[0]['view']; - break; - } - - return [ - 'conditions' => [ - 'conditions_serialized' => $result, - ], - ]; - } - - /** - * Delete current sales rule. - * - * @return void - */ - public function tearDown(): void - { - $filter = [ - 'name' => $this->salesRuleName, - ]; - - $this->promoQuoteIndex->open(); - $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen($filter); - $this->promoQuoteEdit->getFormPageActions()->delete(); - $this->promoQuoteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml deleted file mode 100644 index 4995c1feb048e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Cart Price Rule1 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - Percent of product price discount - 50 - No - No - Sales Cart Rule labels - 100.00 - 55.00 - 50.00 - United States - California - 95814 - Flat Rate - Fixed - simple_for_salesrule_1 - 1 - - - - - - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule2 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - Specific Coupon - 1A2B3C-456-zxc-%isolation% - Fixed amount discount - 35 - No - No - Coupon code+fixed amount discount - simple_for_salesrule_1 - 2 - 200.00 - 140.00 - 70.00 - - - - - - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule3 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - Specific Coupon - Lorem ipsum dolor sit amet, consectetur adipiscing elit - %isolation% - Fixed amount discount for whole cart - 60 - No - Coupon code+Fixed amount discount for whole cart - simple_for_salesrule_1 - 3 - 300.00 - 255.00 - 60.00 - - - - - - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule4 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - Specific Coupon - 1A2B3C-456-zxc-%isolation% - Buy X get Y free (discount amount is Y) - 1 - 3 - No - No - Buy X get Y free - simple_for_salesrule_1 - 4 - 400.00 - 320.00 - 100.00 - - - - - - United States - California - 95814 - Flat Rate - Fixed - test_type:extended_acceptance_test - 1 - default - Cart Price Rule5 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - General - No Coupon - Percent of product price discount - 50 - 2 - No - No - simple_for_salesrule_1 - 3 - 300.00 - 215.00 - 100.00 - - - - - - stable:no - United States - California - 95814 - Flat Rate - Fixed - Cart Price Rule6 %isolation% - Cart Price Rule Description %isolation% - Yes - Main Website - NOT LOGGED IN - No Coupon - Percent of product price discount - 50 - Yes - No - Apply discount to Shipping Amount - simple_for_salesrule_1 - simple_for_salesrule_2 - 1 - 1 - 150.00 - 80.00 - 80.00 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.php deleted file mode 100644 index 5158b91a51179..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.php +++ /dev/null @@ -1,86 +0,0 @@ - Cart Price Rules. - * 3. Open from grid test Rule. - * 4. Click 'Delete' button. - * 5. Perform asserts. - * - * @group Shopping_Cart_Price_Rules - * @ZephyrId MAGETWO-24985 - */ -class DeleteSalesRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page PromoQuoteEdit. - * - * @var PromoQuoteEdit - */ - protected $promoQuoteEdit; - - /** - * Page PromoQuoteIndex. - * - * @var PromoQuoteIndex - */ - protected $promoQuoteIndex; - - /** - * Inject pages. - * - * @param PromoQuoteIndex $promoQuoteIndex - * @param PromoQuoteEdit $promoQuoteEdit - */ - public function __inject( - PromoQuoteIndex $promoQuoteIndex, - PromoQuoteEdit $promoQuoteEdit - ) { - $this->promoQuoteIndex = $promoQuoteIndex; - $this->promoQuoteEdit = $promoQuoteEdit; - } - - /** - * Delete Sales Rule Entity. - * - * @param SalesRule $salesRule - * @param CatalogProductSimple $productForSalesRule1 - * @return void - */ - public function test(SalesRule $salesRule, CatalogProductSimple $productForSalesRule1 = null) - { - // Preconditions - $salesRule->persist(); - - if ($productForSalesRule1) { - $productForSalesRule1->persist(); - } - - // Steps - $this->promoQuoteIndex->open(); - $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen(['name' => $salesRule->getName()]); - $this->promoQuoteEdit->getFormPageActions()->delete(); - $this->promoQuoteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.xml deleted file mode 100644 index c9af05b8f779a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/DeleteSalesRuleEntityTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - mftf_migrated:yes - active_sales_rule_with_percent_price_discount_coupon - - - - - mftf_migrated:yes - active_sales_rule_with_complex_conditions - - - - - mftf_migrated:yes - inactive_sales_rule - simple_for_salesrule_1 - 1 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 1eeaeaaa483c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > Cart Price Rules - Cart Price Rules - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutPaymentMethodDataPersistenceWithDiscountTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutPaymentMethodDataPersistenceWithDiscountTest.php deleted file mode 100644 index d330ec7fdbb91..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutPaymentMethodDataPersistenceWithDiscountTest.php +++ /dev/null @@ -1,27 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutWithDiscountTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutWithDiscountTest.php deleted file mode 100644 index 1da881d3c7345..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/OnePageCheckoutWithDiscountTest.php +++ /dev/null @@ -1,27 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.php deleted file mode 100644 index edbe5e05fdd2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.php +++ /dev/null @@ -1,170 +0,0 @@ -testStepFactory = $testStepFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Test sales rule with free shipping applied by cart price rule - * - * @param \Magento\Catalog\Test\Fixture\CatalogProductAttribute $productAttribute - * @param array $shipping - * @param string $configData - * @param int $freeShipping - * @return void - */ - public function testRuleWithFreeShippingAndFlatRate( - \Magento\Catalog\Test\Fixture\CatalogProductAttribute $productAttribute, - array $shipping, - string $configData, - int $freeShipping - ) { - $productAttribute->persist(); - $this->testStepFactory->create( - \Magento\Catalog\Test\TestStep\AddAttributeToAttributeSetStep::class, - ['attribute' => $productAttribute] - )->run(); - - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - - $cond = '{Product attribute combination|FOUND|ALL|:[[' . $productAttribute->getAttributeCode() . '|is|Yes]]}'; - $salesRule = $this->fixtureFactory->createByCode( - 'salesRule', - [ - 'dataset' => 'rule_with_freeshipping', - 'data' => [ - 'conditions_serialized' => $cond - ] - ] - ); - $this->testStepFactory->create( - \Magento\SalesRule\Test\TestStep\CreateSalesRuleThroughAdminStep::class, - ['salesRule' => $salesRule] - )->run(); - - $customAttribute = ['value' => $freeShipping, 'attribute' => $productAttribute]; - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => [ - 'custom_attribute' => $customAttribute - ], - ] - ); - $product->persist(); - - // Set values for deletion - $this->salesRuleName = $salesRule->getName(); - $this->configData = $configData; - $this->attribute = $productAttribute; - - $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - )->run(); - - $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodOnEstimateStep::class, - ['shipping' => $shipping] - )->run(); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - - $this->testStepFactory->create( - \Magento\SalesRule\Test\TestStep\DeleteSalesRulesStep::class, - ['salesRules' => [$this->salesRuleName]] - )->run(); - - $this->testStepFactory->create( - \Magento\Catalog\Test\TestStep\DeleteAttributeStep::class, - ['attribute' => $this->attribute] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.xml deleted file mode 100644 index c64448c387237..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingAndFlatRateTest.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - freeshipping_minimum_order_amount_100000 - free_shipping - 1 - Flat Rate - Fixed - Free Shipping - Free - true - 560.00 - 5.00 - 565.00 - false - - - - - freeshipping_minimum_order_amount_100000 - free_shipping - 1 - Free Shipping - Free - Free Shipping - Free - true - 560.00 - 0.00 - 560.00 - false - - - - - freeshipping_minimum_order_amount_100000 - free_shipping - 0 - Flat Rate - Fixed - Free Shipping - Free - false - 560.00 - 5.00 - 565.00 - false - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.php deleted file mode 100644 index c3276214838e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.php +++ /dev/null @@ -1,77 +0,0 @@ -testStepFactory = $testStepFactory; - } - - /** - * Test sales rule with free shipping applied by product weight - * - * @param \Magento\SalesRule\Test\Fixture\SalesRule $salesRule - * @param \Magento\Catalog\Test\Fixture\CatalogProductSimple $product - * @param \Magento\Checkout\Test\Fixture\Cart $cart - * @return void - */ - public function testRuleWithFreeShippingByWeight( - \Magento\SalesRule\Test\Fixture\SalesRule $salesRule, - \Magento\Catalog\Test\Fixture\CatalogProductSimple $product, - \Magento\Checkout\Test\Fixture\Cart $cart - ) { - $salesRule->persist(); - $product->persist(); - - $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - )->run(); - - $this->testStepFactory->create( - \Magento\Checkout\Test\TestStep\EstimateShippingAndTaxStep::class, - ['products' => [$product], 'cart' => $cart] - )->run(); - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - $this->testStepFactory->create(\Magento\SalesRule\Test\TestStep\DeleteAllSalesRuleStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.xml deleted file mode 100644 index 68e2f7965fb47..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/ShoppingCartWithFreeShippingTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - rule_with_freeshipping_by_weight - default - 560.00 - 0.00 - 560.00 - - - rule_with_freeshipping_by_weight - simple_with_weight_10 - 560.00 - 5.00 - 565.00 - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.php deleted file mode 100644 index 8d195973c5892..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.php +++ /dev/null @@ -1,145 +0,0 @@ - Cart Price Rules. - * 3. Click Cart Price Rule from grid. - * 4. Edit test value(s) according to dataset. - * 5. Click 'Save' button. - * 6. Perform asserts. - * - * @group Shopping_Cart_Price_Rules - * @ZephyrId MAGETWO-24860 - */ -class UpdateSalesRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Page PromoQuoteEdit. - * - * @var PromoQuoteEdit - */ - protected $promoQuoteEdit; - - /** - * Page PromoQuoteIndex. - * - * @var PromoQuoteIndex - */ - protected $promoQuoteIndex; - - /** - * Sales rule name. - * - * @var string - */ - protected $salesRuleName; - - /** - * Replace array to fill in category id - * - * @var array - */ - protected $replace; - - /** - * Create simple product with category. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $productForSalesRule1 = $fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => 'simple_for_salesrule_1'] - ); - $productForSalesRule1->persist(); - $this->replace = [ - 'actions' => [ - 'actions_serialized' => [ - '%category_id%' => $productForSalesRule1->getDataFieldConfig('category_ids')['source']->getIds()[0] - ] - ], - ]; - return [ - 'productForSalesRule1' => $productForSalesRule1, - ]; - } - - /** - * Inject pages. - * - * @param PromoQuoteIndex $promoQuoteIndex - * @param PromoQuoteEdit $promoQuoteEdit - * @return void - */ - public function __inject( - PromoQuoteIndex $promoQuoteIndex, - PromoQuoteEdit $promoQuoteEdit - ) { - $this->promoQuoteIndex = $promoQuoteIndex; - $this->promoQuoteEdit = $promoQuoteEdit; - } - - /** - * Update Sales Rule Entity. - * - * @param SalesRule $salesRule - * @param SalesRule $salesRuleOrigin - * @return void - */ - public function testUpdateSalesRule( - SalesRule $salesRule, - SalesRule $salesRuleOrigin - ) { - // Preconditions - $salesRuleOrigin->persist(); - $filter = [ - 'name' => $salesRuleOrigin->getName(), - ]; - $this->salesRuleName = $salesRule->hasData('name') ? $salesRule->getName() : $salesRuleOrigin->getName(); - - // Steps - $this->promoQuoteIndex->open(); - $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen($filter); - $this->promoQuoteEdit->getSalesRuleForm()->fill($salesRule, null, $this->replace); - $this->promoQuoteEdit->getFormPageActions()->save(); - } - - /** - * Delete current sales rule. - * - * @return void - */ - public function tearDown(): void - { - $filter = [ - 'name' => $this->salesRuleName, - ]; - - $this->promoQuoteIndex->open(); - $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen($filter); - $this->promoQuoteEdit->getFormPageActions()->delete(); - $this->promoQuoteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.xml deleted file mode 100644 index f0345a6a1d848..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/UpdateSalesRuleEntityTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - active_sales_rule_with_complex_conditions - [Subtotal|is|400] - [Category|is|%category_id%] - Buy X get Y free (discount amount is Y) - 1 - 3 - No - 4 - United States - California - 95814 - Flat Rate - Fixed - 400.00 - 300.00 - 100.00 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnBackendStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnBackendStep.php deleted file mode 100644 index c1a65a54353b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnBackendStep.php +++ /dev/null @@ -1,54 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->salesRule = $salesRule; - } - - /** - * Apply gift card on place order in admin. - * - * @return void - */ - public function run() - { - if ($this->salesRule !== null) { - $this->orderCreateIndex->getCouponsBlock()->applyCouponCode($this->salesRule); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnCheckoutStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnCheckoutStep.php deleted file mode 100644 index 0780a3b66a9bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnCheckoutStep.php +++ /dev/null @@ -1,54 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->salesRule = $salesRule; - } - - /** - * Apply coupon on payment information step. - * - * @return void - */ - public function run() - { - if ($this->salesRule !== null) { - $this->checkoutOnepage->getDiscountCodesBlock()->applyCouponCode($this->salesRule->getCouponCode()); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnFrontendStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnFrontendStep.php deleted file mode 100644 index e185accdddd0b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/ApplySalesRuleOnFrontendStep.php +++ /dev/null @@ -1,55 +0,0 @@ -checkoutCart = $checkoutCart; - $this->salesRule = $salesRule; - } - - /** - * Apply coupon before one page checkout. - * - * @return void - */ - public function run() - { - if ($this->salesRule !== null) { - $this->checkoutCart->getDiscountCodesBlock()->applyCouponCode($this->salesRule->getCouponCode()); - $this->checkoutCart->getTotalsBlock()->waitForUpdatedTotals(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleStep.php deleted file mode 100644 index 7be171a6c4615..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleStep.php +++ /dev/null @@ -1,84 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->salesRule = $salesRule; - $this->deleteAllSalesRule = $deleteRule; - } - - /** - * Create sales rule. - * - * @return array - */ - public function run() - { - $result['salesRule'] = null; - if ($this->salesRule !== null) { - $salesRule = $this->fixtureFactory->createByCode( - 'salesRule', - ['dataset' => $this->salesRule] - ); - $salesRule->persist(); - $result['salesRule'] = $salesRule; - } - - return $result; - } - - /** - * Delete all sales rule. - * - * @return void - */ - public function cleanup() - { - if ($this->salesRule !== null) { - $this->deleteAllSalesRule->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleThroughAdminStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleThroughAdminStep.php deleted file mode 100644 index 3e5061e2bef9c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/CreateSalesRuleThroughAdminStep.php +++ /dev/null @@ -1,56 +0,0 @@ -promoQuoteNew = $promoQuoteNew; - $this->salesRule = $salesRule; - } - - /** - * Fill and save the SalesRule form. - * - * @return void - */ - public function run() - { - $this->promoQuoteNew->open(); - $this->promoQuoteNew->getSalesRuleForm()->fill($this->salesRule); - $this->promoQuoteNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteAllSalesRuleStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteAllSalesRuleStep.php deleted file mode 100644 index f34b67a446615..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteAllSalesRuleStep.php +++ /dev/null @@ -1,61 +0,0 @@ -promoQuoteIndex = $promoQuoteIndex; - $this->promoQuoteEdit = $promoQuoteEdit; - } - - /** - * Delete Sales Rule on backend. - * - * @return array - */ - public function run() - { - $this->promoQuoteIndex->open(); - $this->promoQuoteIndex->getPromoQuoteGrid()->resetFilter(); - while ($this->promoQuoteIndex->getPromoQuoteGrid()->isFirstRowVisible()) { - $this->promoQuoteIndex->getPromoQuoteGrid()->openFirstRow(); - $this->promoQuoteEdit->getFormPageActions()->delete(); - $this->promoQuoteEdit->getModalBlock()->acceptAlert(); - $this->promoQuoteIndex->getSystemMessageDialog()->closePopup(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteSalesRulesStep.php b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteSalesRulesStep.php deleted file mode 100644 index 5e1576fc554da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestStep/DeleteSalesRulesStep.php +++ /dev/null @@ -1,69 +0,0 @@ -promoQuoteIndex = $promoQuoteIndex; - $this->promoQuoteEdit = $promoQuoteEdit; - $this->salesRules = $salesRules; - } - - /** - * Delete Sales Rules on backend. - * - * @return void - */ - public function run() - { - $this->promoQuoteIndex->open(); - foreach ($this->salesRules as $salesRuleName) { - $filter = ['name' => $salesRuleName]; - $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen($filter); - $this->promoQuoteEdit->getFormPageActions()->delete(); - $this->promoQuoteEdit->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/curl/di.xml deleted file mode 100644 index 02fe89c82d2e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/testcase.xml deleted file mode 100644 index dc2cc99dd0634..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/testcase.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/webapi/di.xml deleted file mode 100644 index c2403a18b28d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/etc/webapi/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/Edit/SynonymGroupForm.php b/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/Edit/SynonymGroupForm.php deleted file mode 100644 index 8f9614174187a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/Edit/SynonymGroupForm.php +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - [name="scope_id"] - selectstore - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/SynonymGroupGrid.php b/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/SynonymGroupGrid.php deleted file mode 100644 index c7c8b4ab6a32b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Block/Adminhtml/Block/SynonymGroupGrid.php +++ /dev/null @@ -1,57 +0,0 @@ - [ - 'selector' => '[name="synonyms"]', - ], - 'scope_id' => [ - 'selector' => '[name="scope_id"]', - 'input' => 'simplifiedselect' - ], - 'group_id' => [ - 'selector' => '[name="group_id"]', - ], - 'website_id' => [ - 'selector' => '[name="website_id"]', - 'input' => 'select', - ], - ]; - - /** - * Click on "Edit" link. - * - * @param SimpleElement $rowItem - * @return void - */ - protected function clickEditLink(SimpleElement $rowItem) - { - $rowItem->find($this->selectAction)->click(); - $rowItem->find($this->editLink)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupDeleteMessage.php deleted file mode 100644 index 01d6542017bbe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Synonym Group success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupInGrid.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupInGrid.php deleted file mode 100644 index 7f20e00ac360b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupInGrid.php +++ /dev/null @@ -1,85 +0,0 @@ -open(); - - $this->prepareFilter($synonymGroup, $synonymFilter); - $synonymGroupIndex->getSynonymGroupGrid()->search($this->filter); - - \PHPUnit\Framework\Assert::assertTrue( - $synonymGroupIndex->getSynonymGroupGrid()->isRowVisible($this->filter, false, false), - 'Synonym Group is absent in Synonym grid' - ); - - \PHPUnit\Framework\Assert::assertEquals( - count($synonymGroupIndex->getSynonymGroupGrid()->getAllIds()), - 1, - 'There is more than one synonyms founded' - ); - } - - /** - * Prepare filter for search synonyms. - * - * @param SynonymGroup $synonymGroup - * @param array|null $synonymFilter - * @return void - */ - private function prepareFilter(SynonymGroup $synonymGroup, $synonymFilter = null) - { - $data = $synonymGroup->getData(); - $this->filter = [ - 'synonyms' => $data['synonyms'], - 'website_id' => isset($synonymFilter['data']['website']) - ? $synonymFilter['data']['website'] - : '', - 'group_id' => isset($synonymFilter['data']['id']) - ? $synonymFilter['data']['id'] - : '', - ]; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Synonym Group is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupSuccessSaveMessage.php deleted file mode 100644 index 77f999fe9bba6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_SAVE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_SAVE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Synonym Group success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupsSearch.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupsSearch.php deleted file mode 100644 index 04ef3616d21ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymGroupsSearch.php +++ /dev/null @@ -1,59 +0,0 @@ -open(); - foreach ($searchQueries as $query) { - $synonymGroupIndex->getSynonymGroupGrid()->fullTextSearch($query['query']); - foreach ($query['results'] as $key => $result) { - \PHPUnit\Framework\Assert::assertEquals( - $result, - $synonymGroupIndex->getSynonymGroupGrid()->isRowVisible( - ['synonyms' => $synonymGroups[$key]->getData()['synonyms']], - false, - false - ), - sprintf( - 'Synonym Group with synonyms \'%s\' is %s in the grid. Search query: %s', - $synonymGroups[$key]->getData()['synonyms'], - $result ? 'absent' : 'present', - $query['query'] - ) - ); - } - $synonymGroupIndex->getSynonymGroupGrid()->resetFilter(); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Results of search by keyword are correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymMergeErrorMessage.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymMergeErrorMessage.php deleted file mode 100644 index 873a2aee2bd80..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymMergeErrorMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertContains( - self::ERROR_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Synonym Group error message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymRestrictedAccess.php b/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymRestrictedAccess.php deleted file mode 100644 index 5b105302375a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Constraint/AssertSynonymRestrictedAccess.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - - \PHPUnit\Framework\Assert::assertContains( - self::ACCESS_DENIED_TEXT, - $dashboard->getErrorBlock()->getContent(), - 'Synonym group index page is available.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Access to synonym group index page by direct url is restricted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup.xml b/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup.xml deleted file mode 100644 index 2cebaf93ff2a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup/ScopeId.php b/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup/ScopeId.php deleted file mode 100644 index 0d01f23bb5470..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Fixture/SynonymGroup/ScopeId.php +++ /dev/null @@ -1,55 +0,0 @@ -params = $params; - if (isset($data['dataset'])) { - $store = $fixtureFactory->createByCode('store', ['dataset' => $data['dataset']]); - if (!$store->hasData('store_id')) { - $store->persist(); - } - $this->store = $store; - $this->data = $store->getName(); - } else { - $this->data = null; - } - } - - /** - * Return store. - * - * @return Store - */ - public function getStore() - { - return $this->store; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/Curl.php b/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/Curl.php deleted file mode 100644 index da8837fd2edfc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/Curl.php +++ /dev/null @@ -1,70 +0,0 @@ - [ - 'Yes' => 1, - 'No' => 0, - ], - 'scope_id' => [ - 'All Websites' => '0:0', - 'All Store Views' => '1:0', - 'Default Store View' => '1:1', - ], - ]; - - /** - * POST request for creating Synonym Group. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->replaceMappingData($fixture->getData()); - - $url = $_ENV['app_backend_url'] . $this->saveUrl; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception( - "Synonym Group entity creation by curl handler was not successful! Response: $response" - ); - } - - preg_match("`group_id\/(\d*?)\/`", $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - - return ['group_id' => $id]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/SynonymGroupInterface.php b/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/SynonymGroupInterface.php deleted file mode 100644 index d878899ac1fd8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Handler/SynonymGroup/SynonymGroupInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Page/Adminhtml/SynonymGroupNew.xml b/dev/tests/functional/tests/app/Magento/Search/Test/Page/Adminhtml/SynonymGroupNew.xml deleted file mode 100644 index cd32809e0c477..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Page/Adminhtml/SynonymGroupNew.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/Repository/SynonymGroup.xml b/dev/tests/functional/tests/app/Magento/Search/Test/Repository/SynonymGroup.xml deleted file mode 100644 index ce80b6fd5ef5a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/Repository/SynonymGroup.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - default_store_view - - test_synonym_%isolation%,test_synonym_2_test_synonym_%isolation% - Yes - - - - - all_store_views - - synonym_1_group_1,synonym_2_group_1 - No - - - - - all_store_views - - synonym_1_group_2,synonym_2_group_2,synonym_3_group_2 - No - - - - - all_store_views - - synonym_1_group_3,synonym_2_group_3 - No - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.php deleted file mode 100644 index 1c3d6a330a4a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.php +++ /dev/null @@ -1,391 +0,0 @@ - System -> New Index Management - * 2. Product EAV = Update by Schedule - * Cron is turned off. - * 3. Perform full reindex: "bin/magento indexer:reindex". - * Steps: - * 1. Call assert to check index status (Product EAV indexer: Status = Ready) - * 2. Open Backend -> Stores -> Attributes -> Product - * 3. Open Weight attribute - * 4. Update and save attribute to: - * Use in Advanced Search = Yes - * 5. Call assert to check index status (Product EAV indexer: Status = Required Reindex) - * 6. Assert that weight attribute is available on the Advanced Search - * 7. Run Full reindex from console - * 8. Change Weight attribute and save - * Scope = Website (Advanced Attribute Properties) - * 10. Call assert to check index status (Product EAV indexer: Status = Required Reindex) - * 11. Assert that weight attribute is available on the Advanced Search - * 12. Run Full reindex from console - * 13. Create simple product with default attribute set with weight = 1 - * 14. Create grouped product so that it will include simple product as option - * 15. Create bundle product so that it will include simple product as option - * 16. Create configurable product with one option product for which weight = 2 - * 17. Call assert to check index status (Product EAV indexer: Status = Ready - * 18. Open Advanced Search on frontend - * 19. Enter value to Weight = 1 and click Search button - * 20. Assert that page with 3 products is open: - * Simple - * Bundle - * Grouped - * 21. Update Weight Attribute in Backend - * Use in Advanced Search = No - * 22. Call assert to check index status (Product EAV indexer: Status = Required Reindex) - * 23. Assert that weight attribute is absent the Advanced Search - * 24. Run Full reindex from console - * - * @group Search - * @ZephyrId MAGETWO-25931 - * @SuppressWarnings(PHPMD.TooManyFields) - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class AdvancedSearchWithAttributeTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Assert that Attribute is present in Advanced Search Page. - * - * @var AssertSearchAttributeTest - */ - private $assertSearchAttributeTest; - - /** - * Products for search - * - * @var array - */ - private $products; - - /** - * Attribute for check in Advanced Search Page. - * - * @var string - */ - private $attributeForSearch; - - /** - * Default weight attribute value. - * - * @var CatalogProductAttribute - */ - private $attributeDisable; - - /** - * Indexers in Index Management Page. - * - * @var array - */ - private $indexers; - - /** - * Advanced Search Page. - * - * @var AdvancedSearch - */ - private $advancedSearch; - - /** - * Index Management Page. - * - * @var IndexManagement - */ - private $indexManagement; - - /** - * Perform bin/magento commands from command line for functional tests executions. - * - * @var Indexer - */ - private $cli; - - /** - * Advanced Result Page. - * - * @var ResultPage - */ - private $resultPage; - - /** - * Catalog Product Index Page. - * - * @var ProductGrid - */ - private $productGrid; - - /** - * Catalog Product New Page. - * - * @var NewProductPage - */ - private $newProductPage; - - /** - * Catalog Product Edit Page. - * - * @var ProductEdit - */ - private $productEdit; - - /** - * Catalog Product Attribute New Page. - * - * @var AttributeNewPage - */ - private $attributeNewPage; - - /** - * Assert Indexer Status. - * - * @var AssertIndexerStatus - */ - private $assertIndexerStatus; - - /** - * Assert Creation Product. - * - * @var AssertProductSaveMessage - */ - private $assertCreateProducts; - - /** - * Assert Creation Product. - * - * @var CatalogProductAttributeIndex - */ - private $productAttributePage; - - /** - * Assert Success Message Indexer Update by Schedule. - * - * @var AssertSuccessSaveMessage - */ - private $assertSuccessSaveMessage; - - /** - * Assert Success Message is Present After Save Attribute. - * - * @var AssertAdvancedSearchResult - */ - private $assertAdvancedSearchResult; - - /** - * Assert Products in Advanced Search Result Page. - * - * @var AssertAttributeStatus - */ - private $assertAttributeStatus; - - /** - * Inject pages. - * - * @param IndexManagement $indexManagement - * @param AdvancedSearch $advancedSearch - * @param AdvancedResult $resultPage - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @param CatalogProductEdit $productEdit - * @param AssertIndexerStatus $assertIndexerStatus - * @param AssertProductSaveMessage $assertCreateProducts - * @param CatalogProductAttributeIndex $productAttributePage - * @param CatalogProductAttributeNew $attributeNewPage - * @param AssertSuccessSaveMessage $assertSuccessSaveMessage - * @param AssertSearchAttributeTest $assertSearchAttributeTest - * @param AssertAdvancedSearchProductResult $assertAdvancedSearchResult - * @param AssertProductAttributeSaveMessage $assertAttributeStatus - * @return void - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @SuppressWarnings(PHPMD.ExcessiveParameterList) - */ - public function __inject( - IndexManagement $indexManagement, - AdvancedSearch $advancedSearch, - AdvancedResult $resultPage, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage, - CatalogProductEdit $productEdit, - AssertIndexerStatus $assertIndexerStatus, - AssertProductSaveMessage $assertCreateProducts, - CatalogProductAttributeIndex $productAttributePage, - CatalogProductAttributeNew $attributeNewPage, - AssertSuccessSaveMessage $assertSuccessSaveMessage, - AssertSearchAttributeTest $assertSearchAttributeTest, - AssertAdvancedSearchProductResult $assertAdvancedSearchResult, - AssertProductAttributeSaveMessage $assertAttributeStatus - ) { - $this->indexManagement = $indexManagement; - $this->advancedSearch = $advancedSearch; - $this->resultPage = $resultPage; - $this->productGrid = $productGrid; - $this->newProductPage = $newProductPage; - $this->productEdit = $productEdit; - $this->assertIndexerStatus = $assertIndexerStatus; - $this->assertCreateProducts = $assertCreateProducts; - $this->productAttributePage = $productAttributePage; - $this->attributeNewPage = $attributeNewPage; - $this->assertSuccessSaveMessage = $assertSuccessSaveMessage; - $this->assertSearchAttributeTest = $assertSearchAttributeTest; - $this->assertAdvancedSearchResult = $assertAdvancedSearchResult; - $this->assertAttributeStatus = $assertAttributeStatus; - } - - /** - * Use Advanced Search by Decimal indexable attribute if Edit/Add Attribute. - * - * @param Indexer $cli - * @param Category $category - * @param FixtureFactory $fixtureFactory - * @param CatalogProductSimple $productSearch - * @param CatalogProductAttribute $attributeEnable - * @param CatalogProductAttribute $attributeDisable - * @param CatalogProductAttribute $attributeGlobalStatus - * @param string $attributeForSearch - * @param array $isVisibleInAdvancedSearch - * @param array $productDropDownList - * @param array $products - * @param string|null $indexers - * @return void - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @SuppressWarnings(PHPMD.ExcessiveParameterList) - */ - public function test( - Indexer $cli, - Category $category, - FixtureFactory $fixtureFactory, - CatalogProductSimple $productSearch, - CatalogProductAttribute $attributeEnable, - CatalogProductAttribute $attributeDisable, - CatalogProductAttribute $attributeGlobalStatus, - $attributeForSearch, - array $isVisibleInAdvancedSearch, - array $productDropDownList, - array $products, - $indexers = null - ) { - $this->cli = $cli; - $this->products = $products; - $this->attributeDisable = $attributeDisable; - $this->attributeForSearch = $attributeForSearch; - $this->indexers = explode(',', $indexers); - - $category->persist(); - - // Indexers Update bu Schedule - $this->indexManagement->open(); - $this->indexManagement->getMainBlock()->updateBySchedule($this->indexers); - //Assert attribute Update by Schedule - $this->assertSuccessSaveMessage->processAssert($this->indexManagement, $this->indexers); - - // Full indexers reindex - $cli->reindex(); - // Assert indexers status - $this->assertIndexerStatus->processAssert($this->indexManagement, $this->indexers); - $this->productAttributePage->open(); - $this->productAttributePage->getGrid()->searchAndOpen(['attribute_code' => $attributeForSearch['name']]); - $this->attributeNewPage->getAttributeForm()->fill($attributeEnable); - $this->attributeNewPage->getPageActions()->save(); - // Assert attribute status - $this->assertAttributeStatus->processAssert($this->productAttributePage); - - // Assert indexers status - $this->assertIndexerStatus->processAssert($this->indexManagement, $this->indexers, false); - - $this->assertSearchAttributeTest->processAssert($this->advancedSearch, $attributeForSearch); - $cli->reindex(); - - // Change attribute 'scope mode' - $this->productAttributePage->open(); - $this->productAttributePage->getGrid()->searchAndOpen(['attribute_code' => $attributeForSearch['name']]); - $this->attributeNewPage->getAttributeForm()->fill($attributeGlobalStatus); - $this->attributeNewPage->getPageActions()->save(); - // Assert attribute status - $this->assertAttributeStatus->processAssert($this->productAttributePage); - - // Assert indexers status - $this->assertIndexerStatus->processAssert($this->indexManagement, $this->indexers, false); - - // Assert advanced attribute is present(or absent) in Advanced Search Page. - $this->assertSearchAttributeTest->processAssert($this->advancedSearch, $attributeForSearch); - $cli->reindex(); - - // Create Products - $allProducts = []; - foreach ($products as $key => $product) { - list($fixtureCode, $dataset) = explode('::', $product); - $this->productGrid->open(); - $this->productGrid->getGridPageActionBlock()->addProduct($productDropDownList[$key]); - $product = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - $this->newProductPage->getProductForm()->fill($product, null, $category); - $this->newProductPage->getFormPageActions()->save($product); - - $this->assertCreateProducts->processAssert($this->productEdit); - $allProducts[] = $product; - } - - $cli->reindex(); - $this->advancedSearch->open(); - $this->advancedSearch->getForm()->fill($productSearch)->submit(); - - // Assert that Advanced Search result page contains only product(s) according to requested from fixture - $this->assertAdvancedSearchResult->processAssert($isVisibleInAdvancedSearch, $allProducts, $this->resultPage); - $this->productAttributePage->open(); - $this->productAttributePage->getGrid()->searchAndOpen(['attribute_code' => $this->attributeForSearch['name']]); - $this->attributeNewPage->getAttributeForm()->fill($this->attributeDisable); - $this->attributeNewPage->getPageActions()->save(); - // Assert attribute status - $this->assertAttributeStatus->processAssert($this->productAttributePage); - - $this->assertIndexerStatus->processAssert($this->indexManagement, $this->indexers, false); - $cli->reindex(); - unset($this->attributeForSearch['isVisible']); - $this->assertSearchAttributeTest->processAssert($this->advancedSearch, $this->attributeForSearch); - } - - /** - * Set attribute default value. - * - * @return void - */ - protected function tearDown(): void - { - $this->productAttributePage->open(); - $this->productAttributePage->getGrid()->searchAndOpen(['attribute_code' => $this->attributeForSearch['name']]); - $this->attributeNewPage->getAttributeForm()->fill($this->attributeDisable); - $this->attributeNewPage->getPageActions()->save(); - $this->indexManagement->open(); - $this->indexManagement->getMainBlock()->massaction([], 'Update on Save', false, 'Select All'); - $this->cli->reindex(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.xml deleted file mode 100644 index 733b110ec5494..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/AdvancedSearchWithAttributeTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - configurable - simple - bundle - grouped - No - Yes - Yes - Yes - Yes - Yes - Global - No - Website - configurableProduct::one_simple_product - catalogProductSimple::default - bundleProduct::default_with_one_simple_product - groupedProduct::withSimpleProduct_without_category - 1 - 1 - Product EAV - - Weight - true - - category_%isolation% - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.php deleted file mode 100644 index 15bb2be1ddf4d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.php +++ /dev/null @@ -1,73 +0,0 @@ -fixtureFactory = $fixtureFactory; - } - - /** - * Create Synonym Groups. - * - * @param array $synonymGroups - * @return array - */ - public function test(array $synonymGroups) - { - $groups = []; - foreach ($synonymGroups as $key => $dataset) { - $groups[$key] = $this->fixtureFactory->createByCode('synonymGroup', ['dataset' => $dataset]); - $groups[$key]->persist(); - } - - return [ - 'synonymGroups' => $groups, - ]; - } - - /** - * Delete all synonym groups. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Search\Test\TestStep\DeleteAllSynonymGroupsStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.xml deleted file mode 100644 index 0bcd4e31d0dd9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateMultipleSynonymGroupsTest.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - MAGETWO-63120: Search icon is disabled on collapsed toolbar - synonym_group_1 - synonym_group_2 - synonym_group_3 - - - synonym_undefined - - false - false - false - - - - synonym_1_group_1 - - true - false - false - - - - synonym_1_group_2 synonym_undefined - - false - true - false - - - - synonym_1_group_1 synonym_2_group_2 - - true - true - false - - - - synonym_1_group_1 synonym_2_group_2 synonym_1_group_3 synonym_undefined - - true - true - true - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.php deleted file mode 100644 index 0634f8c0968df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ - Search Synonyms. - * 3. Click "New Synonym Group" button. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group Search - * @ZephyrId MAGETWO-47681 - */ -class CreateSynonymGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Page Index. - * - * @var synonymGroupIndex - */ - protected $synonymGroupIndex; - - /** - * Page synonymGroupNew. - * - * @var SynonymGroupNew - */ - protected $synonymGroupNew; - - /** - * Injection data. - * - * @param SynonymGroupIndex $synonymGroupIndex - * @param SynonymGroupNew $synonymGroupNew - * @return void - */ - public function __inject( - SynonymGroupIndex $synonymGroupIndex, - SynonymGroupNew $synonymGroupNew - ) { - $this->synonymGroupIndex = $synonymGroupIndex; - $this->synonymGroupNew = $synonymGroupNew; - } - - /** - * Create Synonym Group. - * - * @param SynonymGroup $synonymGroup - * @return void - */ - public function test(SynonymGroup $synonymGroup) - { - // Steps - $this->synonymGroupIndex->open(); - $this->synonymGroupIndex->getGridPageActions()->addNew(); - $this->synonymGroupNew->getSynonymGroupForm()->fill($synonymGroup); - $this->synonymGroupNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.xml deleted file mode 100644 index 87bd02e6fe6fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CreateSynonymGroupEntityTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - test_type:extended_acceptance_test - synonym_%isolation% - - - - - - - test_type:extended_acceptance_test - shoes_%isolation%,foot wear_%isolation%,mens shoes_%isolation%,women shoes_%isolation% - default_store_view - - - - - - - test_type:extended_acceptance_test, stable:no - synonym_%isolation% - custom_store - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CustomAclPermissionTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CustomAclPermissionTest.xml deleted file mode 100644 index b62124e6561b3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/CustomAclPermissionTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - to_maintain:yes - MAGETWO-68854: CustomAclPermissionTest Fails on Jenkins, marked as unstable - custom_admin_with_role_without_synonym - Marketing > Search Synonyms - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.php deleted file mode 100644 index 4d8e1d9fd1cc3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.php +++ /dev/null @@ -1,84 +0,0 @@ - Search Synonyms. - * 3. Delete created Synonym Group - * 4. Perform all assertions. - * - * @group Search - * @ZephyrId MAGETWO-47683 - */ -class DeleteSynonymGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Page Index. - * - * @var synonymGroupIndex - */ - protected $synonymGroupIndex; - - /** - * Page synonymGroupNew. - * - * @var SynonymGroupNew - */ - protected $synonymGroupNew; - - /** - * Injection data. - * - * @param SynonymGroupIndex $synonymGroupIndex - * @param SynonymGroupNew $synonymGroupNew - * @return void - */ - public function __inject( - SynonymGroupIndex $synonymGroupIndex, - SynonymGroupNew $synonymGroupNew - ) { - $this->synonymGroupIndex = $synonymGroupIndex; - $this->synonymGroupNew = $synonymGroupNew; - } - - /** - * Update Synonym Group. - * - * @param SynonymGroup $initialSynonymGroup - * @return void - */ - public function test(SynonymGroup $initialSynonymGroup) - { - //precondition - $initialSynonymGroup->persist(); - - $initialData = ($initialSynonymGroup->getData()); - $synonyms = $initialData['synonyms']; - - // Steps - $this->synonymGroupIndex->open(); - $this->synonymGroupIndex->getSynonymGroupGrid()->searchAndOpen(['synonyms' => $synonyms]); - $this->synonymGroupNew->getFormPageActions()->delete(); - $this->synonymGroupNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.xml deleted file mode 100644 index 1328cb6461ead..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/DeleteSynonymGroupEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - prepareMerge - Delete Synonym Groups Successfully - test_type:extended_acceptance_test - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.php deleted file mode 100644 index 6608b4b868780..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.php +++ /dev/null @@ -1,104 +0,0 @@ - Search Synonyms. - * 3. Click "New Synonym Group" button. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group Search - * @ZephyrId MAGETWO-47684 - */ -class MergeSynonymGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Page Index. - * - * @var synonymGroupIndex - */ - protected $synonymGroupIndex; - - /** - * Page synonymGroupNew. - * - * @var SynonymGroupNew - */ - protected $synonymGroupNew; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $factory; - - /** - * Injection data. - * - * @param SynonymGroupIndex $synonymGroupIndex - * @param SynonymGroupNew $synonymGroupNew - * @param FixtureFactory $factory - * @return void - */ - public function __inject( - SynonymGroupIndex $synonymGroupIndex, - SynonymGroupNew $synonymGroupNew, - FixtureFactory $factory - ) { - $this->synonymGroupIndex = $synonymGroupIndex; - $this->synonymGroupNew = $synonymGroupNew; - $this->factory = $factory; - } - - /** - * Merge Synonym Group. - * - * @param SynonymGroup $initialSynonymGroup - * @param SynonymGroup $synonymGroup - * @return void - */ - public function test(SynonymGroup $initialSynonymGroup, SynonymGroup $synonymGroup) - { - //precondition - $initialSynonymGroup->persist(); - - $initialData = ($initialSynonymGroup->getData()); - $synonyms = $initialData['synonyms']; - $synonyms = explode(',', $synonyms); - $data = $synonymGroup->getData(); - $data['synonyms'] = $synonyms[0] . ',' . $data['synonyms']; - $data['scope_id'] = [ - 'dataset' => 'default_store_view' - ]; - - $synonymGroup = $this->factory->createByCode('synonymGroup', ['data' => $data]); - - // Steps - $this->synonymGroupIndex->open(); - $this->synonymGroupIndex->getGridPageActions()->addNew(); - $this->synonymGroupNew->getSynonymGroupForm()->fill($synonymGroup); - $this->synonymGroupNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.xml deleted file mode 100644 index 20db10f75cb53..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/MergeSynonymGroupEntityTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - prepareMerge - Merge Synonym Groups Not Successfully - test_type:extended_acceptance_test - synonym_test_%isolation% - default_store_view - No - - - - prepareMerge - Merge Synonym Groups Successfully - test_type:extended_acceptance_test - shoes_%isolation%,foot wear_%isolation%,mens shoes_%isolation%,women shoes_%isolation% - default_store_view - Yes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.php deleted file mode 100644 index 9769ad936d942..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.php +++ /dev/null @@ -1,96 +0,0 @@ - Search Synonyms. - * 3. Open created Synonym Group. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group Search - * @ZephyrId MAGETWO-49412 - */ -class UpdateSynonymGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Page Index. - * - * @var synonymGroupIndex - */ - protected $synonymGroupIndex; - - /** - * Page synonymGroupNew. - * - * @var SynonymGroupNew - */ - protected $synonymGroupNew; - - /** - * Fixture Factory. - * - * @var FixtureFactory - */ - protected $factory; - - /** - * Injection data. - * - * @param SynonymGroupIndex $synonymGroupIndex - * @param SynonymGroupNew $synonymGroupNew - * @param FixtureFactory $factory - * @return void - */ - public function __inject( - SynonymGroupIndex $synonymGroupIndex, - SynonymGroupNew $synonymGroupNew, - FixtureFactory $factory - ) { - $this->synonymGroupIndex = $synonymGroupIndex; - $this->synonymGroupNew = $synonymGroupNew; - $this->factory = $factory; - } - - /** - * Update Synonym Group. - * - * @param SynonymGroup $initialSynonymGroup - * @param SynonymGroup $synonymGroup - * @return void - */ - public function test(SynonymGroup $initialSynonymGroup, SynonymGroup $synonymGroup) - { - //precondition - $initialSynonymGroup->persist(); - - $initialData = ($initialSynonymGroup->getData()); - $synonyms = $initialData['synonyms']; - - // Steps - $this->synonymGroupIndex->open(); - $this->synonymGroupIndex->getSynonymGroupGrid()->searchAndOpen(['synonyms' => $synonyms]); - $this->synonymGroupNew->getSynonymGroupForm()->fill($synonymGroup); - $this->synonymGroupNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.xml deleted file mode 100644 index 9c78063696127..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestCase/UpdateSynonymGroupEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - test_type:extended_acceptance_test, to_maintain:yes - prepareMerge - Update Synonym Groups Successfully - new_synonym_%isolation% - all_store_views - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/TestStep/DeleteAllSynonymGroupsStep.php b/dev/tests/functional/tests/app/Magento/Search/Test/TestStep/DeleteAllSynonymGroupsStep.php deleted file mode 100644 index e7ef44e579615..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/TestStep/DeleteAllSynonymGroupsStep.php +++ /dev/null @@ -1,43 +0,0 @@ -synonymGroupIndex = $synonymGroupIndex; - } - - /** - * Delete synonym groups on backend. - * - * @return void - */ - public function run() - { - $this->synonymGroupIndex->open(); - $this->synonymGroupIndex->getSynonymGroupGrid()->resetFilter(); - $this->synonymGroupIndex->getSynonymGroupGrid()->massaction([], 'Delete', true, 'Select All'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Search/Test/etc/curl/di.xml deleted file mode 100644 index 674ecf5f4be21..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Search/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Search/Test/etc/di.xml deleted file mode 100644 index aec567af38120..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Search/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - high - - - - - high - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.php b/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.php deleted file mode 100644 index 0ca00daae4e70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.php +++ /dev/null @@ -1,28 +0,0 @@ -_rootElement->find($this->submit, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.xml b/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.xml deleted file mode 100644 index 7333fc8dd2778..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Block/Form/ForgotPassword.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerEmailChanged.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerEmailChanged.php deleted file mode 100644 index 239c1040721d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerEmailChanged.php +++ /dev/null @@ -1,64 +0,0 @@ -createByCode( - 'customer', - [ - 'data' => [ - 'email' => $customer->getEmail(), - 'password' => $initialCustomer->getPassword() - ], - ] - ); - - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - \PHPUnit\Framework\Assert::assertTrue( - $customerAccountIndex->getAccountMenuBlock()->isVisible(), - 'Customer Account Dashboard is not visible.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Customer email was changed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerIsLocked.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerIsLocked.php deleted file mode 100644 index a634e0ebba26c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerIsLocked.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessages()->getErrorMessage(), - 'Wrong message is displayed.' - ); - } - - /** - * Assert that displayed error message is correct - * - * @return string - */ - public function toString() - { - return 'Customer locked message is present on customer account login page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerPasswordRequiredClasses.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerPasswordRequiredClasses.php deleted file mode 100644 index a6ddcc4e10aba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerPasswordRequiredClasses.php +++ /dev/null @@ -1,52 +0,0 @@ -getRegisterForm()->getPasswordError(); - $characterClassesNumber = $config - ->getData('section')['customer/password/required_character_classes_number']['value']; - - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::EXPECTED_MAX_CHARACTERS, $characterClassesNumber) . self::EXPECTED_MESSAGE, - $errorMessage, - 'Wrong expected message is displayed.' - . "\nExpected: " . sprintf(self::EXPECTED_MAX_CHARACTERS, $characterClassesNumber) . self::EXPECTED_MESSAGE - . "\nActual: " . $errorMessage - ); - } - - /** - * Text of success register message is displayed. - * - * @return string - */ - public function toString() - { - return "Customer's password is not correct."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerResetPasswordFailed.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerResetPasswordFailed.php deleted file mode 100644 index e0bbe26696930..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertCustomerResetPasswordFailed.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Wrong customer reset password failed message is displayed.' - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Customer forgot password message is present on customer account forgot password page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertDefaultAccountInformation.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertDefaultAccountInformation.php deleted file mode 100644 index 7b2e0d4361558..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertDefaultAccountInformation.php +++ /dev/null @@ -1,58 +0,0 @@ -getAccountInfoForm(); - - \PHPUnit\Framework\Assert::assertFalse( - $infoForm->isEmailVisible(), - 'Email text field should not be visible.' - ); - - \PHPUnit\Framework\Assert::assertFalse( - $infoForm->isCurrentPasswordVisible(), - 'Current Password text field should not be visible.' - ); - - \PHPUnit\Framework\Assert::assertFalse( - $infoForm->isPasswordVisible(), - 'New Password text field should not be visible.' - ); - - \PHPUnit\Framework\Assert::assertFalse( - $infoForm->isConfirmPasswordVisible(), - 'Password Confirmation text field should not be visible.' - ); - } - - /** - * String representation of success assert. - * - * @return string - */ - public function toString() - { - return 'Default customer account information tab is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordIsNotSecureEnoughMessage.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordIsNotSecureEnoughMessage.php deleted file mode 100644 index 15d8992d953b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordIsNotSecureEnoughMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getRegisterForm()->getPasswordError(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedErrorMessage, - $errorMessage, - 'The messages are not equal.' - ); - } - - /** - * Assert that displayed error message is correct - * - * @return string - */ - public function toString() - { - return 'Password insecure message is present on customer registration page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordLengthErrorMessage.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordLengthErrorMessage.php deleted file mode 100644 index f2b1fc72ce195..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertPasswordLengthErrorMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getRegisterForm()->getPasswordError(); - \PHPUnit\Framework\Assert::assertContains( - self::PASSWORD_LENGTH_ERROR_MESSAGE, - $errorMessage, - 'Incorrect password error message.' - ); - } - - /** - * Assert that displayed error message is correct - * - * @return string - */ - public function toString() - { - return 'Password too short message is present on customer registration page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserIsLocked.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserIsLocked.php deleted file mode 100644 index 92376f42e5d98..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserIsLocked.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Message "' . self::USER_ACCOUNT_DISABLED_MESSAGE . '" is not visible.', - $ignoreCase - ); - } - - /** - * Assert that displayed error message is correct - * - * @return string - */ - public function toString() - { - return 'User account locked message is displayed on user login page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserPasswordResetFailed.php b/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserPasswordResetFailed.php deleted file mode 100644 index c3307935686e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Constraint/AssertUserPasswordResetFailed.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Wrong user reset password failed message is displayed.' - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'User reset password failed message is present on user login page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Page/UserAccountForgotPassword.php b/dev/tests/functional/tests/app/Magento/Security/Test/Page/UserAccountForgotPassword.php deleted file mode 100644 index ac5647a017eaa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Page/UserAccountForgotPassword.php +++ /dev/null @@ -1,59 +0,0 @@ - [ - 'class' => \Magento\Backend\Test\Block\Messages::class, - 'locator' => '.messages', - 'strategy' => 'css selector', - ], - 'forgotPasswordForm' => [ - 'class' => \Magento\Security\Test\Block\Form\ForgotPassword::class, - 'locator' => '#login-form', - 'strategy' => 'css selector', - ], - ]; - - /** - * Constructor. - */ - protected function initUrl() - { - $this->url = $_ENV['app_backend_url'] . self::MCA; - } - - /** - * @return \Magento\Backend\Test\Block\Messages - */ - public function getMessagesBlock() - { - return $this->getBlockInstance('messagesBlock'); - } - - /** - * @return \Magento\Security\Test\Block\Form\ForgotPassword - */ - public function getForgotPasswordForm() - { - return $this->getBlockInstance('forgotPasswordForm'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Security/Test/Repository/ConfigData.xml deleted file mode 100644 index 50aeeeeaae044..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - customer - 1 - 6 - 6 - - - - - customer - 1 - 10 - 10 - - - - - customer - 1 - 10 - 3 - - - - - admin - 1 - 4 - 4 - - - - - admin - 1 - 6 - 6 - - - - - 1 - No - 0 - - - - - admin - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.php deleted file mode 100644 index dd349188ad860..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.php +++ /dev/null @@ -1,138 +0,0 @@ - Extensions > Integrations. - * 3. Start to create new Integration. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. "The password entered for the current user is invalid. Verify the password and try again." appears after each - * attempt. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49038 - */ -class LockAdminUserWhenCreatingNewIntegrationTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Integration new page. - * - * @var IntegrationNew - */ - protected $integrationNewPage; - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * Preparing pages for test. - * - * @param IntegrationIndex $integrationIndex - * @param IntegrationNew $integrationNew - * @param AdminAuthLogin $adminAuthLogin - * @return void - */ - public function __inject( - IntegrationIndex $integrationIndex, - IntegrationNew $integrationNew, - AdminAuthLogin $adminAuthLogin - ) { - $this->integrationIndexPage = $integrationIndex; - $this->integrationNewPage = $integrationNew; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Run Lock user when creating new integration test. - * - * @param Integration $integration - * @param int $attempts - * @param User $customAdmin - * @param string $configData - * @return void - */ - public function test( - Integration $integration, - $attempts, - User $customAdmin, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - - // Steps - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getGridPageActions()->addNew(); - for ($i = 0; $i < $attempts; $i++) { - $this->integrationNewPage->getIntegrationForm()->fill($integration); - $this->integrationNewPage->getFormPageActions()->saveNew(); - } - - // Reload page - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.xml deleted file mode 100644 index 13c38af948441..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewIntegrationTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - user_lockout_failures - custom_admin_with_default_role - Integration%isolation% - test@example.com - https://endpoint.com - https://testlink.com - incorrect password - All - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.php deleted file mode 100644 index 646f133fde831..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.php +++ /dev/null @@ -1,137 +0,0 @@ - Extensions > User Roles. - * 3. Start to create new User Role. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. "The password entered for the current user is invalid. Verify the password and try again." appears after each - * attempt. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49036 - */ -class LockAdminUserWhenCreatingNewRoleTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * UserRoleIndex page. - * - * @var UserRoleIndex - */ - protected $userRoleIndex; - - /** - * UserRoleEditRole page. - * - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * @var AdminAuthLogin page - */ - protected $adminAuthLogin; - - /** - * Setup data for test. - * - * @param UserRoleIndex $userRoleIndex - * @param UserRoleEditRole $userRoleEditRole - * @param AdminAuthLogin $adminAuthLogin - */ - public function __inject( - UserRoleIndex $userRoleIndex, - UserRoleEditRole $userRoleEditRole, - AdminAuthLogin $adminAuthLogin - ) { - $this->userRoleIndex = $userRoleIndex; - $this->userRoleEditRole = $userRoleEditRole; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Runs Lock admin user when creating new role test. - * - * @param Role $role - * @param int $attempts - * @param User $customAdmin, - * @param string $configData - * @return void - */ - public function testLockAdminUser( - Role $role, - $attempts, - User $customAdmin, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - - // Steps - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - - $this->userRoleIndex->open(); - $this->userRoleIndex->getRoleActions()->addNew(); - for ($i = 0; $i < $attempts; $i++) { - $this->userRoleEditRole->getRoleFormTabs()->fill($role); - $this->userRoleEditRole->getPageActions()->save(); - } - - // Reload - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.xml deleted file mode 100644 index 0e4c33f7371e6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewRoleTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - user_lockout_failures - custom_admin_with_default_role - AdminRole%isolation% - incorrect password - All - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.php deleted file mode 100644 index b16f73f357536..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.php +++ /dev/null @@ -1,134 +0,0 @@ - All Users. - * 3. Click on Add New User. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. "The password entered for the current user is invalid. Verify the password and try again." appears after each - * attempt. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49034 - */ -class LockAdminUserWhenCreatingNewUserTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * User grid page - * - * @var UserIndex - */ - protected $userIndexPage; - - /** - * User new/edit page - * - * @var UserEdit - */ - protected $userEditPage; - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * @var AdminAuthLogin page - */ - protected $adminAuthLogin; - - /** - * Setup data for test. - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @param AdminAuthLogin $adminAuthLogin - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit, - AdminAuthLogin $adminAuthLogin - ) { - $this->userIndexPage = $userIndex; - $this->userEditPage = $userEdit; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Runs Lock admin user when creating new user test. - * - * @param int $attempts - * @param User $customAdmin, - * @param User $user, - * @param string $configData - * @return void - */ - public function test( - $attempts, - User $customAdmin, - User $user, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - - // Steps - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - $this->userIndexPage->open(); - $this->userIndexPage->getPageActions()->addNew(); - for ($i = 0; $i < $attempts; $i++) { - $this->userEditPage->getUserForm()->fill($user); - $this->userEditPage->getPageActions()->save(); - } - - // Reload - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.xml deleted file mode 100644 index 3bb370a15e977..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenCreatingNewUserTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - user_lockout_failures - severity:S2,mftf_migrated:yes - custom_admin_with_default_role - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - incorrect password - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.php deleted file mode 100644 index 0554c82a919ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.php +++ /dev/null @@ -1,144 +0,0 @@ - Extensions > Integrations. - * 3. Start to edit existing Integration. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. "The password entered for the current user is invalid. Verify the password and try again." appears after each - * attempt. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49039 - */ -class LockAdminUserWhenEditingIntegrationTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Integration grid page. - * - * @var IntegrationIndex - */ - protected $integrationIndexPage; - - /** - * Integration new page. - * - * @var IntegrationNew - */ - protected $integrationNewPage; - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * Preparing pages for test. - * - * @param IntegrationIndex $integrationIndex - * @param IntegrationNew $integrationNew - * @param AdminAuthLogin $adminAuthLogin - * @return void - */ - public function __inject( - IntegrationIndex $integrationIndex, - IntegrationNew $integrationNew, - AdminAuthLogin $adminAuthLogin - ) { - $this->integrationIndexPage = $integrationIndex; - $this->integrationNewPage = $integrationNew; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Run Lock user when creating new integration test. - * - * @param Integration $initIntegration - * @param Integration $integration - * @param int $attempts - * @param User $customAdmin - * @param string $configData - * @return void - */ - public function test( - Integration $initIntegration, - Integration $integration, - $attempts, - User $customAdmin, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - $initIntegration->persist(); - - // login to backend with new user - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - - // Steps - $filter = ['name' => $initIntegration->getName()]; - $this->integrationIndexPage->open(); - $this->integrationIndexPage->getIntegrationGrid()->searchAndOpen($filter); - for ($i = 0; $i < $attempts; $i++) { - $this->integrationNewPage->getIntegrationForm()->fill($integration); - $this->integrationNewPage->getFormPageActions()->save(); - } - - // Reload page - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.xml deleted file mode 100644 index a82f0d4df7eda..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingIntegrationTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - user_lockout_failures - severity:S2 - custom_admin_with_default_role - default_active - Integration%isolation% - incorrect password - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.php deleted file mode 100644 index fc18b91d62e30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.php +++ /dev/null @@ -1,140 +0,0 @@ - User Roles. - * 3. Start editing existing User Role. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. Admin account is locked. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49037 - * @Group Security - * - */ -class LockAdminUserWhenEditingRoleTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * UserRoleIndex page. - * - * @var UserRoleIndex - */ - protected $userRoleIndex; - - /** - * UserRoleEditRole page. - * - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * Configuration setting. - * - * @var string - */ - protected $configData; - - /** - * Admin login Page. - * - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * Setup data for test. - * - * @param UserRoleIndex $userRoleIndex - * @param UserRoleEditRole $userRoleEditRole - * @param AdminAuthLogin $adminAuthLogin - * @return void - */ - public function __inject( - UserRoleIndex $userRoleIndex, - UserRoleEditRole $userRoleEditRole, - AdminAuthLogin $adminAuthLogin - ) { - $this->userRoleIndex = $userRoleIndex; - $this->userRoleEditRole = $userRoleEditRole; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Runs Lock admin user when editing existing role test. - * - * @param Role $role - * @param Role $initrole - * @param int $attempts - * @param User $customAdmin - * @param string $configData - * @return void - */ - public function test( - Role $role, - Role $initrole, - $attempts, - User $customAdmin, - $configData - ) { - $this->configData = $configData; - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - $initrole->persist(); - // Steps login to backend with new user - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - $filter = ['rolename' => $initrole->getRolename()]; - $this->userRoleIndex->open(); - $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter); - for ($i = 0; $i < $attempts; $i++) { - $this->userRoleEditRole->getRoleFormTabs()->fill($role); - $this->userRoleEditRole->getPageActions()->save(); - } - // Reload - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.xml deleted file mode 100644 index cdbcec2a81e38..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingRoleTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - user_lockout_failures - severity:S2 - default - custom_admin_with_default_role - NewAdminRole%isolation% - incorrect password - All - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.php deleted file mode 100644 index f9e023833c3c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.php +++ /dev/null @@ -1,133 +0,0 @@ - All Users. - * 3. Start editing existing User. - * 4. Fill in all data according to data set (password is incorrect). - * 5. Perform action 4 specified number of times. - * 6. Admin account is locked. - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-49035 - */ -class LockAdminUserWhenEditingUserTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * User grid page - * - * @var UserIndex - */ - protected $userIndexPage; - - /** - * User edit page - * - * @var UserEdit - */ - protected $userEditPage; - - /** - * @var $configData - */ - protected $configData; - - /** - * @var AdminAuthLogin page - */ - protected $adminAuthLogin; - - /** - * Setup data for test. - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @param AdminAuthLogin $adminAuthLogin - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit, - AdminAuthLogin $adminAuthLogin - ) { - $this->userIndexPage = $userIndex; - $this->userEditPage = $userEdit; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Runs Lock admin user when editing existing role test. - * - * @param User $user - * @param int $attempts - * @param User $customAdmin - * @param string $configData - * @return void - */ - public function test( - $attempts, - User $customAdmin, - User $user, - $configData - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $customAdmin->persist(); - - // Steps login to backend with new user - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - // Select user to edit. - $filter = ['username' => $customAdmin->getUsername()]; - $this->userIndexPage->open(); - $this->userIndexPage->getUserGrid()->searchAndOpen($filter); - // Edit user with wrong password - for ($i = 0; $i < $attempts; $i++) { - $this->userEditPage->getUserForm()->fill($user); - $this->userEditPage->getPageActions()->save(); - } - // Reload - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($customAdmin); - $this->adminAuthLogin->getLoginBlock()->submit(); - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.xml deleted file mode 100644 index 595cdc8f7fce8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockAdminUserWhenEditingUserTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - user_lockout_failures - severity:S2, mftf_migrated:yes - custom_admin_with_default_role - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123qq - 123123qq - incorrect password - 4 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.php deleted file mode 100644 index 2221d04563a80..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.php +++ /dev/null @@ -1,150 +0,0 @@ -cmsIndex = $cmsIndex; - $this->customerAccountLogin = $customerAccountLogin; - $this->customerAccountIndex = $customerAccountIndex; - $this->customerAccountEdit = $customerAccountEdit; - } - - /** - * Run Lock customer on edit page test. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @param int $attempts - * @param string $configData - * @return void - */ - public function test( - Customer $initialCustomer, - Customer $customer, - $attempts, - $configData = null - ) { - $this->configData = $configData; - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $initialCustomer->persist(); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $initialCustomer] - )->run(); - - $this->cmsIndex->getLinksBlock()->openLink('My Account'); - $this->customerAccountIndex->getInfoBlock()->openChangePassword(); - for ($i = 0; $i < $attempts; $i++) { - if ($i > 0) { - $this->customerAccountIndex->getInfoBlock()->checkChangePassword(); - } - $this->customerAccountEdit->getAccountInfoForm()->fill($customer); - $this->customerAccountEdit->getAccountInfoForm()->submit(); - } - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.xml deleted file mode 100644 index 0d2958f44f6a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnEditPageTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - severity:S1, to_maintain:yes - customer_max_login_failures_number - default - incorrect password - 123123^a - 123123^a - 7 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.php deleted file mode 100644 index db10bc9ac5d53..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.php +++ /dev/null @@ -1,111 +0,0 @@ -customerAccountLogin = $customerAccountLogin; - } - - /** - * Run Lock customer on login page test. - * - * @param Customer $initialCustomer - * @param int $attempts - * @param FixtureFactory $fixtureFactory - * @param $incorrectPassword - * @param string $configData - * @return void - */ - public function test( - Customer $initialCustomer, - $attempts, - FixtureFactory $fixtureFactory, - $incorrectPassword, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $initialCustomer->persist(); - $incorrectCustomer = $fixtureFactory->createByCode( - 'customer', - ['data' => ['email' => $initialCustomer->getEmail(), 'password' => $incorrectPassword]] - ); - - // Steps - for ($i = 0; $i < $attempts; $i++) { - $this->customerAccountLogin->open(); - $this->customerAccountLogin->getLoginBlock()->fill($incorrectCustomer); - $this->customerAccountLogin->getLoginBlock()->submit(); - } - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.xml deleted file mode 100644 index 07976ad01bd96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/LockCustomerOnLoginPageTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - severity:S1,mftf_migrated:yes - customer_max_login_failures_number,captcha_storefront_disable - default - incorrect password - 6 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.php deleted file mode 100644 index 2366256909bb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.php +++ /dev/null @@ -1,73 +0,0 @@ -customerAccountCreate = $customerAccountCreate; - $this->cmsIndex = $cmsIndex; - } - - /** - * Create Customer account on Storefront. - * - * @param Customer $customer - * @return void - */ - public function test(Customer $customer) - { - // Steps - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.xml deleted file mode 100644 index 534f692a36aef..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/NewCustomerPasswordComplexityTest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - severity:S1,mftf_migrated:yes - john - doe - johndoe%isolation%@example.com - No - 123123 - 123123 - - - - severity:S1,mftf_migrated:yes - john - doe - johndoe%isolation%@example.com - No - 123123qa - 123123qa - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.php deleted file mode 100644 index 5217d291ca176..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.php +++ /dev/null @@ -1,111 +0,0 @@ -customerAccountCreate = $customerAccountCreate; - $this->cmsIndex = $cmsIndex; - $this->testStepFactory = $testStepFactory; - } - - /** - * Create Customer account on Storefront. - * - * @param Customer $customer - * @param ConfigData $config - * @return void - */ - public function test(Customer $customer, ConfigData $config) - { - // Preconditions - $config->persist(); - // Steps - $this->cmsIndex->open(); - $this->cmsIndex->getLinksBlock()->openLink('Create an Account'); - $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer); - - $characterClassesNumber = $config - ->getData('section')['customer/password/required_character_classes_number']['value']; - - return ['characterClassesNumber' => $characterClassesNumber]; - } - - /** - * Set default settings and logout customer. - * - * @return void - */ - protected function tearDown(): void - { - //Set default required character classes for the password - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'default_required_character_classes_number'] - )->run(); - // Logout customer - $this->testStepFactory->create( - \Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.xml deleted file mode 100644 index 7ff7ed697a926..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/RegisterCustomerEntityWithDifferentPasswordClassesTest.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - default_required_character_classes_number - - - 1 - - - register_customer - 12345678 - 12345678 - - - - default_required_character_classes_number - - - 2 - - - register_customer - abc12345 - abc12345 - - - - default_required_character_classes_number - - - 2 - - - register_customer - 12345678 - 12345678 - - - - default_required_character_classes_number - - - 3 - - - register_customer - abcXYZ123 - abcXYZ123 - - - - default_required_character_classes_number - - - 3 - - - register_customer - abc12345 - abc12345 - - - - default_required_character_classes_number - - - 4 - - - register_customer - abcXYZ12^ - abcXYZ12^ - - - - default_required_character_classes_number - - - 4 - - - register_customer - abcXYZ123 - abcXYZ123 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.php deleted file mode 100644 index 9713756ca9c99..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.php +++ /dev/null @@ -1,85 +0,0 @@ -forgotPassword = $forgotPassword; - } - - /** - * Run reset customer password failed test. - * @param Customer $customer - * @param int $attempts - * @param string $configData - * @return void - */ - public function test( - Customer $customer, - $attempts, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Steps - $customer->persist(); - for ($i = 0; $i < $attempts; $i++) { - $this->forgotPassword->open(); - $this->forgotPassword->getForgotPasswordForm()->resetForgotPassword($customer); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.xml deleted file mode 100644 index b4fbe7bb92929..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetCustomerPasswordFailedTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - severity:S1,mftf_migrated:yes - customer_US - 2 - captcha_storefront_disable - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.php deleted file mode 100644 index ad34be766a3f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.php +++ /dev/null @@ -1,105 +0,0 @@ -userAccountForgotPassword = $userAccountForgotPassword; - $this->systemConfigEditPage = $systemConfigEditPage; - } - - /** - * Run reset user password failed test. - * @param User $customAdmin - * @param int $attempts - * @param string $configData - * @return void - */ - public function test( - User $customAdmin, - $attempts, - $configData = null - ) { - $this->configData = $configData; - - // Steps - $customAdmin->persist(); - - // Preconditions - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - $this->systemConfigEditPage->open(); - $this->systemConfigEditPage->getForm() - ->getGroup('admin', 'captcha')->setValue('admin', 'captcha', 'enable', 'No'); - $this->systemConfigEditPage->getPageActions()->save(); - - for ($i = 0; $i < $attempts; $i++) { - $this->userAccountForgotPassword->open(); - $this->userAccountForgotPassword->getForgotPasswordForm()->fill($customAdmin); - $this->userAccountForgotPassword->getForgotPasswordForm()->submit(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.xml deleted file mode 100644 index f43469358aa9c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/ResetUserPasswordFailedTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S1,mftf_migrated:yes - custom_admin_with_default_role - 2 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.php deleted file mode 100644 index 30afc7e47964c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.php +++ /dev/null @@ -1,88 +0,0 @@ -customerAccountEdit = $customerAccountEdit; - } - - /** - * Change customer password in Account Information tab. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @return void - */ - public function test(Customer $initialCustomer, Customer $customer) - { - // Preconditions - $initialCustomer->persist(); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $initialCustomer] - )->run(); - - $this->customerAccountEdit->getAccountMenuBlock()->openMenuItem('Account Information'); - $this->customerAccountEdit->getAccountInfoForm()->SetChangeEmail(true); - $this->customerAccountEdit->getAccountInfoForm()->fill($customer); - $this->customerAccountEdit->getAccountInfoForm()->submit(); - } - - /** - * Logout customer from frontend account. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.xml deleted file mode 100644 index 8c7f35add2a8d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerEmailTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - default - JaneDoe_%isolation%@example.com - 123123^q - - - - - severity:S2, mftf_migrated:yes - default - JaneDoe_%isolation%@example.com - 123123123 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.php b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.php deleted file mode 100644 index 968f88a5abfc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.php +++ /dev/null @@ -1,91 +0,0 @@ -customerAccountEdit = $customerAccountEdit; - } - - /** - * Change customer password in Account Information tab. - * - * @param Customer $initialCustomer - * @param Customer $customer - * @param boolean $check - * @return void - */ - public function test(Customer $initialCustomer, Customer $customer, $check) - { - // Preconditions - $initialCustomer->persist(); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $initialCustomer] - )->run(); - - $this->customerAccountEdit->getAccountMenuBlock()->openMenuItem('Account Information'); - if ($check) { - $this->customerAccountEdit->getAccountInfoForm()->SetChangePassword(true); - $this->customerAccountEdit->getAccountInfoForm()->fill($customer); - $this->customerAccountEdit->getAccountInfoForm()->submit(); - } - } - - /** - * Logout customer from frontend account. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Customer\Test\TestStep\LogoutCustomerOnFrontendStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.xml b/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.xml deleted file mode 100644 index 1c5807401ca7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/TestCase/SecureChangingCustomerPasswordTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - default - 123123^q - 123123Qa - 123123Qa - 1 - - - - - severity:S2, mftf_migrated:yes - default - 123123123 - 123123Qa - 123123Qa - 1 - - - - severity:S3, mftf_migrated:yes - default - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Security/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Security/Test/etc/di.xml deleted file mode 100644 index 33cf78acb16d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Security/Test/etc/di.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S2 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php deleted file mode 100644 index 2f25b823f3f9d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php +++ /dev/null @@ -1,81 +0,0 @@ -blockFactory->create( - \Magento\Shipping\Test\Block\Adminhtml\Form\Items::class, - ['element' => $this->_rootElement->find($this->items)] - ); - } - - /** - * Get tracking block. - * - * @return Tracking - */ - protected function getTrackingBlock() - { - return $this->blockFactory->create( - \Magento\Shipping\Test\Block\Adminhtml\Order\Tracking::class, - ['element' => $this->_rootElement->find($this->tracking)] - ); - } - - /** - * Fill form data. - * - * @param array $data - * @param array|null $products [optional] - * @return void - */ - public function fillData(array $data, $products = null) - { - $data = $this->prepareData($data); - if (isset($data['form_data'])) { - if (isset($data['form_data']['tracking'])) { - $this->getTrackingBlock()->fill($data['form_data']['tracking']); - unset($data['form_data']['tracking']); - } - $this->_fill($this->dataMapping($data['form_data'])); - } - if (isset($data['items_data']) && $products !== null) { - foreach ($products as $key => $product) { - $this->getItemsBlock()->getItemProductBlock($product->getSku())->fillProduct($data['items_data'][$key]); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.xml deleted file mode 100644 index 9348e3f23f917..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - shipment - - - - - - - checkbox - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php deleted file mode 100644 index 574e9a18c8cd6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php +++ /dev/null @@ -1,32 +0,0 @@ -productItem, $productSku); - return $this->blockFactory->create( - \Magento\Shipping\Test\Block\Adminhtml\Form\Items\Product::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items/Product.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items/Product.php deleted file mode 100644 index caa0eff934bc6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items/Product.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - input.qty-item - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking.php deleted file mode 100644 index faaa7e8d0a6f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking.php +++ /dev/null @@ -1,62 +0,0 @@ -blockFactory->create( - \Magento\Shipping\Test\Block\Adminhtml\Order\Tracking\Item::class, - ['element' => $this->_rootElement->find(sprintf($this->itemTracking, $index), Locator::SELECTOR_XPATH)] - ); - } - - /** - * Fill tracking - * - * @param array $data - * @return void - */ - public function fill(array $data) - { - foreach ($data as $key => $value) { - if (!$this->getItemTrackingBlock(++$key)->isVisible()) { - $this->_rootElement->find($this->addTracking)->click(); - } - $this->getItemTrackingBlock($key)->fillRow($value); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.php deleted file mode 100644 index f2763ce4c671d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.php +++ /dev/null @@ -1,28 +0,0 @@ -dataMapping($fields); - $this->_fill($mapping); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.xml deleted file mode 100644 index 55ec2f8269bc1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/Tracking/Item.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - [name$='[carrier_code]'] - select - - - <selector>[name$='[title]']</selector> - - - [name$='[number]'] - - - [name$='carrier'] - select - - - [name$='title'] - - - [name$='number'] - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/TrackingInfoTable.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/TrackingInfoTable.php deleted file mode 100644 index fdffce4677266..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Order/TrackingInfoTable.php +++ /dev/null @@ -1,56 +0,0 @@ -getTrackingNumberItem(); - $trackingItemBlock->fillRow($data); - - $this->_rootElement->find($this->addButton)->click(); - } - - /** - * Creates block for tracking number item. - * - * @return Item - */ - private function getTrackingNumberItem() - { - return $this->blockFactory->create( - Item::class, - ['element' => $this->_rootElement->find($this->item, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Shipment/Grid.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Shipment/Grid.php deleted file mode 100644 index f5064c5f1f6e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Shipment/Grid.php +++ /dev/null @@ -1,42 +0,0 @@ - [ - 'selector' => 'input[name="increment_id"]', - ], - 'order_id' => [ - 'selector' => 'input[name="order_increment_id"]', - ], - 'total_qty_from' => [ - 'selector' => 'input[name="total_qty[from]"]', - ], - 'total_qty_to' => [ - 'selector' => 'input[name="total_qty[to]"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/View/Items.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/View/Items.php deleted file mode 100644 index 778b320159b4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/View/Items.php +++ /dev/null @@ -1,23 +0,0 @@ -_rootElement->find( - sprintf($this->shippingMethodSelector, $shippingMethod), - Locator::SELECTOR_XPATH - )->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment.php deleted file mode 100644 index d7d542973d773..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment.php +++ /dev/null @@ -1,47 +0,0 @@ -shipmentItemBlock, $id) . $this->shipmentContent; - return $this->blockFactory->create( - \Magento\Shipping\Test\Block\Order\Shipment\Items::class, - ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment/Items.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment/Items.php deleted file mode 100644 index bc3249980d707..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Order/Shipment/Items.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->grandTotal)->getText()); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertCityBasedShippingRateChanged.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertCityBasedShippingRateChanged.php deleted file mode 100644 index 9b5c8991cb675..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertCityBasedShippingRateChanged.php +++ /dev/null @@ -1,50 +0,0 @@ -getShippingMethodBlock()->isLoaderAppeared(), - 'Shipping rate has not been changed.' - ); - } - $shippingAvailability = $isShippingAvailable ? 'available' : 'unavailable'; - \PHPUnit\Framework\Assert::assertEquals( - $isShippingAvailable, - $checkoutOnepage->getShippingMethodBlock()->isShippingMethodAvailable($shippingMethod), - "Shipping rates for {$shippingMethod['shipping_service']} should be $shippingAvailability." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Shipping rate has been changed."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertNoShipButton.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertNoShipButton.php deleted file mode 100644 index bf0e564e7f3af..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertNoShipButton.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - \PHPUnit\Framework\Assert::assertFalse( - $salesOrderView->getPageActions()->isActionButtonVisible('Ship'), - 'Ship button is present on order view page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Ship button is absent on order view page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipTotalQuantity.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipTotalQuantity.php deleted file mode 100644 index 5deb8f356f949..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipTotalQuantity.php +++ /dev/null @@ -1,59 +0,0 @@ -getTotalQtyOrdered(); - $this->loginCustomerAndOpenOrderPage($order->getDataFieldConfig('customer_id')['source']->getCustomer()); - $orderHistory->getOrderHistoryBlock()->openOrderById($order->getId()); - $customerOrderView->getOrderViewBlock()->openLinkByName('Order Shipments'); - foreach ($ids['shipmentIds'] as $key => $shipmentIds) { - \PHPUnit\Framework\Assert::assertEquals( - $totalQty[$key], - $shipmentView->getShipmentBlock()->getItemShipmentBlock($shipmentIds)->getTotalQty() - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Shipped items quantity is equal to data from fixture on My Account page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsGrid.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsGrid.php deleted file mode 100644 index 3216afb1f489e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsGrid.php +++ /dev/null @@ -1,58 +0,0 @@ -open(); - $orderId = $order->getId(); - $totalQty = $order->getTotalQtyOrdered(); - foreach ($ids['shipmentIds'] as $key => $shipmentIds) { - $filter = [ - 'id' => $shipmentIds, - 'order_id' => $orderId - ]; - $filterQty = [ - 'total_qty_from' => $totalQty[$key], - 'total_qty_to' => $totalQty[$key], - ]; - $shipmentIndex->getShipmentsGrid()->search($filter + $filterQty); - \PHPUnit\Framework\Assert::assertTrue( - $shipmentIndex->getShipmentsGrid()->isRowVisible($filter, false), - 'Shipment is absent in shipment grid on shipment index page.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Shipment is present in the shipment grid with correct total qty on shipment index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsTab.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsTab.php deleted file mode 100644 index 9d7c66b88ef63..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentInShipmentsTab.php +++ /dev/null @@ -1,66 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $order->getId()]); - $salesOrderView->getOrderForm()->openTab('shipments'); - $totalQty = $order->getTotalQtyOrdered(); - $totalQty = is_array($totalQty) ? $totalQty : [$totalQty]; - - foreach ($ids['shipmentIds'] as $key => $shipmentId) { - $filter = [ - 'id' => $shipmentId, - 'qty_from' => number_format($totalQty[$key], 4, '.', ''), - 'qty_to' => number_format($totalQty[$key], 4, '.', ''), - ]; - \PHPUnit\Framework\Assert::assertTrue( - $salesOrderView - ->getOrderForm() - ->getTab('shipments') - ->getGridBlock() - ->isRowVisible($filter, true, false), - 'Shipment is absent on shipments tab.' - ); - } - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Shipment is present on shipments tab.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentItems.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentItems.php deleted file mode 100644 index e4d22d2623672..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentItems.php +++ /dev/null @@ -1,100 +0,0 @@ -shipmentPage = $shipmentIndex; - } - - /** - * Assert shipped products are represented on shipment view page. - * - * @param SalesShipmentView $orderShipmentView - * @param OrderInjectable $order - * @param array $ids - * @param array|null $data [optional] - * @return void - */ - public function processAssert( - SalesShipmentView $orderShipmentView, - OrderInjectable $order, - array $ids, - array $data = null - ) { - $this->shipmentPage->open(); - $this->assert($order, $ids, $orderShipmentView, $data); - } - - /** - * Process assert. - * - * @param OrderInjectable $order - * @param array $ids - * @param SalesShipmentView $salesShipmentView - * @param array|null $data [optional] - * @return void - */ - protected function assert( - OrderInjectable $order, - array $ids, - SalesShipmentView $salesShipmentView, - array $data = null - ) { - $orderId = $order->getId(); - $productsData = $this->prepareOrderProducts($order, $data['items_data']); - foreach ($ids['shipmentIds'] as $shipmentId) { - $filter = [ - 'order_id' => $orderId, - 'id' => $shipmentId, - ]; - $this->shipmentPage->getShipmentsGrid()->searchAndOpen($filter); - $itemsData = $this->preparePageItems($salesShipmentView->getItemsBlock()->getData()); - $error = $this->verifyData($productsData, $itemsData); - \PHPUnit\Framework\Assert::assertEmpty($error, $error); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'All shipment products are present in shipment page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentNotInShipmentsGrid.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentNotInShipmentsGrid.php deleted file mode 100644 index ec8ba30114b9e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentNotInShipmentsGrid.php +++ /dev/null @@ -1,57 +0,0 @@ -open(); - $orderId = $order->getId(); - $totalQty = $order->getTotalQtyOrdered(); - foreach ($ids['shipmentIds'] as $key => $shipmentIds) { - $filter = [ - 'id' => $shipmentIds, - 'order_id' => $orderId - ]; - $filterQty = [ - 'total_qty_from' => $totalQty[$key], - 'total_qty_to' => $totalQty[$key], - ]; - $shipmentIndex->getShipmentsGrid()->search($filter + $filterQty); - \PHPUnit\Framework\Assert::assertFalse( - $shipmentIndex->getShipmentsGrid()->isRowVisible($filter, false), - 'Shipment is present in shipment grid on shipment index page.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Shipment is absent in the shipment grid on shipment index page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentSuccessCreateMessage.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentSuccessCreateMessage.php deleted file mode 100644 index 89c52299b6efd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShipmentSuccessCreateMessage.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Shipment success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShippingMethodOnPrintOrder.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShippingMethodOnPrintOrder.php deleted file mode 100644 index c8b613325606d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertShippingMethodOnPrintOrder.php +++ /dev/null @@ -1,47 +0,0 @@ -getInfoShipping()->isShippingMethodVisible($expected), - "Shipping method was printed incorrectly." - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Shipping method was printed correctly."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertTrackingDetailsIsPresent.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertTrackingDetailsIsPresent.php deleted file mode 100644 index 0fd6342fec725..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Constraint/AssertTrackingDetailsIsPresent.php +++ /dev/null @@ -1,84 +0,0 @@ -open(); - $orderIndex->getSalesOrderGrid() - ->searchAndOpen(['id' => $order->getId()]); - - /** @var Info $infoTab */ - $infoTab = $salesOrderView->getOrderForm() - ->openTab('info') - ->getTab('info'); - - $mainWindow = $browser->getCurrentWindow(); - $shippingInfoBlock = $infoTab->getShippingInfoBlock(); - $shippingInfoBlock->openTrackingPopup(); - - $browser->selectWindow(); - - $selector = '.close'; - $browser->waitUntil(function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() ? true : null; - }); - - $body = $browser->find($this->mainContainer)->getText(); - foreach ($resultTrackingData as $value) { - \PHPUnit\Framework\Assert::assertContains( - $value, - $body, - 'The "' . $value . '" is not present in Shipping Tracking popup.' - ); - } - $popupWindow = $browser->getCurrentWindow(); - $browser->selectWindow($mainWindow); - $browser->closeWindow($popupWindow); - } - - /** - * @inheritdoc - */ - public function toString() - { - return 'Shipment tracking data is present in the popup window.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Fixture/Method.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Fixture/Method.php deleted file mode 100644 index a4771f9586b2e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Fixture/Method.php +++ /dev/null @@ -1,30 +0,0 @@ -_repository = Factory::getRepositoryFactory() - ->getMagentoShippingMethod($this->_dataConfig, $this->_data); - - //Default data set - $this->switchData('flat_rate'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentNew.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentNew.xml deleted file mode 100644 index 0e58eb67d99f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentView.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentView.xml deleted file mode 100644 index 560927af72795..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/OrderShipmentView.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/SalesShipmentView.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/SalesShipmentView.xml deleted file mode 100644 index 5b56f7045bf79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/SalesShipmentView.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/ShipmentIndex.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/ShipmentIndex.xml deleted file mode 100644 index 89db3d817797d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/Adminhtml/ShipmentIndex.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/SalesGuestPrint.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/SalesGuestPrint.xml deleted file mode 100644 index 5026d705ab26b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/SalesGuestPrint.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/ShipmentView.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/ShipmentView.xml deleted file mode 100644 index 60ebe398db552..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Page/ShipmentView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/ConfigData.xml deleted file mode 100644 index 088ebe5d82d40..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - shipping - 1 - United States - US - - - shipping - 1 - California - 12 - - - shipping - 1 - - 90232 - - - shipping - 1 - - Culver City - - - shipping - 1 - - 10441 Jefferson Blvd - - - shipping - 1 - - Suite 200 - - - - - - carriers - 1 - United States - US - - - shipping - 1 - California - 12 - - - shipping - 1 - - 90024 - - - shipping - 1 - - Los Angeles - - - shipping - 1 - - 1419 Westwood Blvd - - - - - - carriers - 1 - United Kingdom - CH - - - shipping - 1 - Bern - 107 - - - shipping - 1 - - 3005 - - - shipping - 1 - - Bern - - - shipping - 1 - - Weinbergstrasse 4 - - - - - - carriers - 1 - United Kingdom - GB - - - shipping - 1 - - SW1W 8JA - - - shipping - 1 - - London - - - shipping - 1 - - Bourne St - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/Method.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/Method.php deleted file mode 100644 index 64bf00e683426..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Repository/Method.php +++ /dev/null @@ -1,121 +0,0 @@ -_data['default'] = [ - 'config' => $defaultConfig, - 'data' => $defaultData, - ]; - - $this->_data['free_shipping'] = $this->_getFreeShipping(); - $this->_data['flat_rate'] = $this->_getFlatRate(); - // Shipping carriers - $this->_data['dhl_eu'] = $this->_getDhlEU(); - $this->_data['dhl_uk'] = $this->_getDhlUK(); - $this->_data['fedex'] = $this->_getFedex(); - $this->_data['ups'] = $this->_getUps(); - $this->_data['usps'] = $this->_getUsps(); - } - - protected function _getFreeShipping() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'Free Shipping', - 'shipping_method' => 'Free', - ], - ] - ]; - } - - protected function _getFlatRate() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'Flat Rate', - 'shipping_method' => 'Fixed', - ], - ] - ]; - } - - protected function _getDhlEU() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'DHL', - 'shipping_method' => 'Express worldwide', - ], - ] - ]; - } - - protected function _getDhlUK() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'DHL', - 'shipping_method' => 'Domestic express', - ], - ] - ]; - } - - protected function _getFedex() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'Federal Express', - 'shipping_method' => 'Ground', - ], - ] - ]; - } - - protected function _getUps() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'United Parcel Service', - 'shipping_method' => 'Ground', - ], - ] - ]; - } - - protected function _getUsps() - { - return [ - 'data' => [ - 'fields' => [ - 'shipping_service' => 'United States Postal Service', - 'shipping_method' => 'Mail', /** @todo change to 'Priority Mail' when usps config is updated */ - ], - ] - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CityBasedShippingRateTest.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CityBasedShippingRateTest.php deleted file mode 100644 index 280b0693a0aba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CityBasedShippingRateTest.php +++ /dev/null @@ -1,44 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.php deleted file mode 100644 index 3a06b7864dba1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.php +++ /dev/null @@ -1,69 +0,0 @@ - Orders. - * 2. Select created order in the grid and open it. - * 3. Click 'Ship' button. - * 4. Fill data according to dataset. - * 5. Click 'Submit Shipment' button. - * 6. Perform all asserts. - * - * @group Order_Management - * @ZephyrId MAGETWO-28708 - */ -class CreateShipmentEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Set up configuration. - * - * @return void - */ - public function __prepare() - { - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => "checkmo,flatrate"] - )->run(); - } - - /** - * Create shipment. - * - * @param OrderInjectable $order - * @param array $data - * @return array - */ - public function test(OrderInjectable $order, array $data) - { - // Preconditions - $order->persist(); - - // Steps - $createShipping = $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateShipmentStep::class, - ['order' => $order, 'data' => $data] - ); - - return ['ids' => $createShipping->run()]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.xml deleted file mode 100644 index 3fa93602e5256..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/CreateShipmentEntityTest.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - test_type:extended_acceptance_test,mftf_migrated:yes - default - catalogProductSimple::default - 1 - - - comments for shipment - Custom Value - title - 199 - - - - - - - - - default - catalogProductSimple::product_100_dollar - 1 - 1 - comments for shipment - - - - - - - - - - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.php deleted file mode 100644 index eea68a580f0dc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.php +++ /dev/null @@ -1,64 +0,0 @@ - Sales > Shipping. - * 2. Refresh statistic. - * 3. Configure and apply filter. - * 4. Remember report result. - * 5. Place order. - * 6. Create Shipping. - * 7. Refresh statistic. - * - * Steps: - * 1. Go to Reports > Sales > Shipping. - * 2. Configure and apply filter. - * 3. Perform all asserts. - * - * @ZephyrId MAGETWO-40914 - */ -class SalesShippingReportEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Create shipment. - * - * @param SalesShippingReport $salesShippingReport - * @param OrderInjectable $order - * @param array shippingReport - * @return array - */ - public function test(SalesShippingReport $salesShippingReport, OrderInjectable $order, array $shippingReport) - { - // Preconditions - $salesShippingReport->open(); - $salesShippingReport->getMessagesBlock()->clickLinkInMessage('notice', 'here'); - $salesShippingReport->getFilterForm()->viewsReport($shippingReport); - $salesShippingReport->getActionBlock()->showReport(); - $initialShippingResult = $salesShippingReport->getGridBlock()->getLastResult(); - $initialShippingTotalResult = $salesShippingReport->getGridBlock()->getTotalResult(); - $order->persist(); - $this->objectManager->create( - \Magento\Sales\Test\TestStep\CreateShipmentStep::class, - ['order' => $order] - )->run(); - - return [ - 'initialShippingResult' => $initialShippingResult, - 'initialShippingTotalResult' => $initialShippingTotalResult, - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.xml deleted file mode 100644 index 069bf23f5f25f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/SalesShippingReportEntityTest.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - default - full_shipment - Order Created - Year - m/d/Y 12:00 a-2 days - m/d/Y 12:00 a+2 days - Any - Yes - - - - - default - full_shipment - Order Created - Month - m/d/Y - m/d/Y - Any - No - - - - - default - full_shipment - Order Created - Day - m/d/Y - m/d/Y - Specified - Processing - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.php deleted file mode 100644 index 69ccf8f622013..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.php +++ /dev/null @@ -1,50 +0,0 @@ - Orders. - * 7. Select created order in the grid and open it. - * 8. Click 'Ship' button. - * 9. Fill data according to dataset. - * 10. Click 'Submit Shipment' button. - * 11. Select created shipment in the grid and open it. - * 12. Add tracking number according to dataset. - * 13. Select created order in the grid and open it. - * 14. Click on 'Track Order' link. - * 15. Perform all asserts. - * - * @group Shipping - * @ZephyrId MAGETWO-65163, MAGETWO-58158 - */ -class TrackingShipmentForPlacedOrderTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Runs one page checkout test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml deleted file mode 100644 index 6df9a51e51125..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestCase/TrackingShipmentForPlacedOrderTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - login - Fixed - Flat Rate - Flat Rate - checkmo - checkmo, fedex, shipping_origin_US_CA - - Custom Value - Custom Number - 0123456789 - - - 0123456789 - - severity:S1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/AddTrackingNumberStep.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/AddTrackingNumberStep.php deleted file mode 100644 index 5f07172584115..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/AddTrackingNumberStep.php +++ /dev/null @@ -1,69 +0,0 @@ -shipmentIndex = $shipmentIndex; - $this->salesShipmentView = $salesShipmentView; - $this->shipmentIds = $shipmentIds; - $this->trackingData = $trackingData; - } - - /** - * Creates shipping tracking number. - * - * @return void - */ - public function run() - { - $this->shipmentIndex->open(); - $this->shipmentIndex->getShipmentsGrid() - ->searchAndOpen(['id' => array_pop($this->shipmentIds)]); - - $trackingInfoTable = $this->salesShipmentView->getTrackingInfoBlock(); - $trackingInfoTable->addTrackingNumber($this->trackingData); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/FillShippingAddressesStep.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/FillShippingAddressesStep.php deleted file mode 100644 index abc560075d576..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/TestStep/FillShippingAddressesStep.php +++ /dev/null @@ -1,98 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->assertRate = $assertRate; - - foreach ($shippingAddresses as $address) { - $data = array_merge($clearShippingAddress, $address); - $this->shippingAddresses[] = $fixtureFactory->createByCode('address', ['data' => $data]); - } - $this->isShippingAvailable = $isShippingAvailable; - $this->shippingMethod = $shippingMethod; - } - - /** - * Fill shipping address and assert if the shipping rates is reloaded. - * - * @return void - */ - public function run() - { - foreach ($this->shippingAddresses as $key => $shippingAddress) { - $this->checkoutOnepage->getShippingBlock()->fill($shippingAddress); - $this->assertRate->processAssert( - $this->checkoutOnepage, - $this->shippingMethod, - $this->isShippingAvailable[$key] - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/di.xml deleted file mode 100644 index d7a747bd20042..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/testcase.xml deleted file mode 100644 index 340fe7bc0213e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/etc/testcase.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapGrid.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapGrid.php deleted file mode 100644 index 7b6a671894c54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapGrid.php +++ /dev/null @@ -1,75 +0,0 @@ - [ - 'selector' => '#sitemapGrid_filter_sitemap_filename', - ], - 'sitemap_path' => [ - 'selector' => '#sitemapGrid_filter_sitemap_path', - ], - 'sitemap_id' => [ - 'selector' => '#sitemapGrid_filter_sitemap_id', - ], - ]; - - /** - * Locator value for link in sitemap id column - * - * @var string - */ - protected $editLink = 'td[data-column="sitemap_id"]'; - - /** - * Locator link for Google in grid - * - * @var string - */ - protected $linkForGoogle = 'td[data-column="link"] a'; - - /** - * Locator generate link - * - * @var string - */ - protected $generate = 'td[data-column="action"] a'; - - /** - * Get link for Google - * - * @return string - */ - public function getLinkForGoogle() - { - return $this->_rootElement->find($this->linkForGoogle, Locator::SELECTOR_CSS)->getText(); - } - - /** - * Generate sitemap - * - * @return void - */ - public function generate() - { - $this->_rootElement->find($this->generate, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapPageActions.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapPageActions.php deleted file mode 100644 index 5e730bfee2d9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Block/Adminhtml/SitemapPageActions.php +++ /dev/null @@ -1,33 +0,0 @@ -_rootElement->find($this->saveAndGenerateButton)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapContent.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapContent.php deleted file mode 100644 index 99dab9ae79c6b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapContent.php +++ /dev/null @@ -1,88 +0,0 @@ -open()->getSitemapGrid()->sortGridByField('sitemap_id'); - $filter = [ - 'sitemap_filename' => $sitemap->getSitemapFilename(), - 'sitemap_path' => $sitemap->getSitemapPath(), - ]; - $sitemapIndex->getSitemapGrid()->search($filter); - $content = file_get_contents($sitemapIndex->getSitemapGrid()->getLinkForGoogle()); - $urls = [ - $_ENV['app_frontend_url'] . $product->getUrlKey() . '.html', - $_ENV['app_frontend_url'] . $catalog->getUrlKey() . '.html', - $_ENV['app_frontend_url'] . $cmsPage->getIdentifier(), - ]; - - \PHPUnit\Framework\Assert::assertTrue( - $this->checkContent($content, $urls), - 'Content of file sitemap.xml does not include one or more of next urls:' - . implode("\n", $urls) - ); - } - - /** - * Check content for the presence urls - * - * @param string $content - * @param array $urls - * @return bool - */ - protected function checkContent($content, $urls) - { - foreach ($urls as $url) { - if (strpos($content, $url) === false) { - return false; - } - } - return true; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'File sitemap.xml contains correct content according to dataset.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailFolderSaveMessage.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailFolderSaveMessage.php deleted file mode 100644 index 334d359530761..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailFolderSaveMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::FAIL_FOLDER_MESSAGE, $sitemap->getSitemapPath()), - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::FAIL_FOLDER_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Error message after creating sitemap with wrong folder is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailPathSaveMessage.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailPathSaveMessage.php deleted file mode 100644 index f73a2d6d7b25f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapFailPathSaveMessage.php +++ /dev/null @@ -1,48 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::FAIL_PATH_MESSAGE, $sitemap->getSitemapFilename()), - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::FAIL_PATH_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Error message after creating sitemap with wrong path is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapInGrid.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapInGrid.php deleted file mode 100644 index d8a4cb0dc641f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ -open()->getSitemapGrid()->sortGridByField('sitemap_id'); - $filter = [ - 'sitemap_filename' => $sitemap->getSitemapFilename(), - 'sitemap_path' => $sitemap->getSitemapPath(), - ]; - \PHPUnit\Framework\Assert::assertTrue( - $sitemapIndex->getSitemapGrid()->isRowVisible($filter), - 'Sitemap with filename \'' . $sitemap->getSitemapFilename() . '\' and path \'' - . $sitemap->getSitemapPath() . '\' is absent in Sitemap grid. \'' - ); - } - - /** - * Text of presence sitemap in grid. - * - * @return string - */ - public function toString() - { - return 'Sitemap in grid is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapNotInGrid.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapNotInGrid.php deleted file mode 100644 index 480b0163106d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapNotInGrid.php +++ /dev/null @@ -1,50 +0,0 @@ -open(); - $filter = [ - 'sitemap_filename' => $sitemap->getSitemapFilename(), - 'sitemap_path' => $sitemap->getSitemapPath(), - 'sitemap_id' => $sitemap->getSitemapId(), - ]; - \PHPUnit\Framework\Assert::assertFalse( - $sitemapPageGrid->getSitemapGrid()->isRowVisible($filter), - 'Sitemap with filename \'' . $sitemap->getSitemapFilename() . '\' and id \'' - . $sitemap->getSitemapId() . '\' and path \'' - . $sitemap->getSitemapPath() . '\' is present in Sitemap grid.' - ); - } - - /** - * Text of absence sitemap in grid. - * - * @return string - */ - public function toString() - { - return 'Sitemap in grid is absent.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSubmissionToRobotsTxt.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSubmissionToRobotsTxt.php deleted file mode 100644 index f5de4808a540f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSubmissionToRobotsTxt.php +++ /dev/null @@ -1,60 +0,0 @@ -open($_ENV['app_frontend_url'] . $this->filename); - \PHPUnit\Framework\Assert::assertNotEquals( - self::HTTP_NOT_FOUND, - $browser->getTitle(), - 'File ' . $this->filename . ' is not readable or not exists.' - ); - - $expectedRobotsContent = 'Sitemap: ' . $_ENV['app_frontend_url'] . 'sitemap.xml'; - \PHPUnit\Framework\Assert::assertTrue( - strpos($browser->getHtmlSource(), $expectedRobotsContent) !== false, - 'File ' . $this->filename . ' contains incorrect data.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'File ' . $this->filename . ' contains correct content.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessDeleteMessage.php deleted file mode 100644 index 6585d5498a960..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of success delete sitemap assert. - * - * @return string - */ - public function toString() - { - return 'Sitemap success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessGenerateMessage.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessGenerateMessage.php deleted file mode 100644 index 51de86ed35edf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessGenerateMessage.php +++ /dev/null @@ -1,54 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_GENERATE_MESSAGE, $sitemap->getSitemapFilename()), - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . sprintf(self::SUCCESS_GENERATE_MESSAGE, $sitemap->getSitemapFilename()) - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of success create sitemap assert. - * - * @return string - */ - public function toString() - { - return 'Sitemap success generate message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveAndGenerateMessages.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveAndGenerateMessages.php deleted file mode 100644 index 4c33aacbc97bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveAndGenerateMessages.php +++ /dev/null @@ -1,51 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(self::SUCCESS_SAVE_MESSAGE, $actualMessages) && - in_array(sprintf(self::SUCCESS_GENERATE_MESSAGE, $sitemap->getSitemapFilename()), $actualMessages), - 'Wrong success messages is displayed.' - . "\nExpected: " . sprintf(self::SUCCESS_GENERATE_MESSAGE, $sitemap->getSitemapFilename()) - . "\nExpected: " . self::SUCCESS_SAVE_MESSAGE - . "\nActual messages: " . implode("\n", $actualMessages) - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Sitemap success generate and save messages are present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveMessage.php deleted file mode 100644 index 2e8d1d69b0ca7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Constraint/AssertSitemapSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of success create sitemap assert. - * - * @return string - */ - public function toString() - { - return 'Sitemap success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml deleted file mode 100644 index 7dcf0b7d36095..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php deleted file mode 100644 index 38e79e0bf0ed1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php +++ /dev/null @@ -1,69 +0,0 @@ - 1]; - - /** - * Post request for creating sitemap - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $url = $_ENV['app_backend_url'] . 'admin/sitemap/save/generate/'; - $data = array_merge($this->defaultAttributeValues, $fixture->getData()); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Sitemap entity creating by curl handler was not successful! Response: $response"); - } - - return ['sitemap_id' => $this->getSitemapId($data)]; - } - - /** - * Get id after created sitemap - * - * @param array $data - * @return string|null - */ - protected function getSitemapId(array $data) - { - //Sort data in grid to define sitemap id if more than 20 items in grid - $url = 'admin/sitemap/index/sort/sitemap_id/dir/desc'; - $pattern = '/col\-sitemap_id[\s\W]*(\d+).*?' . $data['sitemap_filename'] . '/siu'; - $extractor = new Extractor($url, $pattern); - $match = $extractor->getData(); - - return empty($match[1]) ? null : $match[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/SitemapInterface.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/SitemapInterface.php deleted file mode 100644 index 700f093d7df42..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/SitemapInterface.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapIndex.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapIndex.xml deleted file mode 100644 index c0db562cabd2e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapNew.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapNew.xml deleted file mode 100644 index 28c4b72618b35..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Page/Adminhtml/SitemapNew.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/ConfigData.xml deleted file mode 100644 index 383d00a2b0cdf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - 0 - Yes - 1 - - - - - - default - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.xml deleted file mode 100644 index 3feda3296dbe2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Repository/Sitemap.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - sitemap.xml - / - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.php deleted file mode 100644 index 1662a9d592e2a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.php +++ /dev/null @@ -1,69 +0,0 @@ - SEO and Search > Site Map. - * 3. Click "Add Sitemap" button. - * 4. Fill out all data according to data set. - * 5. Click "Save" button. - * 6. Perform all assertions. - * - * @group XML_Sitemap - * @ZephyrId MAGETWO-23277 - */ -class CreateSitemapEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * @var SitemapIndex - */ - protected $sitemapIndex; - - /** - * @var SitemapNew - */ - protected $sitemapNew; - - /** - * @param SitemapIndex $sitemapIndex - * @param SitemapNew $sitemapNew - */ - public function __inject( - SitemapIndex $sitemapIndex, - SitemapNew $sitemapNew - ) { - $this->sitemapIndex = $sitemapIndex; - $this->sitemapNew = $sitemapNew; - } - - /** - * @param Sitemap $sitemap - */ - public function testCreateSitemap(Sitemap $sitemap) - { - // Steps - $this->sitemapIndex->open(); - $this->sitemapIndex->getGridPageActions()->addNew(); - $this->sitemapNew->getSitemapForm()->fill($sitemap); - $this->sitemapNew->getSitemapPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.xml deleted file mode 100644 index f1da612aa6ca0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/CreateSitemapEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - test_type:extended_acceptance_test, severity:S1,mftf_migrated:yes - sitemap.xml - / - - - - - severity:S3,mftf_migrated:yes - %isolation% - / - - - - severity:S3,mftf_migrated:yes - sitemap.xml - /%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.php deleted file mode 100644 index 54365b6926de3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.php +++ /dev/null @@ -1,77 +0,0 @@ - SEO and Search > Site Map. - * 3. Open sitemap from precondition. - * 4. Click "Delete" button. - * 5. Perform all assertions. - * - * @group XML_Sitemap - * @ZephyrId MAGETWO-23296 - */ -class DeleteSitemapEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * @var SitemapIndex - */ - protected $sitemapIndex; - - /** - * @var SitemapEdit - */ - protected $sitemapEdit; - - /** - * @param SitemapIndex $sitemapIndex - * @param SitemapEdit $sitemapEdit - */ - public function __inject( - SitemapIndex $sitemapIndex, - SitemapEdit $sitemapEdit - ) { - $this->sitemapIndex = $sitemapIndex; - $this->sitemapEdit = $sitemapEdit; - } - - /** - * @param Sitemap $sitemap - */ - public function testDeleteSitemap(Sitemap $sitemap) - { - // Preconditions - $sitemap->persist(); - $filter = [ - 'sitemap_filename' => $sitemap->getSitemapFilename(), - 'sitemap_path' => $sitemap->getSitemapPath(), - 'sitemap_id' => $sitemap->getSitemapId(), - ]; - // Steps - $this->sitemapIndex->open(); - $this->sitemapIndex->getSitemapGrid()->searchAndOpen($filter); - $this->sitemapEdit->getFormPageActions()->delete(); - $this->sitemapEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.xml deleted file mode 100644 index eeb000bd6a803..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/DeleteSitemapEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S2,mftf_migrated:yes - default - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.php deleted file mode 100644 index b3da5ed6f6605..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.php +++ /dev/null @@ -1,143 +0,0 @@ - SEO and Search > Site Map. - * 3. Click "Add Sitemap" button. - * 4. Fill out all data according to data set. - * 5. Click "Save" button. - * 6. Perform all assertions. - * - * @group XML_Sitemap - * @ZephyrId MAGETWO-25124 - */ -class GenerateSitemapEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Step factory. - * - * @var TestStepFactory - */ - private $stepFactory; - - /** - * Sitemap grid page - * - * @var SitemapIndex - */ - protected $sitemapIndex; - - /** - * Sitemap new page - * - * @var SitemapNew - */ - protected $sitemapNew; - - /** - * Configuration setting. - * - * @var string - */ - private $configData; - - /** - * Inject data - * - * @param SitemapIndex $sitemapIndex - * @param SitemapNew $sitemapNew - * @param TestStepFactory $stepFactory - * @return void - */ - public function __inject( - SitemapIndex $sitemapIndex, - SitemapNew $sitemapNew, - TestStepFactory $stepFactory - ) { - $this->sitemapIndex = $sitemapIndex; - $this->sitemapNew = $sitemapNew; - $this->stepFactory = $stepFactory; - } - - /** - * Generate Sitemap Entity - * - * @param Sitemap $sitemap - * @param CatalogProductSimple $product - * @param Category $catalog - * @param CmsPage $cmsPage - * @param null|string $configData - * @return void - */ - public function testGenerateSitemap( - Sitemap $sitemap, - CatalogProductSimple $product, - Category $catalog, - CmsPage $cmsPage, - $configData = null - ) { - $this->configData = $configData; - - // Preconditions - if ($this->configData !== null) { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - } - - $product->persist(); - $catalog->persist(); - $cmsPage->persist(); - - // Steps - $this->sitemapIndex->open(); - $this->sitemapIndex->getGridPageActions()->addNew(); - $this->sitemapNew->getSitemapForm()->fill($sitemap); - $this->sitemapNew->getSitemapPageActions()->saveAndGenerate(); - } - - /** - * Set default configuration. - * - * @return void - */ - public function tearDown(): void - { - if ($this->configData !== null) { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.xml deleted file mode 100644 index 97e5b72d5ca18..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/GenerateSitemapEntityTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - stable:no, severity:S1 - default_subcategory - default - default - sitemap.xml - / - - - - - - default_subcategory - default - default - sitemap.xml - / - enable_submission_to_robots - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 0f9514ffc7a00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - Marketing > Site Map - Site Map - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.php deleted file mode 100644 index 47f5727078425..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.php +++ /dev/null @@ -1,89 +0,0 @@ - SEO & Search: Site Map - * 3. Click 'Generate' In the grid for sitemap from preconditions - * 4. Perform all assertions - * - * @group XML_Sitemap - * @ZephyrId MAGETWO-25362 - */ -class UpdateSitemapEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Sitemap grid page - * - * @var SitemapIndex - */ - protected $sitemapIndex; - - /** - * Inject data - * - * @param SitemapIndex $sitemapIndex - * @return void - */ - public function __inject(SitemapIndex $sitemapIndex) - { - $this->sitemapIndex = $sitemapIndex; - } - - /** - * Update Sitemap Entity - * - * @param Sitemap $sitemap - * @param CatalogProductSimple $product - * @param Category $catalog - * @param CmsPage $cmsPage - * @return void - */ - public function testUpdateSitemap( - Sitemap $sitemap, - CatalogProductSimple $product, - Category $catalog, - CmsPage $cmsPage - ) { - // Preconditions - $sitemap->persist(); - $product->persist(); - $catalog->persist(); - $cmsPage->persist(); - $filter = [ - 'sitemap_filename' => $sitemap->getSitemapFilename(), - 'sitemap_path' => $sitemap->getSitemapPath(), - 'sitemap_id' => $sitemap->getSitemapId(), - ]; - - // Steps - $this->sitemapIndex->open()->getSitemapGrid()->search($filter); - $this->sitemapIndex->getSitemapGrid()->generate(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.xml deleted file mode 100644 index 66b15976ede1b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/TestCase/UpdateSitemapEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - to_maintain:yes, severity:S1 - default_subcategory - default - default - default - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/curl/di.xml deleted file mode 100644 index 053d383538287..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/di.xml deleted file mode 100644 index 3308497c00164..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/etc/di.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - S2 - - - - - S3 - - - - - S3 - - - - - S2 - - - - - S3 - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Block/Switcher.php b/dev/tests/functional/tests/app/Magento/Store/Test/Block/Switcher.php deleted file mode 100644 index 4362dfbf9f4c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Block/Switcher.php +++ /dev/null @@ -1,84 +0,0 @@ -_rootElement->find($this->dropDownButton)->isVisible() && ($this->getStoreView() !== $name)) { - $this->_rootElement->find($this->dropDownButton)->click(); - $this->_rootElement->find($name, Locator::SELECTOR_LINK_TEXT)->click(); - } - } - - /** - * Get store view - * - * @return string - */ - public function getStoreView() - { - return $this->_rootElement->find($this->dropDownButton)->getText(); - } - - /** - * Check is Store View Visible - * - * @param Store $store - * @return bool - */ - public function isStoreViewVisible($store) - { - $storeViewDropdown = $this->_rootElement->find($this->dropDownButton); - - $storeViewDropdown->click(); - $isStoreViewVisible = $this->_rootElement->find(sprintf($this->storeViewSelector, $store->getCode())) - ->isVisible(); - $storeViewDropdown->click(); - return $isStoreViewVisible; - } - - /** - * Check if StoreView dropdown is visible - * - * @return bool - */ - public function isStoreViewDropdownVisible() - { - return $this->_rootElement->find($this->dropDownButton)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreBackend.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreBackend.php deleted file mode 100644 index da844aab136ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreBackend.php +++ /dev/null @@ -1,42 +0,0 @@ - Configuration > "Scope" dropdown) - */ -class AssertStoreBackend extends AbstractConstraint -{ - /** - * Assert that created store view displays in backend configuration (Stores > Configuration > "Scope" dropdown) - * - * @param Store $store - * @param SystemConfig $systemConfig - * @return void - */ - public function processAssert(Store $store, SystemConfig $systemConfig) - { - $systemConfig->open(); - $isStoreVisible = $systemConfig->getPageActions()->isStoreVisible($store); - \PHPUnit\Framework\Assert::assertTrue($isStoreVisible, "Store view is not visible in dropdown on config page"); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store View is available in backend configuration (Stores > Configuration > "Scope" dropdown)'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreCodeInUrl.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreCodeInUrl.php deleted file mode 100644 index b008227e94c2d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreCodeInUrl.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $cmsIndex->getLogoBlock()->clickOnLogo(); - \PHPUnit\Framework\Assert::assertEquals( - $_ENV['app_frontend_url'] . $storeCode . '/', - $browser->getUrl(), - sprintf('Store code \'%s\' is not present in the url: %s', $storeCode, $browser->getUrl()) - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store code is present in the url.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreDisabledErrorSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreDisabledErrorSaveMessage.php deleted file mode 100644 index acd0f83f2681b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreDisabledErrorSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(), - 'Wrong error message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store View disabled error create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreForm.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreForm.php deleted file mode 100644 index 528712e86018c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreForm.php +++ /dev/null @@ -1,49 +0,0 @@ -open()->getStoreGrid()->searchAndOpenStore($store); - $formData = $storeNew->getStoreForm()->getData(); - $fixtureData = $store->getData(); - $errors = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store View data on edit page equals data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreFrontend.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreFrontend.php deleted file mode 100644 index 8fb0fe0b02352..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreFrontend.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - if ($cmsIndex->getFooterBlock()->isStoreGroupSwitcherVisible() - && $cmsIndex->getFooterBlock()->isStoreGroupVisible($store) - ) { - $cmsIndex->getFooterBlock()->selectStoreGroup($store); - } - - $isStoreViewVisible = !$cmsIndex->getStoreSwitcherBlock()->isStoreViewDropdownVisible() - ? true // if only one store view is assigned to store group - : $cmsIndex->getStoreSwitcherBlock()->isStoreViewVisible($store); - - \PHPUnit\Framework\Assert::assertTrue( - $isStoreViewVisible, - "Store view is not visible in dropdown on CmsIndex page" - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store view is visible in dropdown on CmsIndex page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupForm.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupForm.php deleted file mode 100644 index c1e7801b19604..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupForm.php +++ /dev/null @@ -1,60 +0,0 @@ -getData(), $storeGroup->getData()) - : $storeGroup->getData(); - $storeIndex->open()->getStoreGrid()->searchAndOpenStoreGroup($storeGroup); - $formData = $editGroup->getEditFormGroup()->getData(); - $errors = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store Group data on edit page equals data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupInGrid.php deleted file mode 100644 index 2ef63536a5f41..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['group_title' => $storeGroupName]); - \PHPUnit\Framework\Assert::assertTrue( - $storeIndex->getStoreGrid()->isStoreExists($storeGroupName), - 'Store group \'' . $storeGroupName . '\' is not present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store Group is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNoDeleteButton.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNoDeleteButton.php deleted file mode 100644 index 76207206d201e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNoDeleteButton.php +++ /dev/null @@ -1,40 +0,0 @@ -getFormPageActions()->checkDeleteButton(), - '\'Delete\' button on StoreGroup view edit page is present when it should not.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '\'Delete\' button on StoreGroup view edit page is absent.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNotInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNotInGrid.php deleted file mode 100644 index b929f118e05f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupNotInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['group_title' => $storeGroupName]); - \PHPUnit\Framework\Assert::assertFalse( - $storeIndex->getStoreGrid()->isStoreExists($storeGroupName), - 'Store group \'' . $storeGroupName . '\' is present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store Group is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupOnStoreViewForm.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupOnStoreViewForm.php deleted file mode 100644 index ddd0a4f063475..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupOnStoreViewForm.php +++ /dev/null @@ -1,47 +0,0 @@ -getName(); - $storeIndex->open()->getGridPageActions()->addStoreView(); - \PHPUnit\Framework\Assert::assertTrue( - $storeNew->getStoreForm()->isStoreVisible($storeGroupName), - 'Store Group \'' . $storeGroupName . '\' is not present on StoreView Form in Store dropdown.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store Group is visible on StoreView Form in Store dropdown.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php deleted file mode 100644 index 82f24259b8f30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteAndBackupMessages.php +++ /dev/null @@ -1,53 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(self::SUCCESS_BACKUP_MESSAGE, $actualMessages) && - in_array(self::SUCCESS_DELETE_MESSAGE, $actualMessages), - 'Wrong success messages are displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store group success delete and backup messages are present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php deleted file mode 100644 index 65da69de2b705..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessDeleteMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success delete message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store group success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php deleted file mode 100644 index 905cabc4f32e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreGroupSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store Group success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreInGrid.php deleted file mode 100644 index ce24a43ebcf54..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['store_title' => $storeName]); - \PHPUnit\Framework\Assert::assertTrue( - $storeIndex->getStoreGrid()->isStoreExists($storeName), - 'Store \'' . $storeName . '\' is not present in grid.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store View is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNoDeleteButton.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNoDeleteButton.php deleted file mode 100644 index 4f2c7c6106ab5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNoDeleteButton.php +++ /dev/null @@ -1,40 +0,0 @@ -getFormPageActions()->checkDeleteButton(), - '\'Delete\' button on Store view edit page is present when it should not.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return '\'Delete\' button on Store view edit page is absent.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotInGrid.php deleted file mode 100644 index 466f6f68a865c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['store_title' => $storeName]); - \PHPUnit\Framework\Assert::assertFalse( - $storeIndex->getStoreGrid()->isStoreExists($storeName), - 'Store \'' . $storeName . '\' is present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotOnFrontend.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotOnFrontend.php deleted file mode 100644 index 793044e75d7ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreNotOnFrontend.php +++ /dev/null @@ -1,54 +0,0 @@ -open(); - if ($cmsIndex->getFooterBlock()->isStoreGroupSwitcherVisible() - && $cmsIndex->getFooterBlock()->isStoreGroupVisible($store) - ) { - $cmsIndex->getFooterBlock()->selectStoreGroup($store); - } - - $isStoreViewVisible = !$cmsIndex->getStoreSwitcherBlock()->isStoreViewDropdownVisible() - ? false // if only one store view is assigned to store group - : $cmsIndex->getStoreSwitcherBlock()->isStoreViewVisible($store); - - \PHPUnit\Framework\Assert::assertFalse( - $isStoreViewVisible, - "Store view is visible in dropdown on CmsIndex page" - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store view is not visible in dropdown on CmsIndex page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php deleted file mode 100644 index 903a555cae867..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteAndBackupMessages.php +++ /dev/null @@ -1,53 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(self::SUCCESS_BACKUP_MESSAGE, $actualMessages) && - in_array(self::SUCCESS_DELETE_MESSAGE, $actualMessages), - 'Wrong success messages are displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Store view success delete and backup messages are present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php deleted file mode 100644 index 29381e2504c8b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessDeleteMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success delete message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php deleted file mode 100644 index 4376f0bb56cfd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertStoreSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Store View success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteForm.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteForm.php deleted file mode 100644 index 2fd3cb265c1e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteForm.php +++ /dev/null @@ -1,56 +0,0 @@ -getData(); - $storeIndex->open()->getStoreGrid()->searchAndOpenWebsite($website); - $formData = $editWebsite->getEditFormWebsite()->getData(); - $errors = $this->verifyData($fixtureData, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website data on edit page equals data from fixture.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteInGrid.php deleted file mode 100644 index f68971b3699f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['website_title' => $websiteName]); - \PHPUnit\Framework\Assert::assertTrue( - $storeIndex->getStoreGrid()->isWebsiteExists($website), - 'Website \'' . $websiteName . '\' is not present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteNotInGrid.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteNotInGrid.php deleted file mode 100644 index 0e0398c126faf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -getName(); - $storeIndex->open()->getStoreGrid()->search(['website_title' => $websiteName]); - \PHPUnit\Framework\Assert::assertFalse( - $storeIndex->getStoreGrid()->isWebsiteExists($website), - 'Website \'' . $websiteName . '\' is present in grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteOnStoreForm.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteOnStoreForm.php deleted file mode 100644 index 97ead5114461e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteOnStoreForm.php +++ /dev/null @@ -1,51 +0,0 @@ -getName(); - $storeIndex->open()->getGridPageActions()->createStoreGroup(); - \PHPUnit\Framework\Assert::assertTrue( - $newGroupIndex->getEditFormGroup()->isWebsiteVisible($websiteName), - 'Website \'' . $websiteName . '\' is not present on Store Group Form in Website dropdown.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website is visible on Store Group Form in Website dropdown.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php deleted file mode 100644 index de6230ae8448c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteAndBackupMessages.php +++ /dev/null @@ -1,53 +0,0 @@ -getMessagesBlock()->getSuccessMessages(); - \PHPUnit\Framework\Assert::assertTrue( - in_array(self::SUCCESS_BACKUP_MESSAGE, $actualMessages) && - in_array(self::SUCCESS_DELETE_MESSAGE, $actualMessages), - 'Wrong success messages are displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website success delete and backup messages are present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php deleted file mode 100644 index 8ca5b8b1c4181..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessDeleteMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success delete message is displayed.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Website success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php deleted file mode 100644 index 7e7fe6285ef4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Constraint/AssertWebsiteSuccessSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Website success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml deleted file mode 100644 index 5cb757692a716..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store/GroupId.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store/GroupId.php deleted file mode 100644 index 5da1f14535ae7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store/GroupId.php +++ /dev/null @@ -1,68 +0,0 @@ -params = $params; - - if (isset($data['storeGroup']) && $data['storeGroup'] instanceof StoreGroup) { - $this->storeGroup = $data['storeGroup']; - $this->data = $data['storeGroup']->getWebsiteId() . "/" . $data['storeGroup']->getName(); - return; - } - - if (isset($data['dataset'])) { - $storeGroup = $fixtureFactory->createByCode('storeGroup', ['dataset' => $data['dataset']]); - /** @var StoreGroup $storeGroup */ - if (!$storeGroup->getGroupId()) { - $storeGroup->persist(); - } - $this->storeGroup = $storeGroup; - $this->data = $storeGroup->getWebsiteId() . "/" . $storeGroup->getName(); - } elseif (isset($data['fixture'])) { - $this->storeGroup = $data['fixture']; - $this->data = $this->storeGroup->getWebsiteId() . "/" . $this->storeGroup->getName(); - } - - if (isset($data['value'])) { - $this->data = $data['value']; - } - } - - /** - * Return StoreGroup fixture - * - * @return StoreGroup - */ - public function getStoreGroup() - { - return $this->storeGroup; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml deleted file mode 100644 index 3128a1b09438d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/CategoryId.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/CategoryId.php deleted file mode 100644 index 2d9d1f9d5c5bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/CategoryId.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - if (isset($data['fixture']) || isset($data['category'])) { - $this->category = isset($data['fixture']) ? $data['fixture'] : $data['category']; - $this->data = $this->category->getName(); - } elseif (isset($data['dataset'])) { - $category = $fixtureFactory->createByCode('category', ['dataset' => $data['dataset']]); - /** @var Category $category */ - if (!$category->getId()) { - $category->persist(); - } - $this->category = $category; - $this->data = $category->getName(); - } - } - - /** - * Return Category fixture. - * - * @return Category - */ - public function getCategory() - { - return $this->category; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/WebsiteId.php b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/WebsiteId.php deleted file mode 100644 index e6f513d480de5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup/WebsiteId.php +++ /dev/null @@ -1,57 +0,0 @@ -params = $params; - if (isset($data['fixture'])) { - $this->website = $data['fixture']; - $this->data = $this->website->getName(); - } elseif (isset($data['dataset'])) { - $website = $fixtureFactory->createByCode('website', ['dataset' => $data['dataset']]); - /** @var Website $website */ - if (!$website->getWebsiteId()) { - $website->persist(); - } - $this->website = $website; - $this->data = $website->getName(); - } - } - - /** - * Return Website fixture - * - * @return Website - */ - public function getWebsite() - { - return $this->website; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml deleted file mode 100644 index aa8e57503895e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php deleted file mode 100644 index b6a9873970815..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php +++ /dev/null @@ -1,111 +0,0 @@ - [ - 'Main Website Store' => 1, - ], - 'is_active' => [ - 'Enabled' => 1, - 'Disabled' => 0, - ], - ]; - - /** - * POST request for creating store - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . $this->saveUrl; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Store View entity creating by curl handler was not successful! Response: $response"); - } - - return ['store_id' => $this->getStoreId($fixture->getName())]; - } - - /** - * Prepare data from text to values - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $data = [ - 'store' => $this->replaceMappingData($fixture->getData()), - 'store_action' => 'add', - 'store_type' => 'store', - ]; - $data['store']['group_id'] = $fixture->getDataFieldConfig('group_id')['source']->getStoreGroup()->getGroupId(); - $data['store']['store_id'] = isset($data['store']['store_id']) ? $data['store']['store_id'] : ''; - - return $data; - } - - /** - * Get Store id by name after creating Store - * - * @param string $name - * @return int|null - * @throws \Exception - */ - protected function getStoreId($name) - { - //Set pager limit to 2000 in order to find created store view by name - $url = $_ENV['app_backend_url'] . 'admin/system_store/index/sort/store_title/dir/asc/limit/2000'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - - $expectedUrl = '/admin/system_store/editStore/store_id/'; - $expectedUrl = preg_quote($expectedUrl); - $expectedUrl = str_replace('/', '\/', $expectedUrl); - preg_match('/' . $expectedUrl . '([0-9]*)\/(.)*>' . $name . '<\/a>/', $response, $matches); - - if (empty($matches)) { - throw new \Exception('Cannot find store id'); - } - - return empty($matches[1]) ? null : $matches[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/StoreInterface.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/StoreInterface.php deleted file mode 100644 index 99343d4f1f715..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/StoreInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'admin/system_store/save'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Store group entity creating by curl handler was not successful! Response: $response"); - } - - return ['group_id' => $this->getStoreGroupIdByGroupName($fixture->getName())]; - } - - /** - * Get store id by store name - * - * @param string $storeName - * @return int - * @throws \Exception - */ - protected function getStoreGroupIdByGroupName($storeName) - { - //Set pager limit to 2000 in order to find created store group by name - $url = $_ENV['app_backend_url'] . 'admin/system_store/index/sort/group_title/dir/asc/limit/2000'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - - $expectedUrl = '/admin/system_store/editGroup/group_id/'; - $expectedUrl = preg_quote($expectedUrl); - $expectedUrl = str_replace('/', '\/', $expectedUrl); - preg_match('/' . $expectedUrl . '([0-9]*)\/(.)*>' . $storeName . '<\/a>/', $response, $matches); - - if (empty($matches)) { - throw new \Exception('Cannot find store group id'); - } - - return (int)$matches[1]; - } - - /** - * Prepare data from text to values - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $categoryId = $fixture->getDataFieldConfig('root_category_id')['source']->getCategory()->getId(); - $websiteId = $fixture->getDataFieldConfig('website_id')['source']->getWebsite()->getWebsiteId(); - $data = [ - 'group' => [ - 'name' => $fixture->getName(), - 'root_category_id' => $categoryId, - 'website_id' => $websiteId, - 'group_id' => $fixture->hasData('group_id') ? $fixture->getGroupId() : '', - 'code' => $fixture->hasData('code') ? $fixture->getCode() : '', - ], - 'store_action' => 'add', - 'store_type' => 'group', - ]; - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/StoreGroupInterface.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/StoreGroupInterface.php deleted file mode 100644 index ce5f7d1336f00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/StoreGroupInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -website = $website; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * POST request for creating Website. - * - * @param FixtureInterface|null $fixture [optional] - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'admin/system_store/save/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Website entity creating by curl handler was not successful! Response: $response"); - } - - $websiteId = $this->getWebSiteIdByWebsiteName($fixture->getName()); - - // Update website fixture data. - $this->fixture = $this->fixtureFactory->createByCode( - 'website', - ['data' => array_merge($fixture->getData(), ['website_id' => $websiteId])] - ); - // Creates Website folder in root directory. - $this->website->create($data['website']['code']); - $this->setConfiguration($data); - - return ['website_id' => $websiteId]; - } - - /** - * Get website id by website name. - * - * @param string $websiteName - * @return int - * @throws \Exception - */ - protected function getWebSiteIdByWebsiteName($websiteName) - { - // Set pager limit to 2000 in order to find created website by name - $url = $_ENV['app_backend_url'] . 'admin/system_store/index/sort/group_title/dir/asc/limit/2000'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, [], CurlInterface::GET); - $response = $curl->read(); - - $expectedUrl = '/admin/system_store/editWebsite/website_id/'; - $expectedUrl = preg_quote($expectedUrl); - $expectedUrl = str_replace('/', '\/', $expectedUrl); - preg_match('/' . $expectedUrl . '([0-9]*)\/(.)*>' . $websiteName . '<\/a>/', $response, $matches); - - if (empty($matches)) { - throw new \Exception('Cannot find website id.'); - } - - return (int)$matches[1]; - } - - /** - * Prepare data from text to values. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture) - { - $data = [ - 'website' => $fixture->getData(), - 'store_action' => 'add', - 'store_type' => 'website', - ]; - $data['website']['website_id'] = isset($data['website']['website_id']) ? $data['website']['website_id'] : ''; - - return $data; - } - - /** - * Set Website configuration Base url. - * - * @param array $data - * @return void - * @throws \Exception - */ - private function setConfiguration(array $data) - { - $configData = [ - 'web/unsecure/base_link_url' => [ - 'value' => '{{unsecure_base_url}}websites/' . $data['website']['code'] . '/' - ], - 'scope' => ['fixture' => $this->fixture, 'scope_type' => 'website', 'set_level' => 'website'] - ]; - - $configFixture = $this->fixtureFactory->createByCode('configData', ['data' => $configData]); - $configFixture->persist(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/WebsiteInterface.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/WebsiteInterface.php deleted file mode 100644 index 861c7e97d4f78..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/WebsiteInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - admin - 1 - Yes - 1 - - - - - - admin - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.xml deleted file mode 100644 index fe8ec5d1f64bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Store.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - %id% - - default - - Default Store View - default - Enabled - - - - - default - - Custom_Store_%isolation% - code_%isolation% - Enabled - - - - %id% - Default Store View - - - - %id% - All Store Views - - - - - default - - DE%isolation% - de%isolation% - Enabled - - - - - custom_new_group - - Store_%isolation% - store_%isolation% - Enabled - - - - - custom - - Custom_Store_%isolation% - code_%isolation% - Enabled - - - - - store_group_new_1 - - New_Store_%isolation% - store_group_new_1_%isolation% - Enabled - - - - - store_group_new_2 - - New_Store_2_%isolation% - store_group_new_2_%isolation% - Enabled - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.xml deleted file mode 100644 index aeed20ee71975..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/StoreGroup.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - %id% - - main_website - - Main Website Store - main_website_store - - default_category - - - - - - main_website - - store_name_%isolation% - store_code_%isolation% - - default_category - - - - - - custom_website - - store_name_%isolation% - store_code_%isolation% - - default_category - - - - - - website_new_1 - - New_Store_Group_%isolation% - new_store_code_group_%isolation% - - default_category - - - - - - website_new_2 - - New_Store_Group_2_%isolation% - new_store_code_group_2_%isolation% - - root_category - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.xml deleted file mode 100644 index 61a5959c35178..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/Repository/Website.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - %id% - Main Website - base - - - - %id% - All Websites - - - - %id% - Main Website - base - 0 - - - - Web_Site_%isolation% - code_%isolation% - - - - New_Website_%isolation% - new_%isolation% - - - - New_Website_2_%isolation% - new2_%isolation% - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.php deleted file mode 100644 index ce66f68664a32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.php +++ /dev/null @@ -1,82 +0,0 @@ -stepFactory = $stepFactory; - } - - /** - * Set config and log out from Admin. - * - * @param string $configData - * @return void - */ - public function test($configData) - { - $this->configData = $configData; - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $this->stepFactory->create( - \Magento\User\Test\TestStep\LogoutUserOnBackendStep::class, - ['configData' => $this->configData] - )->run(); - } - - /** - * Reset config settings to default. - * - * @return void - */ - public function tearDown(): void - { - $this->stepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.xml deleted file mode 100644 index 4d3677076d303..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/AccessAdminWithStoreCodeInUrlTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - add_store_code_to_urls - default - default - mftf_migrated:yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.php deleted file mode 100644 index 7093535526019..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.php +++ /dev/null @@ -1,83 +0,0 @@ - All Stores - * 3. Click "Create Store View" button - * 4. Fill data according to dataset - Warning message "This operation can take a long time" appears. - * 5. Click "OK". - * 6. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27647 - */ -class CreateStoreEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const SEVERITY = 'S0'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page StoreNew - * - * @var StoreNew - */ - protected $storeNew; - - /** - * Preparing pages for test - * - * @param StoreIndex $storeIndex - * @param StoreNew $storeNew - * @return void - */ - public function __inject(StoreIndex $storeIndex, StoreNew $storeNew) - { - $this->storeIndex = $storeIndex; - $this->storeNew = $storeNew; - } - - /** - * Runs Test Creation for StoreEntityTest - * - * @param Store $store - * @return void - */ - public function test(Store $store) - { - //Steps: - $this->storeIndex->open(); - $this->storeIndex->getGridPageActions()->addStoreView(); - $this->storeNew->getStoreForm()->fill($store); - $this->storeNew->getFormPageActions()->save(); - $this->storeNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.xml deleted file mode 100644 index d86c36c984dbd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreEntityTest.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - default - store_name_%isolation% - storecode_%isolation% - Enabled - - - - - - severity:S3, mftf_migrated:yes - default - store_name_%isolation% - storecode_%isolation% - Disabled - - - - - - severity:S1, mftf_migrated:yes - custom - store_name_%isolation% - storecode_%isolation% - Enabled - - - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, severity:S0, mftf_migrated:yes - default - DE_%isolation% - de_%isolation% - Enabled - German (Germany) - Den gesamten Shop durchsuchen - - - - - mftf_migrated:yes - custom_store - - - - - - mftf_migrated:yes - custom_new_group - store_name_%isolation% - storecode_%isolation% - Disabled - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.php deleted file mode 100644 index ff8130ff41251..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ - All Stores - * 3. Click "Create Store" button - * 4. Fill data according to dataset - * 5. Click "Save Store" button - * 6. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27345 - */ -class CreateStoreGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * NewGroupIndex page - * - * @var NewGroupIndex - */ - protected $newGroupIndex; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param NewGroupIndex $newGroupIndex - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - NewGroupIndex $newGroupIndex - ) { - $this->storeIndex = $storeIndex; - $this->newGroupIndex = $newGroupIndex; - } - - /** - * Create New StoreGroup - * - * @param StoreGroup $storeGroup - * @return void - */ - public function test(StoreGroup $storeGroup) - { - //Steps - $this->storeIndex->open(); - $this->storeIndex->getGridPageActions()->createStoreGroup(); - $this->newGroupIndex->getEditFormGroup()->fill($storeGroup); - $this->newGroupIndex->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.xml deleted file mode 100644 index dcfe22eb0d5f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateStoreGroupEntityTest.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - main_website - store_name_%isolation% - store_code_%isolation% - default_category - - - - - - severity:S1, mftf_migrated:yes - custom_website - store_name_%isolation% - store_code_%isolation% - root_category - - - - - - - mftf_migrated:yes - custom_new_group - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.php deleted file mode 100644 index d82ce36043cee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ - All Stores - * 3. Click "Create Website" button - * 4. Fill data according to dataset - * 5. Click "Save Web Site" button - * 6. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27665 - */ -class CreateWebsiteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * NewWebsiteIndex page - * - * @var NewWebsiteIndex - */ - protected $newWebsiteIndex; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param NewWebsiteIndex $newWebsiteIndex - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - NewWebsiteIndex $newWebsiteIndex - ) { - $this->storeIndex = $storeIndex; - $this->newWebsiteIndex = $newWebsiteIndex; - } - - /** - * Create Website - * - * @param Website $website - * @return void - */ - public function test(Website $website) - { - //Steps - $this->storeIndex->open(); - $this->storeIndex->getGridPageActions()->addNew(); - $this->newWebsiteIndex->getEditWebsiteForm()->fill($website); - $this->newWebsiteIndex->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.xml deleted file mode 100644 index e35ef853d1b68..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/CreateWebsiteEntityTest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - severity:S1, mftf_migrated:yes - website_%isolation% - code_%isolation% - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.php deleted file mode 100644 index c1fe9ca45972d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.php +++ /dev/null @@ -1,122 +0,0 @@ - All Stores - * 3. Open created store view - * 4. Click "Delete Store View" - * 5. Set "Create DB Backup" according to dataset - * 6. Click "Delete Store View" - Warning message "This operation can take a long time" appears. - * 7. Click "OK". - * 8. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27942 - */ -class DeleteStoreEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Page BackupIndex - * - * @var BackupIndex - */ - protected $backupIndex; - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditStore - * - * @var EditStore - */ - protected $editStore; - - /** - * Page StoreDelete - * - * @var StoreDelete - */ - protected $storeDelete; - - /** - * Prepare pages for test - * - * @param BackupIndex $backupIndex - * @param StoreIndex $storeIndex - * @param EditStore $editStore - * @param StoreDelete $storeDelete - * @return void - */ - public function __inject( - BackupIndex $backupIndex, - StoreIndex $storeIndex, - EditStore $editStore, - StoreDelete $storeDelete - ) { - $this->storeIndex = $storeIndex; - $this->editStore = $editStore; - $this->backupIndex = $backupIndex; - $this->storeDelete = $storeDelete; - } - - /** - * Run Delete Store Entity test - * - * @param Store $store - * @param string $createBackup - * @return void - */ - public function test(Store $store, $createBackup) - { - // Preconditions: - $store->persist(); - /** @var SetupConfigurationStep $enableBackupsStep */ - $enableBackupsStep = $this->objectManager->create( - SetupConfigurationStep::class, - ['configData' => 'enable_backups_functionality'] - ); - $enableBackupsStep->run(); - $this->backupIndex->open() - ->getBackupGrid() - ->massaction([], 'Delete', true, 'Select All'); - - // Steps: - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenStore($store); - $this->editStore->getFormPageActions()->delete(); - $this->storeDelete->getStoreForm()->fillForm(['create_backup' => $createBackup]); - $this->storeDelete->getFormPageActions()->delete(); - $this->storeDelete->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.xml deleted file mode 100644 index cd37c555fdb1d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreEntityTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - custom - Yes - - - - - - - severity:S2, stable:no - custom - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.php deleted file mode 100644 index c332b83a22deb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.php +++ /dev/null @@ -1,122 +0,0 @@ - All Stores - * 3. Open created store - * 4. Click "Delete store" - * 5. Fill data according to dataset - * 6. Click "Delete store" - * 7. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27596 - */ -class DeleteStoreGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S3'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditGroup - * - * @var EditGroup - */ - protected $editGroup; - - /** - * Page DeleteGroup - * - * @var DeleteGroup - */ - protected $deleteGroup; - - /** - * Page BackupIndex - * - * @var BackupIndex - */ - protected $backupIndex; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param EditGroup $editGroup - * @param DeleteGroup $deleteGroup - * @param BackupIndex $backupIndex - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - EditGroup $editGroup, - DeleteGroup $deleteGroup, - BackupIndex $backupIndex - ) { - $this->storeIndex = $storeIndex; - $this->editGroup = $editGroup; - $this->deleteGroup = $deleteGroup; - $this->backupIndex = $backupIndex; - } - - /** - * Delete StoreGroup - * - * @param StoreGroup $storeGroup - * @param string $createBackup - * @return void - */ - public function test(StoreGroup $storeGroup, $createBackup) - { - //Preconditions - $storeGroup->persist(); - /** @var SetupConfigurationStep $enableBackupsStep */ - $enableBackupsStep = $this->objectManager->create( - SetupConfigurationStep::class, - ['configData' => 'enable_backups_functionality'] - ); - $enableBackupsStep->run(); - $this->backupIndex->open() - ->getBackupGrid() - ->massaction([], 'Delete', true, 'Select All'); - - //Steps - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenStoreGroup($storeGroup); - $this->editGroup->getFormPageActions()->delete(); - $this->deleteGroup->getDeleteGroupForm()->fillForm(['create_backup' => $createBackup]); - $this->deleteGroup->getFormPageActions()->delete(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.xml deleted file mode 100644 index 865530862853a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteStoreGroupEntityTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - severity:S3, mftf_migrated:yes - custom - Yes - - - - - - severity:S3, stable:no - custom - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.php deleted file mode 100644 index 22259a30b1538..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.php +++ /dev/null @@ -1,123 +0,0 @@ - All Stores - * 3. Open created website - * 4. Click "Delete Web Site" - * 5. Fill data according to dataset - * 6. Click "Delete Web Site" - * 7. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27723 - */ -class DeleteWebsiteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S3'; - const STABLE = 'no'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditWebsite - * - * @var EditWebsite - */ - protected $editWebsite; - - /** - * Page DeleteWebsite - * - * @var DeleteWebsite - */ - protected $deleteWebsite; - - /** - * Page BackupIndex - * - * @var BackupIndex - */ - protected $backupIndex; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param EditWebsite $editWebsite - * @param DeleteWebsite $deleteWebsite - * @param BackupIndex $backupIndex - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - EditWebsite $editWebsite, - DeleteWebsite $deleteWebsite, - BackupIndex $backupIndex - ) { - $this->storeIndex = $storeIndex; - $this->editWebsite = $editWebsite; - $this->deleteWebsite = $deleteWebsite; - $this->backupIndex = $backupIndex; - } - - /** - * Delete Website - * - * @param Website $website - * @param string $createBackup - * @return void - */ - public function test(Website $website, $createBackup) - { - //Preconditions - $website->persist(); - /** @var SetupConfigurationStep $enableBackupsStep */ - $enableBackupsStep = $this->objectManager->create( - SetupConfigurationStep::class, - ['configData' => 'enable_backups_functionality'] - ); - $enableBackupsStep->run(); - $this->backupIndex->open() - ->getBackupGrid() - ->massaction([], 'Delete', true, 'Select All'); - - //Steps - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenWebsite($website); - $this->editWebsite->getFormPageActions()->delete(); - $this->deleteWebsite->getDeleteWebsiteForm()->fillForm(['create_backup' => $createBackup]); - $this->deleteWebsite->getFormPageActions()->delete(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.xml deleted file mode 100644 index beb4dd2b1b09d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/DeleteWebsiteEntityTest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - severity:S3 - custom_website - Yes - - - - - - severity:S3 - custom_website - No - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.php deleted file mode 100644 index 0aefc9a1cdb25..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.php +++ /dev/null @@ -1,109 +0,0 @@ - All Stores - * 3. Open store view SVB from grid - * 4. Change store group setting from STB to STA - * 5. Save store entity - Warning message "This operation can take a long time" appears. - * 6. Click "OK". - * 7. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-58361 - */ -class MoveStoreToOtherGroupSameWebsiteTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditStore - * - * @var EditStore - */ - protected $editStore; - - /** - * Preparing pages for test - * - * @param StoreIndex $storeIndex - * @param EditStore $editStore - * @return void - */ - public function __inject(StoreIndex $storeIndex, EditStore $editStore) - { - $this->storeIndex = $storeIndex; - $this->editStore = $editStore; - } - - /** - * Move store view to another store group within a website - * - * @param FixtureFactory $fixtureFactory - * @param Store $storeInitialA - * @param Store $storeInitialB - * @return array - */ - public function test(FixtureFactory $fixtureFactory, Store $storeInitialA, Store $storeInitialB) - { - // Prepare data for constraints - $store = $fixtureFactory->createByCode( - 'store', - [ - 'data' => [ - 'name' => $storeInitialB->getName(), - 'code' => $storeInitialB->getCode(), - 'is_active' => $storeInitialB->getIsActive(), - 'group_id' => [ - 'storeGroup' => $storeInitialA->getDataFieldConfig('group_id')['source']->getStoreGroup() - ], - ], - ] - ); - - // Preconditions - $storeInitialA->persist(); - $storeInitialB->persist(); - - // Steps - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenStore($storeInitialB); - $this->editStore->getStoreForm()->selectStore($storeInitialA->getGroupId()); - $this->editStore->getFormPageActions()->save(); - $this->editStore->getModalBlock()->acceptAlert(); - - return ['store' => $store]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.xml deleted file mode 100644 index ab702dfdd4b78..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/MoveStoreToOtherGroupSameWebsiteTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - mftf_migrated:yes - custom_group_custom_store - custom_group_custom_store - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.php deleted file mode 100644 index a9849476e1628..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.php +++ /dev/null @@ -1,115 +0,0 @@ - All Stores - * 3. Open created store view - * 4. Fill data according to dataset - * 5. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27786 - */ -class UpdateStoreEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditStore - * - * @var EditStore - */ - protected $editStore; - - /** - * Restore Default Store View step. - * - * @var RestoreDefaultStoreViewStep - */ - private $restoreDefaultStoreViewStep; - - /** - * Initial store fixture. - * - * @var Store - */ - private $storeInitial; - - /** - * Preparing pages for test - * - * @param StoreIndex $storeIndex - * @param EditStore $editStore - * @param RestoreDefaultStoreViewStep $restoreDefaultStoreViewStep - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - EditStore $editStore, - RestoreDefaultStoreViewStep $restoreDefaultStoreViewStep - ) { - $this->storeIndex = $storeIndex; - $this->editStore = $editStore; - $this->restoreDefaultStoreViewStep = $restoreDefaultStoreViewStep; - } - - /** - * Runs Update Store Entity test - * - * @param Store $storeInitial - * @param Store $store - * @return void - */ - public function test(Store $storeInitial, Store $store) - { - // Preconditions: - $this->storeInitial = $storeInitial; - $storeInitial->persist(); - - // Steps: - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenStore($storeInitial); - $this->editStore->getStoreForm()->fill($store); - $this->editStore->getFormPageActions()->save(); - } - - /** - * {@inheritdoc} - */ - protected function tearDown(): void - { - if ($this->storeInitial->getCode() == 'default') { - $this->restoreDefaultStoreViewStep->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.xml deleted file mode 100644 index 6053352386203..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - custom - default - storename_updated%isolation% - storecode_updated%isolation% - Enabled - - - - - - - - severity:S1, mftf_migrated:yes - default - storename_updated%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.php deleted file mode 100644 index 24d07a426ebe7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.php +++ /dev/null @@ -1,92 +0,0 @@ - All Stores - * 3. Open created store - * 4. Fill data according to dataset - * 5. Click "Save Store" button - * 6. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27568 - */ -class UpdateStoreGroupEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditGroup - * - * @var EditGroup - */ - protected $editGroup; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param EditGroup $editGroup - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - EditGroup $editGroup - ) { - $this->storeIndex = $storeIndex; - $this->editGroup = $editGroup; - } - - /** - * Update New StoreGroup - * - * @param StoreGroup $storeGroupOrigin - * @param StoreGroup $storeGroup - * @param string $acceptAlert - * @return void - */ - public function test(StoreGroup $storeGroupOrigin, StoreGroup $storeGroup, $acceptAlert) - { - - //Preconditions - $storeGroupOrigin->persist(); - - //Steps - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenStoreGroup($storeGroupOrigin); - $this->editGroup->getEditFormGroup()->fill($storeGroup); - $this->editGroup->getFormPageActions()->save(); - if ($acceptAlert) { - $this->editGroup->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.xml deleted file mode 100644 index 9ff67a9ba9fec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateStoreGroupEntityTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - custom - main_website - store_name_updated_%isolation% - store_code_updated_%isolation% - default_category - 0 - - - - - - severity:S2, mftf_migrated:yes - custom - custom_website - store_name_updated_%isolation% - store_code_updated_%isolation% - root_category - 1 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.php deleted file mode 100644 index 936d48713d5ff..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.php +++ /dev/null @@ -1,113 +0,0 @@ - All Stores - * 3. Open created website - * 4. Fill data according to dataset - * 5. Click "Save Web Site" button - * 6. Perform all assertions - * - * @group Store_Management - * @ZephyrId MAGETWO-27690 - */ -class UpdateWebsiteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S2'; - /* end tags */ - - /** - * Page StoreIndex - * - * @var StoreIndex - */ - protected $storeIndex; - - /** - * Page EditWebsite - * - * @var EditWebsite - */ - protected $editWebsite; - - /** - * Fixture factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Injection data - * - * @param StoreIndex $storeIndex - * @param EditWebsite $editWebsite - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - StoreIndex $storeIndex, - EditWebsite $editWebsite, - FixtureFactory $fixtureFactory - ) { - $this->storeIndex = $storeIndex; - $this->editWebsite = $editWebsite; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Update Website - * - * @param Website $websiteOrigin - * @param Website $website - * @return array - */ - public function test(Website $websiteOrigin, Website $website) - { - //Preconditions - $websiteOrigin->persist(); - - //Steps - $this->storeIndex->open(); - $this->storeIndex->getStoreGrid()->searchAndOpenWebsite($websiteOrigin); - $this->editWebsite->getEditFormWebsite()->fill($website); - $this->editWebsite->getFormPageActions()->save(); - - return ['website' => $this->mergeFixture($website, $websiteOrigin)]; - } - - /** - * Merge Website fixtures - * - * @param Website $website - * @param Website $websiteOrigin - * @return Website - */ - protected function mergeFixture(Website $website, Website $websiteOrigin) - { - $data = array_merge($websiteOrigin->getData(), $website->getData()); - return $this->fixtureFactory->createByCode('website', ['data' => $data]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.xml b/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.xml deleted file mode 100644 index 5db0e7f8baad4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestCase/UpdateWebsiteEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - severity:S2, mftf_migrated:yes - custom_website - website_upd%isolation% - code_upd%isolation% - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/DeleteWebsitesEntityStep.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/DeleteWebsitesEntityStep.php deleted file mode 100644 index 03486f337d74f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/DeleteWebsitesEntityStep.php +++ /dev/null @@ -1,126 +0,0 @@ -storeIndex = $storeIndex; - $this->editWebsite = $editWebsite; - $this->backupIndex = $backupIndex; - $this->deleteWebsite = $deleteWebsite; - $this->item = $item; - $this->createBackup = $createBackup; - $this->fixtureFactory = $fixtureFactory; - $this->stepFactory = $testStepFactory; - } - - /** - * Delete specific Store View. - * - * @return void - */ - public function run() - { - /** @var SetupConfigurationStep $enableBackupsStep */ - $enableBackupsStep = $this->stepFactory->create( - SetupConfigurationStep::class, - ['configData' => 'enable_backups_functionality'] - ); - $enableBackupsStep->run(); - $this->backupIndex->open()->getBackupGrid()->massaction([], 'Delete', true, 'Select All'); - $this->storeIndex->open(); - $websiteNames = $this->item->getWebsiteIds(); - if (is_array($websiteNames) && count($websiteNames) > 0) { - $websiteName = end($websiteNames); - $this->storeIndex->getStoreGrid()->searchAndOpenWebsiteByName($websiteName); - $this->editWebsite->getFormPageActions()->delete(); - $this->deleteWebsite->getDeleteWebsiteForm()->fillForm(['create_backup' => $this->createBackup]); - $this->deleteWebsite->getFormPageActions()->delete(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/RestoreDefaultStoreViewStep.php b/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/RestoreDefaultStoreViewStep.php deleted file mode 100644 index 8e29a53c419d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/TestStep/RestoreDefaultStoreViewStep.php +++ /dev/null @@ -1,41 +0,0 @@ -storeView = $storeView; - } - - /** - * Restore Default Store View. - * - * @return void - */ - public function run() - { - $this->storeView->persist(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Store/Test/etc/curl/di.xml deleted file mode 100644 index 80a1afd26ab6b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/etc/curl/di.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Store/Test/etc/di.xml deleted file mode 100644 index 7c23f4eb58748..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Store/Test/etc/di.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S1 - - - - - S2 - - - - - S3 - - - - - S1 - - - - - S3 - - - - - S3 - - - - - S1 - - - - - S2 - - - - - S3 - - - - - S3 - - - - - S2 - - - - - S2 - - - - - S1 - - - - - S1 - - - - - S2 - - - - - S3 - - - - - S1 - - - - - S3 - - - - - S3 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertApiInfoTitleOnPage.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertApiInfoTitleOnPage.php deleted file mode 100644 index 0d30baf417735..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertApiInfoTitleOnPage.php +++ /dev/null @@ -1,47 +0,0 @@ -isElementVisible($this->titleSelector), - 'REST API info title on swagger page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'REST API info title on swagger page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertEndpointContentDisplay.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertEndpointContentDisplay.php deleted file mode 100644 index c8c495fe619f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertEndpointContentDisplay.php +++ /dev/null @@ -1,50 +0,0 @@ -isElementVisible($operationContentSelector), - 'REST API endpoint operation content on swagger page.' - ); - } - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'REST API endpoint operation content on swagger page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertServiceContentDisplay.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertServiceContentDisplay.php deleted file mode 100644 index 36e76dd48b6fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertServiceContentDisplay.php +++ /dev/null @@ -1,49 +0,0 @@ -isElementVisible($operationSelector), - 'REST API service endpoints on swagger page.' - ); - } - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'REST API service endpoints on swagger page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertSwaggerSectionLoadOnPage.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertSwaggerSectionLoadOnPage.php deleted file mode 100644 index af7425bbd847a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/Constraint/AssertSwaggerSectionLoadOnPage.php +++ /dev/null @@ -1,47 +0,0 @@ -isElementVisible($this->swaggerSectionSelector), - 'Class swagger-section on swagger page.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Class swagger-section on swagger page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/Page/SwaggerUiPage.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/Page/SwaggerUiPage.php deleted file mode 100644 index 3ea362d41848c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/Page/SwaggerUiPage.php +++ /dev/null @@ -1,227 +0,0 @@ -browser = $browser; - $this->url = $_ENV['app_frontend_url'] . self::MCA; - } - - /** - * Open page through browser - * - * @return void - */ - public function open() - { - $this->openSwaggerUrl(); - $this->waitForPageToLoad(); - } - - /** - * Close page through browser - * - * @return void - */ - public function close() - { - $this->browser->closeWindow(); - } - - /** - * Check if element is visible - * - * @param string $selector - * @param string $strategy - * @return bool - */ - public function isElementVisible($selector, $strategy = Locator::SELECTOR_CSS) - { - return $this->browser->find($selector, $strategy)->isVisible(); - } - - /** - * Expand service content - * - * @param string $serviceName - * @return void - */ - public function expandServiceContent($serviceName) - { - /** - * Selector for service - */ - $serviceSelector = '#operations-tag-%s'; - /** - * Selector for endpoint - */ - $endpointSelector = '//H4[@id=\'operations-tag-%s\']/following-sibling::DIV'; - $serviceSelector = sprintf($serviceSelector, $serviceName); - $endpointSelector = sprintf($endpointSelector, $serviceName); - if (!$this->isElementVisible($endpointSelector, Locator::SELECTOR_XPATH)) { - $this->browser->find($serviceSelector, Locator::SELECTOR_CSS)->click(); - } - } - - /** - * Close service content - * - * @param string $serviceName - * @return void - */ - public function closeServiceContent($serviceName) - { - /** - * Selector for service - */ - $serviceSelector = '#operations-tag-%s'; - /** - * Selector for endpoint - */ - $serviceSelector = sprintf($serviceSelector, $serviceName); - $this->browser->find($serviceSelector, Locator::SELECTOR_CSS)->click(); - } - - /** - * Expand endpoint content - * - * @param string $serviceName - * @param string $endpoint - * @return void - */ - public function expandEndpointContent($serviceName, $endpoint) - { - $this->expandServiceContent($serviceName); - /** - * Selector for endpoint href - */ - $endpointRefSelector = '#operations-%s-%s%s > div'; - /** - * Selector for operation - */ - $endpointRefSelector = sprintf($endpointRefSelector, $serviceName, $serviceName, $endpoint); - $this->browser->find($endpointRefSelector, Locator::SELECTOR_CSS)->click(); - } - - /** - * Close endpoint content - * - * @param string $serviceName - * @param string $endpoint - * @return void - */ - public function closeEndpointContent($serviceName, $endpoint) - { - $this->expandServiceContent($serviceName); - - /** - * Selector for endpoint href - */ - $endpointRefSelector = '#operations-%s-%s%s > div'; - - /** - * Selector for operation - */ - $endpointRefSelector = sprintf($endpointRefSelector, $serviceName, $serviceName, $endpoint); - $this->browser->find($endpointRefSelector, Locator::SELECTOR_CSS)->click(); - } - - /** - * Wait for page to load - * - * @return void - */ - private function waitForPageToLoad() - { - $this->waitForElementVisible($this->titleSelector); - } - - /** - * Wait for element to be visible - * - * @param string $selector - * @param string $strategy - * @return bool|null - */ - private function waitForElementVisible($selector, $strategy = Locator::SELECTOR_CSS) - { - $browser = $this->browser; - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $element = $browser->find($selector, $strategy); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Wait to open swagger url - * - * This is to work around an issue with selenium web driver randomly returns browser url as "about:blank" - * when open swagger page - * - * @return bool|null - */ - private function openSwaggerUrl() - { - $browser = $this->browser; - $pattern = self::MCA; - return $browser->waitUntil( - function () use ($browser, $pattern) { - try { - $url = $_ENV['app_frontend_url'] . $pattern; - $browser->open($url); - return true; - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - return false; - } - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.php b/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.php deleted file mode 100644 index 73c9cb541c3ac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.php +++ /dev/null @@ -1,100 +0,0 @@ -swaggerPage = $swaggerPage; - } - - /** - * Load Swagger UI for Rest API - * - * @param string $serviceName - * @param array $endpoints - * @return void - */ - public function test( - $serviceName, - array $endpoints - ) { - $this->serviceName = $serviceName; - $this->endpoints = $endpoints; - $this->swaggerPage->open(); - $this->swaggerPage->expandServiceContent($this->serviceName); - foreach ($endpoints as $endpoint) { - $this->swaggerPage->expandEndpointContent($serviceName, $endpoint); - } - } - - /** - * Clear data after test. - * - * @return void - */ - public function tearDown(): void - { - foreach ($this->endpoints as $endpoint) { - $this->swaggerPage->closeEndpointContent($this->serviceName, $endpoint); - } - $this->swaggerPage->closeServiceContent($this->serviceName); - $this->swaggerPage->close(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.xml b/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.xml deleted file mode 100644 index ae68751d06fa4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swagger/Test/TestCase/SwaggerUiForRestApiTest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - test_type:extended_acceptance_test - quoteGuestCartManagementV1 - - CreateEmptyCartPost - PlaceOrderPut - - - - - - - - customerAccountManagementV1 - - CreateAccountPost - ValidateResetPasswordLinkTokenGet - InitiatePasswordResetPut - IsEmailAvailablePost - - - - - - - - directoryCountryInformationAcquirerV1 - - GetCountriesInfoGet - GetCountryInfoGet - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ListProduct.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ListProduct.php deleted file mode 100644 index f283ff73a71a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ListProduct.php +++ /dev/null @@ -1,30 +0,0 @@ -productItem, $product->getName()); - - return $this->blockFactory->create( - \Magento\Swatches\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ProductList/ProductItem.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ProductList/ProductItem.php deleted file mode 100644 index 395257a0b74a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ProductList/ProductItem.php +++ /dev/null @@ -1,90 +0,0 @@ -getCheckoutData(); - $options = $checkoutData['options']['configurable_options']; - $confAttrData = $product->getDataFieldConfig('configurable_attributes_data'); - $confAttrSource = $confAttrData['source']; - $attributes = $confAttrSource->getAttributes(); - - foreach (array_reverse($options) as $option) { - if (!isset($attributes[$option['title']]) - || stripos($attributes[$option['title']]->getFrontendInput(), "swatch") === false - ) { - continue; - } - $availableOptions = $attributes[$option['title']]->getOptions(); - $optionKey = str_replace('option_key_', '', $option['value']); - if (!isset($availableOptions[$optionKey])) { - continue; - } - $optionForSelect = $availableOptions[$optionKey]; - $this->clickOnSwatch($optionForSelect['id']); - } - } - - /** - * Click on swatch. - * - * @param $optionId - */ - private function clickOnSwatch($optionId) - { - $selector = sprintf($this->swatchSelector, $optionId); - $this->_rootElement->find($selector, Locator::SELECTOR_CSS)->click(); - } - - /** - * @inheritdoc - */ - public function clickAddToCart() - { - $this->_rootElement->hover(); - parent::clickAddToCart(); - } - - /** - * Check swatches visibility. - * - * @return bool - */ - public function isSwatchesBlockVisible() - { - return $this->_rootElement->find($this->swatchBlockSelector)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ViewWithSwatches.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ViewWithSwatches.php deleted file mode 100644 index b908c95b884bf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Block/Product/ViewWithSwatches.php +++ /dev/null @@ -1,113 +0,0 @@ -waitForElementVisible($this->swatchAttributesSelector); - - $swatchAttributesData = []; - $swatchAttributes = $this->_rootElement->getElements($this->swatchAttributesSelector); - foreach ($swatchAttributes as $swatchAttribute) { - $attributeCode = $swatchAttribute->getAttribute('data-attribute-code'); - $swatchAttributesData[$attributeCode] = [ - 'attribute_code' => $attributeCode, - 'attribute_id' => $swatchAttribute->getAttribute('data-attribute-id'), - 'label' => $swatchAttribute->find($this->swatchAttributesLabelSelector)->getText(), - 'options' => $this->getSwatchAttributeOptionsData($swatchAttribute), - ]; - } - return $swatchAttributesData; - } - - /** - * Get swatch attribute options data. Key is option id - * - * @param ElementInterface $swatchAttribute - * @return array - */ - private function getSwatchAttributeOptionsData(ElementInterface $swatchAttribute) - { - $optionsData = []; - $options = $swatchAttribute->getElements($this->swatchAttributeOptionsSelector); - foreach ($options as $option) { - $optionId = $option->getAttribute('data-option-id'); - $optionsData[$optionId] = [ - 'option_id' => $optionId, - 'label' => $option->getText(), - ]; - } - return $optionsData; - } - - /** - * Get chosen options from the product page - * - * @param InjectableFixture $product - * @return array - */ - public function getSelectedSwatchOptions(InjectableFixture $product) - { - $checkoutData = $product->getCheckoutData(); - $availableAttributes = $product->getConfigurableAttributesData(); - $attributesData = $availableAttributes['attributes_data']; - $formData = []; - foreach ($checkoutData['options']['configurable_options'] as $item) { - $selector = sprintf( - $this->selectedSwatchAttributeSelector, - $attributesData[$item['title']]['attribute_code'] - ); - $this->waitForElementVisible($selector); - $selected = $this->_rootElement->find($selector)->getText(); - $formData[$item['title']] = $selected; - } - - return $formData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertProductPriceWithSelectedSwatchOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertProductPriceWithSelectedSwatchOnCategoryPage.php deleted file mode 100644 index 20cd944ffdb99..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertProductPriceWithSelectedSwatchOnCategoryPage.php +++ /dev/null @@ -1,44 +0,0 @@ -getListProductBlock()->getProductItem($product)->getPriceBlock(); - $configuredPrice = $product->getCheckoutData()['cartItem']['subtotal']; - \PHPUnit\Framework\Assert::assertEquals( - number_format($configuredPrice, 2, '.', ''), - $priceBlock->getPrice(), - 'Product configured price on category page is not correct.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Price with selected swatches is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSelectedSwatchOptionsOnProductPage.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSelectedSwatchOptionsOnProductPage.php deleted file mode 100644 index 7d495c54c270e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSelectedSwatchOptionsOnProductPage.php +++ /dev/null @@ -1,90 +0,0 @@ -product = $product; - $this->productView = $catalogProductView->getProductViewWithSwatchesBlock(); - - $this->productView->getSelectedSwatchOptions($this->product); - $errors = $this->verify(); - \PHPUnit\Framework\Assert::assertEmpty( - $errors, - "\nFound the following errors:\n" . implode(" \n", $errors) - ); - } - - /** - * Verify product on product view page. - * - * @return array - */ - protected function verify() - { - $errors = parent::verify(); - $errors[] = $this->verifySwatches(); - - return array_filter($errors); - } - - /** - * Verify selected swatches on product view page. - * - * @return array - */ - protected function verifySwatches() - { - $actualData = $this->productView->getSelectedSwatchOptions($this->product); - $expectedData = $this->convertCheckoutData($this->product); - $this->verifyData($expectedData, $actualData); - } - - /** - * Get swatch attributes formatter to attributes comparison. - * - * @param FixtureInterface $product - * @return array - */ - public function convertCheckoutData(FixtureInterface $product) - { - $out = []; - $checkoutData = $product->getCheckoutData(); - $availableAttributes = $product->getConfigurableAttributesData(); - $attributesData = $availableAttributes['attributes_data']; - foreach ($checkoutData['options']['configurable_options'] as $item) { - $out[$item['title']] = $attributesData[$item['title']]['options'][$item['value']]['label']; - } - - return $out; - } - - /** - * Return string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Swatch attributes displayed as expected on product page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchOptionsOnProductPage.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchOptionsOnProductPage.php deleted file mode 100644 index f0dfa38228090..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchOptionsOnProductPage.php +++ /dev/null @@ -1,130 +0,0 @@ -create(OpenProductOnFrontendStep::class, ['product' => $product]) - ->run(); - - $actualData = $catalogProductView->getProductViewWithSwatchesBlock() - ->getSwatchAttributesData(); - $expectedData = $product->getConfigurableAttributesData()['attributes_data']; - - foreach ($expectedData as $expectedAttributeData) { - \PHPUnit\Framework\Assert::assertArrayHasKey( - $expectedAttributeData['attribute_code'], - $actualData, - 'Attribute with code ' . $expectedAttributeData['attribute_code'] . ' is absent on Product page' - ); - $actualAttributeData = $actualData[$expectedAttributeData['attribute_code']]; - $this->verifyAttribute($expectedAttributeData, $actualAttributeData); - $this->verifyAttributeOptions($expectedAttributeData, $actualAttributeData); - } - } - - /** - * Verify attribute data - * - * @param array $expectedAttributeData - * @param array $actualAttributeData - */ - private function verifyAttribute(array $expectedAttributeData, array $actualAttributeData) - { - \PHPUnit\Framework\Assert::assertEquals( - $expectedAttributeData['attribute_code'], - $actualAttributeData['attribute_code'], - sprintf( - 'Attribute code "%s" is not equal to expected "%s"', - $actualAttributeData['attribute_code'], - $expectedAttributeData['attribute_code'] - ) - ); - \PHPUnit\Framework\Assert::assertEquals( - $expectedAttributeData['attribute_id'], - $actualAttributeData['attribute_id'], - sprintf( - 'Attribute id "%s" is not equal to expected "%s"', - $actualAttributeData['attribute_id'], - $expectedAttributeData['attribute_id'] - ) - ); - \PHPUnit\Framework\Assert::assertEquals( - $expectedAttributeData['label'], - $actualAttributeData['label'], - sprintf( - 'Attribute label "%s" is not equal to expected "%s"', - $actualAttributeData['label'], - $expectedAttributeData['label'] - ) - ); - } - - /** - * Verify attribute options data - * - * @param array $expectedAttributeData - * @param array $actualAttributeData - */ - private function verifyAttributeOptions(array $expectedAttributeData, array $actualAttributeData) - { - if (isset($expectedAttributeData['options'])) { - \PHPUnit\Framework\Assert::assertArrayHasKey( - 'options', - $actualAttributeData, - 'Swatch attribute options are missed on Product page' - ); - - $expectedOptionsCount = count($expectedAttributeData['options']); - $actualOptionsCount = count($actualAttributeData['options']); - \PHPUnit\Framework\Assert::assertEquals( - $expectedOptionsCount, - $actualOptionsCount, - sprintf( - 'Attribute options count "%d" is not equal to expected "%d"', - $actualOptionsCount, - $expectedOptionsCount - ) - ); - } else { - \PHPUnit\Framework\Assert::assertArrayNotHasKey( - 'options', - $actualAttributeData, - 'Product page must be without swatch attribute options' - ); - } - } - - /** - * Return string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Swatch attributes are displayed on product page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreNotVisibleOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreNotVisibleOnCategoryPage.php deleted file mode 100644 index 55b42293cd22d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreNotVisibleOnCategoryPage.php +++ /dev/null @@ -1,66 +0,0 @@ -openCategoryPage($cmsIndex, $product); - - $isSwatchesBlockVisible = $catalogCategoryView->getListSwatchesProductBlock() - ->getProductItem($product)->isSwatchesBlockVisible(); - - \PHPUnit\Framework\Assert::assertFalse( - $isSwatchesBlockVisible, - 'Swatches are still present on category page.' - ); - } - - /** - * Open category view page - * - * @param CmsIndex $cmsIndex - * @param FixtureInterface $product - * @return void - */ - private function openCategoryPage( - CmsIndex $cmsIndex, - FixtureInterface $product - ) { - $categoryIds = $product->getCategoryIds(); - $categoryName = reset($categoryIds); - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Swatches visibility is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreVisibleOnCategoryPage.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreVisibleOnCategoryPage.php deleted file mode 100644 index ddfa2cbffae2b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreVisibleOnCategoryPage.php +++ /dev/null @@ -1,66 +0,0 @@ -openCategoryPage($cmsIndex, $product); - - $isSwatchesBlockVisible = $catalogCategoryView->getListSwatchesProductBlock() - ->getProductItem($product)->isSwatchesBlockVisible(); - - \PHPUnit\Framework\Assert::assertTrue( - $isSwatchesBlockVisible, - 'Swatches are absent on category page.' - ); - } - - /** - * Open category view page - * - * @param CmsIndex $cmsIndex - * @param FixtureInterface $product - * @return void - */ - private function openCategoryPage( - CmsIndex $cmsIndex, - FixtureInterface $product - ) { - $categoryIds = $product->getCategoryIds(); - $categoryName = reset($categoryIds); - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Swatches visibility is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/Cart/Item.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/Cart/Item.php deleted file mode 100644 index 81ebdfda8628a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/Cart/Item.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/SwatchProductAttribute.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/SwatchProductAttribute.xml deleted file mode 100644 index 4888b83ba2be5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Fixture/SwatchProductAttribute.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/Curl.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/Curl.php deleted file mode 100644 index f4adb9dec1250..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/Curl.php +++ /dev/null @@ -1,60 +0,0 @@ -mappingData['frontend_input'] = [ - 'Text Swatch' => 'swatch_text', - ]; - } - - /** - * @inheritdoc - */ - protected function changeStructureOfTheData(array $data): array - { - return parent::changeStructureOfTheData($data); - } - - /** - * Re-map options from default options structure to swatches structure, - * as swatches was initially created with name convention differ from other attributes. - * - * @inheritdoc - */ - protected function getSerializeOptions(array $data): string - { - $options = []; - foreach ($data as $optionRowData) { - $optionRowData['optiontext'] = $optionRowData['option']; - $optionRowData['swatchtext'] = [ - 'value' => $optionRowData['option']['value'] - ]; - unset($optionRowData['option']); - $options[] = http_build_query($optionRowData); - } - - return json_encode($options); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/SwatchProductAttributeInterface.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/SwatchProductAttributeInterface.php deleted file mode 100644 index 3a76210159d3b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Handler/SwatchProductAttribute/SwatchProductAttributeInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index 233bc257ed035..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigData.xml deleted file mode 100644 index 99877a07d6619..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - default - 0 - 1 - - - - - default - 0 - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct.xml deleted file mode 100644 index 83912c794cea3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - Test configurable product with color and size %isolation% - sku_test_configurable_product_%isolation% - This item has weight - 30 - Yes - Catalog, Search - - taxable_goods - - configurable-product-%isolation% - - text_swatch - - - In Stock - - - default_subcategory - - - - default - - - - custom_attribute_set - - - 40 - price_40 - - - two_text_swatches - - - - Test configurable product with color and size %isolation% - sku_test_configurable_product_%isolation% - This item has weight - 30 - Yes - Catalog, Search - - taxable_goods - - configurable-product-%isolation% - - text_swatch_with_dropdown - - - In Stock - - - default_subcategory - - - - default - - - - custom_attribute_set - - - 40 - price_40 - - - swatches_with_dropdown - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/CheckoutData.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/CheckoutData.xml deleted file mode 100644 index c67d5b1c1729a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/CheckoutData.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - attribute_key_0 - option_key_1 - - - attribute_key_1 - option_key_2 - - - - 1 - - 42 - 1 - 48 - - - - - - - attribute_key_0 - option_key_1 - - - attribute_key_1 - option_key_1 - - - - 1 - - 42 - 1 - 47 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml deleted file mode 100644 index 90f783088adfe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/ConfigurableProduct/ConfigurableAttributesData.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - 12.00 - Yes - - - 20.00 - Yes - - - 18.00 - Yes - - - - - - - 42.00 - Yes - - - 40.00 - Yes - - - 48.00 - Yes - - - - - - swatchesProductAttribute::attribute_type_text_swatch - swatchesProductAttribute::attribute_type_text_swatch - - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - - - - - - - 12.00 - Yes - - - 20.00 - Yes - - - 18.00 - Yes - - - - - - - 42.00 - Yes - - - 40.00 - Yes - - - - - - swatchesProductAttribute::attribute_type_text_swatch - catalogProductAttribute::size - - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - 10 - 1 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/SwatchProductAttribute.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/SwatchProductAttribute.xml deleted file mode 100644 index 7b4da9ea28066..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/Repository/SwatchProductAttribute.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - sw_color%isolation% - Text Swatch - Text Swatch - - - No - R - R - - - No - G - G - - - No - B - B - - - Global - Yes - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.php deleted file mode 100644 index eb188148d532d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.php +++ /dev/null @@ -1,83 +0,0 @@ -testStepFactory = $testStepFactory; - $this->categoryView = $categoryView; - } - - /** - * Runs add configurable product with swatches attributes test. - * - * @param ConfigurableProduct $product - * @param bool $addToCart - * @return array - */ - public function test(ConfigurableProduct $product, $addToCart) - { - $product->persist(); - $cart = $this->testStepFactory->create( - \Magento\Swatches\Test\TestStep\AddProductToCartFromCatalogCategoryPageStep::class, - [ - 'product' => $product - ] - )->run()['cart']; - if ($addToCart) { - $this->categoryView->getMessagesBlock()->waitSuccessMessage(); - } - - return ['cart' => $cart]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.xml deleted file mode 100644 index bbe873e91e36a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/AddConfigurableProductWithSwatchToShoppingCartTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - addOptions - product_with_text_swatch - true - - - - - addOptions - product_with_text_swatch_and_size - false - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.php deleted file mode 100644 index 24e1d0f8226e5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.php +++ /dev/null @@ -1,62 +0,0 @@ -createByCode('configurableProduct', ['dataset' => 'product_with_text_swatch']); - $product->persist(); - return ['product' => $product]; - } - - /** - * @param TestStepFactory $testStepFactory - */ - public function __inject( - TestStepFactory $testStepFactory - ) { - $this->testStepFactory = $testStepFactory; - } - - /** - * Set value for 'Show Swatches in Product List' - * - * @param string $configData - * @return void - */ - public function test($configData) - { - $this->testStepFactory->create( - SetupConfigurationStep::class, - ['configData' => $configData, 'flushCache' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.xml deleted file mode 100644 index 33dcaed797c69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestCase/CheckShowSwatchesInProductListOptionImpactTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - disable_swatches_visibility_in_catalog - - - - - enable_swatches_visibility_in_catalog - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestStep/AddProductToCartFromCatalogCategoryPageStep.php b/dev/tests/functional/tests/app/Magento/Swatches/Test/TestStep/AddProductToCartFromCatalogCategoryPageStep.php deleted file mode 100644 index 2671e3d920430..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/TestStep/AddProductToCartFromCatalogCategoryPageStep.php +++ /dev/null @@ -1,96 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->cmsIndex = $cmsIndex; - $this->categoryView = $categoryView; - $this->product = $product; - } - - /** - * Update configurable product. - * - * @return array - */ - public function run() - { - $categoryName = $this->product->getCategoryIds()[0]; - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - /** @var \Magento\Swatches\Test\Block\Product\ListProduct $productsList */ - $productsList = $this->categoryView->getListSwatchesProductBlock(); - /** @var ProductItem $productItemBlock */ - $productItemBlock = $productsList->getProductItem($this->product); - $productItemBlock->fillData($this->product); - $productItemBlock->clickAddToCart(); - $cart = [ - 'data' => [ - 'items' => [ - 'products' => [$this->product] - ] - ] - ]; - - return [ - 'cart' => $this->fixtureFactory->createByCode('cart', $cart) - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Swatches/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Swatches/Test/etc/curl/di.xml deleted file mode 100644 index 393b3158712ca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Swatches/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/Form.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/Form.php deleted file mode 100644 index 44c7789cb0c8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/Form.php +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - checkbox - - - - - - select - - - select - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/FormPageActions.php deleted file mode 100644 index 5d2a1f13637b8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/Edit/FormPageActions.php +++ /dev/null @@ -1,30 +0,0 @@ - [ - 'selector' => '#tax_rate_grid_filter_code', - ], - 'tax_country_id' => [ - 'selector' => '#tax_rate_grid_filter_tax_country_id', - 'input' => 'select', - ], - 'tax_postcode' => [ - 'selector' => '#tax_rate_grid_filter_tax_postcode', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/GridPageActions.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/GridPageActions.php deleted file mode 100644 index cf8f80189eebc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rate/GridPageActions.php +++ /dev/null @@ -1,23 +0,0 @@ -openAdditionalSettings(); - $this->_rootElement->click(); - - /** @var TaxRule $fixture */ - $this->addNewTaxRates($fixture); - if ($fixture->hasData('tax_customer_class')) { - $this->_rootElement->click(); - $taxCustomerBlock = $this->_rootElement->find( - $this->taxCustomerBlock, - Locator::SELECTOR_CSS, - 'multiselectlist' - ); - $this->waitForElementVisible(sprintf($this->taxClassMultiSelectList, 'customer'), Locator::SELECTOR_XPATH); - $this->addNewTaxClass($fixture->getTaxCustomerClass(), $taxCustomerBlock); - } - if ($fixture->hasData('tax_product_class')) { - $this->_rootElement->click(); - $taxProductBlock = $this->_rootElement->find( - $this->taxProductBlock, - Locator::SELECTOR_CSS, - 'multiselectlist' - ); - $this->waitForElementVisible(sprintf($this->taxClassMultiSelectList, 'product'), Locator::SELECTOR_XPATH); - $this->addNewTaxClass($fixture->getTaxProductClass(), $taxProductBlock); - } - - $this->_rootElement->click(); - parent::fill($fixture); - } - - /** - * Method to add new tax rate. - * - * @param TaxRule $taxRule - * @return void - */ - protected function addNewTaxRates($taxRule) - { - $rootForm = $this; - $taxRateMultiSelectList = $this->taxRateMultiSelectList; - $taxRateDefaultMultiSelect = $this->taxRateDefaultMultiSelect; - $this->browser->waitUntil( - function () use ($rootForm, $taxRateDefaultMultiSelect) { - $element = $rootForm->browser->find($taxRateDefaultMultiSelect); - return $element->isVisible() ? null : true; - } - ); - $this->browser->waitUntil( - function () use ($rootForm, $taxRateMultiSelectList) { - $element = $rootForm->browser->find($taxRateMultiSelectList); - return $element->isVisible() ? true : null; - } - ); - - $taxRateBlock = $this->_rootElement->find($this->taxRateBlock, Locator::SELECTOR_CSS, 'multiselectlist'); - /** @var \Magento\Tax\Test\Block\Adminhtml\Rule\Edit\TaxRate $taxRateForm */ - $taxRateForm = $this->blockFactory->create( - \Magento\Tax\Test\Block\Adminhtml\Rule\Edit\TaxRate::class, - ['element' => $this->browser->find($this->taxRateForm)] - ); - - /** @var \Magento\Tax\Test\Fixture\TaxRule\TaxRate $taxRatesFixture */ - $taxRatesFixture = $taxRule->getDataFieldConfig('tax_rate')['source']; - $taxRatesFixture = $taxRatesFixture->getFixture(); - $taxRatesData = $taxRule->getTaxRate(); - - foreach ($taxRatesData as $key => $taxRate) { - $option = $taxRateBlock->find(sprintf($this->optionMaskElement, $taxRate), Locator::SELECTOR_XPATH); - if (!$option->isVisible()) { - $taxRate = $taxRatesFixture[$key]; - - $this->clickAddNewButton($taxRateBlock); - $taxRateForm->fill($taxRate); - $taxRateForm->saveTaxRate(); - /** @var \Magento\Tax\Test\Fixture\TaxRate $taxRate */ - $code = $taxRate->getCode(); - $this->waitUntilOptionIsVisible($taxRateBlock, $code); - } - } - } - - /** - * Method to add new tax classes. - * - * @param array $taxClasses - * @param SimpleElement $element - * @return void - */ - protected function addNewTaxClass(array $taxClasses, SimpleElement $element) - { - foreach ($taxClasses as $taxClass) { - $option = $element->find(sprintf($this->optionMaskElement, $taxClass), Locator::SELECTOR_XPATH); - if (!$option->isVisible()) { - $this->setNewTaxClassName($element, $taxClass); - } - } - } - - /** - * Set new tax class name. - * - * @param SimpleElement $element - * @param string $taxClass - * @throws \Exception - * @return void - */ - protected function setNewTaxClassName(SimpleElement $element, $taxClass) - { - $count = 0; - do { - try { - $this->clickAddNewButton($element); - $input = $element->find($this->addNewInput); - $input->click(); - $input->setValue($taxClass); - $element->find($this->saveButton)->click(); - $this->waitUntilOptionIsVisible($element, $taxClass); - return; - } catch (\Exception $e) { - // In parallel run on windows change the focus is lost on element - $count++; - } - } while ($count < self::MAX_TRY_COUNT); - - throw new \Exception("Input for new tax class name isn't display.\n" . $e); - } - - /** - * Waiting until option in list is visible. - * - * @param SimpleElement $element - * @param string $value - * @return void - */ - protected function waitUntilOptionIsVisible($element, $value) - { - $element->waitUntil( - function () use ($element, $value) { - $option = $element->find(sprintf($this->optionMaskElement, $value), Locator::SELECTOR_XPATH); - return $option->isVisible() ? true : null; - } - ); - } - - /** - * Open Additional Settings on Form. - * - * @return void - */ - public function openAdditionalSettings() - { - $this->_rootElement->find($this->additionalSettings)->click(); - $browser = $this->browser; - $browser->waitUntil( - function () use ($browser) { - $element = $browser->find($this->additionalSettingsBlock); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Click 'Add New' button. - * - * @param SimpleElement $element - * @return void - */ - protected function clickAddNewButton(SimpleElement $element) - { - $element->waitUntil( - function () use ($element) { - return $element->find($this->addNewButton)->isVisible() ? true : null; - } - ); - $element->find($this->addNewButton)->click(); - } - - /** - * Wait until tax rate element appears. - */ - protected function waitForTaxRates() - { - $browser = $this->browser; - $taxRateMultiSelectList = $this->taxRateMultiSelectList; - $browser->waitUntil( - function () use ($browser, $taxRateMultiSelectList) { - $element = $browser->find($taxRateMultiSelectList); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Getting all options in Tax Rate multi select list. - * - * @return array - */ - public function getAllTaxRates() - { - $this->waitForTaxRates(); - /** @var \Magento\Mtf\Client\Element\MultiselectlistElement $taxRates */ - $taxRates = $this->_rootElement->find($this->taxRateBlock, Locator::SELECTOR_CSS, 'multiselectlist'); - - return $taxRates->getAllValues(); - } - - /** - * Check whether tax rate is visible in the list. - * - * @param string $value - * @return bool - */ - public function isTaxRateAvailable($value) - { - $this->waitForTaxRates(); - /** @var \Magento\Mtf\Client\Element\MultiselectlistElement $taxRate */ - $taxRate = $this->_rootElement->find($this->taxRateBlock, Locator::SELECTOR_CSS, 'multiselectlist'); - return $taxRate->isValueVisible($value); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.xml deleted file mode 100644 index 979a8e6799351..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/Form.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - [class*="tax_rate"] - multiselectlist - - - [class*="tax_customer_class"] - multiselectlist - - - [class*="tax_product_class"] - multiselectlist - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.php deleted file mode 100644 index 3d20aa37de3fa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.php +++ /dev/null @@ -1,32 +0,0 @@ -_rootElement->find($this->saveTaxRate)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.xml deleted file mode 100644 index ee590afbeb3c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Edit/TaxRate.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - select - - - select - - - checkbox - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Grid.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Grid.php deleted file mode 100644 index 7c555f1a1342b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Block/Adminhtml/Rule/Grid.php +++ /dev/null @@ -1,67 +0,0 @@ - [ - 'selector' => '#taxRuleGrid_filter_code', - ], - 'tax_customer_class' => [ - 'selector' => '#taxRuleGrid_filter_customer_tax_classes', - 'input' => 'select', - ], - 'tax_product_class' => [ - 'selector' => '#taxRuleGrid_filter_product_tax_classes', - 'input' => 'select', - ], - 'tax_rate' => [ - 'selector' => '#taxRuleGrid_filter_tax_rates', - 'input' => 'select', - ], - ]; - - /** - * First row selector - * - * @var string - */ - protected $firstRowSelector = '//tbody/tr[./td[contains(@class, "col-name")]][1]'; - - /** - * Check if specific row exists in grid - * - * @param array $filter - * @param bool $isSearchable - * @param bool $isStrict - * @return bool - */ - public function isRowVisible(array $filter, $isSearchable = false, $isStrict = true) - { - $this->search(['code' => $filter['code']]); - return parent::isRowVisible($filter, $isSearchable); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertOrderTaxOnBackend.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertOrderTaxOnBackend.php deleted file mode 100644 index eb304f9b0eefb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertOrderTaxOnBackend.php +++ /dev/null @@ -1,225 +0,0 @@ -salesOrderView = $salesOrderView; - $this->orderInvoiceNew = $orderInvoiceNew; - $this->orderCreditMemoNew = $orderCreditMemoNew; - $orderIndex->open(); - $orderIndex->getSalesOrderGrid()->openFirstRow(); - //Check prices on order page - $actualPrices = []; - $actualPrices = $this->getOrderPrices($actualPrices, $product); - $actualPrices = $this->getOrderTotals($actualPrices); - $prices = $this->preparePrices($prices); - $message = 'Prices on order view page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - $salesOrderView->getPageActions()->invoice(); - //Check prices on invoice creation page - $actualPrices = []; - $actualPrices = $this->getInvoiceNewPrices($actualPrices, $product); - $actualPrices = $this->getInvoiceNewTotals($actualPrices); - $message = 'Prices on invoice new page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - $orderInvoiceNew->getTotalsBlock()->submit(); - //Check prices after invoice on order page - $actualPrices = []; - $actualPrices = $this->getOrderPrices($actualPrices, $product); - $actualPrices = $this->getOrderTotals($actualPrices); - $message = 'Prices on invoice page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - $salesOrderView->getPageActions()->orderCreditMemo(); - //Check prices on credit memo creation page - $actualPrices = []; - $actualPrices = $this->getCreditMemoNewPrices($actualPrices, $product); - $actualPrices = $this->getCreditMemoNewTotals($actualPrices); - $message = 'Prices on credit memo new page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals( - array_diff_key($prices, ['shipping_excl_tax' => null, 'shipping_incl_tax' => null]), - array_filter($actualPrices), - $message - ); - $orderCreditMemoNew->getFormBlock()->submit(); - //Check prices after refund on order page - $actualPrices = []; - $actualPrices = $this->getOrderPrices($actualPrices, $product); - $actualPrices = $this->getOrderTotals($actualPrices); - $message = 'Prices on credit memo page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, array_filter($actualPrices), $message); - } - - /** - * Unset category and product page expected prices. - * - * @param array $prices - * @return array - */ - protected function preparePrices($prices) - { - $deletePrices = [ - 'category_price', - 'category_special_price', - 'category_price_excl_tax', - 'category_price_incl_tax', - 'product_view_price', - 'product_view_special_price', - 'product_view_price_excl_tax', - 'product_view_price_incl_tax' - ]; - foreach ($deletePrices as $key) { - if (array_key_exists($key, $prices)) { - unset($prices[$key]); - } - } - - return $prices; - } - - /** - * Get order product prices. - * - * @param InjectableFixture $product - * @param array $actualPrices - * @return array - */ - public function getOrderPrices($actualPrices, InjectableFixture $product) - { - $viewBlock = $this->salesOrderView->getItemsOrderedBlock(); - $actualPrices['cart_item_price_excl_tax'] = $viewBlock->getItemPriceExclTax($product->getName()); - $actualPrices['cart_item_price_incl_tax'] = $viewBlock->getItemPriceInclTax($product->getName()); - $actualPrices['cart_item_subtotal_excl_tax'] = $viewBlock->getItemSubExclTax($product->getName()); - $actualPrices['cart_item_subtotal_incl_tax'] = $viewBlock->getItemSubInclTax($product->getName()); - return $actualPrices; - } - - /** - * Get invoice new product prices. - * - * @param InjectableFixture $product - * @param array $actualPrices - * @return array - */ - public function getInvoiceNewPrices($actualPrices, InjectableFixture $product) - { - $productBlock = $this->orderInvoiceNew->getFormBlock()->getItemsBlock()->getItemProductBlock($product); - $actualPrices['cart_item_price_excl_tax'] = $productBlock->getItemPriceExclTax(); - $actualPrices['cart_item_price_incl_tax'] = $productBlock->getItemPriceInclTax(); - $actualPrices['cart_item_subtotal_excl_tax'] = $productBlock->getItemSubExclTax(); - $actualPrices['cart_item_subtotal_incl_tax'] = $productBlock->getItemSubInclTax(); - return $actualPrices; - } - - /** - * Get Credit Memo new product prices. - * - * @param InjectableFixture $product - * @param array $actualPrices - * @return array - */ - public function getCreditMemoNewPrices($actualPrices, InjectableFixture $product) - { - $productBlock = $this->orderCreditMemoNew->getFormBlock()->getItemsBlock()->getItemProductBlock($product); - $actualPrices['cart_item_price_excl_tax'] = $productBlock->getItemPriceExclTax(); - $actualPrices['cart_item_price_incl_tax'] = $productBlock->getItemPriceInclTax(); - $actualPrices['cart_item_subtotal_excl_tax'] = $productBlock->getItemSubExclTax(); - $actualPrices['cart_item_subtotal_incl_tax'] = $productBlock->getItemSubInclTax(); - return $actualPrices; - } - - /** - * Text of price verification after order creation. - * - * @return string - */ - public function toString() - { - return 'Prices on backend after order creation is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxCalculationAfterCheckout.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxCalculationAfterCheckout.php deleted file mode 100644 index affc3132c6ccd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxCalculationAfterCheckout.php +++ /dev/null @@ -1,181 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->customerOrderView = $customerOrderView; - - $checkoutCart->getProceedToCheckoutBlock()->proceedToCheckout(); - $cmsIndex->getCmsPageBlock()->waitPageInit(); - - $shippingMethod = ['shipping_service' => 'Flat Rate', 'shipping_method' => 'Fixed']; - $checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shippingMethod); - $checkoutOnepage->getShippingMethodBlock()->clickContinue(); - $checkoutOnepage->getPaymentBlock()->selectPaymentMethod(['method' => 'checkmo']); - $actualPrices = []; - $actualPrices = $this->getReviewPrices($actualPrices, $product); - $actualPrices = $this->getReviewTotals($actualPrices); - $prices = $this->preparePrices($prices); - //Order review prices verification - $message = 'Prices on order review should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals( - array_diff_key($prices, ['cart_item_price_excl_tax' => null, 'cart_item_price_incl_tax' => null]), - array_diff_key($actualPrices, ['cart_item_price_excl_tax' => null, 'cart_item_price_incl_tax' => null]), - $message - ); - - $checkoutOnepage->getPaymentBlock()->placeOrder(); - $checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); - $checkoutOnepageSuccess->getSuccessBlock()->openOrder(); - $actualPrices = []; - $actualPrices = $this->getOrderPrices($actualPrices, $product); - $actualPrices = $this->getOrderTotals($actualPrices); - - //Frontend order prices verification - $message = 'Prices on order view page should be equal to defined in dataset.'; - \PHPUnit\Framework\Assert::assertEquals($prices, $actualPrices, $message); - } - - /** - * Prepare expected prices prices. - * - * @param array $prices - * @return array - */ - protected function preparePrices($prices) - { - return array_diff_key( - $prices, - array_flip([ - 'category_price', - 'category_special_price', - 'category_price_excl_tax', - 'category_price_incl_tax', - 'product_view_price', - 'product_view_special_price', - 'product_view_price_excl_tax', - 'product_view_price_incl_tax' - ]) - ); - } - - /** - * Get review product prices. - * - * @param InjectableFixture $product - * @param $actualPrices - * @return array - */ - public function getReviewPrices($actualPrices, InjectableFixture $product) - { - $reviewBlock = $this->checkoutOnepage->getReviewBlock(); - $actualPrices['cart_item_price_excl_tax'] = $reviewBlock->getItemPriceExclTax($product->getName()); - $actualPrices['cart_item_price_incl_tax'] = $reviewBlock->getItemPriceInclTax($product->getName()); - $actualPrices['cart_item_subtotal_excl_tax'] = $reviewBlock->getItemSubExclTax($product->getName()); - $actualPrices['cart_item_subtotal_incl_tax'] = $reviewBlock->getItemSubInclTax($product->getName()); - return $actualPrices; - } - - /** - * Get order product prices. - * - * @param InjectableFixture $product - * @param $actualPrices - * @return array - */ - public function getOrderPrices($actualPrices, InjectableFixture $product) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['cart_item_price_excl_tax'] = $viewBlock->getItemPriceExclTax($product->getName()); - $actualPrices['cart_item_price_incl_tax'] = $viewBlock->getItemPriceInclTax($product->getName()); - $actualPrices['cart_item_subtotal_excl_tax'] = $viewBlock->getItemSubExclTax($product->getName()); - $actualPrices['cart_item_subtotal_incl_tax'] = $viewBlock->getItemSubInclTax($product->getName()); - return $actualPrices; - } - - /** - * Text of price verification after order creation - * - * @return string - */ - public function toString() - { - return 'Prices on front after order creation is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPrices.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPrices.php deleted file mode 100644 index 9ff0a9e6a6487..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPrices.php +++ /dev/null @@ -1,190 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - //Preconditions - $address = $fixtureFactory->createByCode('address', ['dataset' => 'US_address_NY']); - $shipping = ['shipping_service' => 'Flat Rate', 'shipping_method' => 'Fixed']; - $actualPrices = []; - //Assertion steps - $productCategory = $product->getCategoryIds()[0]; - $this->openCategory($productCategory); - $actualPrices = $this->getCategoryPrices($product, $actualPrices); - $catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - $catalogProductView->getViewBlock()->fillOptions($product); - $actualPrices = $this->getProductPagePrices($actualPrices); - $catalogProductView->getViewBlock()->setQtyAndClickAddToCart($qty); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - $this->checkoutCart->open(); - $this->fillEstimateBlock($address, $shipping); - $actualPrices = $this->getCartPrices($product, $actualPrices); - $actualPrices = $this->getTotals($actualPrices); - //Prices verification - $message = 'Prices from dataset should be equal to prices on frontend.'; - \PHPUnit\Framework\Assert::assertEquals($prices, $actualPrices, $message); - } - - /** - * Open product category. - * - * @param string $productCategory - * @return void - */ - public function openCategory($productCategory) - { - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($productCategory); - } - - /** - * Get cart prices. - * - * @param InjectableFixture $product - * @param $actualPrices - * @return array - */ - public function getCartPrices(InjectableFixture $product, $actualPrices) - { - $actualPrices['cart_item_price_excl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getPriceExclTax(); - $actualPrices['cart_item_price_incl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getPriceInclTax(); - $actualPrices['cart_item_subtotal_excl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getSubtotalPriceExclTax(); - $actualPrices['cart_item_subtotal_incl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getSubtotalPriceInclTax(); - - return $actualPrices; - } - - /** - * Fill estimate block. - * - * @param Address $address - * @param array $shipping - * @return void - */ - public function fillEstimateBlock(Address $address, $shipping) - { - $this->checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($address); - $this->checkoutCart->getShippingBlock()->selectShippingMethod($shipping); - } - - /** - * Text of Tax Rule is applied - * - * @return string - */ - public function toString() - { - return 'Prices on front is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxWithCrossBorderApplying.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxWithCrossBorderApplying.php deleted file mode 100644 index 74e208af564b0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxWithCrossBorderApplying.php +++ /dev/null @@ -1,201 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - $actualPrices = $this->getPricesForCustomers($product, $customers); - $this->assert($actualPrices); - } - - /** - * Login with each provided customer and get product prices - * - * @param CatalogProductSimple $product - * @param array $customers - * @return array - */ - protected function getPricesForCustomers(CatalogProductSimple $product, $customers) - { - $prices = []; - foreach ($customers as $customer) { - $this->loginCustomer($customer); - $this->openCategory($product); - $actualPrices = []; - $actualPrices = $this->getCategoryPrice($product, $actualPrices); - $this->catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - $actualPrices = $this->addToCart($product, $actualPrices); - $actualPrices = $this->getCartPrice($product, $actualPrices); - $prices[] = $actualPrices; - $this->clearShoppingCart(); - } - return $prices; - } - - /** - * Open product category - * - * @param CatalogProductSimple $product - * @return void - */ - protected function openCategory(CatalogProductSimple $product) - { - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - } - - /** - * Get prices on category page - * - * @param FixtureInterface $product - * @param array $actualPrices - * @return array - */ - protected function getCategoryPrice(FixtureInterface $product, $actualPrices) - { - $actualPrices['category_price_incl_tax'] = - $this->catalogCategoryView - ->getListProductBlock() - ->getProductItem($product) - ->getPriceBlock() - ->getPriceIncludingTax(); - return $actualPrices; - } - - /** - * Fill options get price and add to cart - * - * @param CatalogProductSimple $product - * @param array $actualPrices - * @return array - */ - protected function addToCart(CatalogProductSimple $product, $actualPrices) - { - $this->catalogProductView->getViewBlock()->fillOptions($product); - $actualPrices['product_page_price'] = - $this->catalogProductView->getViewBlock()->getPriceBlock()->getPrice(); - $this->catalogProductView->getViewBlock()->clickAddToCart(); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - return $actualPrices; - } - - /** - * Get cart prices - * - * @param CatalogProductSimple $product - * @param array $actualPrices - * @return array - */ - protected function getCartPrice(CatalogProductSimple $product, $actualPrices) - { - $this->checkoutCart->open(); - $actualPrices['cart_item_price_incl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getPriceInclTax(); - $actualPrices['cart_item_subtotal_incl_tax'] = - $this->checkoutCart->getCartBlock()->getCartItem($product)->getSubtotalPriceInclTax(); - $actualPrices['grand_total'] = - $this->checkoutCart->getTotalsBlock()->getGrandTotalIncludingTax(); - return $actualPrices; - } - - /** - * Login customer - * - * @param $customer - * @return void - */ - protected function loginCustomer($customer) - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } - - /** - * Clear shopping cart - * - * @return void - */ - protected function clearShoppingCart() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->clearShoppingCart(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingIncludingTax.php deleted file mode 100644 index 0e8c7b348c260..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingIncludingTax.php +++ /dev/null @@ -1,88 +0,0 @@ -salesOrderView->getOrderTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotalInclTax(); - - $actualPrices['discount'] = $viewBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get invoice new totals. - * - * @param array $actualPrices - * @return array - */ - public function getInvoiceNewTotals($actualPrices) - { - $totalsBlock = $this->orderInvoiceNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalInclTax(); - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get Credit Memo new totals. - * - * @param array $actualPrices - * @return array - */ - public function getCreditMemoNewTotals($actualPrices) - { - $totalsBlock = $this->orderCreditMemoNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalInclTax(); - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingTax.php deleted file mode 100644 index c379f3139c7e4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendExcludingTax.php +++ /dev/null @@ -1,88 +0,0 @@ -salesOrderView->getOrderTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - - $actualPrices['discount'] = $viewBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - return $actualPrices; - } - - /** - * Get invoice new totals. - * - * @param $actualPrices - * @return array - */ - public function getInvoiceNewTotals($actualPrices) - { - $totalsBlock = $this->orderInvoiceNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } - - /** - * Get Credit Memo new totals. - * - * @param $actualPrices - * @return array - */ - public function getCreditMemoNewTotals($actualPrices) - { - $totalsBlock = $this->orderCreditMemoNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendIncludingTax.php deleted file mode 100644 index 3fc24c7250b8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertOrderTaxOnBackendIncludingTax.php +++ /dev/null @@ -1,88 +0,0 @@ -salesOrderView->getOrderTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotal(); - - $actualPrices['discount'] = $viewBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get invoice new totals. - * - * @param $actualPrices - * @return array - */ - public function getInvoiceNewTotals($actualPrices) - { - $totalsBlock = $this->orderInvoiceNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotal(); - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get Credit Memo new totals. - * - * @param $actualPrices - * @return array - */ - public function getCreditMemoNewTotals($actualPrices) - { - $totalsBlock = $this->orderCreditMemoNew->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotal(); - - $actualPrices['discount'] = $totalsBlock->getDiscount(); - - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingIncludingTax.php deleted file mode 100644 index 38bd530b433d0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingIncludingTax.php +++ /dev/null @@ -1,63 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = $reviewBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $reviewBlock->getSubtotalInclTax(); - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $reviewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotalExclTax(); - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotalInclTax(); - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingTax.php deleted file mode 100644 index dd25d6cf33df7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutExcludingTax.php +++ /dev/null @@ -1,62 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = $reviewBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = $viewBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutIncludingTax.php deleted file mode 100644 index 8b8fb8a03b993..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxCalculationAfterCheckoutIncludingTax.php +++ /dev/null @@ -1,62 +0,0 @@ -checkoutOnepage->getReviewBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $reviewBlock->getSubtotal(); - $actualPrices['discount'] = $reviewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $reviewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $reviewBlock->getShippingInclTax(); - $actualPrices['tax'] = $reviewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $reviewBlock->getGrandTotalExclTax(); - $actualPrices['grand_total_incl_tax'] = $reviewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } - - /** - * Get order totals. - * - * @param $actualPrices - * @return array - */ - public function getOrderTotals($actualPrices) - { - $viewBlock = $this->customerOrderView->getOrderViewBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $viewBlock->getSubtotal(); - $actualPrices['discount'] = $viewBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $viewBlock->getShippingExclTax(); - $actualPrices['shipping_incl_tax'] = $viewBlock->getShippingInclTax(); - $actualPrices['tax'] = $viewBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $viewBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = $viewBlock->getGrandTotalInclTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateForm.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateForm.php deleted file mode 100644 index e0ec4ae528589..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateForm.php +++ /dev/null @@ -1,114 +0,0 @@ -prepareData($taxRate, $initialTaxRate); - $filter = [ - 'code' => $data['code'], - ]; - - $taxRateIndexPage->open(); - $taxRateIndexPage->getTaxRateGrid()->searchAndOpen($filter); - $formData = $taxRateNewPage->getTaxRateForm()->getData($taxRate); - $dataDiff = $this->verifyForm($formData, $data); - \PHPUnit\Framework\Assert::assertTrue( - empty($dataDiff), - 'Tax Rate form was filled incorrectly.' - . "\nLog:\n" . implode(";\n", $dataDiff) - ); - } - - /** - * Preparing data for verification - * - * @param TaxRate $taxRate - * @param TaxRate $initialTaxRate - * @return array - */ - protected function prepareData(TaxRate $taxRate, TaxRate $initialTaxRate = null) - { - if ($initialTaxRate !== null) { - $data = array_merge($initialTaxRate->getData(), $taxRate->getData()); - if ($taxRate->hasData('tax_country_id') && !$taxRate->hasData('tax_region_id')) { - unset($data['tax_region_id']); - } - } else { - $data = $taxRate->getData(); - } - if ($data['zip_is_range'] === 'Yes') { - unset($data['tax_postcode']); - } else { - unset($data['zip_from'], $data['zip_to']); - } - $data['rate'] = number_format($data['rate'], 4); - - return $data; - } - - /** - * Verifying that form is filled correctly - * - * @param array $formData - * @param array $fixtureData - * @return array $errorMessages - */ - protected function verifyForm(array $formData, array $fixtureData) - { - $errorMessages = []; - $skippedFields = [ - 'id', - ]; - - foreach ($fixtureData as $key => $value) { - if (in_array($key, $skippedFields)) { - continue; - } - if ($value !== $formData[$key]) { - $errorMessages[] = "Data in " . $key . " field is not equal." - . "\nExpected: " . $value - . "\nActual: " . $formData[$key]; - } - } - - return $errorMessages; - } - - /** - * Text that form was filled correctly - * - * @return string - */ - public function toString() - { - return 'Tax Rate form was filled correctly.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInGrid.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInGrid.php deleted file mode 100644 index ca5615b042e87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInGrid.php +++ /dev/null @@ -1,58 +0,0 @@ -getData() - : array_merge($initialTaxRate->getData(), $taxRate->getData()); - $filter = [ - 'code' => $data['code'], - 'tax_country_id' => $data['tax_country_id'], - ]; - $filter['tax_postcode'] = ($data['zip_is_range'] === 'No') - ? $data['tax_postcode'] - : $data['zip_from'] . '-' . $data['zip_to']; - - $taxRateIndexPage->open(); - \PHPUnit\Framework\Assert::assertTrue( - $taxRateIndexPage->getTaxRateGrid()->isRowVisible($filter), - 'Tax Rate \'' . $filter['code'] . '\' is absent in Tax Rate grid.' - ); - } - - /** - * Text of Tax Rate in grid assert - * - * @return string - */ - public function toString() - { - return 'Tax rate is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInTaxRule.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInTaxRule.php deleted file mode 100644 index 2e533887f7b4b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateInTaxRule.php +++ /dev/null @@ -1,48 +0,0 @@ -getCode(); - $taxRuleIndex->open(); - $taxRuleIndex->getGridPageActions()->addNew(); - - \PHPUnit\Framework\Assert::assertTrue( - $taxRuleNew->getTaxRuleForm()->isTaxRateAvailable($taxRateCode), - "$taxRateCode is not present in Tax Rates multiselect on tax rule creation page." - ); - } - - /** - * Returns string representation of object. - * - * @return string - */ - public function toString() - { - return "Required tax rate is present on Tax Rule page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInGrid.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInGrid.php deleted file mode 100644 index 0cb1112288c3f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ - $taxRate->getCode(), - ]; - - $taxRateIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $taxRateIndex->getTaxRateGrid()->isRowVisible($filter), - 'Tax Rate \'' . $filter['code'] . '\' is present in Tax Rate grid.' - ); - } - - /** - * Text of Tax Rate not in grid assert - * - * @return string - */ - public function toString() - { - return 'Tax rate is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInTaxRule.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInTaxRule.php deleted file mode 100644 index 2788e86b9f98f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateNotInTaxRule.php +++ /dev/null @@ -1,46 +0,0 @@ -open(); - $taxRatesList = $taxRuleNew->getTaxRuleForm()->getAllTaxRates(); - \PHPUnit\Framework\Assert::assertFalse( - in_array($taxRate->getCode(), $taxRatesList), - 'Tax Rate \'' . $taxRate->getCode() . '\' is present in Tax Rule form.' - ); - } - - /** - * Text of Tax Rate not in Tax Rule form - * - * @return string - */ - public function toString() - { - return 'Tax rate is absent in tax rule from.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessDeleteMessage.php deleted file mode 100644 index 3fcadf9beda88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success delete message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Deleted Tax Rate Success Message assert - * - * @return string - */ - public function toString() - { - return 'Tax rate success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessSaveMessage.php deleted file mode 100644 index c8fd88a785584..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRateSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Created Tax Rate Success Message assert - * - * @return string - */ - public function toString() - { - return 'Tax rate success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleApplying.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleApplying.php deleted file mode 100644 index d95a6513dd61b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleApplying.php +++ /dev/null @@ -1,143 +0,0 @@ -initialTaxRule = $initialTaxRule; - $this->taxRule = $taxRule; - $this->checkoutCart = $checkoutCart; - $this->shipping = $shipping; - - if ($this->initialTaxRule !== null) { - $this->taxRuleCode = ($this->taxRule->hasData('code')) - ? $this->taxRule->getCode() - : $this->initialTaxRule->getCode(); - } else { - $this->taxRuleCode = $this->taxRule->getCode(); - } - // Creating simple product with custom tax class - /** @var \Magento\Tax\Test\Fixture\TaxClass $taxProductClass */ - $taxProductClass = $taxRule->getDataFieldConfig('tax_product_class')['source']->getFixture()[0]; - $this->productSimple = $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'product_100_dollar_for_tax_rule', - 'data' => [ - 'tax_class_id' => ['tax_product_class' => $taxProductClass], - ] - ] - ); - $this->productSimple->persist(); - // Customer login - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - // Clearing shopping cart and adding product to shopping cart - $checkoutCart->open()->getCartBlock()->clearShoppingCart(); - $browser->open($_ENV['app_frontend_url'] . $this->productSimple->getUrlKey() . '.html'); - $catalogProductView->getViewBlock()->clickAddToCart(); - $catalogProductView->getMessagesBlock()->waitSuccessMessage(); - // Estimate Shipping and Tax - $checkoutCart->open(); - $checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($address); - $checkoutCart->getShippingBlock()->selectShippingMethod($shipping); - $this->assert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleForm.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleForm.php deleted file mode 100644 index c305bedf000de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleForm.php +++ /dev/null @@ -1,95 +0,0 @@ -getData(); - if ($initialTaxRule !== null) { - $taxRuleCode = ($taxRule->hasData('code')) ? $taxRule->getCode() : $initialTaxRule->getCode(); - } else { - $taxRuleCode = $taxRule->getCode(); - } - $filter = [ - 'code' => $taxRuleCode, - ]; - $taxRuleIndex->open(); - $taxRuleIndex->getTaxRuleGrid()->searchAndOpen($filter); - $taxRuleNew->getTaxRuleForm()->openAdditionalSettings(); - $formData = $taxRuleNew->getTaxRuleForm()->getData($taxRule); - $dataDiff = $this->verifyForm($formData, $data); - \PHPUnit\Framework\Assert::assertTrue( - empty($dataDiff), - 'Tax Rule form was filled not right.' - . "\nLog:\n" . implode(";\n", $dataDiff) - ); - } - - /** - * Verifying that form is filled right - * - * @param array $formData - * @param array $fixtureData - * @return array $errorMessage - */ - protected function verifyForm(array $formData, array $fixtureData) - { - $errorMessage = []; - - foreach ($fixtureData as $key => $value) { - if (is_array($value)) { - $diff = array_diff($value, $formData[$key]); - $diff = array_merge($diff, array_diff($formData[$key], $value)); - if (!empty($diff)) { - $errorMessage[] = "Data in " . $key . " field not equal." - . "\nExpected: " . implode(", ", $value) - . "\nActual: " . implode(", ", $formData[$key]); - } - } else { - if ($value !== $formData[$key]) { - $errorMessage[] = "Data in " . $key . " field not equal." - . "\nExpected: " . $value - . "\nActual: " . $formData[$key]; - } - } - } - - return $errorMessage; - } - - /** - * Text that form was filled right - * - * @return string - */ - public function toString() - { - return 'Tax Rule form has been filled right.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleInGrid.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleInGrid.php deleted file mode 100644 index 33982614a71a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleInGrid.php +++ /dev/null @@ -1,55 +0,0 @@ -hasData('code')) ? $taxRule->getCode() : $initialTaxRule->getCode(); - } else { - $taxRuleCode = $taxRule->getCode(); - } - $filter = [ - 'code' => $taxRuleCode, - ]; - - $taxRuleIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $taxRuleIndex->getTaxRuleGrid()->isRowVisible($filter), - 'Tax Rule \'' . $filter['code'] . '\' is absent in Tax Rule grid.' - ); - } - - /** - * Text of Tax Rule in grid assert - * - * @return string - */ - public function toString() - { - return 'Tax rule is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsApplied.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsApplied.php deleted file mode 100644 index 39695623d2cfb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsApplied.php +++ /dev/null @@ -1,57 +0,0 @@ -taxRule->getDataFieldConfig('tax_rate')['source']->getFixture()[0]->getRate(); - $expectedGrandTotal = $this->productSimple->getPrice() + $taxRate + $this->shipping['price']; - $expectedGrandTotal = number_format($expectedGrandTotal, 2); - $actualGrandTotal = $this->checkoutCart->getTotalsBlock()->getGrandTotal(); - - if ($this->checkoutCart->getTotalsBlock()->isTaxVisible()) { - $expectedTax = number_format($taxRate, 2); - $actualTax = $this->checkoutCart->getTotalsBlock()->getTax(); - if ($expectedTax !== $actualTax) { - $errorMessages[] = 'Tax Rule \'' . $this->taxRuleCode . '\' is applied wrong.' - . "\nExpected: " . $expectedTax - . "\nActual: " . $actualTax; - } - } - - if ($expectedGrandTotal !== $actualGrandTotal) { - $errorMessages[] = 'Grand Total is not correct.' - . "\nExpected: " . $expectedGrandTotal - . "\nActual: " . $actualGrandTotal; - } - - \PHPUnit\Framework\Assert::assertTrue(empty($errorMessages), implode(";\n", $errorMessages)); - } - - /** - * Text of Tax Rule is applied on product in shopping cart. - * - * @return string - */ - public function toString() - { - return "Tax rule applied on product in shopping cart."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingIncludingTax.php deleted file mode 100644 index 4a2bb518e07eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingIncludingTax.php +++ /dev/null @@ -1,76 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $priceBlock = $this->catalogProductView->getViewBlock()->getPriceBlock(); - $actualPrices['product_view_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['product_view_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get totals. - * - * @param $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExcludingTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalIncludingTax(); - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotalExcludingTax(); - $actualPrices['grand_total_incl_tax'] = $totalsBlock->getGrandTotalIncludingTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingTax.php deleted file mode 100644 index 68590ced357a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesExcludingTax.php +++ /dev/null @@ -1,75 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price_excl_tax'] = $priceBlock->getPriceExcludingTax(); - $actualPrices['category_price_incl_tax'] = null; - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $viewBlock = $this->catalogProductView->getViewBlock(); - $actualPrices['product_view_price_excl_tax'] = $viewBlock->getPriceBlock()->getPriceExcludingTax(); - $actualPrices['product_view_price_incl_tax'] = null; - - return $actualPrices; - } - - /** - * Get totals. - * - * @param $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['subtotal_incl_tax'] = null; - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['grand_total_excl_tax'] = $totalsBlock->getGrandTotal(); - $actualPrices['grand_total_incl_tax'] = null; - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesIncludingTax.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesIncludingTax.php deleted file mode 100644 index 184c600fa8f0c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsAppliedToAllPricesIncludingTax.php +++ /dev/null @@ -1,75 +0,0 @@ -catalogCategoryView->getListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price_excl_tax'] = null; - $actualPrices['category_price_incl_tax'] = $priceBlock->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get product view prices. - * - * @param array $actualPrices - * @return array - */ - public function getProductPagePrices($actualPrices) - { - $viewBlock = $this->catalogProductView->getViewBlock(); - $actualPrices['product_view_price_excl_tax'] = null; - $actualPrices['product_view_price_incl_tax'] = $viewBlock->getPriceBlock()->getPriceIncludingTax(); - - return $actualPrices; - } - - /** - * Get totals. - * - * @param $actualPrices - * @return array - */ - public function getTotals($actualPrices) - { - $totalsBlock = $this->checkoutCart->getTotalsBlock(); - $actualPrices['subtotal_excl_tax'] = null; - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotal(); - $actualPrices['discount'] = $totalsBlock->getDiscount(); - $actualPrices['shipping_excl_tax'] = $totalsBlock->getShippingPrice(); - $actualPrices['shipping_incl_tax'] = $totalsBlock->getShippingPriceInclTax(); - $actualPrices['tax'] = $totalsBlock->getTax(); - $actualPrices['subtotal_excl_tax'] = $totalsBlock->getSubtotalExcludingTax(); - $actualPrices['subtotal_incl_tax'] = $totalsBlock->getSubtotalIncludingTax(); - - return $actualPrices; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsNotApplied.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsNotApplied.php deleted file mode 100644 index e3a7c5d8fb8d7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleIsNotApplied.php +++ /dev/null @@ -1,49 +0,0 @@ -productSimple->getPrice() + $this->shipping['price']; - $expectedGrandTotal = number_format($expectedGrandTotal, 2); - $actualGrandTotal = $this->checkoutCart->getTotalsBlock()->getGrandTotal(); - - if ($this->checkoutCart->getTotalsBlock()->isTaxVisible()) { - $errorMessages[] = 'Tax Rule \'' . $this->taxRuleCode . '\' present in shopping cart.'; - } - if ($expectedGrandTotal !== $actualGrandTotal) { - $errorMessages[] = 'Grand Total is not correct.' - . "\nExpected: " . $expectedGrandTotal - . "\nActual: " . $actualGrandTotal; - } - - \PHPUnit\Framework\Assert::assertTrue(empty($errorMessages), implode(";\n", $errorMessages)); - } - - /** - * Text of Tax Rule is not applied on product in shopping cart. - * - * @return string - */ - public function toString() - { - return "Tax rule was not applied on product in shopping cart."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleNotInGrid.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleNotInGrid.php deleted file mode 100644 index 122a4f5ce9c20..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleNotInGrid.php +++ /dev/null @@ -1,49 +0,0 @@ - $taxRule->getCode(), - ]; - - $taxRuleIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $taxRuleIndex->getTaxRuleGrid()->isRowVisible($filter), - 'Tax Rule \'' . $filter['code'] . '\' is present in Tax Rule grid.' - ); - } - - /** - * Text of Tax Rule not in grid assert - * - * @return string - */ - public function toString() - { - return 'Tax rule is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessDeleteMessage.php deleted file mode 100644 index 29d1b6bdd5e7a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success delete message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Deleted Tax Rule Success Message assert - * - * @return string - */ - public function toString() - { - return 'Tax rule success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessSaveMessage.php deleted file mode 100644 index 7572bd0ed997c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxRuleSuccessSaveMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Text of Created Tax Rule Success Message assert - * - * @return string - */ - public function toString() - { - return 'Tax rule success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxWithCrossBorderApplied.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxWithCrossBorderApplied.php deleted file mode 100644 index b6e38da55dc96..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AssertTaxWithCrossBorderApplied.php +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml deleted file mode 100644 index 445fecc5f0b69..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml deleted file mode 100644 index 637975c245c70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxClass.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxClass.php deleted file mode 100644 index e8b2ac45107b2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxClass.php +++ /dev/null @@ -1,56 +0,0 @@ -params = $params; - if (isset($data['dataset'])) { - $datasets = $data['dataset']; - foreach ($datasets as $dataset) { - /** @var \Magento\Tax\Test\Fixture\TaxClass $taxClass */ - $taxClass = $fixtureFactory->createByCode('taxClass', ['dataset' => $dataset]); - $this->fixture[] = $taxClass; - $this->data[] = $taxClass->getClassName(); - } - } - } - - /** - * Return tax class fixture. - * - * @return array - */ - public function getFixture() - { - return $this->fixture; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxRate.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxRate.php deleted file mode 100644 index a9a5b53bd1be8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule/TaxRate.php +++ /dev/null @@ -1,56 +0,0 @@ -params = $params; - if (isset($data['dataset'])) { - $datasets = $data['dataset']; - foreach ($datasets as $dataset) { - /** @var \Magento\Tax\Test\Fixture\TaxRate $taxRate */ - $taxRate = $fixtureFactory->createByCode('taxRate', ['dataset' => $dataset]); - $this->fixture[] = $taxRate; - $this->data[] = $taxRate->getCode(); - } - } - } - - /** - * Return tax rate fixtures. - * - * @return array - */ - public function getFixture() - { - return $this->fixture; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/Curl/RemoveTaxRule.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/Curl/RemoveTaxRule.php deleted file mode 100644 index df69a4d9507c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/Curl/RemoveTaxRule.php +++ /dev/null @@ -1,113 +0,0 @@ -taxRuleGridUrl = $_ENV['app_backend_url'] . 'tax/rule/index/'; - $curl = $this->getCurl($this->taxRuleGridUrl); - $response = $curl->read(); - $this->removeTaxRules($response); - $curl->close(); - return $response; - } - - /** - * Prepare and return curl object - * - * @param string $url - * @return BackendDecorator - */ - protected function getCurl($url) - { - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, [], CurlInterface::GET); - return $curl; - } - - /** - * Recursively remove tax rules - * - * @param string $data - * @return mixed - */ - protected function removeTaxRules($data) - { - preg_match_all("!tax\/rule\/edit\/rule\/([\d]+)!", $data, $result); - if (!isset($result[1]) || empty($result[1])) { - return null; - } - foreach ($result[1] as $taxRuleId) { - $this->_deleteTaxRuleRequest((int)$taxRuleId); - break; - } - - $curl = $this->getCurl($this->taxRuleGridUrl); - $response = $curl->read(); - $curl->close(); - return $this->removeTaxRules($response); - } - - /** - * Make request to delete tax rule - * - * @param int $taxRuleId - */ - protected function deleteTaxRuleRequest($taxRuleId) - { - $url = $_ENV['app_backend_url'] . 'tax/rule/delete/rule/' . (int) $taxRuleId; - $curl = $this->getCurl($url); - $response = $curl->read(); - $this->checkMessage($response, $taxRuleId); - $curl->close(); - } - - /** - * Validation for successfully deleted tax rule - * - * @param string $data - * @param int $taxRuleId - * @throws \RuntimeException - */ - protected function checkMessage($data, $taxRuleId) - { - preg_match_all('!(' . static::TAX_RULE_REMOVE_MESSAGE . ')!', $data, $result); - if (!isset($result[1]) || empty($result[1])) { - throw new \RuntimeException('Tax rule ID ' . $taxRuleId . 'not removed!'); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php deleted file mode 100644 index 35ebed93e5372..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php +++ /dev/null @@ -1,54 +0,0 @@ -getData(); - - $url = $_ENV['app_backend_url'] . 'tax/tax/ajaxSave/?isAjax=true'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - $id = $this->getClassId($response); - return ['id' => $id]; - } - - /** - * Return saved class id if saved. - * - * @param $response - * @return int|null - * @throws \Exception - */ - protected function getClassId($response) - { - $data = json_decode($response, true); - if ($data['success'] !== true) { - throw new \Exception("Tax class creation by curl handler was not successful! Response: $response"); - } - return isset($data['class_id']) ? (int)$data['class_id'] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/TaxClassInterface.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/TaxClassInterface.php deleted file mode 100644 index d852bbec6291a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/TaxClassInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -getData(); - - $url = $_ENV['app_frontend_url'] . 'rest/V1/taxClasses'; - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (!is_numeric($response)) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Tax class creation by Web API handler was not successful!'); - } - - return ['id' => $response]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php deleted file mode 100644 index 48accc3a0bfed..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php +++ /dev/null @@ -1,90 +0,0 @@ - [ - 'Australia' => 'AU', - 'United States' => 'US', - 'United Kingdom' => 'GB', - ], - 'tax_region_id' => [ - '*' => '0', - 'California' => '12', - 'New York' => '43', - 'Texas' => '57', - ], - 'zip_is_range' => [ - 'Yes' => '1', - 'No' => '0' - ] - ]; - - /** - * Post request for creating tax rate. - * - * @param FixtureInterface $fixture [optional] - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - /** @var TaxRate $fixture */ - $data = $this->prepareData($fixture); - - $url = $_ENV['app_backend_url'] . 'tax/rate/ajaxSave/?isAjax=true'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - $id = $this->getTaxRateId($response); - return ['id' => $id]; - } - - /** - * Prepare tax rate data. - * - * @param TaxRate $taxRate - * @return array - */ - public function prepareData(TaxRate $taxRate) - { - return $this->replaceMappingData($taxRate->getData()); - } - - /** - * Return saved tax rate id. - * - * @param $response - * @return int|null - * @throws \Exception - */ - protected function getTaxRateId($response) - { - $data = json_decode($response, true); - if ($data['success'] !== true) { - throw new \Exception("Tax rate creation by curl handler was not successful! Response: $response"); - } - return isset($data['tax_calculation_rate_id']) ? (int)$data['tax_calculation_rate_id'] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/TaxRateInterface.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/TaxRateInterface.php deleted file mode 100644 index 2312449b26370..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/TaxRateInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -taxRateCurl = $taxRateCurl; - } - - /** - * Persist Tax Rate using Web API handler. - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - /** @var TaxRate $fixture */ - $data['tax_rate'] = $this->taxRateCurl->prepareData($fixture); - - $url = $_ENV['app_frontend_url'] . 'rest/V1/taxRates'; - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Tax rate creation by Web API handler was not successful!'); - } - - return ['id' => $response['id']]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php deleted file mode 100644 index bdc3015a81272..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php +++ /dev/null @@ -1,103 +0,0 @@ - 3, // Retail Customer - 'tax_product_class' => 2, // Taxable Goods - ]; - - /** - * Post request for creating tax rule. - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - /** @var TaxRule $fixture */ - $data = $this->prepareData($fixture); - - $url = $_ENV['app_backend_url'] . 'tax/rule/save/?back=1'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - $this->_eventManager->dispatchEvent(['curl_failed'], [$response]); - throw new \Exception("Tax rate creation by curl handler was not successful!"); - } - - preg_match("~Location: [^\s]*\/rule\/(\d+)~", $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - - return ['id' => $id]; - } - - /** - * Returns data for Web API params. - * - * @param TaxRule $fixture - * @return array - */ - protected function prepareData(TaxRule $fixture) - { - $data = $fixture->getData(); - $data = $this->prepareFieldData($fixture, $data, 'tax_rate'); - $data = $this->prepareFieldData($fixture, $data, 'tax_product_class'); - $data = $this->prepareFieldData($fixture, $data, 'tax_customer_class'); - - return $data; - } - - /** - * Prepare tax rule field data using new field. - * - * @param TaxRule $fixture - * @param array $data - * @param string $fixtureField - * @param string $newField - * @return array - */ - public function prepareFieldData(TaxRule $fixture, array $data, $fixtureField, $newField = null) - { - $newField = $newField === null ? $fixtureField : $newField; - unset($data[$fixtureField]); - - if (!$fixture->hasData($fixtureField)) { - $data[$newField][] = $this->defaultTaxClasses[$fixtureField]; - } else { - foreach ($fixture->getDataFieldConfig($fixtureField)['source']->getFixture() as $taxField) { - if (!$taxField->hasData('id')) { - $taxField->persist(); - } - $data[$newField][] = $taxField->getId(); - } - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/TaxRuleInterface.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/TaxRuleInterface.php deleted file mode 100644 index 348cc8c3ead0b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/TaxRuleInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -taxRuleCurl = $taxRuleCurl; - } - - /** - * Web API request for creating Tax Rule. - * - * @param FixtureInterface $fixture - * @return array - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - /** @var TaxRule $fixture */ - $data = $this->prepareData($fixture); - - $url = $_ENV['app_frontend_url'] . 'rest/V1/taxRules'; - $this->webapiTransport->write($url, $data); - $response = json_decode($this->webapiTransport->read(), true); - $this->webapiTransport->close(); - - if (empty($response['id'])) { - $this->eventManager->dispatchEvent(['webapi_failed'], [$response]); - throw new \Exception('Tax rule creation by Web API handler was not successful!'); - } - - return ['id' => $response['id']]; - } - - /** - * Returns data for Web API params. - * - * @param TaxRule $fixture - * @return array - */ - protected function prepareData(TaxRule $fixture) - { - $data = $fixture->getData(); - $data = $this->taxRuleCurl->prepareFieldData($fixture, $data, 'tax_rate', 'tax_rate_ids'); - $data = $this->taxRuleCurl->prepareFieldData($fixture, $data, 'tax_product_class', 'product_tax_class_ids'); - $data = $this->taxRuleCurl->prepareFieldData($fixture, $data, 'tax_customer_class', 'customer_tax_class_ids'); - - return ['rule' => $data]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateIndex.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateIndex.xml deleted file mode 100644 index 22d10ff4632f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateNew.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateNew.xml deleted file mode 100644 index c58cf1366681c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRateNew.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleIndex.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleIndex.xml deleted file mode 100644 index 8a356cd93758e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleNew.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleNew.xml deleted file mode 100644 index 66c45cf347caa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Page/Adminhtml/TaxRuleNew.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/ConfigData.xml deleted file mode 100644 index 910b6327d0d74..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,910 +0,0 @@ - - - - - - - tax - 1 - Taxable Goods - 2 - - - - - - tax - 1 - None - 0 - - - - - - tax - 1 - None - 0 - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - None - 0 - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - After Discount - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - Excluding Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Yes - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Including Tax - 2 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Yes - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Including and Excluding Tax - 3 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Row Total - ROW_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Row Total - ROW_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Row Total - ROW_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - After Discount - 1 - - - - - - tax - 1 - - UNIT_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - After Discount - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - After Discount - 1 - - - - - - tax - 1 - Unit Price - UNIT_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Before Discount - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - After Discount - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Unit Price - UNIT_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.xml deleted file mode 100644 index 4fa6c5101bf27..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxClass.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Tax Class %isolation% - - - - %id% - %id% - Taxable Goods - PRODUCT - - - - %id% - %id% - Retail Customer - CUSTOMER - - - - Customer Tax Class %isolation% - CUSTOMER - - - - Product Tax Class %isolation% - PRODUCT - - - - %id% - None - PRODUCT - - - - All - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.xml deleted file mode 100644 index 86ff3816f32f0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRate.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - Tax Rate %isolation% - 10 - United States - * - California - - - - %id% - %id% - US - * - US-CA-*-Rate 1 - 8.2500 - - - - 1 - US-CA-*-Rate 1 - - - - Tax Rate %isolation% - 8.25 - United States - * - %id% - - - - %id% - %id% - US - * - US-NY-*-Rate 1 - 8.3750 - - - - 2 - US-NY-*-Rate 1 - - - - Tax Rate %isolation% - 8.25 - United States - 90230 - California - - - - Tax Rate %isolation% - 8.25 - United States - * - California - - - - Tax Rate %isolation% - 8.375 - United States - * - California - - - - Tax Rate %isolation% - 8.375 - United States - New York - * - - - - Tax Rate %isolation% - 8.25 - United States - New York - * - - - - US-NY-*-%isolation% - 8.1 - United States - New York - * - - - - Tax Rate %isolation% - 8.25 - United States - 95131 - California - - - - Tax Rate %isolation% - 20 - United Kingdom - * - - - - TaxIdentifier%isolation% - * - Australia - 20 - - - - TaxIdentifier%isolation% - Yes - 90001 - 96162 - United States - California - 15.5 - - - - TaxIdentifier%isolation% - * - United States - Texas - 20 - - - - TaxIdentifier%isolation% - 84001 - United States - Utah - 20 - - - - TaxIdentifier%isolation% - * - United States - Texas - 10 - - - - TaxIdentifier%isolation% - * - United States - New York - 20 - - - - TaxIdentifier%isolation% - * - United States - California - 30 - - - - Tax Rate %isolation% - 10 - United States - * - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.xml deleted file mode 100644 index cd40bb6186e49..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/Repository/TaxRule.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - TaxIdentifier%isolation% - - - US-CA-Rate_1 - - - - - - TaxIdentifier%isolation% - - - us_ca_rate_8_25 - us_ny_rate_8_375 - - - 0 - 0 - - - - Tax Rule %isolation% - - - US-CA-Rate_1 - us_ny_rate_8_1 - - - - - retail_customer - customer_tax_class - - - - - taxable_goods - product_tax_class - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - uk_full_tax_rate - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - US-IL-Rate_1 - - - - - retail_customer - - - - - taxable_goods - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - US-CA-Rate_1 - - - - - retail_customer - - - - - taxable_goods - - - 1 - 1 - - - - TaxIdentifier%isolation% - - - US-CA-Rate_1 - US-NY-Rate_1 - - - - - retail_customer - customer_tax_class - - - - - product_tax_class - taxable_goods - - - 1 - 1 - - - - TaxIdentifier%isolation% - - - us_ca_rate_8_25_no_zip - us_ny_rate_8_25 - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - us_ca_rate_8_375 - us_ny_rate_8_25 - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - us_ca_rate_8_25_no_zip - us_ny_rate_8_375 - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - tx_rate_10 - ny_rate_20 - ca_rate_30 - - - 0 - 0 - - - - Tax Rule %isolation% - - - uk_full_tax_rate - - - - - retail_customer - - - - - taxable_goods - - - 0 - 0 - - - - TaxIdentifier%isolation% - - - us_full_tax_rate - - - 0 - 0 - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.php deleted file mode 100644 index fdc70d9779aaf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.php +++ /dev/null @@ -1,200 +0,0 @@ -checkoutCart = $checkoutCart; - } - - /** - * Automatic Apply Tax Based on VAT ID. - * - * @param ConfigData $vatConfig - * @param OrderInjectable $order - * @param TaxRule $taxRule - * @param Cart $cart - * @param string $configData - * @param string $customerGroup - * @return array - */ - public function test( - ConfigData $vatConfig, - OrderInjectable $order, - TaxRule $taxRule, - Cart $cart, - $configData, - $customerGroup - ) { - // Preconditions - $this->configData = $configData; - $this->customer = $order->getDataFieldConfig('customer_id')['source']->getCustomer(); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - - // Prepare data - $taxRule->persist(); - $this->prepareVatConfiguration($vatConfig); - $this->prepareCustomer($customerGroup); - - $products = $order->getEntityId()['products']; - $cart = $this->fixtureFactory->createByCode( - 'cart', - ['data' => array_merge($cart->getData(), ['items' => ['products' => $products]])] - ); - $address = $this->customer->getDataFieldConfig('address')['source']->getAddresses()[0]; - - $order->persist(); - $this->updateCustomer($customerGroup); - - // Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $this->customer] - )->run(); - $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - $order->getEntityId() - )->run(); - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->waitCartContainerLoading(); - $this->checkoutCart->getShippingBlock()->fillEstimateShippingAndTax($address); - $this->checkoutCart->getCartBlock()->waitCartContainerLoading(); - - return [ - 'customer' => $this->customer, - 'address' => $address, - 'orderId' => $order->getId(), - 'cart' => $cart, - 'products' => $products - ]; - } - - /** - * Persist vat configuration - * - * @param string $vatConfig - * @return void - */ - private function prepareVatConfiguration($vatConfig) - { - $groupConfig = [ - 'customer/create_account/viv_domestic_group' => [ - 'value' => $this->vatGroups['valid_domestic_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_intra_union_group' => [ - 'value' => $this->vatGroups['valid_intra_union_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_invalid_group' => [ - 'value' => $this->vatGroups['invalid_group']->getCustomerGroupId() - ], - 'customer/create_account/viv_error_group' => [ - 'value' => $this->vatGroups['error_group']->getCustomerGroupId() - ] - ]; - $vatConfig = $this->fixtureFactory->createByCode( - 'configData', - ['data' => array_replace_recursive($vatConfig->getSection(), $groupConfig)] - ); - $vatConfig->persist(); - } - - /** - * Persist customer with valid customer group - * - * @param string $customerGroup - * @return void - */ - private function prepareCustomer($customerGroup) - { - $customerData = array_merge( - $this->customer->getData(), - ['group_id' => ['value' => $this->vatGroups[$customerGroup]->getCustomerGroupId()]], - ['address' => ['addresses' => $this->customer->getDataFieldConfig('address')['source']->getAddresses()]], - ['email' => 'JohnDoe%isolation%@example.com'] - ); - - unset($customerData['id']); - $this->customer = $this->fixtureFactory->createByCode('customer', ['data' => $customerData]); - $this->customer->persist(); - } - - /** - * Update customer with customer group code for assert - * - * @param string $customerGroup - * @return void - */ - private function updateCustomer($customerGroup) - { - $customerData = array_merge( - $this->customer->getData(), - ['group_id' => ['value' => $this->vatGroups[$customerGroup]->getCustomerGroupCode()]] - ); - - $this->customer = $this->fixtureFactory->createByCode('customer', ['data' => $customerData]); - } - - /** - * Delete tax rules and disable VAT configuration. - * - * @return void - */ - public function tearDown(): void - { - parent::tearDown(); - $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.xml deleted file mode 100644 index f706136855c87..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/ApplyTaxBasedOnVatIdTest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - enable_VAT_on_frontend - default_tax_configuration, flatrate, checkmo, store_information_DE_with_VAT, enable_VAT_on_frontend - customer_UK_address_with_VAT - default - catalogProductSimple::product_10_dollar - customer_UK_address_with_VAT - UK_address_with_VAT - retailer_uk_full_tax_rule - valid_intra_union_group - 10 - 2 - 17 - - 17 - - test_type:3rd_party_test - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.php deleted file mode 100644 index 8b4f233f35501..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.php +++ /dev/null @@ -1,77 +0,0 @@ - Taxes > Tax Zones and Rates. - * 3. Click 'Add New Tax Rate' button. - * 4. Fill in data according to dataset - * 5. Save Tax Rate. - * 6. Perform all assertions. - * - * @group Tax - * @ZephyrId MAGETWO-23286 - */ -class CreateTaxRateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const MFTF_MIGRATED = 'yes'; - /* end tags */ - - /** - * Tax Rate grid page. - * - * @var TaxRateIndex - */ - protected $taxRateIndexPage; - - /** - * Tax Rate new/edit page. - * - * @var TaxRateNew - */ - protected $taxRateNewPage; - - /** - * Injection data. - * - * @param TaxRateIndex $taxRateIndexPage - * @param TaxRateNew $taxRateNewPage - * @return void - */ - public function __inject( - TaxRateIndex $taxRateIndexPage, - TaxRateNew $taxRateNewPage - ) { - $this->taxRateIndexPage = $taxRateIndexPage; - $this->taxRateNewPage = $taxRateNewPage; - } - - /** - * Create Tax Rate Entity test. - * - * @param TaxRate $taxRate - * @return void - */ - public function testCreateTaxRate(TaxRate $taxRate) - { - // Steps - $this->taxRateIndexPage->open(); - $this->taxRateIndexPage->getGridPageActions()->addNew(); - $this->taxRateNewPage->getTaxRateForm()->fill($taxRate); - $this->taxRateNewPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.xml deleted file mode 100644 index b4b76fd62cc34..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRateEntityTest.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - No - - - - - * - Australia - 20 - - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - Yes - 90001 - 96162 - - - United States - California - 15.5 - - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - No - - - - - 180 - Canada - * - 25 - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - Yes - 1 - 7800935 - - - United Kingdom - 7.75 - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - No - - - - - * - France - Val-d'Oise - 999 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.php deleted file mode 100644 index f31480d4e32fe..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.php +++ /dev/null @@ -1,87 +0,0 @@ - Tax Rules. - * 3. Click 'Add New Tax Rule' button. - * 4. Fill in data according to dataset - * 5. Save Tax Rule. - * 6. Perform all assertions. - * - * @group Tax - * @ZephyrId MAGETWO-20913 - */ -class CreateTaxRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const TO_MAINTAIN = 'yes'; - /* end tags */ - - /** - * Tax rule index page. - * - * @var TaxRuleIndex - */ - protected $taxRuleIndexPage; - - /** - * Tax rule form page. - * - * @var TaxRuleNew - */ - protected $taxRuleNewPage; - - /** - * Injection data. - * - * @param TaxRuleIndex $taxRuleIndexPage - * @param TaxRuleNew $taxRuleNewPage - * @return void - */ - public function __inject( - TaxRuleIndex $taxRuleIndexPage, - TaxRuleNew $taxRuleNewPage - ) { - $this->taxRuleIndexPage = $taxRuleIndexPage; - $this->taxRuleNewPage = $taxRuleNewPage; - } - - /** - * Test create tax rule. - * - * @param TaxRule $taxRule - * @return void - */ - public function testCreateTaxRule(TaxRule $taxRule) - { - // Steps - $this->taxRuleIndexPage->open(); - $this->taxRuleIndexPage->getGridPageActions()->addNew(); - $this->taxRuleNewPage->getTaxRuleForm()->fill($taxRule); - $this->taxRuleNewPage->getFormPageActions()->save(); - } - - /** - * Delete all tax rules. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class, [])->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.xml deleted file mode 100644 index cf4e54adac0c9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/CreateTaxRuleEntityTest.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - US-CA-Rate_1 - - - - - - - - - - - - - - mftf_migrated:yes - stable:no - TaxIdentifier%isolation% - US-CA-Rate_1 - US-NY-Rate_1 - customer_tax_class - - - product_tax_class - - - 1 - 1 - - - - - - mftf_migrated:yes - Creating tax rule with new tax classes and tax rate - TaxIdentifier%isolation% - default - US-NY-Rate_1 - US-CA-Rate_1 - retail_customer - customer_tax_class - taxable_goods - 1 - - - - - - mftf_migrated:yes - TaxIdentifier%isolation% - withZipRange - US-CA-Rate_1 - retail_customer - customer_tax_class - taxable_goods - product_tax_class - 1 - - - - - - mftf_migrated:yes - test_type:acceptance_test, test_type:extended_acceptance_test - TaxIdentifier%isolation% - US-CA-*-Rate 1 - us_ny_rate_8_1 - retail_customer - customer_tax_class - taxable_goods - product_tax_class - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.php deleted file mode 100644 index f5446c25bb7f8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.php +++ /dev/null @@ -1,85 +0,0 @@ - Taxes -> Tax Zones and Rates - * 3. Open created tax rate - * 4. Click Delete Rate - * 5. Perform all assertions - * - * @group Tax - * @ZephyrId MAGETWO-23295 - */ -class DeleteTaxRateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Tax Rate grid page. - * - * @var TaxRateIndex - */ - protected $taxRateIndex; - - /** - * Tax Rate new/edit page. - * - * @var TaxRateNew - */ - protected $taxRateNew; - - /** - * Injection data. - * - * @param TaxRateIndex $taxRateIndex - * @param TaxRateNew $taxRateNew - * @return void - */ - public function __inject( - TaxRateIndex $taxRateIndex, - TaxRateNew $taxRateNew - ) { - $this->taxRateIndex = $taxRateIndex; - $this->taxRateNew = $taxRateNew; - } - - /** - * Delete Tax Rate Entity test. - * - * @param TaxRate $taxRate - * @return void - */ - public function testDeleteTaxRate(TaxRate $taxRate) - { - // Precondition - $taxRate->persist(); - - // Steps - $filter = [ - 'code' => $taxRate->getCode(), - ]; - $this->taxRateIndex->open(); - $this->taxRateIndex->getTaxRateGrid()->searchAndOpen($filter); - $this->taxRateNew->getFormPageActions()->delete(); - $this->taxRateNew->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.xml deleted file mode 100644 index 40270d84199cb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRateEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.php deleted file mode 100644 index b52aa4cc644f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.php +++ /dev/null @@ -1,93 +0,0 @@ - Tax Rules. - * 3. Select required tax rule from preconditions. - * 4. Click on the "Delete Rule" button. - * 5. Perform all assertions. - * - * @group Tax - * @ZephyrId MAGETWO-20924 - */ -class DeleteTaxRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Tax Rule grid page. - * - * @var TaxRuleIndex - */ - protected $taxRuleIndexPage; - - /** - * Tax Rule new and edit page. - * - * @var TaxRuleNew - */ - protected $taxRuleNewPage; - - /** - * Create customer. - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Inject pages. - * - * @param TaxRuleIndex $taxRuleIndexPage - * @param TaxRuleNew $taxRuleNewPage - */ - public function __inject( - TaxRuleIndex $taxRuleIndexPage, - TaxRuleNew $taxRuleNewPage - ) { - $this->taxRuleIndexPage = $taxRuleIndexPage; - $this->taxRuleNewPage = $taxRuleNewPage; - } - - /** - * Delete Tax Rule Entity test. - * - * @param TaxRule $taxRule - * @return void - */ - public function testDeleteTaxRule(TaxRule $taxRule) - { - // Precondition - $taxRule->persist(); - - // Steps - $this->taxRuleIndexPage->open(); - $this->taxRuleIndexPage->getTaxRuleGrid()->searchAndOpen(['code' => $taxRule->getCode()]); - $this->taxRuleNewPage->getFormPageActions()->delete(); - $this->taxRuleNewPage->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.xml deleted file mode 100644 index 96bfec0121eb7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/DeleteTaxRuleEntityTest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - mftf_migrated:yes - tax_rule_with_custom_tax_classes - United States - California - 90001 - Flat Rate - Fixed - 5 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index ecf202ddae3a8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - mftf_migrated:yes - Stores > Tax Rules - Tax Rules - - - - mftf_migrated:yes - Stores > Tax Zones and Rates - Tax Zones and Rates - - - - mftf_migrated:yes - System > Import/Export Tax Rates - Import and Export Tax Rates - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.php deleted file mode 100644 index 113cfc926d514..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.php +++ /dev/null @@ -1,45 +0,0 @@ - Taxes > Tax Rules. - * 3. Click 'Add New Tax Rule' button. - * 4. Assign default rates to rule. - * 5. Save Tax Rate. - * 6. Go to Products > Catalog. - * 7. Add new product. - * 8. Fill data according to dataset. - * 9. Save product. - * 10. Go to Stores > Configuration. - * 11. Fill Tax configuration according to data set. - * 12. Save tax configuration. - * 13. Perform all assertions. - * - * @group Tax - * @ZephyrId MAGETWO-27809 - */ -class TaxCalculationTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Runs tax calculation test. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.xml deleted file mode 100644 index a3ab6d2545846..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxCalculationTest.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - to_maintain:yes - Simple product tier price with sales rule, customer tax equals store tax and catalog price including tax - shipping_tax_class_taxable_goods, row_cat_incl_ship_excl_after_disc_on_excl, display_excluding_including_tax - catalogProductSimple::simple_with_tier_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_equals_store_rate - johndoe_unique - 3 - 277.14 - 300.00 - 277.14 - 300.00 - 13.86 - 15.00 - 41.57 - 45.00 - 41.57 - 45.00 - 20.79 - 15.00 - 16.24 - 3.09 - 37.36 - 40.45 - - - - - - to_maintain:yes - Simple product special price with sales rule, customer tax less than store tax and catalog price including tax - shipping_tax_class_taxable_goods, row_cat_incl_ship_excl_before_disc_on_incl, display_excluding_including_tax - catalogProductSimple::product_with_special_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_less_store_rate - johndoe_unique - 3 - 83.04 - 89.90 - 83.04 - 89.90 - 83.05 - 89.90 - 249.15 - 269.70 - 249.15 - 269.70 - 134.85 - 15.00 - 16.24 - 21.79 - 129.30 - 151.09 - - - - - - to_maintain:yes - Simple product tier price with sales rule, customer tax less than store tax and catalog price including tax - shipping_tax_class_taxable_goods, unit_cat_incl_ship_incl_before_disc_on_incl, display_excluding_including_tax - catalogProductSimple::simple_with_tier_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_less_store_rate - johndoe_unique - 3 - 276.82 - 299.65 - 276.82 - 299.65 - 13.84 - 14.98 - 41.52 - 44.94 - 41.52 - 44.94 - 22.47 - 13.84 - 14.98 - 4.56 - 32.89 - 37.45 - - - - - - to_maintain:yes - Simple product special price with sales rule, customer tax equals store tax and catalog price excluding tax - shipping_tax_class_taxable_goods, total_cat_excl_ship_incl_before_disc_on_incl, display_excluding_including_tax - catalogProductSimple::product_with_special_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_equals_store_rate - johndoe_unique - 3 - 90.00 - 97.43 - 90.00 - 97.43 - 90.00 - 97.43 - 270.00 - 292.28 - 270.00 - 292.28 - 146.15 - 13.86 - 15.00 - 23.42 - 137.71 - 161.13 - - - - - - to_maintain:yes - Simple product tier price with sales rule, customer tax greater than store tax and catalog price excluding tax - shipping_tax_class_taxable_goods, total_cat_excl_ship_incl_after_disc_on_incl, display_excluding_including_tax - catalogProductSimple::simple_with_tier_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_greater_store_rate - johndoe_unique - 3 - 300.00 - 325.13 - 300.00 - 325.13 - 15.00 - 16.26 - 45.00 - 48.77 - 45.00 - 48.77 - 24.39 - 13.86 - 15.02 - 2.89 - 34.47 - 37.36 - - - - - - to_maintain:yes - Simple product special price with sales rule, customer tax greater than store tax and catalog price excluding tax - shipping_tax_class_taxable_goods, unit_cat_excl_ship_incl_after_disc_on_excl, display_excluding_including_tax - catalogProductSimple::product_with_special_price_and_category - active_sales_rule_for_all_groups_no_coupon - - - customer_greater_store_rate - johndoe_unique - 3 - 90.00 - 97.54 - 90.00 - 97.54 - 90.00 - 97.54 - 270.00 - 292.62 - 270.00 - 292.62 - 135.00 - 13.86 - 15.02 - 12.47 - 148.86 - 161.33 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.php deleted file mode 100644 index e1b63b6696116..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.php +++ /dev/null @@ -1,159 +0,0 @@ - Taxes > Tax Rules. - * 3. Click 'Add New Tax Rule' button. - * 4. Assign 3 different rates for different addresses - * 5. Save Tax Rate. - * 6. Go to Products > Catalog. - * 7. Add new product. - * 8. Fill data according to dataset. - * 9. Save product. - * 10. Go to Stores > Configuration. - * 11. Fill Tax configuration according to data set. - * 12. Save tax configuration. - * 13. Register two customers on front end that will match two different rates - * 14. Login with each customer and verify prices - * - * @group Tax - * @ZephyrId MAGETWO-29052 - */ -class TaxWithCrossBorderTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Fixture SalesRule. - * - * @var SalesRule - */ - protected $salesRule; - - /** - * Fixture CatalogRule. - * - * @var CatalogRule - */ - protected $catalogRule; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - - return ['customers' => $this->createCustomers()]; - } - - /** - * Injection data. - * - * @return void - */ - public function __inject() - { - // TODO: Move test set up to "__prepare" method after fix bug MAGETWO-29331 - $taxRule = $this->fixtureFactory->createByCode('taxRule', ['dataset' => 'cross_border_tax_rule']); - $taxRule->persist(); - } - - /** - * Create customers. - * - * @return array $customers - */ - protected function createCustomers() - { - $customersData = ['johndoe_unique_TX', 'johndoe_unique']; - $customers = []; - foreach ($customersData as $customerData) { - $customer = $this->fixtureFactory->createByCode('customer', ['dataset' => $customerData]); - $customer->persist(); - $customers[] = $customer; - } - return $customers; - } - - /** - * Test product prices with tax. - * - * @param CatalogProductSimple $product - * @param string $configData - * @param SalesRule $salesRule [optional] - * @param CatalogRule $catalogRule [optional] - * @return void - */ - public function test( - CatalogProductSimple $product, - $configData, - SalesRule $salesRule = null, - CatalogRule $catalogRule = null - ) { - //Preconditions - if ($salesRule !== null) { - $salesRule->persist(); - $this->salesRule = $salesRule; - } - if ($catalogRule !== null) { - $catalogRule->persist(); - $this->catalogRule = $catalogRule; - } - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $product->persist(); - } - - /** - * Tear down after test. - * - * @return void - */ - public function tearDown(): void - { - if (isset($this->salesRule)) { - $this->objectManager->create(\Magento\SalesRule\Test\TestStep\DeleteAllSalesRuleStep::class)->run(); - $this->salesRule = null; - } - if (isset($this->catalogRule)) { - $this->objectManager->create(\Magento\CatalogRule\Test\TestStep\DeleteAllCatalogRulesStep::class)->run(); - $this->catalogRule = null; - } - - // TODO: Move set default configuration to "tearDownAfterClass" method after fix bug MAGETWO-29331 - $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class)->run(); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'default_tax_configuration'] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.xml deleted file mode 100644 index f8841b8a461b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/TaxWithCrossBorderTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - with_one_custom_option_and_category - cross_border_enabled_price_incl_tax, display_excluding_including_tax - - - - product_with_category - cart_rule - cross_border_enabled_price_incl_tax, display_excluding_including_tax - - - - product_with_category - catalog_price_rule_priority_0 - cross_border_enabled_price_incl_tax, display_excluding_including_tax - - - - product_with_special_price_and_category - cross_border_enabled_price_incl_tax, display_excluding_including_tax - - - - product_with_category - cross_border_enabled_price_excl_tax, display_excluding_including_tax - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.php deleted file mode 100644 index 10f41e68b6598..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.php +++ /dev/null @@ -1,91 +0,0 @@ - Taxes -> Tax Zones and Rates. - * 3. Search tax rate in grid by given data. - * 4. Open this tax rate by clicking. - * 5. Edit test value(s) according to dataset. - * 6. Click 'Save Rate' button. - * 7. Perform asserts. - * - * @group Tax - * @ZephyrId MAGETWO-23299 - */ -class UpdateTaxRateEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const MFTF_MIGRATED = 'yes'; - /* end tags */ - - /** - * Tax Rate grid page. - * - * @var TaxRateIndex - */ - protected $taxRateIndex; - - /** - * Tax Rate new/edit page. - * - * @var TaxRateNew - */ - protected $taxRateNew; - - /** - * Injection data. - * - * @param TaxRateIndex $taxRateIndex - * @param TaxRateNew $taxRateNew - * @return void - */ - public function __inject( - TaxRateIndex $taxRateIndex, - TaxRateNew $taxRateNew - ) { - $this->taxRateIndex = $taxRateIndex; - $this->taxRateNew = $taxRateNew; - } - - /** - * Update Tax Rate Entity test. - * - * @param TaxRate $initialTaxRate - * @param TaxRate $taxRate - * @return void - */ - public function testUpdateTaxRate( - TaxRate $initialTaxRate, - TaxRate $taxRate - ) { - // Precondition - $initialTaxRate->persist(); - - // Steps - $filter = [ - 'code' => $initialTaxRate->getCode(), - ]; - $this->taxRateIndex->open(); - $this->taxRateIndex->getTaxRateGrid()->searchAndOpen($filter); - $this->taxRateNew->getTaxRateForm()->fill($taxRate); - $this->taxRateNew->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.xml deleted file mode 100644 index 1fef659a3deb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRateEntityTest.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - mftf_migrated:yes - default - TaxIdentifier%isolation% - No - 90001 - United States - California - 100 - - - - - - mftf_migrated:yes - default - TaxIdentifier%isolation% - Yes - 90001 - 96162 - United States - California - 15.05 - - - - - - mftf_migrated:yes - default - TaxIdentifier%isolation% - No - * - United Kingdom - 777 - - - - - - mftf_migrated:yes - withZipRange - TaxIdentifier%isolation% - No - 180 - Canada - * - 25 - - - - - - mftf_migrated:yes - withZipRange - TaxIdentifier%isolation% - Yes - 1 - 7800935 - United Kingdom - 12.99 - - - - - mftf_migrated:yes - withZipRange - TaxIdentifier%isolation% - No - * - France - Val-d'Oise - 0.1 - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.php deleted file mode 100644 index c72c124b97b42..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.php +++ /dev/null @@ -1,108 +0,0 @@ - Tax Rules - * 3. Click Tax Rule from grid - * 4. Edit test value(s) according to dataset. - * 5. Click 'Save' button. - * 6. Perform all asserts. - * - * @group Tax - * @ZephyrId MAGETWO-20996 - */ -class UpdateTaxRuleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Tax Rule grid page. - * - * @var TaxRuleIndex - */ - protected $taxRuleIndexPage; - - /** - * Tax Rule new and edit page. - * - * @var TaxRuleNew - */ - protected $taxRuleNewPage; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $customer = $fixtureFactory->createByCode('customer', ['dataset' => 'johndoe_retailer']); - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Injection data. - * - * @param TaxRuleIndex $taxRuleIndexPage - * @param TaxRuleNew $taxRuleNewPage - * @return void - */ - public function __inject(TaxRuleIndex $taxRuleIndexPage, TaxRuleNew $taxRuleNewPage) - { - $this->taxRuleIndexPage = $taxRuleIndexPage; - $this->taxRuleNewPage = $taxRuleNewPage; - } - - /** - * Update Tax Rule Entity test. - * - * @param TaxRule $initialTaxRule - * @param TaxRule $taxRule - * @return void - */ - public function testUpdateTaxRule( - TaxRule $initialTaxRule, - TaxRule $taxRule - ) { - // Precondition - $initialTaxRule->persist(); - - // Steps - $this->taxRuleIndexPage->open(); - $this->taxRuleIndexPage->getTaxRuleGrid()->searchAndOpen(['code' => $initialTaxRule->getCode()]); - $this->taxRuleNewPage->getTaxRuleForm()->fill($taxRule); - $this->taxRuleNewPage->getFormPageActions()->save(); - } - - /** - * Delete all tax rules. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class, [])->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.xml deleted file mode 100644 index 8b864b0eaba9b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestCase/UpdateTaxRuleEntityTest.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - tax_rule_default - New Tax Rule name%isolation% - default - customer_tax_class - product_tax_class - product_tax_class - 2 - 2 - - - - - - tax_rule_with_custom_tax_classes - withZipRange - retail_customer - product_tax_class - taxable_goods - - - - - - tax_rule_with_custom_tax_classes - United States - Utah - 84001 - Flat Rate - Fixed - 5 - us_ut_fixed_zip_rate_20 - - - product_tax_class - - - - - - - - - tax_rule_with_custom_tax_classes - United States - Idaho - 83201 - Flat Rate - Fixed - 5 - withFixedZip - - - product_tax_class - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/CreateTaxRuleStep.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/CreateTaxRuleStep.php deleted file mode 100644 index e0fb988932a75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/CreateTaxRuleStep.php +++ /dev/null @@ -1,87 +0,0 @@ -fixtureFactory = $fixtureFactory; - $this->taxRule = $taxRule; - $this->deleteAllTaxRule = $deleteTaxRule; - } - - /** - * Create tax rule. - * - * @return array - */ - public function run() - { - $result['taxRule'] = null; - if ($this->taxRule !== null) { - $taxRuleDataSets = explode(',', $this->taxRule); - foreach ($taxRuleDataSets as $taxRuleDataSet) { - $taxRule = $this->fixtureFactory->createByCode( - 'taxRule', - ['dataset' => $taxRuleDataSet] - ); - $taxRule->persist(); - $result['taxRule'] = $taxRule; - } - } - - return $result; - } - - /** - * Delete all tax rule. - * - * @return void - */ - public function cleanup() - { - if ($this->taxRule !== null) { - $this->deleteAllTaxRule->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/DeleteAllTaxRulesStep.php b/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/DeleteAllTaxRulesStep.php deleted file mode 100644 index a9bd9abcfb187..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/TestStep/DeleteAllTaxRulesStep.php +++ /dev/null @@ -1,61 +0,0 @@ -taxRuleIndexPage = $taxRuleIndexPage; - $this->taxRuleNewPage = $taxRuleNewPage; - } - - /** - * Delete Tax Rule on backend - * - * @return array - */ - public function run() - { - $this->taxRuleIndexPage->open(); - $this->taxRuleIndexPage->getTaxRuleGrid()->resetFilter(); - while ($this->taxRuleIndexPage->getTaxRuleGrid()->isFirstRowVisible()) { - $this->taxRuleIndexPage->getTaxRuleGrid()->openFirstRow(); - $this->taxRuleNewPage->getFormPageActions()->delete(); - $this->taxRuleNewPage->getModalBlock()->acceptAlert(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/curl/di.xml deleted file mode 100644 index 25465b3f89e72..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/curl/di.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/di.xml deleted file mode 100644 index ee206ffccd472..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/di.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - high - - - - - middle - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/testcase.xml deleted file mode 100644 index bee34e64a3b75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/testcase.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/webapi/di.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/etc/webapi/di.xml deleted file mode 100644 index 2e6af338a29ea..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Tax/Test/etc/webapi/di.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Breadcrumbs.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Breadcrumbs.php deleted file mode 100644 index f0baba280ef56..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Breadcrumbs.php +++ /dev/null @@ -1,49 +0,0 @@ - li'; - - /** - * Get breadcrumbs content of current page. - * - * @return string - */ - public function getText() - { - return $this->_rootElement->getText(); - } - - /** - * Returns list of breadcrumb items. - * - * @return array - */ - public function getCrumbs() - { - $crumbs = $this->_rootElement->getElements($this->crumbSelector); - $result = []; - - foreach ($crumbs as $crumb) { - $result[] = $crumb->getText(); - } - - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Footer.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Footer.php deleted file mode 100644 index 30842af0b020d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Footer.php +++ /dev/null @@ -1,157 +0,0 @@ -_rootElement->find(sprintf($this->linkSelector, $linkName), Locator::SELECTOR_XPATH); - if (!$link->isVisible()) { - throw new \Exception(sprintf('"%s" link is not visible', $linkName)); - } - $link->click(); - } - - /** - * Check is link is visible. - * - * @param string $linkName - * @return bool - */ - public function isLinkVisible($linkName) - { - return $this->_rootElement->find(sprintf($this->linkSelector, $linkName), Locator::SELECTOR_XPATH)->isVisible(); - } - - /** - * Check Variable visibility by html value. - * - * @param string $htmlValue - * @return bool - */ - public function checkVariable($htmlValue) - { - return $this->_rootElement->find( - sprintf($this->variableSelector, $htmlValue), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Select Store group. - * - * @param Store $store - * @return void - */ - public function selectStoreGroup(Store $store) - { - $storeGroupName = explode("/", $store->getGroupId())[1]; - $storeGroup = $this->_rootElement->find( - sprintf($this->storeGroupSelector, $storeGroupName), - Locator::SELECTOR_XPATH - ); - if (!$storeGroup->isVisible()) { - $this->_rootElement->find($this->storeGroupSwitch)->click(); - } - - $storeGroup->click(); - } - - /** - * Check if correspondent "Store" is present in "Store" switcher or not. - * - * @param Store $store - * @return bool - */ - public function isStoreGroupVisible(Store $store) - { - $storeGroupName = explode("/", $store->getGroupId())[1]; - $this->_rootElement->find($this->storeGroupSwitch)->click(); - return $this->_rootElement->find( - sprintf($this->storeGroupSelector, $storeGroupName), - Locator::SELECTOR_XPATH - )->isVisible(); - } - - /** - * Check if "Store" switcher is visible or not. - * - * @return bool - */ - public function isStoreGroupSwitcherVisible() - { - return $this->_rootElement->find($this->storeGroupSwitch)->isVisible(); - } - - /** - * Open Advanced Search. - * - * @return void - */ - public function openAdvancedSearch() - { - $this->_rootElement->find($this->advancedSearchSelector)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Logo.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Logo.php deleted file mode 100644 index e1c6e8f740d45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Logo.php +++ /dev/null @@ -1,25 +0,0 @@ -_rootElement->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Title.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Title.php deleted file mode 100644 index 2fc41c081f6e3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Title.php +++ /dev/null @@ -1,25 +0,0 @@ -_rootElement->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Topmenu.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Topmenu.php deleted file mode 100644 index 974c0a78708f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Topmenu.php +++ /dev/null @@ -1,133 +0,0 @@ -_rootElement; - $category = $this->waitLoadTopMenu($categoryName); - if ($category[1]) { - $rootElement->waitUntil( - function () use ($category) { - return $category[0]->isVisible() ? true : null; - } - ); - } - $category[0]->click(); - } - - /** - * Hover on category from top menu by name. - * - * @param string $categoryName - * @return void - */ - public function hoverCategoryByName($categoryName) - { - $rootElement = $this->_rootElement; - $category = $this->waitLoadTopMenu($categoryName); - if ($category[1]) { - $rootElement->waitUntil( - function () use ($category) { - return $category[0]->isVisible() ? true : null; - } - ); - } - $category[0]->hover(); - } - - /** - * Check is visible category in top menu by name - * - * @param string $categoryName - * @return bool - */ - public function isCategoryVisible($categoryName) - { - return $this->waitLoadTopMenu($categoryName)[0]->isVisible(); - } - - /** - * Wait for load top menu - * - * @param string $categoryName - * @return array - */ - protected function waitLoadTopMenu($categoryName) - { - $rootElement = $this->_rootElement; - $moreCategoriesLink = $rootElement->find($this->moreParentCategories); - $submenu = $moreCategoriesLink->find($this->submenu); - $category = $rootElement->find(sprintf($this->category, $categoryName), Locator::SELECTOR_XPATH); - $notFindCategory = !$category->isVisible() && $moreCategoriesLink->isVisible(); - if (!$category->isVisible() && $moreCategoriesLink->isVisible()) { - $rootElement->waitUntil( - function () use ($rootElement, $moreCategoriesLink, $submenu) { - $rootElement->click(); - $moreCategoriesLink->click(); - return $submenu->isVisible() ? true : null; - } - ); - } - return [$category, $notFindCategory]; - } - - /** - * Check menu items count - * - * @param int $number - * @return bool - */ - public function assertNavigationMenuItemsCount($number) - { - $selector = $this->navigationMenuItems . '[' . ($number + 1) . ']'; - return !$this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Links.php b/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Links.php deleted file mode 100644 index 45a1cd933f7ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Links.php +++ /dev/null @@ -1,164 +0,0 @@ - ul'; - - /** - * Expand Customer Menu (located in page Header) if it was collapsed. - * - * @return void - */ - protected function expandCustomerMenu() - { - $this->_rootElement->find($this->toggleButton)->click(); - } - - /** - * Open customer registration - * - * @return void - */ - public function openCustomerCreateLink() - { - $this->openLink('Create an Account'); - } - - /** - * Open link by its title. - * - * @param string $linkTitle - * @return void - */ - public function openLink($linkTitle) - { - $link = $this->_rootElement->find(sprintf($this->link, $linkTitle), Locator::SELECTOR_XPATH); - if (!$link->isVisible()) { - $this->expandCustomerMenu(); - } - $link->click(); - } - - /** - * Verify if correspondent link is present or not. - * - * @param string $linkTitle - * @return bool - */ - public function isLinkVisible($linkTitle) - { - $link = $this->_rootElement->find(sprintf($this->link, $linkTitle), Locator::SELECTOR_XPATH); - if (!$link->isVisible()) { - $this->expandCustomerMenu(); - } - return $link->isVisible(); - } - - /** - * Wait until correspondent link appears. - * - * @param string $linkTitle - * @return void - */ - public function waitLinkIsVisible($linkTitle) - { - $browser = $this->_rootElement; - $selector = sprintf($this->link, $linkTitle); - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector, Locator::SELECTOR_XPATH); - return $element->isVisible() ? true : null; - } - ); - } - - /** - * Get url from link. - * - * @param string $linkTitle - * @return string - */ - public function getLinkUrl($linkTitle) - { - $link = $this->_rootElement->find(sprintf($this->link, $linkTitle), Locator::SELECTOR_XPATH) - ->getAttribute('href'); - - return trim($link); - } - - /** - * Wait until welcome message appears. - * - * @return void - */ - public function waitWelcomeMessage() - { - $this->waitForElementVisible($this->welcomeMessage); - } - - /** - * Get text of the welcome message. - * - * @return string - */ - public function getWelcomeText() - { - $this->waitForElementVisible($this->welcomeMessage); - return $this->_rootElement->find($this->welcomeMessage)->getText(); - } - - /** - * Verify if authorization link is present or not. - * - * @return bool - */ - public function isAuthorizationVisible() - { - return $this->_rootElement->find($this->authorizationLink)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/Page/CheckoutOnepageSuccess.xml b/dev/tests/functional/tests/app/Magento/Theme/Test/Page/CheckoutOnepageSuccess.xml deleted file mode 100644 index b8495da00d762..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/Page/CheckoutOnepageSuccess.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Theme/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Theme/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index ee38659122301..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Theme/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Content > Themes - Themes - - - - diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractContainer.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractContainer.php deleted file mode 100644 index e537e9d37ddb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractContainer.php +++ /dev/null @@ -1,44 +0,0 @@ -dataMapping($fields); - return $this->_getData($data, $element); - } - - /** - * Fill data into fields in the container. - * - * @param array $fields - * @param SimpleElement|null $contextElement - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $contextElement = null) - { - $data = $this->dataMapping($fields); - $this->_fill($data, $contextElement); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractFormContainers.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractFormContainers.php deleted file mode 100644 index 45ffd9a26a308..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/AbstractFormContainers.php +++ /dev/null @@ -1,242 +0,0 @@ -containers = $this->getFormMapping(); - return $this; - } - - /** - * Get Container class. - * - * @param string $containerName - * @return AbstractContainer - * @throws \Exception - */ - protected function getContainer($containerName) - { - $containerClass = $this->containers[$containerName]['class']; - /** @var AbstractContainer $container */ - $container = $this->blockFactory->create($containerClass, ['element' => $this->_rootElement]); - if (!$container instanceof AbstractContainer) { - throw new \Exception('Wrong Container Class.'); - } - $container->setWrapper( - isset($this->containers[$containerName]['wrapper']) ? $this->containers[$containerName]['wrapper'] : '' - ); - $container->setMapping( - isset($this->containers[$containerName]['fields']) ? (array)$this->containers[$containerName]['fields'] : [] - ); - - return $container; - } - - /** - * Get data of the containers. - * - * @param FixtureInterface|null $fixture - * @param SimpleElement|null $element - * @return array - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getData(FixtureInterface $fixture = null, SimpleElement $element = null) - { - $data = []; - - if (null === $fixture) { - foreach ($this->containers as $containerName => $containerData) { - $this->openContainer($containerName); - $containerData = $this->getContainer($containerName)->getFieldsData(); - $data = array_merge($data, $containerData); - } - } else { - $hasData = ($fixture instanceof InjectableFixture) ? $fixture->hasData() : true; - $dataByContainers = $hasData ? $this->getFixtureFieldsByContainers($fixture) : []; - foreach ($dataByContainers as $containerName => $containerFields) { - if (!$containerName) { - continue; - } - $this->openContainer($containerName); - $containerData = $this->getContainer($containerName)->getFieldsData($containerFields); - $data = array_merge($data, $containerData); - } - } - - return $data; - } - - /** - * Fill form with containers. - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @return $this - */ - public function fill(FixtureInterface $fixture, SimpleElement $element = null) - { - $containers = $this->getFixtureFieldsByContainers($fixture); - return $this->fillContainers($containers, $element); - } - - /** - * Create data array for filling containers. - * - * Returns data in format - * [[abstract_container_name => [field_name => [attribute_name => attribute_value, ..], ..], ..] - * where container name should be set to 'null' if a field is not present on the form. - * - * @param InjectableFixture $fixture - * @return array - */ - protected function getFixtureFieldsByContainers(InjectableFixture $fixture) - { - $dataByContainer = []; - $data = $fixture->getData(); - foreach ($data as $field => $value) { - $attributes = $fixture->getDataFieldConfig($field); - $attributes['value'] = $value; - if (array_key_exists('group', $attributes) && $attributes['group'] != 'null') { - $dataByContainer[$attributes['group']][$field] = $attributes; - } elseif (!array_key_exists('group', $attributes)) { - $this->unassignedFields[$field] = $attributes; - } - } - return $dataByContainer; - } - - /** - * Fill specified form with containers data. - * - * Input data in format - * [[container => [field => [attribute_name => attribute_value, ..], ..], ..] - * where container name can be empty if a field is not assigned to any container. - * - * @param array $dataByContainers - * @param SimpleElement|null $element - * @return $this - */ - protected function fillContainers(array $dataByContainers, SimpleElement $element = null) - { - $context = ($element === null) ? $this->_rootElement : $element; - foreach ($dataByContainers as $containerName => $containerFields) { - $this->openContainer($containerName); - /** @var AbstractContainer $container */ - $container = $this->getContainer($containerName); - $container->setFieldsData($containerFields, $context); - } - if (!empty($this->unassignedFields)) { - $this->fillMissedFields(); - } - return $this; - } - - /** - * Fill fields that were not found on the filled containers. - * - * @throws \Exception - * @return void - */ - protected function fillMissedFields() - { - foreach (array_keys($this->containers) as $containerName) { - $container = $this->getContainer($containerName); - if ($this->openContainer($containerName)) { - $mapping = $container->dataMapping($this->unassignedFields); - foreach ($mapping as $fieldName => $data) { - $element = $this->getElement($this->_rootElement, $data); - if ($element->isVisible()) { - $element->setValue($data['value']); - unset($this->unassignedFields[$fieldName]); - } - } - if ($this->browser->find($this->closeButton)->isVisible()) { - $this->browser->find($this->closeButton)->click(); - } - if (empty($this->unassignedFields)) { - break; - } - } - } - - if (!empty($this->unassignedFields)) { - throw new \Exception( - 'Could not find all elements on the tabs: ' . implode(', ', array_keys($this->unassignedFields)) - ); - } - } - - /** - * Get container element. - * - * @param string $containerName - * @return ElementInterface - */ - protected function getContainerElement($containerName) - { - $selector = $this->containers[$containerName]['selector']; - $strategy = isset($this->containers[$containerName]['strategy']) - ? $this->containers[$containerName]['strategy'] - : Locator::SELECTOR_CSS; - return $this->_rootElement->find($selector, $strategy); - } - - /** - * Open container. - * - * @param string $containerName - * @return $this - */ - abstract protected function openContainer($containerName); -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/DataGrid.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/DataGrid.php deleted file mode 100644 index 56ca47331fa1c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/DataGrid.php +++ /dev/null @@ -1,514 +0,0 @@ -getGridHeaderElement()->find($this->appliedFiltersList); - if ($chipsHolder->isVisible()) { - parent::resetFilter(); - } - $this->waitLoader(); - } - - /** - * Wait filter to load on page. - * - * @return void - */ - public function waitFilterToLoad() - { - $this->getTemplateBlock()->waitLoader(); - $browser = $this->_rootElement; - $selector = $this->filterButton . ', ' . $this->resetButton; - $browser->waitUntil( - function () use ($browser, $selector) { - $filter = $browser->find($selector); - return $filter->isVisible() == true ? true : null; - } - ); - } - - /** - * Open "Filter" block. - * - * @return void - */ - protected function openFilterBlock() - { - $this->waitFilterToLoad(); - - $toggleFilterButton = $this->_rootElement->find($this->filterButton); - $searchButton = $this->_rootElement->find($this->searchButton); - if ($toggleFilterButton->isVisible() && !$searchButton->isVisible()) { - $toggleFilterButton->click(); - $browser = $this->_rootElement; - $browser->waitUntil( - function () use ($searchButton) { - return $searchButton->isVisible() ? true : null; - } - ); - } - } - - /** - * Click on "Edit" link. - * - * @param SimpleElement $rowItem - * @return void - */ - protected function clickEditLink(SimpleElement $rowItem) - { - $rowItem->find($this->editLink)->click(); - } - - /** - * Search item using Data Grid Filter. - * - * @param array $filter - * @return void - */ - public function search(array $filter) - { - $this->openFilterBlock(); - parent::search($filter); - $this->waitForElementNotVisible($this->searchButton); - $this->waitLoader(); - } - - /** - * Search item and open it. - * - * @param array $filter - * @throws \Exception - */ - public function searchAndOpen(array $filter) - { - $this->search($filter); - $rowItem = $this->getRow($filter); - if ($rowItem->isVisible()) { - $this->clickEditLink($rowItem); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - $this->waitLoader(); - } - - /** - * Search item and select it. - * - * @param array $filter - * @throws \Exception - */ - public function searchAndSelect(array $filter) - { - $this->search($filter); - $rowItem = $this->getRow($filter); - if ($rowItem->isVisible()) { - $rowItem->find($this->selectItem)->click(); - } else { - throw new \Exception("Searched item was not found by filter\n" . print_r($filter, true)); - } - $this->waitLoader(); - } - - /** - * Perform selected massaction over checked items. - * - * @param array $items - * @param array|string $action [array -> key = value from first select; value => value from subselect] - * @param bool $acceptAlert [optional] - * @param string $massActionSelection [optional] - * @return void - */ - public function massaction(array $items, $action, $acceptAlert = false, $massActionSelection = '') - { - $this->waitLoader(); - $this->resetFilter(); - if ($this->_rootElement->find($this->noRecords)->isVisible()) { - return; - } - $this->selectItems($items); - if ($massActionSelection) { - $this->selectMassAction($massActionSelection); - } - $this->selectAction($action); - if ($acceptAlert) { - $element = $this->browser->find($this->alertModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create( - \Magento\Ui\Test\Block\Adminhtml\Modal::class, - ['element' => $element] - ); - $modal->acceptAlert(); - } - } - - /** - * Do mass select/deselect using the dropdown in the grid. - * - * @param string $massActionSelection - * @return void - */ - public function selectMassAction($massActionSelection) - { - //Checks which dropdown is visible and uses it. - for ($i = 1; $i <= 2; $i++) { - $massActionButton = '(' . $this->massActionToggleButton . ")[$i]"; - $massActionList = '(' . $this->massActionToggleList . ")[$i]"; - if ($this->_rootElement->find($massActionButton, Locator::SELECTOR_XPATH)->isVisible()) { - $this->_rootElement->find($massActionButton, Locator::SELECTOR_XPATH)->click(); - $this->_rootElement - ->find(sprintf($massActionList, $massActionSelection), Locator::SELECTOR_XPATH) - ->click(); - break; - } - } - } - - /** - * Perform action using the dropdown above the grid. - * - * @param array|string $action [array -> key = value from first select; value => value from subselect] - * @return void - */ - public function selectAction($action) - { - $actionType = is_array($action) ? key($action) : $action; - $this->getGridHeaderElement()->find($this->actionButton)->click(); - $toggle = $this->getGridHeaderElement()->find(sprintf($this->actionList, $actionType), Locator::SELECTOR_XPATH); - $toggle->hover(); - if ($toggle->isVisible() === false) { - $this->getGridHeaderElement()->find($this->actionButton)->click(); - } - $toggle->click(); - if (is_array($action)) { - $locator = sprintf($this->actionList, end($action)); - $this->getGridHeaderElement()->find($locator, Locator::SELECTOR_XPATH)->hover(); - $this->getGridHeaderElement()->find($locator, Locator::SELECTOR_XPATH)->click(); - } - } - - /** - * Select items without using grid search. - * - * @param array $items - * @param bool $isSortable - * @return void - * @throws \Exception - */ - public function selectItems(array $items, $isSortable = true) - { - if ($isSortable) { - $this->sortGridByField('ID'); - } - foreach ($items as $item) { - //Scroll to the top of the page in case current page input is not visible. - if (!$this->_rootElement->find($this->currentPage, Locator::SELECTOR_XPATH)->isVisible()) { - $this->browser->find($this->topElementToScroll)->hover(); - } - $this->_rootElement->find($this->currentPage, Locator::SELECTOR_XPATH)->setValue(''); - $this->waitLoader(); - $selectItem = $this->getRow($item)->find($this->selectItem); - do { - if ($selectItem->isVisible()) { - if (!$selectItem->isSelected()) { - $selectItem->click(); - } - break; - } - } while ($this->nextPage()); - if (!$selectItem->isVisible()) { - throw new \Exception("Searched item was not found\n" . print_r($item, true)); - } - } - } - - /** - * Sort grid by field. - * - * @param string $field - * @param string $sort - * @return void - */ - public function sortGridByField($field, $sort = "desc") - { - $reverseSort = $sort == 'desc' ? 'asc' : 'desc'; - $sortBlock = $this->_rootElement->find(sprintf($this->sortLink, $reverseSort, $field), Locator::SELECTOR_XPATH); - if ($sortBlock->isVisible()) { - $sortBlock->click(); - $this->waitLoader(); - } - } - - /** - * Sort grid by column. - * - * @param string $columnLabel - * @return void - */ - public function sortByColumn($columnLabel) - { - $this->waitLoader(); - $this->getTemplateBlock()->waitForElementNotVisible($this->loader); - $this->_rootElement->find(sprintf($this->columnHeader, $columnLabel), Locator::SELECTOR_XPATH)->click(); - $this->waitLoader(); - } - - /** - * @return array|string - */ - public function getFirstItemId() - { - $this->waitLoader(); - $this->getTemplateBlock()->waitForElementNotVisible($this->loader); - return $this->_rootElement->find($this->selectItem)->getValue(); - } - - /** - * Return ids of all items currently displayed in grid - * - * @return string[] - */ - public function getAllIds() - { - $this->waitLoader(); - $this->getTemplateBlock()->waitForElementNotVisible($this->loader); - $rowsCheckboxes = $this->_rootElement->getElements($this->selectItem); - $ids = []; - foreach ($rowsCheckboxes as $checkbox) { - $ids[] = $checkbox->getValue(); - } - return $ids; - } - - /** - * @param string $id - * @param string $headerLabel - * @return array|string - */ - public function getColumnValue($id, $headerLabel) - { - $this->waitLoader(); - $this->getTemplateBlock()->waitForElementNotVisible($this->loader); - $columnNumber = count( - $this->_rootElement->getElements(sprintf($this->columnNumber, $headerLabel), Locator::SELECTOR_XPATH) - ); - $selector = sprintf($this->rowById, $id) . sprintf($this->cellByHeader, $columnNumber); - - return $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText(); - } - - /** - * @param string $text - */ - public function fullTextSearch($text) - { - $this->waitLoader(); - $this->getTemplateBlock()->waitForElementNotVisible($this->loader); - $this->_rootElement->find($this->fullTextSearchField)->setValue($text); - $this->_rootElement->find($this->fullTextSearchButton)->click(); - } - - /** - * Get rows data. - * - * @param array $columns - * @return array - */ - public function getRowsData(array $columns) - { - $data = []; - $rows = $this->_rootElement->getElements($this->rowItem); - foreach ($rows as $row) { - $rowData = []; - foreach ($columns as $columnName) { - $rowData[$columnName] = trim($row->find('div[data-index="' . $columnName . '"]')->getText()); - } - - $data[] = $rowData; - } - - return $data; - } - - /** - * Returns admin data grid header element. - * - * @return \Magento\Mtf\Client\ElementInterface - */ - private function getGridHeaderElement() - { - return $this->_rootElement->find($this->gridHeader, Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/FormSections.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/FormSections.php deleted file mode 100644 index 170fef137ec9f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/FormSections.php +++ /dev/null @@ -1,124 +0,0 @@ -getContainer($sectionName); - } - - /** - * {@inheritdoc} - */ - protected function openContainer($sectionName) - { - return $this->openSection($sectionName); - } - - /** - * Expand section by its name - * - * @param string $sectionName - * @return $this - * @throws \Exception if section is not visible - */ - public function openSection($sectionName) - { - $container = $this->getContainerElement($sectionName); - if (!$container->isVisible()) { - throw new \Exception('Container is not found "' . $sectionName . '""'); - } - $section = $container->find($this->collapsedSection); - if ($section->isVisible()) { - $section->click(); - } - - return $this; - } - - /** - * Check if section is collapsible. - * - * @deprecated - * @param string $sectionName - * @return bool - */ - public function isCollapsible($sectionName) - { - $section = $this->getContainerElement($sectionName); - - if ($section->find($this->collapsedSection)->isVisible()) { - return true; - } elseif ($section->find($this->expandedSection)->isVisible()) { - return true; - } else { - return false; - } - } - - /** - * Get require notice fields. - * - * @param InjectableFixture $product - * @return array - */ - public function getRequireNoticeFields(InjectableFixture $product) - { - $data = []; - $sections = $this->getFixtureFieldsByContainers($product); - foreach (array_keys($sections) as $sectionName) { - $section = $this->getSection($sectionName); - $this->openSection($sectionName); - $errors = $section->getValidationErrors(); - if (!empty($errors)) { - $data[$sectionName] = $errors; - } - } - - return $data; - } - - /** - * Check if section is visible. - * - * @deprecated - * @param string $sectionName - * @return bool - */ - public function isSectionVisible($sectionName) - { - return !$this->getContainerElement($sectionName)->find($this->collapsedSection)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Modal.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Modal.php deleted file mode 100644 index eb949dccb7ffc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Modal.php +++ /dev/null @@ -1,200 +0,0 @@ -waitModalAnimationFinished(); - $this->_rootElement->find($this->acceptButtonSelector)->click(); - } - - /** - * Press OK on a warning popup. - * - * @return void - */ - public function acceptWarning() - { - $this->waitModalAnimationFinished(); - $this->_rootElement->find($this->acceptWarningSelector)->click(); - $this->waitForElementNotVisible($this->loadingMask); - } - - /** - * Press Cancel on a warning popup. - * - * @return void - */ - public function dismissWarning() - { - $this->waitModalAnimationFinished(); - $this->_rootElement->find($this->dismissWarningSelector)->click(); - $this->waitForElementNotVisible($this->loadingMask); - } - - /** - * Press Cancel on an alert, confirm, prompt a dialog. - * - * @return void - */ - public function dismissAlert() - { - $this->waitModalAnimationFinished(); - $this->_rootElement->find($this->dismissButtonSelector)->click(); - } - - /** - * Press Close on an alert, confirm, prompt a dialog. - * - * @return void - */ - public function closeAlert() - { - $this->waitModalAnimationFinished(); - $this->_rootElement->find($this->closeButtonSelector)->click(); - } - - /** - * Get the alert dialog text. - * - * @return string - */ - public function getAlertText() - { - $this->waitModalAnimationFinished(); - return $this->_rootElement->find($this->inputFieldSelector)->getValue(); - } - - /** - * Set the text to a prompt popup. - * - * @param string $text - * @return void - */ - public function setAlertText($text) - { - $this->waitModalAnimationFinished(); - $this->_rootElement->find($this->inputFieldSelector)->setValue($text); - } - - /** - * Wait until modal window will disappear. - * - * @return void - */ - public function waitModalWindowToDisappear() - { - $this->browser->waitUntil( - function () { - return $this->browser->find($this->modalOverlay)->isVisible() == false ? true : null; - } - ); - } - - /** - * Dismiss the modal if it appears - * - * @return void - */ - public function dismissIfModalAppears() - { - $browser = $this->browser; - $selector = $this->dismissWarningSelector; - $browser->waitUntil( - function () use ($browser, $selector) { - $item = $browser->find($selector); - if ($item->isVisible()) { - return true; - } - $this->waitModalAnimationFinished(); - return true; - } - ); - if ($this->browser->find($selector)->isVisible()) { - $this->browser->find($selector)->click(); - } - } - - /** - * Waiting until CSS animation is done. - * Transition-duration is set at this file: "/lib/web/css/source/components/_modals.less" - * - * @return void - */ - protected function waitModalAnimationFinished() - { - usleep(500000); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Section.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Section.php deleted file mode 100644 index a76eeceae34a6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Adminhtml/Section.php +++ /dev/null @@ -1,73 +0,0 @@ - validation error text. - * - * @return array - */ - public function getValidationErrors() - { - $data = []; - $elements = $this->_rootElement->getElements($this->errorField, Locator::SELECTOR_XPATH); - foreach ($elements as $element) { - $error = $element->find($this->errorText, Locator::SELECTOR_XPATH); - if ($error->isVisible()) { - $label = $element->find($this->errorLabel, Locator::SELECTOR_XPATH)->getText(); - $data[$label] = $error->getText(); - } - } - return $data; - } - - /** - * Check whether section is visible. - * - * @param string $sectionName - * @return bool - */ - public function isSectionVisible($sectionName) - { - return $this->_rootElement->find(sprintf($this->section, $sectionName))->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Messages.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Messages.php deleted file mode 100644 index 0c8c9dc320c15..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Block/Messages.php +++ /dev/null @@ -1,161 +0,0 @@ -waitForElementVisible($this->successMessage, Locator::SELECTOR_CSS); - } - - /** - * Get all success messages which are present on the page. - * - * @return array - */ - public function getSuccessMessages() - { - $this->waitForElementVisible($this->successMessage); - $elements = $this->_rootElement->getElements($this->successMessage); - - $messages = []; - foreach ($elements as $element) { - $messages[] = $element->getText(); - } - - return $messages; - } - - /** - * Get all notice messages which are present on the page. - * - * @return array - */ - public function getNoticeMessages() - { - $this->waitForElementVisible($this->noticeMessage); - $elements = $this->_rootElement->getElements($this->noticeMessage); - - $messages = []; - foreach ($elements as $element) { - $messages[] = $element->getText(); - } - - return $messages; - } - - /** - * Get last success message which is present on the page. - * - * @return string - */ - public function getSuccessMessage() - { - $this->waitForElementVisible($this->successMessage); - - return $this->_rootElement->find($this->lastSuccessMessage)->getText(); - } - - /** - * Wait for element is visible in the page. - * - * @param string $selector - * @param string $strategy - * @return bool|null - */ - public function waitForElementVisible($selector, $strategy = Locator::SELECTOR_CSS) - { - $browser = $this->browser; - return $browser->waitUntil( - function () use ($browser, $selector, $strategy) { - $message = $browser->find($selector, $strategy); - return $message->isVisible() ? true : null; - } - ); - } - - /** - * Get all error message which is present on the page. - * - * @return string - */ - public function getErrorMessage() - { - return $this->_rootElement - ->find($this->errorMessage, Locator::SELECTOR_CSS) - ->getText(); - } - - /** - * Get notice message which is present on the page. - * - * @return string - */ - public function getNoticeMessage() - { - $this->waitForElementVisible($this->noticeMessage); - return $this->_rootElement->find($this->noticeMessage)->getText(); - } - - /** - * Get warning message which is present on the page. - * - * @return string - */ - public function getWarningMessage() - { - $this->waitForElementVisible($this->warningMessage); - return $this->_rootElement->find($this->warningMessage)->getText(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFiltering.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFiltering.php deleted file mode 100644 index 9bd6a76114e89..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFiltering.php +++ /dev/null @@ -1,59 +0,0 @@ - $filters) { - foreach ($filters as $filterName => $ids) { - \PHPUnit\Framework\Assert::assertCount( - 1, - $ids, - sprintf( - 'Filtering by "%s" should result in only item id "%d" displayed. %s items ids present', - $itemId, - $filterName, - implode(', ', $ids) - ) - ); - $actualItemId = $ids[0]; - \PHPUnit\Framework\Assert::assertEquals( - $itemId, - $actualItemId, - sprintf( - '%d item is displayed instead of %d after applying "%s" filter', - $actualItemId, - $itemId, - $filterName - ) - ); - } - } - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return 'Filtering does not work as expected!'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFullTextSearch.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFullTextSearch.php deleted file mode 100644 index ff886be2eebd7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridFullTextSearch.php +++ /dev/null @@ -1,55 +0,0 @@ - $ids) { - \PHPUnit\Framework\Assert::assertCount( - 1, - $ids, - sprintf( - 'Full text search should find only %s item. Following items displayed: %s', - $itemId, - implode(', ', $ids) - ) - ); - $actualItemId = $ids[0]; - \PHPUnit\Framework\Assert::assertEquals( - $itemId, - $actualItemId, - sprintf( - '%d item is displayed instead of %d after full text search', - $actualItemId, - $itemId - ) - ); - } - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return 'Full text search does not work as expected!'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridSorting.php b/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridSorting.php deleted file mode 100644 index 71c0c0317cb0e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/Constraint/AssertGridSorting.php +++ /dev/null @@ -1,42 +0,0 @@ - $sortingResult) { - \PHPUnit\Framework\Assert::assertNotEquals( - $sortingResult['firstIdAfterFirstSoring'], - $sortingResult['firstIdAfterSecondSoring'], - sprintf('Sorting for "%s" column have not changed the first item of grid!', $columnName) - ); - } - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return 'Sorting have not changed the first item of grid!'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringDeletedEntityTest.php b/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringDeletedEntityTest.php deleted file mode 100644 index f1fa688339472..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringDeletedEntityTest.php +++ /dev/null @@ -1,137 +0,0 @@ -pageFactory = $pageFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * @param string $pageClass - * @param string $gridRetriever - * @param string[] $filters - * @param string $fixtureName - * @param string[] $steps - * @param array $fixtureDataSet - * @return void - */ - public function test( - $pageClass, - $gridRetriever, - array $filters, - $fixtureName, - array $steps = [], - $fixtureDataSet = null - ) { - $item = $this->createItems($fixtureName, $fixtureDataSet); - $page = $this->pageFactory->create($pageClass); - - $page->open(); - /** @var DataGrid $gridBlock */ - $gridBlock = $page->$gridRetriever(); - $gridBlock->resetFilter(); - - foreach ($filters as $itemFilters) { - $filterArray = []; - foreach ($itemFilters as $itemFiltersName => $itemFilterValue) { - if (substr($itemFilterValue, 0, 1) === ':') { - $value = $item->getData(substr($itemFilterValue, 1)); - } else { - $value = $itemFilterValue; - } - $filterArray[$itemFiltersName] = $value; - } - - $storesArray = $item->getDataFieldConfig('website_ids')['source']->getStores(); - $store = end($storesArray); - $filterArray['store_id'] = $store->getName(); - $gridBlock->search($filterArray); - } - - if (!empty($steps)) { - foreach ($steps as $step) { - $this->processSteps($item, $step); - } - } - } - - /** - * @param string $fixtureName - * @param string $fixtureDataSet - * @return FixtureInterface - */ - private function createItems($fixtureName, $fixtureDataSet) - { - $item = $this->fixtureFactory->createByCode($fixtureName, ['dataset' => $fixtureDataSet]); - $item->persist(); - return $item; - } - - /** - * @param FixtureInterface $item - * @param array $steps - * @return void - */ - private function processSteps(FixtureInterface $item, $steps) - { - foreach ($steps as $step) { - $processStep = $this->objectManager->create($step, ['item' => $item]); - $processStep->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringTest.php b/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringTest.php deleted file mode 100644 index b228933b79069..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFilteringTest.php +++ /dev/null @@ -1,178 +0,0 @@ -pageFactory = $pageFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * @param string $fixtureName - * @param string $fixtureDataSet - * @param int $itemsCount - * @param array $steps - * @param string $pageClass - * @param string $gridRetriever - * @param string $idGetter - * @param array $filters - * @param string $idColumn - * @return array - */ - public function test( - $pageClass, - $gridRetriever, - $idGetter, - array $filters, - $fixtureName, - $itemsCount, - array $steps = [], - $fixtureDataSet = null, - $idColumn = null - ) { - $items = $this->createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps); - $page = $this->pageFactory->create($pageClass); - - // Steps - $page->open(); - /** @var DataGrid $gridBlock */ - $gridBlock = $page->$gridRetriever(); - $gridBlock->resetFilter(); - - $filterResults = []; - foreach ($filters as $index => $itemFilters) { - foreach ($itemFilters as $itemFiltersName => $itemFilterValue) { - if (substr($itemFilterValue, 0, 1) === ':') { - $value = $items[$index]->getData(substr($itemFilterValue, 1)); - } else { - $value = $itemFilterValue; - } - $gridBlock->search([$itemFiltersName => $value]); - $idsInGrid = $gridBlock->getAllIds(); - if ($idColumn) { - $filteredTargetIds = []; - foreach ($idsInGrid as $filteredId) { - $filteredTargetIds[] = $gridBlock->getColumnValue($filteredId, $idColumn); - } - $idsInGrid = $filteredTargetIds; - } - $filteredIds = $this->getActualIds($idsInGrid, $items, $idGetter); - $filterResults[$items[$index]->$idGetter()][$itemFiltersName] = $filteredIds; - } - } - - return ['filterResults' => $filterResults]; - } - - /** - * @param string[] $ids - * @param FixtureInterface[] $items - * @param string $idGetter - * @return string[] - */ - protected function getActualIds(array $ids, array $items, $idGetter) - { - $actualIds = []; - foreach ($items as $item) { - if (in_array($item->$idGetter(), $ids)) { - $actualIds[] = $item->$idGetter(); - } - } - return $actualIds; - } - - /** - * @param int $itemsCount - * @param string $fixtureName - * @param string $fixtureDataSet - * @param string $steps - * @return FixtureInterface[] - */ - protected function createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps) - { - $items = []; - for ($i = 0; $i < $itemsCount; $i++) { - $item = $this->fixtureFactory->createByCode($fixtureName, ['dataset' => $fixtureDataSet]); - $item->persist(); - $items[$i] = $item; - if (!empty($steps)) { - $this->processSteps($item, $steps[$i]); - } - } - - return $items; - } - - /** - * @param FixtureInterface $item - * @param string $steps - */ - protected function processSteps(FixtureInterface $item, $steps) - { - if (!is_array($steps) && $steps != '-') { - $steps = [$steps]; - } elseif ($steps == '-') { - $steps = []; - } - foreach ($steps as $step) { - $products = $item->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $processStep = $this->objectManager->create($step, ['order' => $item, 'cart' => $cart]); - $processStep->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFullTextSearchTest.php b/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFullTextSearchTest.php deleted file mode 100644 index a54907aa49ec7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridFullTextSearchTest.php +++ /dev/null @@ -1,171 +0,0 @@ -pageFactory = $pageFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * @param string $fixtureName - * @param string $fixtureDataSet - * @param int $itemsCount - * @param array $steps - * @param string $pageClass - * @param string $gridRetriever - * @param string $idGetter - * @param string $fieldGetter - * @param string $idColumn - * @return array - */ - public function test( - $pageClass, - $gridRetriever, - $idGetter, - $fieldGetter, - $fixtureName, - $itemsCount, - array $steps = [], - $fixtureDataSet = null, - $idColumn = null - ) { - $items = $this->createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps); - $page = $this->pageFactory->create($pageClass); - - // Steps - $page->open(); - /** @var DataGrid $gridBlock */ - $gridBlock = $page->$gridRetriever(); - $gridBlock->resetFilter(); - - $filterResults = []; - foreach ($items as $item) { - $gridBlock->fullTextSearch($item->$fieldGetter()); - $idsInGrid = $gridBlock->getAllIds(); - if ($idColumn) { - $filteredTargetIds = []; - foreach ($idsInGrid as $filteredId) { - $filteredTargetIds[] = $gridBlock->getColumnValue($filteredId, $idColumn); - } - $idsInGrid = $filteredTargetIds; - } - $filteredIds = $this->getActualIds($idsInGrid, $items, $idGetter); - $filterResults[$item->$idGetter()] = $filteredIds; - } - - return ['results' => $filterResults]; - } - - /** - * @param string[] $ids - * @param FixtureInterface[] $items - * @param string $idGetter - * @return string[] - */ - protected function getActualIds(array $ids, array $items, $idGetter) - { - $actualIds = []; - foreach ($items as $item) { - if (in_array($item->$idGetter(), $ids)) { - $actualIds[] = $item->$idGetter(); - } - } - return $actualIds; - } - - /** - * @param int $itemsCount - * @param string $fixtureName - * @param string $fixtureDataSet - * @param string $steps - * @return FixtureInterface[] - */ - protected function createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps) - { - $items = []; - for ($i = 0; $i < $itemsCount; $i++) { - $item = $this->fixtureFactory->createByCode($fixtureName, ['dataset' => $fixtureDataSet]); - $item->persist(); - $items[$i] = $item; - if (!empty($steps)) { - $this->processSteps($item, $steps[$i]); - } - } - - return $items; - } - - /** - * @param FixtureInterface $item - * @param string $steps - */ - protected function processSteps(FixtureInterface $item, $steps) - { - if (!is_array($steps) && $steps != '-') { - $steps = [$steps]; - } elseif ($steps == '-') { - $steps = []; - } - foreach ($steps as $step) { - $products = $item->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $processStep = $this->objectManager->create($step, ['order' => $item, 'cart' => $cart]); - $processStep->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridSortingTest.php b/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridSortingTest.php deleted file mode 100644 index 0574fc8dc55fc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/TestCase/GridSortingTest.php +++ /dev/null @@ -1,145 +0,0 @@ -pageFactory = $pageFactory; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * @param string $fixtureName - * @param string $fixtureDataSet - * @param int $itemsCount - * @param array $steps - * @param string $pageClass - * @param string $gridRetriever - * @param array $columnsForSorting - * @return array - */ - public function test( - $pageClass, - $gridRetriever, - array $columnsForSorting, - $fixtureName = null, - $fixtureDataSet = null, - $itemsCount = null, - array $steps = [] - ) { - // Fill grid before sorting if needed - if ($fixtureName && $fixtureDataSet && $itemsCount && $steps) { - $this->createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps); - } - - $page = $this->pageFactory->create($pageClass); - - // Steps - $page->open(); - /** @var DataGrid $gridBlock */ - $gridBlock = $page->$gridRetriever(); - $gridBlock->waitFilterToLoad(); - $gridBlock->resetFilter(); - - $sortingResults = []; - foreach ($columnsForSorting as $columnName) { - $gridBlock->sortByColumn($columnName); - $sortingResults[$columnName]['firstIdAfterFirstSoring'] = $gridBlock->getFirstItemId(); - $gridBlock->sortByColumn($columnName); - $sortingResults[$columnName]['firstIdAfterSecondSoring'] = $gridBlock->getFirstItemId(); - } - - return ['sortingResults' => $sortingResults]; - } - - /** - * @param int $itemsCount - * @param string $fixtureName - * @param string $fixtureDataSet - * @param string $steps - * @return array - */ - protected function createItems($itemsCount, $fixtureName, $fixtureDataSet, $steps) - { - $items = []; - for ($i = 0; $i < $itemsCount; $i++) { - $item = $this->fixtureFactory->createByCode($fixtureName, ['dataset' => $fixtureDataSet]); - $item->persist(); - $items[$i] = $item; - $this->processSteps($item, $steps[$i]); - } - - return $items; - } - - /** - * @param FixtureInterface $item - * @param string $steps - */ - protected function processSteps(FixtureInterface $item, $steps) - { - if (!is_array($steps) && $steps != '-') { - $steps = [$steps]; - } elseif ($steps == '-') { - $steps = []; - } - foreach ($steps as $step) { - $products = $item->getEntityId()['products']; - $cart['data']['items'] = ['products' => $products]; - $cart = $this->fixtureFactory->createByCode('cart', $cart); - $processStep = $this->objectManager->create($step, ['order' => $item, 'cart' => $cart]); - $processStep->run(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Ui/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Ui/Test/etc/di.xml deleted file mode 100644 index eaed2c8d23d1c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ui/Test/etc/di.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - S2 - - - - - S2 - - - - - S2 - - - diff --git a/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml deleted file mode 100644 index 0b98d65162db6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - carriers - 1 - No - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - Yes - 1 - - - carriers - 1 - United Parcel Service XML - UPS_XML - - - carriers - 1 - No - 0 - - - carriers - 1 - - CARRIERS_UPS_PASSWORD - - - carriers - 1 - - CARRIERS_UPS_USERNAME - - - carriers - 1 - Development - 0 - - - carriers - 1 - - https://wwwcie.ups.com/ups.app/xml/Rate - - - carriers - 1 - - Shipments Originating in United States - - - carriers - 1 - - CARRIERS_UPS_ACCESS_LICENSE_NUMBER - - - carriers - 1 - No - 0 - - - carriers - 1 - - CARRIERS_UPS_SHIPPER_NUMBER - - - carriers - 1 - Customer Packaging - CP - - - carriers - 1 - Residential - RES - - - carriers - 1 - - https://wwwcie.ups.com/ups.app/xml/Track - - - carriers - 1 - LBS - LBS - - - carriers - 1 - - 11 - 12 - 14 - 54 - 59 - 65 - 01 - 02 - 03 - 07 - 08 - - - - carriers - 1 - All Allowed Countries - 0 - - - carriers - 1 - No - 0 - - - carriers - 1 - Yes - 1 - - - - - - carriers - 1 - No - 0 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index 7249b1c5a3d9c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Ups/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - catalogProductSimple::default - configurableProduct::default - bundleProduct::bundle_fixed_product - login - default - US_address_1 - US_address_1_without_email - United Parcel Service - UPS Ground - UPS Ground - checkmo - checkmo, ups, shipping_origin_US_CA - test_type:3rd_party_test, severity:S0 - - - - - - - catalogProductSimple::default - configurableProduct::default - bundleProduct::bundle_fixed_product - guest - default - UK_address - UK_address - United Parcel Service - UPS Worldwide Expedited - UPS Worldwide Expedited - checkmo - checkmo, ups, shipping_origin_US_CA - test_type:3rd_party_test, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Grid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Grid.php deleted file mode 100644 index f6f30392bddb6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Grid.php +++ /dev/null @@ -1,37 +0,0 @@ - [ - 'selector' => '#urlrewriteGrid_filter_request_path', - ], - 'target_path' => [ - 'selector' => 'input[name="target_path"]', - ], - 'store_id' => [ - 'selector' => 'select[name="store_id"]', - 'input' => 'select', - ], - 'redirect_type' => [ - 'selector' => 'select[name="redirect_type"]', - 'input' => 'select', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Tree.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Tree.php deleted file mode 100644 index 35c65cf4dd5d9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Category/Tree.php +++ /dev/null @@ -1,52 +0,0 @@ -hasData('name')) { - $this->_rootElement->find( - "//a[contains(text(),\"{$category->getName()}\")]", - Locator::SELECTOR_XPATH - )->click(); - } else { - $this->skipCategorySelection(); - } - } - - /** - * Skip category selection. - * - * @return void - */ - protected function skipCategorySelection() - { - $this->_rootElement->find($this->skipCategoryButton, Locator::SELECTOR_CSS)->click(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.php deleted file mode 100644 index 988229d308250..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.php +++ /dev/null @@ -1,81 +0,0 @@ -getData(); - if (empty($data['entity_type']) && empty($this->getData()['target_path']) && !isset($data['target_path'])) { - $entity = $fixture->getDataFieldConfig('target_path')['source']->getEntity(); - $data['target_path'] = $entity->hasData('identifier') - ? $entity->getIdentifier() - : $entity->getUrlKey() . '.html'; - } - return $data; - } - - /** - * Fill visible fields on the form. - * - * @param array $data - * @param SimpleElement $context - * @return void - */ - protected function fillFields(array $data, SimpleElement $context) - { - $mapping = $this->dataMapping($data); - foreach ($mapping as $field) { - $element = $this->getElement($context, $field); - if ($element->isVisible() && !$element->isDisabled()) { - $element->setValue($field['value']); - } - } - } - - /** - * Fill the root form. - * - * @param FixtureInterface $fixture - * @param SimpleElement|null $element - * @param array $replace [optional] - * @return $this - */ - public function fill( - FixtureInterface $fixture, - SimpleElement $element = null, - array $replace = [] - ) { - $context = ($element === null) ? $this->_rootElement : $element; - $data = $this->prepareData($fixture); - - foreach ($replace as $key => $value) { - if (isset($data[$key])) { - $data[$key] = preg_replace('`(\$.*?' . $value['name'] . '\$)`', $value['value'], $data[$key]); - } - } - - $this->fillFields($data, $context); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.xml deleted file mode 100644 index ab86ae5ee4814..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Edit/UrlRewriteForm.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - #entity-type-selector - select - - - [name=store_id] - selectstore - - - [name=redirect_type] - select - - - [name=request_path] - text - - - [name=target_path] - text - - - [name=description] - text - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Product/Grid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Product/Grid.php deleted file mode 100644 index 567ec9c41ccca..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Catalog/Product/Grid.php +++ /dev/null @@ -1,44 +0,0 @@ - [ - 'selector' => '[id=productGrid_product_filter_entity_id]', - ], - 'sku' => [ - 'selector' => '[id=productGrid_product_filter_sku]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Cms/Page/Grid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Cms/Page/Grid.php deleted file mode 100644 index bf3b29d5171ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Cms/Page/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="title"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Selector.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Selector.php deleted file mode 100644 index a666f5a1856df..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Block/Adminhtml/Selector.php +++ /dev/null @@ -1,29 +0,0 @@ -_rootElement->find("[data-role=entity-type-selector]", Locator::SELECTOR_CSS, 'select') - ->setValue($urlrewriteType); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertCategoryUrlWithCustomStoreView.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertCategoryUrlWithCustomStoreView.php deleted file mode 100644 index 5b4109c9728bc..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertCategoryUrlWithCustomStoreView.php +++ /dev/null @@ -1,62 +0,0 @@ -open(); - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($storeView->getName()); - $cmsIndex->getTopmenu()->hoverCategoryByName($parentCategory->getName()); - $cmsIndex->getTopmenu()->selectCategoryByName( - $childCategory->getName() - ); - $actualUrl = strtolower($parentCategory->getUrlKey() . '/' . $categoryUpdates->getUrlKey()); - - \PHPUnit\Framework\Assert::assertContains( - $actualUrl, - $browser->getUrl(), - "Category URL is not correct." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category URL is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertPageByUrlRewriteIsNotFound.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertPageByUrlRewriteIsNotFound.php deleted file mode 100644 index 7625dd5b2c2c8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertPageByUrlRewriteIsNotFound.php +++ /dev/null @@ -1,55 +0,0 @@ -open($_ENV['app_frontend_url'] . $productRedirect->getRequestPath()); - \PHPUnit\Framework\Assert::assertEquals( - self::NOT_FOUND_MESSAGE, - $catalogProductView->getTitleBlock()->getTitle(), - 'Wrong page is displayed.' - ); - } - - /** - * Not found page is display - * - * @return string - */ - public function toString() - { - return 'Not found page is display.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteAfterDeletingCategory.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteAfterDeletingCategory.php deleted file mode 100644 index 0cb38a20fe3e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteAfterDeletingCategory.php +++ /dev/null @@ -1,61 +0,0 @@ -getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $catalogCategoryIndex->open(); - $catalogCategoryIndex->getTreeCategories()->selectCategory($category); - $catalogCategoryEdit->getFormPageActions()->delete(); - $catalogCategoryEdit->getModalBlock()->acceptAlert(); - - $assertCategoryUrlRewrite->processAssert($urlRewriteIndex, $category); - $assertUrlRewrite->processAssert($urlRewriteIndex, $urlRewrite); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'URL rewrites are deleted.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryInGrid.php deleted file mode 100644 index d305ec61208e0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryInGrid.php +++ /dev/null @@ -1,186 +0,0 @@ -urlRewriteIndex = $urlRewriteIndex; - $this->webApi = $webApi; - - $urlRewriteIndex->open(); - $categoryId = $this->getCategoryId($category, $childCategory); - $nestingPath = $this->getNestingPath($category, $nestingLevel); - - $filter = [ - 'request_path' => $nestingPath, - 'target_path' => 'catalog/category/view/id/' . $categoryId, - 'redirect_type' => self::REDIRECT_TYPE_NO - ]; - if ($parentCategory && $childCategory) { - $filter['request_path'] = - strtolower($parentCategory->getUrlKey() . '/' . $childCategory->getUrlKey() . '.html'); - } - $this->rowVisibleAssertion($filter); - - if ($redirectType != self::REDIRECT_TYPE_NO) { - if ($parentCategory && $childCategory) { - $urlPath = strtolower($parentCategory->getUrlKey() . '/' . $childCategory->getUrlKey() . '.html'); - $filter = [ - 'request_path' => $nestingPath, - 'target_path' => $urlPath, - 'redirect_type' => $redirectType - ]; - } else { - $filter = [$filterByPath => strtolower($category->getUrlKey())]; - } - $this->rowVisibleAssertion($filter); - } - } - - /** - * Get category id. - * - * @param Category $category - * @param Category|null $childCategory - * @return int - */ - private function getCategoryId(Category $category, Category $childCategory = null) - { - return ($childCategory ? $childCategory->getId() : $category->getId()) - ? $category->getId() - : $this->retrieveCategory($category)['id']; - } - - /** - * Assert that url rewrite category in grid. - * - * @param array $filter - * @return void - */ - private function rowVisibleAssertion(array $filter) - { - $filterRow = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertTrue( - $this->urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter, true, false), - 'URL Rewrite with request path "' . $filterRow . '" is absent in grid.' - ); - } - - /** - * Return nesting url path. - * - * @param Category $category - * @param int $nestingLevel - * @return string - */ - private function getNestingPath(Category $category, $nestingLevel) - { - if ($nestingLevel === null) { - return strtolower($category->getUrlKey() . '.html'); - } - $filterByRequestPathCondition = []; - for ($nestingIterator = 0; $nestingIterator < $nestingLevel; $nestingIterator++) { - $filterByRequestPathCondition[] = $category->getUrlKey(); - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - - return strtolower(implode('/', array_reverse($filterByRequestPathCondition)) . '.html'); - } - - /** - * Retrieve category. - * - * @param Category $category - * @return array - */ - private function retrieveCategory(Category $category) - { - $childrenIds = explode(',', $this->getResponse($category->getData('parent_id'))['children']); - while ($id = array_pop($childrenIds)) { - $retrieveCategory = $this->getResponse($id); - if ($retrieveCategory['name'] == $category->getData('name')) { - return $retrieveCategory; - } - } - return ['id' => null]; - } - - /** - * Return category data by category id. - * - * @param int $categoryId - * @return array - */ - private function getResponse($categoryId) - { - $url = $_ENV['app_frontend_url'] . 'rest/all/V1/categories/' . $categoryId; - $this->webApi->write($url, [], WebapiDecorator::GET); - $response = json_decode($this->webApi->read(), true); - $this->webApi->close(); - return $response; - } - - /** - * URL rewrite category present in grid. - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryNotInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryNotInGrid.php deleted file mode 100644 index 2d06dcc3835e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $filter = ['request_path' => $category->getUrlKey()]; - \PHPUnit\Framework\Assert::assertFalse( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), - "URL Rewrite with request path '{$category->getUrlKey()}' is present in grid." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryRedirect.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryRedirect.php deleted file mode 100644 index 0236be0cb643e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCategoryRedirect.php +++ /dev/null @@ -1,56 +0,0 @@ -open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath()); - $url = $urlRewrite->getRedirectType() == 'No' - ? $urlRewrite->getRequestPath() - : $category->getUrlKey() . '.html'; - - \PHPUnit\Framework\Assert::assertEquals( - $browser->getUrl(), - $_ENV['app_frontend_url'] . $url, - 'URL rewrite category redirect false.' - . "\nExpected: " . $_ENV['app_frontend_url'] . $url - . "\nActual: " . $browser->getUrl() - ); - } - - /** - * URL rewrite category redirect success - * - * @return string - */ - public function toString() - { - return 'URL rewrite category redirect success.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomRedirect.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomRedirect.php deleted file mode 100644 index 98a2c484770d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomRedirect.php +++ /dev/null @@ -1,52 +0,0 @@ -open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath()); - $entity = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity(); - $title = $entity->hasData('name') ? $entity->getName() : $entity->getContentHeading(); - $pageTitle = $cmsIndex->getTitleBlock()->getTitle(); - \PHPUnit\Framework\Assert::assertEquals( - $pageTitle, - $title, - 'URL rewrite product redirect false.' - . "\nExpected: " . $title - . "\nActual: " . $pageTitle - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Custom URL rewrite redirect was success.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomSearchRedirect.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomSearchRedirect.php deleted file mode 100644 index b8b26b802434a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteCustomSearchRedirect.php +++ /dev/null @@ -1,56 +0,0 @@ -hasData('request_path') - ? $urlRewrite->getRequestPath() - : $initialRewrite->getRequestPath(); - $browser->open($_ENV['app_frontend_url'] . $urlRequestPath); - $entity = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity(); - - \PHPUnit\Framework\Assert::assertTrue( - $categoryView->getListProductBlock()->getProductItem($entity)->isVisible(), - "Created entity '{$entity->getName()}' isn't found." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Product is found on search page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php deleted file mode 100644 index 07557469b0297..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteDeletedMessage.php +++ /dev/null @@ -1,50 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Url rewrite delete message is displayed - * - * @return string - */ - public function toString() - { - return 'Url rewrite delete message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteInGrid.php deleted file mode 100644 index 0d467529b5a17..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $filter = ['request_path' => $urlRewrite->getRequestPath()]; - \PHPUnit\Framework\Assert::assertTrue( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), - 'URL Rewrite with request path \'' . $urlRewrite->getRequestPath() . '\' is absent in grid.' - ); - } - - /** - * URL rewrite category present in grid - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteNotInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteNotInGrid.php deleted file mode 100644 index cbaaf021b81ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $filter = ['request_path' => $productRedirect->getRequestPath()]; - \PHPUnit\Framework\Assert::assertFalse( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), - 'URL Rewrite with request path \'' . $productRedirect->getRequestPath() . '\' is present in grid.' - ); - } - - /** - * URL rewrite category not present in grid - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is not present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductInGrid.php deleted file mode 100644 index 82cdc917dd71d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductInGrid.php +++ /dev/null @@ -1,164 +0,0 @@ -webApi = $webApi; - $urlRewriteIndex->open(); - $categories = $product->getDataFieldConfig('category_ids')['source']->getCategories(); - $rootCategoryArray = []; - foreach ($categories as $index => $category) { - $parentName = $category->getDataFieldConfig('parent_id')['source']->getParentCategory()->getName(); - $rootCategoryArray[$parentName]['name'] = !empty($category->getUrlKey()) - ? strtolower($category->getUrlKey()) - : strtolower($category->getName()); - $rootCategoryArray[$parentName]['index'] = $index; - } - - $stores = $product->getDataFieldConfig('website_ids')['source']->getStores(); - foreach ($stores as $store) { - $rootCategoryName = $store->getDataFieldConfig('group_id')['source'] - ->getStoreGroup() - ->getDataFieldConfig('root_category_id')['source'] - ->getCategory() - ->getName(); - - $this->parentCategoryIndex = $rootCategoryArray[$rootCategoryName]['index']; - - $storeName = $store->getName(); - $filters = [ - [ - 'request_path' => $product->getUrlKey() . '.html', - 'store_id' => $storeName - ], - [ - 'request_path' => $rootCategoryArray[$rootCategoryName]['name'] . '.html', - 'store_id' => $storeName - ], - [ - 'request_path' => - $rootCategoryArray[$rootCategoryName]['name'] . '/' . $product->getUrlKey() . '.html', - 'target_path' => $this->getTargetPath($product, $category), - 'store_id' => $storeName - ], - ]; - foreach ($filters as $filter) { - \PHPUnit\Framework\Assert::assertTrue( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter, true, false), - 'URL Rewrite with request path \'' . $filter['request_path'] . '\' is absent in grid.' - ); - } - } - } - - /** - * Get target path. - * - * @param FixtureInterface $product - * @param FixtureInterface|null $category - * @return string - */ - private function getTargetPath(FixtureInterface $product, FixtureInterface $category = null) - { - $productId = $product->getId() - ? $product->getId() - : $this->retrieveProductBySku($product->getSku())['id']; - $categoryId = $product->hasData('category_ids') - ? $this->getCategoryId($product) - : ($category ? $category->getId() : ''); - return sprintf($this->targetPathTemplate, $productId, $categoryId); - } - - /** - * Get category id by product. - * - * @param FixtureInterface $product - * @return int - */ - private function getCategoryId(FixtureInterface $product) - { - $productSku = $product->getSku(); - $categoryId = $product->getDataFieldConfig('category_ids')['source'] - ->getCategories()[$this->parentCategoryIndex]->getId(); - $categoryId = $categoryId - ? $categoryId - : $this->retrieveProductBySku($productSku) - ['extension_attributes']['category_links'][$this->parentCategoryIndex]['category_id']; - return $categoryId; - } - - /** - * Retrieve product by sku. - * - * @param string $sku - * @return mixed - */ - public function retrieveProductBySku($sku) - { - $url = $_ENV['app_frontend_url'] . 'rest/all/V1/products/' . $sku; - $this->webApi->write($url, [], WebapiDecorator::GET); - $response = json_decode($this->webApi->read(), true); - $this->webApi->close(); - return $response; - } - - /** - * URL rewrite product present in grid. - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductNotInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductNotInGrid.php deleted file mode 100644 index 910b568ccb4cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductNotInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ -open(); - $requestPath = $product->getUrlKey() . '.html'; - $filter = ['request_path' => $requestPath]; - \PHPUnit\Framework\Assert::assertFalse( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), - 'URL Rewrite with request path \'' . $requestPath . '\' is present in grid.' - ); - } - - /** - * URL rewrite product not present in grid. - * - * @return string - */ - public function toString() - { - return 'URL Rewrite is not present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductRedirect.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductRedirect.php deleted file mode 100644 index 53dcf90b772fd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteProductRedirect.php +++ /dev/null @@ -1,58 +0,0 @@ -open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath()); - if ($product === null) { - $product = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity(); - } - \PHPUnit\Framework\Assert::assertEquals( - $catalogProductView->getTitleBlock()->getTitle(), - $product->getName(), - 'URL rewrite product redirect false.' - . "\nExpected: " . $product->getName() - . "\nActual: " . $catalogProductView->getTitleBlock()->getTitle() - ); - } - - /** - * Product available by new URL on the front - * - * @return string - */ - public function toString() - { - return 'Product available by new URL on the front.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteRedirectInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteRedirectInGrid.php deleted file mode 100644 index efed2a08ac488..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteRedirectInGrid.php +++ /dev/null @@ -1,97 +0,0 @@ -urlRewriteIndex = $urlRewriteIndex; - $urlRewriteIndex->open(); - $filter = [ - 'request_path' => $this->getNestingPath($categoryBeforeSave, $nestingLevel), - 'target_path' => $this->getNestingPath($category, $nestingLevel), - 'redirect_type' => $redirectType - ]; - $this->rowVisibleAssertion($filter); - } - - /** - * Assert that category redirect is present in grid. - * - * @param array $filter - * @return void - */ - private function rowVisibleAssertion(array $filter) - { - $filterRow = implode(', ', $filter); - \PHPUnit\Framework\Assert::assertTrue( - $this->urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter, true, false), - 'Category redirect with request path "' . $filterRow . '" is absent in grid.' - ); - } - - /** - * Return category url path by nesting level. - * - * @param Category $category - * @param int $nestingLevel - * @return string - */ - private function getNestingPath(Category $category, $nestingLevel) - { - if ($nestingLevel === null) { - return strtolower($category->getUrlKey() . '.html'); - } - $filterByRequestPathCondition = []; - for ($nestingIterator = 0; $nestingIterator < $nestingLevel; $nestingIterator++) { - $filterByRequestPathCondition[] = $category->getUrlKey(); - $category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory(); - } - - return strtolower(implode('/', array_reverse($filterByRequestPathCondition)) . '.html'); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category redirect is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSaveMessage.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSaveMessage.php deleted file mode 100644 index e62fec914b8de..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSaveMessage.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Url rewrite success message is displayed - * - * @return string - */ - public function toString() - { - return 'Url rewrite success message is displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSuccessOutsideRedirect.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSuccessOutsideRedirect.php deleted file mode 100644 index 88b69a3d310ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteSuccessOutsideRedirect.php +++ /dev/null @@ -1,57 +0,0 @@ -hasData('request_path') - ? $urlRewrite->getRequestPath() - : $initialRewrite->getRequestPath(); - $urlTargetPath = $urlRewrite->hasData('target_path') - ? $urlRewrite->getTargetPath() - : $initialRewrite->getTargetPath(); - - $browser->open($_ENV['app_frontend_url'] . $urlRequestPath); - $browserUrl = $browser->getUrl(); - - \PHPUnit\Framework\Assert::assertEquals( - $browserUrl, - $urlTargetPath, - 'URL rewrite redirect false.' - . "\nExpected: " . $urlTargetPath - . "\nActual: " . $browserUrl - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Custom outside URL rewrite redirect was success.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteUpdatedProductInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteUpdatedProductInGrid.php deleted file mode 100644 index fb84bf02ed9b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewriteUpdatedProductInGrid.php +++ /dev/null @@ -1,63 +0,0 @@ -open(); - $category = $product->getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $targetPath = "catalog/product/view/id/{$initialProduct->getId()}/category/{$category->getId()}"; - $url = strtolower($product->getCategoryIds()[0] . '/' . $product->getUrlKey()); - $filter = [ - 'request_path' => $url, - 'target_path' => $targetPath, - ]; - \PHPUnit\Framework\Assert::assertTrue( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter, true, false), - "URL Rewrite with request path '$url' is absent in grid." - ); - - $categoryInitial = $initialProduct->getDataFieldConfig('category_ids')['source']->getCategories()[0]; - $targetPath = "catalog/product/view/id/{$initialProduct->getId()}/category/{$categoryInitial->getId()}"; - - \PHPUnit\Framework\Assert::assertFalse( - $urlRewriteIndex->getUrlRedirectGrid()->isRowVisible(['target_path' => $targetPath], true, false), - "URL Rewrite with target path '$targetPath' is present in grid." - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'URL Rewrite for product was changed after assign category.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesCategoriesInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesCategoriesInGrid.php deleted file mode 100644 index 490f5da9aecde..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesCategoriesInGrid.php +++ /dev/null @@ -1,60 +0,0 @@ - $category) { - $assertUrlRewriteCategoryInGrid->processAssert( - $category, - $webApi, - $urlRewriteIndex, - null, - null, - $key, - $filterByPath, - $redirectType - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category url rewrites are present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesRedirectInGrid.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesRedirectInGrid.php deleted file mode 100644 index c2a374d62fd16..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertUrlRewritesRedirectInGrid.php +++ /dev/null @@ -1,54 +0,0 @@ - $category) { - $assertUrlRewriteRedirectInGrid->processAssert( - $category, - $categoriesBeforeSave[$key], - $urlRewriteIndex, - $key, - $redirectType - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Category redirects a present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml deleted file mode 100644 index a1b45d53b33b6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/StoreId.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/StoreId.php deleted file mode 100644 index e40fc1695a197..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/StoreId.php +++ /dev/null @@ -1,36 +0,0 @@ -params = $params; - if (preg_match('`%(.*?)%`', $data, $store)) { - /** @var Store $storeFixture */ - $storeFixture = $fixtureFactory->createByCode('store', ['dataset' => $store[1]]); - if (!$storeFixture->hasData('store_id')) { - $storeFixture->persist(); - } - $data = str_replace('%' . $store[1] . '%', $storeFixture->getName(), $data); - } - $this->data = $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/TargetPath.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/TargetPath.php deleted file mode 100644 index 7f0c29da03784..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite/TargetPath.php +++ /dev/null @@ -1,60 +0,0 @@ -params = $params; - if (!isset($data['entity']) || $data['entity'] === '-') { - $this->data = $data; - return; - } - preg_match('`%(.*?)%`', $data['entity'], $dataset); - $entityConfig = isset($dataset[1]) ? explode('::', $dataset[1]) : []; - if (count($entityConfig) > 1) { - /** @var FixtureInterface $fixture */ - $this->entity = $fixtureFactory->createByCode($entityConfig[0], ['dataset' => $entityConfig[1]]); - $this->entity->persist(); - $id = $this->entity->hasData('id') ? $this->entity->getId() : $this->entity->getPageId(); - $this->data = preg_replace('`(%.*?%)`', $id, $data['entity']); - } else { - $this->data = (string)$data['entity']; - } - } - - /** - * Return entity. - * - * @return FixtureInterface|null - */ - public function getEntity() - { - return $this->entity; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php deleted file mode 100644 index 7ea32f31f0aaa..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php +++ /dev/null @@ -1,64 +0,0 @@ - [ - 'Default Store View' => 1, - 'Main Website/Main Website Store/Default Store View' => 1, - ], - 'redirect_type' => [ - 'Temporary (302)' => 302, - 'Permanent (301)' => 301, - 'No' => 0, - ], - ]; - - /** - * Url for save rewrite - * - * @var string - */ - protected $url = 'admin/url_rewrite/save/'; - - /** - * Post request for creating url rewrite - * - * @param FixtureInterface $fixture - * @throws \Exception - * @return void - */ - public function persist(FixtureInterface $fixture = null) - { - $url = $_ENV['app_backend_url'] . $this->url . $fixture->getTargetPath(); - $data = $this->replaceMappingData($fixture->getData()); - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("URL Rewrite creation by curl handler was not successful! Response: $response"); - } - $curl->close(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/UrlRewriteInterface.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/UrlRewriteInterface.php deleted file mode 100644 index 34bbc2ad261d5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/UrlRewriteInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Page/Adminhtml/UrlRewriteIndex.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Page/Adminhtml/UrlRewriteIndex.xml deleted file mode 100644 index 517dedcfee433..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Page/Adminhtml/UrlRewriteIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.xml deleted file mode 100644 index 9a960d4f8dbc8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Repository/UrlRewrite.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test-test-test%isolation%.html - http://www.example.com/ - Temporary (302) - Main Website/Main Website Store/Default Store View - - - - test-test-test%isolation%.html - Temporary (302) - Main Website/Main Website Store/Default Store View - - - - Main Website/Main Website Store/Default Store View - wishlist/%isolation% - http://google.com - Temporary (302) - test description - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.php deleted file mode 100644 index a2767f76cfecb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.php +++ /dev/null @@ -1,103 +0,0 @@ - Categories. - * 3. On the categories editing page change store view to created additional view. - * 4. Change URL key for category "first-test" from default to "first-test-2". Save. - * 5. Change store view to "All store views". - * 6. Move category "first-test" inside "second-test". - * 7. Perform all assertions. - * - * @ZephyrId MAGETWO-45385 - */ -class CategoryUrlRewriteTest extends Injectable -{ - /** - * CatalogCategoryIndex page. - * - * @var CatalogCategoryIndex - */ - private $catalogCategoryIndex; - - /** - * CatalogCategoryEdit page. - * - * @var CatalogCategoryEdit - */ - private $catalogCategoryEdit; - - /** - * Inject page end prepare default category. - * - * @param CatalogCategoryIndex $catalogCategoryIndex - * @param CatalogCategoryEdit $catalogCategoryEdit - * @return array - */ - public function __inject( - CatalogCategoryIndex $catalogCategoryIndex, - CatalogCategoryEdit $catalogCategoryEdit - ) { - $this->catalogCategoryIndex = $catalogCategoryIndex; - $this->catalogCategoryEdit = $catalogCategoryEdit; - } - - /** - * Runs test. - * - * @param Store $storeView - * @param Category $childCategory - * @param Category $parentCategory - * @param Category $categoryUpdates - * @return array - */ - public function test(Store $storeView, Category $childCategory, Category $parentCategory, Category $categoryUpdates) - { - // Preconditions: - $storeView->persist(); - $parentCategory->persist(); - $childCategory->persist(); - - // Steps: - $this->catalogCategoryIndex->open(); - $this->catalogCategoryIndex->getTreeCategories()->selectCategory($childCategory); - $this->catalogCategoryEdit->getFormPageActions()->selectStoreView($storeView->getName()); - $this->catalogCategoryEdit->getEditForm()->fill($categoryUpdates); - $this->catalogCategoryEdit->getFormPageActions()->save(); - $this->catalogCategoryEdit->getFormPageActions()->selectStoreView('All Store Views'); - $this->catalogCategoryIndex->getTreeCategories()->assignCategory( - $parentCategory->getName(), - $childCategory->getName() - ); - if ($this->catalogCategoryEdit->getModalBlock()->isVisible()) { - $this->catalogCategoryEdit->getModalBlock()->acceptWarning(); - } - - return [ - 'storeView' => $storeView, - 'childCategory' => $childCategory, - 'parentCategory' => $parentCategory - ]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.xml deleted file mode 100644 index 1f888c3a2a8b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CategoryUrlRewriteTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - mftf_migrated:yes - custom - default - catalogProductSimple::default - default - catalogProductSimple::default - No - UrlKey%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.php deleted file mode 100644 index 194a0b47ee032..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.php +++ /dev/null @@ -1,95 +0,0 @@ - SEO & Search->URL Rewrites. - * 3. Click "+" button. - * 4. Select "For Category" in Create URL Rewrite dropdown. - * 5. Select Category in "Category tree". - * 6. Fill data according to data set. - * 7. Save Rewrite. - * 8. Verify created rewrite. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-24280 - */ -class CreateCategoryRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Page of url rewrite edit category. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Main page of url rewrite. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Inject page. - * - * @param UrlRewriteEdit $urlRewriteEdit - * @param UrlRewriteIndex $urlRewriteIndex - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __inject( - UrlRewriteEdit $urlRewriteEdit, - UrlRewriteIndex $urlRewriteIndex, - FixtureFactory $fixtureFactory - ) { - $this->urlRewriteEdit = $urlRewriteEdit; - $this->urlRewriteIndex = $urlRewriteIndex; - $category = $fixtureFactory->createByCode( - 'category', - ['dataset' => 'default_subcategory_with_single_quote_in_name'] - ); - $category->persist(); - return ['category' => $category]; - } - - /** - * Test check create category rewrites. - * - * @param UrlRewrite $urlRewrite - * @param Category $category - * @return void - */ - public function test(UrlRewrite $urlRewrite, Category $category) - { - //Steps - $this->urlRewriteIndex->open(); - $this->urlRewriteIndex->getPageActionsBlock()->addNew(); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - - $this->urlRewriteEdit->getTreeBlock()->selectCategory($category); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.xml deleted file mode 100644 index b0f2a9e293295..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCategoryRewriteEntityTest.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - For Category - Main Website/Main Website Store/Default Store View - cat%isolation%-redirect.html - Permanent (301) - End-to-end test - - - - - mftf_migrated:yes - For Category - Main Website/Main Website Store/Default Store View - test_request%isolation% - No - test description - - - - - mftf_migrated:yes - For Category - Main Website/Main Website Store/Default Store View - request_path%isolation% - Temporary (302) - test description - - - - - - mftf_migrated:yes - For Category - Main Website/Main Website Store/Default Store View - request_path%isolation% - Permanent (301) - test description - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.php deleted file mode 100644 index aba988d8491f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.php +++ /dev/null @@ -1,78 +0,0 @@ - SEO & Search > URL Rewrites. - * 3. Click "Add Url Rewrite" button. - * 4. Select "Custom" in Create URL Rewrite dropdown. - * 5. Fill data according to data set. - * 6. Save Rewrite. - * 7. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-25474 - */ -class CreateCustomUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit) - { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Create custom URL Rewrite. - * - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $urlRewrite) - { - $this->urlRewriteIndex->open(); - $this->urlRewriteIndex->getPageActionsBlock()->addNew(); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml deleted file mode 100644 index d6c37b851aa12..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateCustomUrlRewriteEntityTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - Custom - Main Website/Main Website Store/Default Store View - catalog/category/view/id/%category::default_subcategory% - category_request_path%isolation% - Permanent (301) - test_description_relative path - - - - - - mftf_migrated:yes - Custom - Main Website/Main Website Store/Default Store View - catalog/product/view/id/%catalogProductSimple::default% - product_request_path%isolation% - Temporary (302) - test_description_relative path - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php deleted file mode 100644 index a6d9b77030682..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.php +++ /dev/null @@ -1,91 +0,0 @@ - Url Redirects. - * 3. Click "Add URL Rewrite" button. - * 4. Select "For Product" from "Create URL Rewrite:" dropdown. - * 5. Select created early product. - * 6. Click "Skip Category Selection" button. - * 7. Fill data according to dataset. - * 8. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-25150 - */ -class CreateProductUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Prepare pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit) - { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Create product URL Rewrite. - * - * @param CatalogProductSimple $product - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(CatalogProductSimple $product, UrlRewrite $urlRewrite) - { - //Precondition - $product->persist(); - $filter = ['id' => $product->getId()]; - //Steps - $this->urlRewriteIndex->open(); - $this->urlRewriteIndex->getPageActionsBlock()->addNew(); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getProductGridBlock()->searchAndOpen($filter); - $category = $product->hasData('category_ids') - ? $product->getDataFieldConfig('category_ids')['source']->getCategories()[0] - : null; - $this->urlRewriteEdit->getTreeBlock()->selectCategory($category); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.xml deleted file mode 100644 index 0cf2fd9c0d4e1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductUrlRewriteEntityTest.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - test_type:acceptance_test, test_type:extended_acceptance_test, mftf_migrated:yes - For Product - product_with_category - Main Website/Main Website Store/Default Store View - cat%isolation%/simp_redirect%isolation%.html - Temporary (302) - description_%isolation% - - - - - mftf_migrated:yes - For Product - default - Main Website/Main Website Store/Default Store View - test_%isolation%.html - No - description_%isolation% - - - - mftf_migrated:yes - For Product - default - Main Website/Main Website Store/Default Store View - test_%isolation%.html - Temporary (302) - description_%isolation% - - - - - mftf_migrated:yes - For Product - default - Main Website/Main Website Store/Default Store View - test_%isolation%.html - Permanent (301) - description_%isolation% - - - - - mftf_migrated:yes - For Product - product_with_category - Main Website/Main Website Store/Default Store View - cat%isolation%/simp_redirect%isolation%.html - Temporary (302) - description_%isolation% - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.php deleted file mode 100644 index d6e794c25b3eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.php +++ /dev/null @@ -1,104 +0,0 @@ - Catalog. - * 3. Start to create simple product. - * 4. Fill in data according to data set. - * 5. Save Product. - * 6. Perform appropriate assertions. - * - * @ZephyrId MAGETWO-27238 - */ -class CreateProductWithSeveralWebsitesUrlRewriteTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Run create product with several websites url rewrite test. - * - * @param CatalogProductSimple $product - * @param CatalogProductIndex $productGrid - * @param CatalogProductNew $newProductPage - * @param FixtureFactory $fixtureFactory - * @param array $websiteCategories - * @return array - */ - public function testCreate( - CatalogProductSimple $product, - CatalogProductIndex $productGrid, - CatalogProductNew $newProductPage, - FixtureFactory $fixtureFactory, - array $websiteCategories - ) { - $categoryParent = []; - $categoryList = []; - $storeList = []; - - // Preconditions - foreach ($websiteCategories as $websiteCategory) { - list($storeGroup, $store, $category) = explode('::', $websiteCategory); - if (!isset($categoryParent[$category])) { - $categoryListItem = $fixtureFactory->createByCode('category', ['dataset' => $category]); - $categoryListItem->persist(); - $categoryParent[$category] = $categoryListItem->getDataFieldConfig('parent_id')['source'] - ->getParentCategory(); - $categoryList[] = $categoryListItem; - } - $storeGroup = $fixtureFactory->createByCode('storeGroup', [ - 'dataset' => $storeGroup, - 'data' => [ - 'root_category_id' => [ - 'category' => $categoryParent[$category] - ] - ] - ]); - $storeGroup->persist(); - $store = $fixtureFactory->createByCode('store', [ - 'dataset' => $store, - 'data' => [ - 'group_id' => [ - 'storeGroup' => $storeGroup - ] - ] - ]); - $store->persist(); - $storeList[] = $store; - } - - $productData = $product->getData(); - $productData['website_ids'] = $storeList; - $productData['category_ids'] = $categoryList; - - $product = $fixtureFactory->createByCode( - 'catalogProductSimple', - [ - 'dataset' => 'default', - 'data' => $productData, - ] - ); - - // Steps - $productGrid->open(); - $productGrid->getGridPageActionBlock()->addProduct('simple'); - $newProductPage->getProductForm()->fill($product); - $newProductPage->getFormPageActions()->save(); - - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.xml deleted file mode 100644 index 8e737f193cf94..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/CreateProductWithSeveralWebsitesUrlRewriteTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - mftf_migrated:yes - simple-product-%isolation% - Simple Product %isolation% - simple_sku_%isolation% - 42 - 50 - 345 - - default::default::default - store_group_new_1::store_new_1::default - store_group_new_2::store_new_2::root_subcategory - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.php deleted file mode 100644 index f3d25114d4ee0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.php +++ /dev/null @@ -1,83 +0,0 @@ - URL Rewrites. - * 3. Search and open created URL Rewrite. - * 4. Delete URL Rewrite. - * 5. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-25086 - */ -class DeleteCategoryUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit) - { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Delete category Url Rewrite. - * - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $urlRewrite) - { - //Precondition - $urlRewrite->persist(); - //Steps - $this->urlRewriteIndex->open(); - if ($urlRewrite->getRequestPath()) { - $filter = ['request_path' => $urlRewrite->getRequestPath()]; - } else { - $filter = ['target_path' => $urlRewrite->getTargetPath()]; - } - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getPageMainActions()->delete(); - $this->urlRewriteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.xml deleted file mode 100644 index 42f71b8d01f76..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCategoryUrlRewriteEntityTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - mftf_migrated:yes - catalog/category/view/id/%category::default% - No - - - - - - - mftf_migrated:yes - catalog/category/view/id/%category::default% - No - example%isolation%.html - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.php deleted file mode 100644 index 6b4ea01fcd741..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.php +++ /dev/null @@ -1,79 +0,0 @@ - SEO & Search > URL Redirects. - * 3. Search and open created URL Redirect. - * 4. Delete Redirect. - * 5. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-26337 - */ -class DeleteCustomUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit) - { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Delete custom URL Rewrite. - * - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $urlRewrite) - { - // Precondition - $urlRewrite->persist(); - - // Steps - $this->urlRewriteIndex->open(); - $filter = ['request_path' => $urlRewrite->getRequestPath()]; - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getPageMainActions()->delete(); - $this->urlRewriteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.xml deleted file mode 100644 index 8e0e8ebde99fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteCustomUrlRewriteEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - mftf_migrated:yes - default - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.php deleted file mode 100644 index 9d157399b0207..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.php +++ /dev/null @@ -1,82 +0,0 @@ - URL Rewrites. - * 3. Click Redirect from grid. - * 4. Click 'Delete' button. - * 5. Perform asserts. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-23287 - */ -class DeleteProductUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Prepare pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Delete product url rewrites entity. - * - * @param UrlRewrite $productRedirect - * @return void - */ - public function test(UrlRewrite $productRedirect) - { - // Precondition - $productRedirect->persist(); - // Steps - $this->urlRewriteIndex->open(); - $filter = ['request_path' => $productRedirect->getRequestPath()]; - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getPageMainActions()->delete(); - $this->urlRewriteEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.xml deleted file mode 100644 index 7e8f8729716b0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/DeleteProductUrlRewriteEntityTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - mftf_migrated:yes - default_without_target - product/%catalogProductSimple::product_100_dollar% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 30d9e57602af1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - Marketing > URL Rewrites - URL Rewrites - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.php deleted file mode 100644 index 85cd9e9856c88..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.php +++ /dev/null @@ -1,98 +0,0 @@ - SEO & Search > URL Rewrites. - * 3. Click Category URL Rewrite from grid. - * 4. Edit test value(s) according to dataset. - * 5. Click 'Save' button. - * 6. Perform all asserts. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-24838 - */ -class UpdateCategoryUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Prepare datasets and pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @param FixtureFactory $fixtureFactory - * @param Category $category - * @return array - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit, - FixtureFactory $fixtureFactory, - Category $category - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - $category->persist(); - $categoryRedirect = $fixtureFactory->createByCode( - 'urlRewrite', - [ - 'dataset' => 'default', - 'data' => ['target_path' => $category->getUrlKey() . '.html'] - ] - ); - $categoryRedirect->persist(); - - return ['categoryRedirect' => $categoryRedirect, 'category' => $category]; - } - - /** - * Update category URL rewrites. - * - * @param UrlRewrite $categoryRedirect - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $categoryRedirect, UrlRewrite $urlRewrite) - { - //Steps - $this->urlRewriteIndex->open(); - $filter = ['request_path' => $categoryRedirect->getRequestPath()]; - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.xml deleted file mode 100644 index b2be1a205212e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCategoryUrlRewriteEntityTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - mftf_migrated:yes - Main Website/Main Website Store/Default Store View - default_subcategory - default - - - test_request%isolation% - No - test_description_defalt - - - - - - mftf_migrated:yes - Main Website/Main Website Store/Default Store View - default_subcategory - default - - - request_path%isolation%.html - Temporary (302) - test description_302 - - - - - - mftf_migrated:yes - Main Website/Main Website Store/Default Store View - default_subcategory - default - - - request_path%isolation%.htm - Permanent (301) - test description_301 - - - - - - mftf_migrated:yes - Main Website/Main Website Store/Default Store View - default_subcategory - default - - - request_path%isolation%.aspx - Temporary (302) - test description_%isolation% - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.php deleted file mode 100644 index a1b6376f0a18a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.php +++ /dev/null @@ -1,102 +0,0 @@ - SEO & Search->URL Redirects. - * 3. Search and open created URL Redirect. - * 4. Fill data according to data set. - * 5. Save Redirect. - * 6. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-25784 - */ -class UpdateCustomUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Inject pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return void - */ - public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit) - { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Update custom URL Rewrite. - * - * @param UrlRewrite $initialRewrite - * @param UrlRewrite $urlRewrite - * @return void - */ - public function test(UrlRewrite $initialRewrite, UrlRewrite $urlRewrite) - { - //Precondition - $initialRewrite->persist(); - - //Steps - $this->urlRewriteIndex->open(); - $filter = ['request_path' => $initialRewrite->getRequestPath()]; - $replaceData = $this->getReplaceData($urlRewrite); - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite, null, $replaceData); - $this->urlRewriteEdit->getPageMainActions()->save(); - } - - /** - * Prepare data for replace. - * - * @param UrlRewrite $initialRewrite - * @return array - */ - protected function getReplaceData(UrlRewrite $initialRewrite) - { - $replaceData = []; - $entity = $initialRewrite->getDataFieldConfig('target_path')['source']->getEntity(); - - if ($entity) { - $replaceData['target_path'] = ['name' => 'sku', 'value' => $entity->getSku()]; - } - - return $replaceData; - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.xml deleted file mode 100644 index 2405216c12203..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateCustomUrlRewriteEntityTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - default - Main Website/Main Website Store/Default Store View - wishlist/%isolation% - https://marketplace.magento.com/ - Permanent (301) - test_description_relative path - - - - - - test_type:extended_acceptance_test, mftf_migrated:yes - custom_rewrite_wishlist - Main Website/Main Website Store/Default Store View - wishlist/%isolation% - catalogsearch/result/?q=$%catalogProductSimple::defaul%sku$ - Temporary (302) - test_description_relative path - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.php deleted file mode 100644 index eeb39863edf37..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.php +++ /dev/null @@ -1,91 +0,0 @@ - Url Redirects. - * 3. Search and open created Url Redirect. - * 4. Fill data according to dataset. - * 5. Perform all assertions. - * - * @group URL_Rewrites - * @ZephyrId MAGETWO-24819 - */ -class UpdateProductUrlRewriteEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Url rewrite index page. - * - * @var UrlRewriteIndex - */ - protected $urlRewriteIndex; - - /** - * Url rewrite edit page. - * - * @var UrlRewriteEdit - */ - protected $urlRewriteEdit; - - /** - * Prepare datasets and pages. - * - * @param UrlRewriteIndex $urlRewriteIndex - * @param UrlRewriteEdit $urlRewriteEdit - * @return array - */ - public function __inject( - UrlRewriteIndex $urlRewriteIndex, - UrlRewriteEdit $urlRewriteEdit - ) { - $this->urlRewriteIndex = $urlRewriteIndex; - $this->urlRewriteEdit = $urlRewriteEdit; - } - - /** - * Update product URL rewrites. - * - * @param UrlRewrite $urlRewrite - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function test(UrlRewrite $urlRewrite, FixtureFactory $fixtureFactory) - { - /** @var UrlRewrite $productRedirect */ - $productRedirect = $fixtureFactory->createByCode( - 'urlRewrite', - [ - 'dataset' => 'default', - 'data' => ['target_path' => $urlRewrite->getTargetPath()] - ] - ); - $productRedirect->persist(); - //Steps - $this->urlRewriteIndex->open(); - $filter = ['request_path' => $productRedirect->getRequestPath()]; - $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); - $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); - $this->urlRewriteEdit->getPageMainActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.xml deleted file mode 100644 index 8f12930aa417b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/TestCase/UpdateProductUrlRewriteEntityTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - mftf_migrated:yes - product/%catalogProductSimple::product_100_dollar% - Main Website/Main Website Store/Default Store View - test_%isolation%.html - Temporary (302) - description_%isolation% - Yes - - - - - diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/curl/di.xml deleted file mode 100644 index 8ce52c5148932..0000000000000 --- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/LockedUsersGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/LockedUsersGrid.php deleted file mode 100644 index 8c3339fb56bf9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/LockedUsersGrid.php +++ /dev/null @@ -1,26 +0,0 @@ - [ - 'selector' => '#lockedAdminsGrid_filter_username', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/PageActions.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/PageActions.php deleted file mode 100644 index e42d76ce4a4c6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/PageActions.php +++ /dev/null @@ -1,30 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - #role_info_tabs_info - css selector - - - [name='rolename'] - css selector - - - [name='current_password'] - css selector - - - - - \Magento\Backend\Test\Block\Widget\Tab - #role_info_tabs_account - css selector - - - select - [name="all"] - css selector - - - jquerytree - [data-role="resource-tree"] - css selector - - - - - \Magento\User\Test\Block\Adminhtml\Role\Tab\Role - #role_info_tabs_roles - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/Role.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/Role.php deleted file mode 100644 index 4d0d6517c08a5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/Role.php +++ /dev/null @@ -1,48 +0,0 @@ -getUserGrid()->searchAndSelect(['username' => $user]); - } - } - - /** - * Returns user grid block - * - * @return \Magento\User\Test\Block\Adminhtml\Role\Tab\User\Grid - */ - public function getUserGrid() - { - return $this->blockFactory->create( - \Magento\User\Test\Block\Adminhtml\Role\Tab\User\Grid::class, - ['element' => $this->_rootElement->find('#roleUserGrid')] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/User/Grid.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/User/Grid.php deleted file mode 100644 index 643caf5e78c44..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/Role/Tab/User/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="role_user_username"]', - ], - ]; - - /** - * Locator value for role name column - * - * @var string - */ - protected $selectItem = '.col-in_role_users input'; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/RoleGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/RoleGrid.php deleted file mode 100644 index 274d9fd8611ae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/RoleGrid.php +++ /dev/null @@ -1,39 +0,0 @@ - [ - 'selector' => '#roleGrid_filter_role_id', - ], - 'rolename' => [ - 'selector' => '#roleGrid_filter_role_name', - ], - ]; - - /** - * Locator value for td with role name - * - * @var string - */ - protected $editLink = 'tbody [data-column="role_name"]'; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Form.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Form.php deleted file mode 100644 index dd5ec1a7052a7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Form.php +++ /dev/null @@ -1,49 +0,0 @@ -_rootElement->find($this->roleTab, Locator::SELECTOR_ID)->click(); - } - - /** - * Get roles grid on user edit page - * - * @return Roles - */ - public function getRolesGrid() - { - return $this->blockFactory->create( - \Magento\User\Test\Block\Adminhtml\User\Edit\Tab\Roles::class, - ['element' => $this->_rootElement->find('#permissionsUserRolesGrid')] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/PageActions.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/PageActions.php deleted file mode 100644 index 35a61be499375..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/PageActions.php +++ /dev/null @@ -1,44 +0,0 @@ -_rootElement->find($this->forceSignIn)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Tab/Roles.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Tab/Roles.php deleted file mode 100644 index 0e8892bb07358..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Edit/Tab/Roles.php +++ /dev/null @@ -1,46 +0,0 @@ - [ - 'selector' => '#permissionsUserRolesGrid_filter_assigned_user_role', - 'input' => 'select', - ], - 'role_name' => [ - 'selector' => '#permissionsUserRolesGrid_filter_role_name', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role.php deleted file mode 100644 index e76d5453c9d50..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role.php +++ /dev/null @@ -1,43 +0,0 @@ -getRoleGrid()->searchAndSelect(['rolename' => $fields['role_id']['value']]); - } - - /** - * Returns role grid - * - * @return \Magento\User\Test\Block\Adminhtml\User\Tab\Role\Grid - */ - public function getRoleGrid() - { - return $this->blockFactory->create( - \Magento\User\Test\Block\Adminhtml\User\Tab\Role\Grid::class, - ['element' => $this->_rootElement->find('#permissionsUserRolesGrid')] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role/Grid.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role/Grid.php deleted file mode 100644 index ae70e3f923480..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/Tab/Role/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => '#permissionsUserRolesGrid_filter_role_name', - ], - ]; - - /** - * Locator value for role name column - * - * @var string - */ - protected $selectItem = '.col-assigned_user_role > input'; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.php deleted file mode 100644 index 82782d877caad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.php +++ /dev/null @@ -1,37 +0,0 @@ -_rootElement->find($this->interfaceLocaleSelect); - foreach ($selectElement->getElements('option') as $option) { - $locales[] = $option->getValue(); - } - - return $locales; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.xml b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.xml deleted file mode 100644 index 91d2afdd62db6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/User/UserForm.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - \Magento\Backend\Test\Block\Widget\Tab - #page_tabs_main_section - css selector - - - - - - - - - select - - - - select - - - - - \Magento\User\Test\Block\Adminhtml\User\Tab\Role - #page_tabs_roles_section - css selector - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/UserGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/UserGrid.php deleted file mode 100644 index 92e0ded9728da..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Block/Adminhtml/UserGrid.php +++ /dev/null @@ -1,37 +0,0 @@ - [ - 'selector' => '#permissionsUserGrid_filter_username', - ], - 'email' => [ - 'selector' => '#permissionsUserGrid_filter_email', - ], - ]; - - /** - * Locator value of td with username - * - * @var string - */ - protected $editLink = '[data-column="username"]'; -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertAccessTokensSuccessfullyRevoked.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertAccessTokensSuccessfullyRevoked.php deleted file mode 100644 index b2e52f6a15a10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertAccessTokensSuccessfullyRevoked.php +++ /dev/null @@ -1,45 +0,0 @@ -getMessagesBlock()->getSuccessMessage() - ); - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return self::SUCCESS_MESSAGE . ' message is present on UserEdit page.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnAccount.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnAccount.php deleted file mode 100644 index f557cfb8099cf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnAccount.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $errorMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $errorMessage - ); - } - - /** - * Returns message if equals to expected message. - * - * @return string - */ - public function toString() - { - return '"You cannot delete self-assigned roles." message on UserEdit page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnRole.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnRole.php deleted file mode 100644 index 58a845cf755c7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertImpossibleDeleteYourOwnRole.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $errorMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $errorMessage - ); - } - - /** - * Returns message if equals to expected message. - * - * @return string - */ - public function toString() - { - return '"You cannot delete self-assigned roles." message on EditRole page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertIncorrectUserPassword.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertIncorrectUserPassword.php deleted file mode 100644 index 69561b314a007..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertIncorrectUserPassword.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $errorMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $errorMessage - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Incorrect password message is present and correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleInGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleInGrid.php deleted file mode 100644 index 770ca095eee7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ - $role->hasData('rolename') ? $role->getRoleName() : $roleInit->getRoleName()]; - $rolePage->open(); - \PHPUnit\Framework\Assert::assertTrue( - $rolePage->getRoleGrid()->isRowVisible($filter), - 'Role with name \'' . $filter['rolename'] . '\' is absent in Roles grid.' - ); - } - - /** - * Returns success message if assert true. - * - * @return string - */ - public function toString() - { - return 'Role is present in Roles grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleNotInGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleNotInGrid.php deleted file mode 100644 index 9642bd05aa383..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleNotInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ - $role->getRoleName()]; - $rolePage->open(); - \PHPUnit\Framework\Assert::assertFalse( - $rolePage->getRoleGrid()->isRowVisible($filter), - 'Role with name \'' . $role->getRoleName() . '\' is present in Roles grid.' - ); - } - - /** - * Returns success message if assert true. - * - * @return string - */ - public function toString() - { - return 'Role is absent in Roles grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessDeleteMessage.php deleted file mode 100644 index 48333ab540680..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns success delete message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Success delete message on roles page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessSaveMessage.php deleted file mode 100644 index 4625f4ce86d1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertRoleSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Success message on roles page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserDuplicateMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserDuplicateMessage.php deleted file mode 100644 index cad6e2aa28d2b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserDuplicateMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::ERROR_MESSAGE, - $failedMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::ERROR_MESSAGE - . "\nActual: " . $failedMessage - ); - } - - /** - * Returns success message if assert true. - * - * @return string - */ - public function toString() - { - return 'Error message on creation user page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginByPermissionMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginByPermissionMessage.php deleted file mode 100644 index 7b7f981b2635b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginByPermissionMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -open(); - $adminAuth->getLoginBlock()->fill($customAdmin); - $adminAuth->getLoginBlock()->submit(); - - \PHPUnit\Framework\Assert::assertEquals( - self::FAILED_LOGIN_MESSAGE, - $adminAuth->getMessagesBlock()->getErrorMessage(), - 'Message "' . self::FAILED_LOGIN_MESSAGE . '" is not visible.' - ); - } - - /** - * Returns error message equals expected message. - * - * @return string - */ - public function toString() - { - return 'Invalid credentials message was displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginMessage.php deleted file mode 100644 index 3aa4e6c21651c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserFailedLoginMessage.php +++ /dev/null @@ -1,52 +0,0 @@ -open(); - $adminAuth->getLoginBlock()->fill($customAdmin); - $adminAuth->getLoginBlock()->submit(); - - \PHPUnit\Framework\Assert::assertEquals( - self::FAILED_LOGIN_MESSAGE, - $adminAuth->getMessagesBlock()->getErrorMessage(), - 'Message "' . self::FAILED_LOGIN_MESSAGE . '" is not visible.' - ); - } - - /** - * Returns error message equals expected message - * - * @return string - */ - public function toString() - { - return 'Invalid credentials message was displayed.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInGrid.php deleted file mode 100644 index 26aa33d89c1d4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInGrid.php +++ /dev/null @@ -1,45 +0,0 @@ - $user->getUsername()]; - - $userIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $userIndex->getUserGrid()->isRowVisible($filter), - 'User with name \'' . $user->getUsername() . '\' is absent in User grid.' - ); - } - - /** - * Returns success message if assert true. - * - * @return string - */ - public function toString() - { - return 'User is present in Users grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailHostnameMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailHostnameMessage.php deleted file mode 100644 index 9e590f588c064..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailHostnameMessage.php +++ /dev/null @@ -1,55 +0,0 @@ -getEmail(); - $hostname = substr($email, strpos($email, '@')+1); - $expectedMessage = sprintf(self::ERROR_MESSAGE, $hostname, $email); - $actualMessage = $userEdit->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Error message about invalid hostname for email on creation user page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailMessage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailMessage.php deleted file mode 100644 index 2f68d3ceab01d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserInvalidEmailMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -getEmail()); - $actualMessage = $userEdit->getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - $expectedMessage, - $actualMessage, - 'Wrong error message is displayed.' - . "\nExpected: " . $expectedMessage - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Error message about invalid email on creation user page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserNotInGrid.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserNotInGrid.php deleted file mode 100644 index 9033c2f165054..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserNotInGrid.php +++ /dev/null @@ -1,46 +0,0 @@ - $user->getUsername()]; - $userIndex->open(); - \PHPUnit\Framework\Assert::assertFalse( - $userIndex->getUserGrid()->isRowVisible($filter), - 'User with name \'' . $user->getUsername() . '\' is present in Users grid.' - ); - } - - /** - * Returns message if user not in grid. - * - * @return string - */ - public function toString() - { - return 'User is absent in Users grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPasswordChangedSuccessfully.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPasswordChangedSuccessfully.php deleted file mode 100644 index adff2de77370b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPasswordChangedSuccessfully.php +++ /dev/null @@ -1,47 +0,0 @@ -getMessagesBlock()->getErrorMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::FAIL_MESSAGE, - $errorMessage, - 'Password update failed with error: "' . self::FAIL_MESSAGE . '"' - ); - } - - /** - * Returns success message if there is fail message. - * - * @return string - */ - public function toString() - { - return 'Password validation completed successfully.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPermissionsOnlyConfigurationIndexPage.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPermissionsOnlyConfigurationIndexPage.php deleted file mode 100644 index a974d8bf40b6d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserPermissionsOnlyConfigurationIndexPage.php +++ /dev/null @@ -1,55 +0,0 @@ -getAdminPanelHeader()->logOut(); - $adminAuth->open(); - $adminAuth->getLoginBlock()->fill($customAdmin); - $adminAuth->getLoginBlock()->submit(); - $configIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $configIndex->getAdminForm()->isEmpty(), - "Form isn't empty." - ); - } - - /** - * Return string representation of object - * - * @return string - */ - public function toString() - { - return 'Form is empty.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccess.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccess.php deleted file mode 100644 index ecfbc8d353888..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccess.php +++ /dev/null @@ -1,63 +0,0 @@ -objectManager->create( - $this->loginStep, - ['user' => $user] - )->run(); - - $menuItems = $dashboard->getMenuBlock()->getTopMenuItems(); - \PHPUnit\Framework\Assert::assertEquals($menuItems, $restrictedAccess, 'Wrong display menu.'); - - $browser->open($_ENV['app_backend_url'] . $denyUrl); - $deniedMessage = $dashboard->getAccessDeniedBlock()->getTextFromAccessDeniedBlock(); - \PHPUnit\Framework\Assert::assertEquals(self::DENIED_ACCESS, $deniedMessage, 'Possible access to denied page.'); - } - - /** - * Returns success message if assert true. - * - * @return string - */ - public function toString() - { - return 'Sales item is present in Menu block.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccessWithError.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccessWithError.php deleted file mode 100644 index b001893abb4c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserRoleRestrictedAccessWithError.php +++ /dev/null @@ -1,17 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns message if success message equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Success delete message on users page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogOut.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogOut.php deleted file mode 100644 index 8b36c437772e9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogOut.php +++ /dev/null @@ -1,46 +0,0 @@ -getAdminPanelHeader()->logOut(); - $isLoginBlockVisible = $adminAuth->getLoginBlock()->isVisible(); - \PHPUnit\Framework\Assert::assertTrue( - $isLoginBlockVisible, - 'Admin user was not logged out.' - ); - } - - /** - * Return message if user successful logout - * - * @return string - */ - public function toString() - { - return 'User had successfully logged out.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogin.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogin.php deleted file mode 100644 index c4645e6e8916a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLogin.php +++ /dev/null @@ -1,52 +0,0 @@ -objectManager->create( - $this->loginStep, - ['user' => $user] - )->run(); - \PHPUnit\Framework\Assert::assertTrue( - $dashboard->getAdminPanelHeader()->isLoggedIn(), - 'Admin user was not logged in.' - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Admin user is logged in.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLoginWithError.php b/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLoginWithError.php deleted file mode 100644 index 9fed1f4df8573..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Constraint/AssertUserSuccessLoginWithError.php +++ /dev/null @@ -1,20 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $successMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_MESSAGE - . "\nActual: " . $successMessage - ); - } - - /** - * Returns success message if equals to expected message. - * - * @return string - */ - public function toString() - { - return 'Success message on User Index page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml deleted file mode 100644 index 87c736fd8a8ab..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role/InRoleUsers.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role/InRoleUsers.php deleted file mode 100644 index bd25100c4325d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role/InRoleUsers.php +++ /dev/null @@ -1,59 +0,0 @@ -params = $params; - if (isset($data['dataset']) && $data['dataset'] !== '-') { - $datasets = explode(',', $data['dataset']); - foreach ($datasets as $dataset) { - $adminUser = $fixtureFactory->createByCode('user', ['dataset' => trim($dataset)]); - if (!$adminUser->hasData('user_id')) { - $adminUser->persist(); - } - $this->adminUsers[] = $adminUser; - $this->data[] = $adminUser->getUsername(); - } - } - } - - /** - * Return array with admin user fixtures - * - * @return array - */ - public function getAdminUsers() - { - return $this->adminUsers; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml deleted file mode 100644 index 9a0827eb2444a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php deleted file mode 100644 index 5c5fd86815644..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php +++ /dev/null @@ -1,79 +0,0 @@ -params = $params; - /** @var \Magento\Mtf\Config\DataInterface $systemConfig */ - if ($data == '%current_password%') { - $systemConfig = ObjectManager::getInstance()->create(\Magento\Mtf\Config\DataInterface::class); - $data = $systemConfig->get('application/0/backendPassword/0/value'); - } - $this->data = $data; - } - - /** - * Persist user role. - * - * @return void - */ - public function persist() - { - // - } - - /** - * Return prepared data set. - * - * @param string $key [optional] - * @return string|null - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function getData($key = null) - { - return $this->data; - } - - /** - * Return data set configuration settings. - * - * @return array - */ - public function getDataConfig() - { - return $this->params; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/RoleId.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/RoleId.php deleted file mode 100644 index 6507122c7d378..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/RoleId.php +++ /dev/null @@ -1,63 +0,0 @@ -params = $params; - if (isset($data['dataset']) && $data['dataset'] !== '-') { - list($fixtureCode, $dataset) = explode('::', $data['dataset']); - $this->role = $fixtureFactory->createByCode($fixtureCode, ['dataset' => $dataset]); - if (!$this->role->hasData('role_id')) { - $this->role->persist(); - } - $this->data = $this->role->getRoleName(); - } - if (isset($data['role']) && $data['role'] instanceof Role) { - $this->role = $data['role']; - $this->data = $data['role']->getRoleName(); - } elseif (isset($data['value'])) { - $this->data = $data['value']; - } - } - - /** - * Return role fixture. - * - * @return Role - */ - public function getRole() - { - return $this->role; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php deleted file mode 100644 index 343ff844f31c7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php +++ /dev/null @@ -1,144 +0,0 @@ -mappingData = array_merge( - (null !== $this->mappingData) ? $this->mappingData : [], - $this->additionalMappingData - ); - parent::__construct($configuration, $eventManager); - } - - /** - * Curl creation of Admin User Role. - * - * @param FixtureInterface $fixture - * @return array|mixed - * @throws \Exception - */ - public function persist(FixtureInterface $fixture = null) - { - $data = $this->prepareData($fixture); - $url = $_ENV['app_backend_url'] . 'admin/user_role/saverole/active_tab/info/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Role creating by curl handler was not successful! Response: $response"); - } - - $url = 'admin/user_role/roleGrid/sort/role_id/dir/desc/'; - $regExpPattern = '/col\-role_id[^\>]+\>\s*(\d+)\s*<.td>\s*<[^<>]*?>\s*' . $data['rolename'] . '/siu'; - - $extractor = new Extractor($url, $regExpPattern); - - return ['role_id' => $extractor->getData()[1]]; - } - - /** - * Prepare fixture data before send. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareData(FixtureInterface $fixture = null) - { - $data = $fixture->getData(); - $data = $this->prepareResourceAccess($data); - $data = array_merge($data, $this->prepareAssignedUsers($fixture)); - $data = array_merge($data, $this->prepareAdminScope($data)); - - return $this->replaceMappingData($data); - } - - /** - * Prepare role resources data. - * - * @param array $data - * @return array - */ - protected function prepareResourceAccess(array $data) - { - $data['all'] = ($data['resource_access'] == 'All') ? 1 : 0; - if (isset($data['roles_resources'])) { - foreach ((array)$data['roles_resources'] as $resource) { - $data['resource'][] = $resource; - } - } - - return $data; - } - - /** - * Assign users to the role. - * - * @param FixtureInterface $fixture - * @return array - */ - protected function prepareAssignedUsers(FixtureInterface $fixture) - { - if (!$fixture->hasData('in_role_user')) { - return []; - } - $adminUsers = $fixture->getDataFieldConfig('in_role_user')['source']->getAdminUsers(); - $userIds = []; - foreach ($adminUsers as $adminUser) { - $userIds[] = $adminUser->getUserId() . "=true"; - } - - return ['in_role_user' => implode('&', $userIds)]; - } - - // TODO: Method should be removed in scope of MAGETWO-31563 - - /** - * Prepare admin gws option. - * - * @param array $data - * @return array - */ - protected function prepareAdminScope(array $data) - { - if (isset($data['gws_is_all'])) { - $data['gws_is_all'] = 'All' == $data['gws_is_all'] ? 1 : 0; - } else { - $data['gws_is_all'] = 1; - } - - return $data; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/RoleInterface.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/RoleInterface.php deleted file mode 100644 index 4d9458f7a0947..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/RoleInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -getData(); - if ($fixture->hasData('role_id')) { - $data['roles[]'] = $fixture->getDataFieldConfig('role_id')['source']->getRole()->getRoleId(); - } - $data['is_active'] = (isset($data['is_active']) && ($data['is_active'] === 'Inactive')) ? 0 : 1; - $url = $_ENV['app_backend_url'] . 'admin/user/save/active_tab/main_section/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Admin user entity creating by curl handler was not successful! Response: $response"); - } - - $url = 'admin/user/roleGrid/sort/user_id/dir/desc'; - $regExpPattern = '/col-user_id[^\>]+\>\s*(\d+)\s*<.td>\s*<[^<>]*?>\s*' . $data['username'] . '/siu'; - $extractor = new Extractor($url, $regExpPattern); - - return ['user_id' => $extractor->getData()[1]]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/UserInterface.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/UserInterface.php deleted file mode 100644 index cddbe0d5e516b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/UserInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserIndex.xml b/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserIndex.xml deleted file mode 100644 index e5874b7def6c5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserLocks.xml b/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserLocks.xml deleted file mode 100644 index 0eb0fc303c79e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserLocks.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleEditRole.xml b/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleEditRole.xml deleted file mode 100644 index 5ea2840456cd7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleEditRole.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleIndex.xml b/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleIndex.xml deleted file mode 100644 index afedb0e44ce3b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Page/Adminhtml/UserRoleIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/User/Test/Repository/ConfigData.xml deleted file mode 100644 index 5519b9c275909..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - admin - 1 - 6 - 6 - - - - - - admin - 1 - No - 0 - - - - - - admin - 1 - Maximum Login Failures to Lockout Account - 2 - - - - - - admin - 1 - Maximum Login Failures to Lockout Account - 6 - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Repository/Role.xml b/dev/tests/functional/tests/app/Magento/User/Test/Repository/Role.xml deleted file mode 100644 index 54a196da2e44f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Repository/Role.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - RoleName%isolation% - All - %current_password% - - - - Administrators - All - 1 - %current_password% - - - - RoleName%isolation% - Custom - %current_password% - - Magento_Sales::sales - Magento_Sales::sales_operation - Magento_Sales::actions - Magento_Sales::sales_order - Magento_Sales::create - Magento_Sales::actions_view - Magento_Sales::email - Magento_Sales::reorder - Magento_Sales::actions_edit - Magento_Sales::cancel - Magento_Sales::review_payment - Magento_Sales::capture - Magento_Sales::invoice - Magento_Sales::creditmemo - Magento_Sales::hold - Magento_Sales::unhold - Magento_Sales::ship - Magento_Sales::comment - Magento_Sales::emails - Magento_Backend::system - Magento_Backend::system_other_settings - Magento_AdminNotification::adminnotification - Magento_AdminNotification::show_list - - - - - RoleName%isolation% - Custom - %current_password% - - Magento_Backend::dashboard - Magento_AdminNotification::adminnotification - Magento_EncryptionKey::crypt_key - Magento_Backend::content - Magento_Backend::content_elements - Magento_Cms::page - Magento_Cms::save - Magento_Cms::page_delete - - - - - RoleName%isolation% - Custom - %current_password% - - Magento_Backend::dashboard - Magento_Backend::marketing - Magento_Backend::marketing_seo - Magento_Search::search - Magento_UrlRewrite::urlrewrite - Magento_Sitemap::sitemap - - - - - RoleName%isolation% - Custom - %current_password% - - Magento_Backend::dashboard - Magento_Config::config - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.xml b/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.xml deleted file mode 100644 index bc2c120289a1f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/Repository/User.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - %id% - admin - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - %current_password% - English (United States) - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - %current_password% - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - - role::default - - %current_password% - Active - - - - 123123q - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - - role::role_without_variable - - %current_password% - Active - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - - role::role_without_synonym - - %current_password% - Active - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.php deleted file mode 100644 index dd9c79be23da1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.php +++ /dev/null @@ -1,112 +0,0 @@ -fixtureFactory = $fixtureFactory; - $adminUser = $fixtureFactory->createByCode('user', ['dataset' => 'custom_admin']); - $adminUser->persist(); - - return ['adminUser' => $adminUser]; - } - - /** - * Setup necessary data for test - * - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @return void - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit - ) { - $this->userIndexPage = $userIndex; - $this->userEditPage = $userEdit; - } - - /** - * @param User $user - * @param User $adminUser - * @param string $isDuplicated - * @return array - */ - public function test(User $user, User $adminUser, $isDuplicated = null) - { - // Prepare data - if ($isDuplicated !== null) { - $data = $user->getData(); - $data[$isDuplicated] = $adminUser->getData($isDuplicated); - $data['role_id'] = ['role' => $user->getDataFieldConfig('role_id')['source']->getRole()]; - $user = $this->fixtureFactory->createByCode('user', ['data' => $data]); - } - - // Steps - $this->userIndexPage->open(); - $this->userIndexPage->getPageActions()->addNew(); - $this->userEditPage->getUserForm()->fill($user); - $this->userEditPage->getPageActions()->save(); - - return ['customAdmin' => $user]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.xml deleted file mode 100644 index a1fffd62218c4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserEntityTest.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - test_type:extended_acceptance_test - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - Active - role::Administrators - %current_password% - - - - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - Inactive - role::Administrators - 123123q - - - - - - - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - Active - role::Administrators - username - %current_password% - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - 123123q - 123123q - Active - role::Administrators - email - %current_password% - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - Active - %current_password% - - - - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.cim - 123123q - 123123q - Active - %current_password% - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - incorrect-password - - - - AdminUser%isolation% - FirstName%isolation% - LastName%isolation% - email%isolation%@example.com - 123123q - 123123q - Active - role::role_empty_config - %current_password% - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.php deleted file mode 100644 index 530428f414bd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.php +++ /dev/null @@ -1,72 +0,0 @@ -Permissions>User Roles - * 3. Press "+" button to start create New Role - * 4. Fill in all data according to data set - * 5. Save role - * 6. Perform assertions - * - * @group ACL - * @ZephyrId MAGETWO-23413 - */ -class CreateAdminUserRoleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * UserRoleIndex page. - * - * @var UserRoleIndex - */ - protected $userRoleIndex; - - /** - * UserRoleEditRole page. - * - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * Setup data for test. - * - * @param UserRoleIndex $userRoleIndex - * @param UserRoleEditRole $userRoleEditRole - */ - public function __inject(UserRoleIndex $userRoleIndex, UserRoleEditRole $userRoleEditRole) - { - $this->userRoleIndex = $userRoleIndex; - $this->userRoleEditRole = $userRoleEditRole; - } - - /** - * Runs Create Admin User Role Entity test. - * - * @param Role $role - */ - public function testCreateUserRole(Role $role) - { - //Steps - $this->userRoleIndex->open(); - $this->userRoleIndex->getRoleActions()->addNew(); - $this->userRoleEditRole->getRoleFormTabs()->fill($role); - $this->userRoleEditRole->getPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.xml deleted file mode 100644 index 4ae4c476a959b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CreateAdminUserRoleEntityTest.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - test_type:extended_acceptance_test, mftf_migrated:yes - AdminRole%isolation% - %current_password% - Custom - Sales - - - - - AdminRole%isolation% - %current_password% - All - - - mftf_migrated:yes - - - AdminRole%isolation% - incorrect password - All - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CustomAclPermissionTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CustomAclPermissionTest.php deleted file mode 100644 index 9b963aa99d367..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/CustomAclPermissionTest.php +++ /dev/null @@ -1,62 +0,0 @@ -testStepFactory = $testStepFactory; - } - - /** - * Test acl permissions. - * - * @param User $user - * @return array - */ - public function test(User $user) - { - $user->persist(); - $this->testStepFactory->create( - \Magento\User\Test\TestStep\LoginUserOnBackendStep::class, - ['user' => $user] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.php deleted file mode 100644 index 3fadbca1e1bcf..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.php +++ /dev/null @@ -1,139 +0,0 @@ -Permissions>All Users - * 3. Open admin user from precondition - * 4. Click "Delete User" button - * 5. Perform all assertions - * - * @group ACL - * @ZephyrId MAGETWO-23416 - */ -class DeleteAdminUserEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * @var UserIndex - */ - protected $userIndex; - - /** - * @var UserEdit - */ - protected $userEdit; - - /** - * @var Dashboard - */ - protected $dashboard; - - /** - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * Preparing preconditions for test. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $user = $fixtureFactory->createByCode( - 'user', - ['dataset' => 'custom_admin_with_default_role'] - ); - $user->persist(); - - return [ - 'user' => $user - ]; - } - - /** - * Preparing pages for each test iteration. - * - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @param Dashboard $dashboard - * @param AdminAuthLogin $adminAuthLogin - * @return array - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit, - Dashboard $dashboard, - AdminAuthLogin $adminAuthLogin - ) { - $this->userIndex = $userIndex; - $this->userEdit = $userEdit; - $this->dashboard = $dashboard; - $this->adminAuthLogin = $adminAuthLogin; - } - - /** - * Runs Delete User Entity test - * - * @param User $user - * @param string $isDefaultUser - * @param User $systemAdmin - * @return void - */ - public function testDeleteAdminUserEntity( - User $user, - $isDefaultUser, - User $systemAdmin = null - ) { - $filter = [ - 'username' => $user->getUsername(), - ]; - //Steps - if ($isDefaultUser == 0) { - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($user); - $this->adminAuthLogin->getLoginBlock()->submit(); - $this->adminAuthLogin->waitForHeaderBlock(); - $this->adminAuthLogin->dismissAdminUsageNotification(); - } - $this->userIndex->open(); - $this->userIndex->getUserGrid()->searchAndOpen($filter); - $this->userEdit->getUserForm()->fill($systemAdmin); - $this->userEdit->getPageActions()->delete(); - $this->userEdit->getModalBlock()->acceptAlert(); - } - - /** - * Logout Admin User from account - * - * return void - */ - public function tearDown(): void - { - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.xml deleted file mode 100644 index 58e3fc4e76b30..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteAdminUserEntityTest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 0 - system_admin - - - mftf_migrated:yes - - - 1 - system_admin - - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.php deleted file mode 100644 index 009a4fb88f849..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.php +++ /dev/null @@ -1,138 +0,0 @@ -Permissions>User Roles - * 3. Open role created in precondition - * 4. Click "Delete Role" button - * 5. Perform all assertions - * - * @group ACL - * @ZephyrId MAGETWO-23926 - */ -class DeleteUserRoleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * @var UserRoleIndex - */ - protected $userRoleIndex; - - /** - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * @var Dashboard - */ - protected $dashboard; - - /** - * Preconditions for test - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $adminUser = $fixtureFactory->createByCode( - 'user', - ['dataset' => 'custom_admin_with_default_role'] - ); - $adminUser->persist(); - - return [ - 'role' => $adminUser->getDataFieldConfig('role_id')['source']->getRole(), - 'adminUser' => $adminUser - ]; - } - - /** - * @param UserRoleIndex $userRoleIndex - * @param UserRoleEditRole $userRoleEditRole - * @param AdminAuthLogin $adminAuthLogin - * @param Dashboard $dashboard - * @return void - */ - public function __inject( - UserRoleIndex $userRoleIndex, - UserRoleEditRole $userRoleEditRole, - AdminAuthLogin $adminAuthLogin, - Dashboard $dashboard - ) { - $this->userRoleIndex = $userRoleIndex; - $this->userRoleEditRole = $userRoleEditRole; - $this->adminAuthLogin = $adminAuthLogin; - $this->dashboard = $dashboard; - } - - /** - * Runs Delete User Role Entity test. - * - * @param Role $role - * @param User $adminUser - * @param string $isDefaultUser - * @return void - */ - public function testDeleteAdminUserRole( - Role $role, - User $adminUser, - $isDefaultUser - ) { - $filter = [ - 'rolename' => $role->getRoleName(), - ]; - //Steps - if ($isDefaultUser == 0) { - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($adminUser); - $this->adminAuthLogin->getLoginBlock()->submit(); - $this->adminAuthLogin->waitForHeaderBlock(); - $this->adminAuthLogin->dismissAdminUsageNotification(); - } - $this->userRoleIndex->open(); - $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter); - $this->userRoleEditRole->getPageActions()->delete(); - $this->userRoleEditRole->getModalBlock()->acceptAlert(); - } - - /** - * Logout Admin User from account - * - * return void - */ - public function tearDown(): void - { - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.xml deleted file mode 100644 index 155a4ef4682b5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/DeleteUserRoleEntityTest.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - 0 - - - - - 1 - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.php deleted file mode 100644 index 65662e5405126..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.php +++ /dev/null @@ -1,72 +0,0 @@ -persist(); - $customAdmin->persist(); - /** @var User $incorrectUser */ - $incorrectUser = $fixtureFactory->createByCode( - 'user', - ['data' => ['username' => $customAdmin->getUsername(), 'password' => $incorrectPassword]] - ); - - // Steps and assertions - for ($i = 0; $i < $attempts; $i++) { - $assertUserFailedLoginMessage->processAssert($adminAuth, $incorrectUser); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.xml deleted file mode 100644 index f89f94ba03e73..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/LockAdminUserEntityTest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - default_lockout_failures,captcha_admin_disable - - - 6 - - - admin - 1 - No - 0 - - - custom_admin_with_default_role - honey boo boo - 7 - - mftf_migrated:yes - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 4572738b6cb48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - mftf_migrated:yes - System > Locked Users - Locked Users - - - - mftf_migrated:yes - System > Manage Encryption Key - Encryption Key - - - - mftf_migrated:yes - System > All Users - Users - - - - mftf_migrated:yes - System > User Roles - Roles - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.php deleted file mode 100644 index 818fb0d48a467..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.php +++ /dev/null @@ -1,83 +0,0 @@ - All Users. - * 3. Open admin from the user grid. - * 4. Click button Force Sign-in. - * 5. Click Ok on popup window. - * 6. Perform all asserts. - * - * @group Web_API_Framework - * @ZephyrId MAGETWO-29675 - */ -class RevokeAllAccessTokensForAdminWithoutTokensTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * User Index page. - * - * @var UserIndex - */ - protected $userIndex; - - /** - * User Edit page. - * - * @var UserEdit - */ - protected $userEdit; - - /** - * Setup necessary data for test. - * - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @return void - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit - ) { - $this->userIndex = $userIndex; - $this->userEdit = $userEdit; - } - - /** - * Run Revoke all access tokens for admin without tokens test. - * - * @param User $user - * @return void - */ - public function test(User $user) - { - // Preconditions: - $user->persist(); - // Steps: - $this->userIndex->open(); - $this->userIndex->getUserGrid()->searchAndOpen(['username' => $user->getUsername()]); - $this->userEdit->getPageActions()->forceSignIn(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.xml deleted file mode 100644 index afdb72d8c561e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/RevokeAllAccessTokensForAdminWithoutTokensTest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - custom_admin - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.php deleted file mode 100644 index 2edf28db23aac..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.php +++ /dev/null @@ -1,148 +0,0 @@ -testStepFactory = $testStepFactory; - $this->adminAuth = $adminAuth; - $this->fixtureFactory = $fixtureFactory; - $this->userLocks = $userLocks; - } - - /** - * Check that login works correctly after unlocking admin user. - * - * @param User $customAdmin - * @param string $incorrectPassword - * @param int $attempts - * @param string $configData - * @param ConfigData $config - * @return array - */ - public function test( - User $customAdmin, - $incorrectPassword, - $attempts, - $configData, - ConfigData $config - ) { - // Preconditions - $this->configData = $configData; - $config->persist(); - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $customAdmin->persist(); - /** @var User $incorrectUser */ - $incorrectUser = $this->fixtureFactory->createByCode( - 'user', - ['data' => ['username' => $customAdmin->getUsername(), 'password' => $incorrectPassword]] - ); - for ($i = 0; $i < $attempts; $i++) { - $this->adminAuth->open(); - $this->adminAuth->getLoginBlock()->fill($incorrectUser); - $this->adminAuth->getLoginBlock()->submit(); - } - - // Test steps - $this->userLocks->open(); - $this->userLocks->getLockedUsersGrid()->massaction([['username' => $customAdmin->getUsername()]], 'Unlock'); - - return ['user' => $customAdmin]; - } - - /** - * Revert configuration settings. - * - * @return void - */ - public function tearDown(): void - { - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData, 'rollback' => true] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.xml deleted file mode 100644 index be1c4268906b9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UnlockAdminUserTest.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - two_attempts_before_lock,captcha_admin_disable - custom_admin_with_default_role - captcha_admin_disable - - - admin - 1 - No - 0 - - - honey boo boo - 3 - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.php deleted file mode 100644 index d5181d26f1e26..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.php +++ /dev/null @@ -1,193 +0,0 @@ -Permissions>All Users - * 3. Open user from precondition. - * 4. Fill in all data according to data set - * 5. Save user - * 6. Perform all assertions - * - * @group ACL - * @ZephyrId MAGETWO-24345 - */ -class UpdateAdminUserEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test'; - const SEVERITY = 'S3'; - /* end tags */ - - /** - * User list page on backend. - * - * @var UserIndex - */ - protected $userIndex; - - /** - * User edit page on backend. - * - * @var UserEdit - */ - protected $userEdit; - - /** - * Dashboard page on backend. - * - * @var Dashboard - */ - protected $dashboard; - - /** - * Authorization page on backend. - * - * @var AdminAuthLogin - */ - protected $adminAuth; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - protected $testStepFactory; - - /** - * @var string - */ - private $configData; - - /** - * Setup necessary data for test. - * - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @param Dashboard $dashboard - * @param AdminAuthLogin $adminAuth - * @param FixtureFactory $fixtureFactory - * @param TestStepFactory $testStepFactory - * @return void - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit, - Dashboard $dashboard, - AdminAuthLogin $adminAuth, - FixtureFactory $fixtureFactory, - TestStepFactory $testStepFactory - ) { - $this->userIndex = $userIndex; - $this->userEdit = $userEdit; - $this->dashboard = $dashboard; - $this->adminAuth = $adminAuth; - $this->fixtureFactory = $fixtureFactory; - $this->testStepFactory = $testStepFactory; - } - - /** - * Runs Update Admin User test. - * - * @param User $initialUser - * @param User $user - * @param string $loginAsDefaultAdmin - * @param ConfigData $config - * @param string $configData - * @return array - * @throws \Exception - */ - public function testUpdateAdminUser( - User $initialUser, - User $user, - $loginAsDefaultAdmin, - ConfigData $config, - $configData = null - ) { - // Preconditions - $this->configData = $configData; - $config->persist(); - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $initialUser->persist(); - - // Steps - $filter = ['username' => $initialUser->getUsername()]; - if ($loginAsDefaultAdmin == '0') { - $this->adminAuth->open(); - $this->adminAuth->getLoginBlock()->fill($initialUser); - $this->adminAuth->getLoginBlock()->submit(); - $this->adminAuth->waitForHeaderBlock(); - $this->adminAuth->dismissAdminUsageNotification(); - } - $this->userIndex->open(); - $this->userIndex->getUserGrid()->searchAndOpen($filter); - $this->userEdit->getUserForm()->fill($user); - $this->userEdit->getPageActions()->save(); - - return ['user' => $this->mergeUsers($initialUser, $user)]; - } - - /** - * Merging user data and returns custom user. - * - * @param User $initialUser - * @param User $user - * @return User - */ - protected function mergeUsers(User $initialUser, User $user) - { - $data = array_merge($initialUser->getData(), $user->getData()); - if (isset($data['role_id'])) { - $data['role_id'] = [ - 'role' => ($user->hasData('role_id')) - ? $user->getDataFieldConfig('role_id')['source']->getRole() - : $initialUser->getDataFieldConfig('role_id')['source']->getRole(), - ]; - } - - return $this->fixtureFactory->createByCode('user', ['data' => $data]); - } - - /** - * Logout Admin User from account. - * - * @return void - */ - public function tearDown(): void - { - if ($this->dashboard->getAdminPanelHeader()->isVisible()) { - $this->dashboard->getAdminPanelHeader()->logOut(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.xml deleted file mode 100644 index ac99c2d8721f3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserEntityTest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - severity:S3, mftf_migrated:yes - custom_admin_with_default_role - role::role_sales - 123123q - 0 - - sales - system - - admin/user - captcha_admin_disable - captcha_admin_disable - - - admin - 1 - No - 0 - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.php deleted file mode 100644 index 6bf4fd1998039..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.php +++ /dev/null @@ -1,133 +0,0 @@ -Permissions>User Roles - * 3. Open role created in precondition - * 4. Fill in data according to data set - * 5. Perform all assertions - * - * @group ACL - * @ZephyrId MAGETWO-24768 - */ -class UpdateAdminUserRoleEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * @var UserRoleIndex - */ - protected $rolePage; - - /** - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * @var AdminAuthLogin - */ - protected $adminAuthLogin; - - /** - * @var Dashboard - */ - protected $dashboard; - - /** - * Setup data for test - * - * @param UserRoleIndex $rolePage - * @param UserRoleEditRole $userRoleEditRole - * @param AdminAuthLogin $adminAuthLogin - * @param Dashboard $dashboard - * @return void - */ - public function __inject( - UserRoleIndex $rolePage, - UserRoleEditRole $userRoleEditRole, - AdminAuthLogin $adminAuthLogin, - Dashboard $dashboard - ) { - $this->rolePage = $rolePage; - $this->userRoleEditRole = $userRoleEditRole; - $this->adminAuthLogin = $adminAuthLogin; - $this->dashboard = $dashboard; - } - - /** - * Runs Update Admin User Roles Entity test - * - * @param Role $roleInit - * @param Role $role - * @param User $user - * @return array - */ - public function testUpdateAdminUserRolesEntity( - Role $roleInit, - Role $role, - User $user - ) { - - // Preconditions - $roleInit->persist(); - if (!$user->hasData('user_id')) { - $user->persist(); - } - - // Steps - $filter = ['rolename' => $roleInit->getRoleName()]; - $this->adminAuthLogin->open(); - $this->adminAuthLogin->getLoginBlock()->fill($user); - $this->adminAuthLogin->getLoginBlock()->submit(); - $this->adminAuthLogin->waitForHeaderBlock(); - $this->adminAuthLogin->dismissAdminUsageNotification(); - $this->rolePage->open(); - $this->rolePage->getRoleGrid()->searchAndOpen($filter); - $this->userRoleEditRole->getRoleFormTabs()->fill($role); - $this->userRoleEditRole->getPageActions()->save(); - - return [ - 'user' => $role->hasData('in_role_users') - ? $role->getDataFieldConfig('in_role_users')['source']->getAdminUsers()[0] - : $user, - ]; - } - - /** - * Logout Admin User from account - * - * @return void - */ - public function tearDown(): void - { - sleep(3); - $modalMessage = $this->dashboard->getModalMessage(); - if ($modalMessage->isVisible()) { - $modalMessage->acceptAlert(); - } - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.xml deleted file mode 100644 index db6a13d0f3551..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdateAdminUserRoleEntityTest.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - custom_admin_with_default_role - NewAdminRole%isolation% - 123123q - - - - - - - default - Custom - Sales - %current_password% - custom_admin - - sales - - catalog/product - - - - - - - - custom_admin_with_default_role - NewAdminRole%isolation% - incorrect password - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.php deleted file mode 100644 index 0d4457a72f32d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.php +++ /dev/null @@ -1,131 +0,0 @@ - All Users - * 3. Click on admin record to open > Account Information page. - * 4. Update password providing a new password. - * 5. Save user - * 6. Repeat Steps 4-5 4 times with different passwords. - * 7. Update password providing an original password for the user. - * - * @ZephyrId MAGETWO-48104 - */ -class UpdatePasswordUserEntityPciRequirementsTest extends Injectable -{ - /** - * User edit page on backend. - * - * @var UserEdit - */ - protected $userEdit; - - /** - * Dashboard page on backend. - * - * @var Dashboard - */ - protected $dashboard; - - /** - * Authorization page on backend. - * - * @var AdminAuthLogin - */ - protected $adminAuth; - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Setup necessary data for test. - * - * @param UserEdit $userEdit - * @param Dashboard $dashboard - * @param AdminAuthLogin $adminAuth - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function __inject( - UserEdit $userEdit, - Dashboard $dashboard, - AdminAuthLogin $adminAuth, - FixtureFactory $fixtureFactory - ) { - $this->userEdit = $userEdit; - $this->dashboard = $dashboard; - $this->adminAuth = $adminAuth; - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Run Test. - * - * @param User $user - * @param array $passwords - * @return void - */ - public function test( - User $user, - array $passwords - ) { - // Preconditions - $user->persist(); - $initialPassword = $user->getPassword(); - $currentPassword = $user->getPassword(); - $passwords[] = $initialPassword; - - // Steps - $this->adminAuth->open(); - $this->adminAuth->getLoginBlock()->fill($user); - $this->adminAuth->getLoginBlock()->submit(); - - foreach ($passwords as $password) { - $data = [ - 'password' => $password, - 'password_confirmation' => $password, - 'current_password' => $currentPassword, - - ]; - $updatedUser = $this->fixtureFactory->createByCode('user', ['data' => $data]); - - $this->userEdit->open(['user_id' => $user->getUserId()]); - $this->userEdit->getUserForm()->fill($updatedUser); - $this->userEdit->getPageActions()->save(); - $currentPassword = $password; - } - } - - /** - * Logout Admin User from account. - * - * @return void - */ - public function tearDown(): void - { - if ($this->dashboard->getAdminPanelHeader()->isVisible()) { - $this->dashboard->getAdminPanelHeader()->logOut(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.xml deleted file mode 100644 index b2bcc3d19413d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UpdatePasswordUserEntityPciRequirementsTest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - custom_admin_with_default_role - 123123^q0 - 123123^q1 - 123123^q2 - 123123^q3 - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.php b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.php deleted file mode 100644 index 03b9b337b425a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.php +++ /dev/null @@ -1,152 +0,0 @@ -Permissions>User Roles - * 3. Press "+" button to start create New Role - * 4. Fill in all data according to data set - * 5. Save role - * 6. Go to System-Permissions-All Users - * 7. Press "+" button to start create new admin user - * 8. Fill in all data according to data set - * 9. Save user - * 10. Go to System>Permissions>User Roles - * 11. Open created role, and change permissions to 'all' - * 12. Log out - * 13. Log in using new admin user (before the bug was fixed, it was impossible to log in from the first attempt) - * 14. Perform assertions - * - * @group ACL - * @ZephyrId MAGETWO-28828 - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class UserLoginAfterChangingPermissionsTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * User edit page - * - * @var UserRoleIndex - */ - protected $userRoleIndex; - - /** - * Role edit page - * - * @var UserRoleEditRole - */ - protected $userRoleEditRole; - - /** - * User grid page - * - * @var UserIndex - */ - protected $userIndexPage; - - /** - * User new/edit page - * - * @var UserEdit - */ - protected $userEditPage; - - /** - * Dashboard panel - * - * @var Dashboard - */ - protected $dashboard; - - /** - * Factory for Fixtures - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Preconditions for test - * - * @param FixtureFactory $fixtureFactory - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - } - - /** - * Setup necessary data for test - * - * @param UserIndex $userIndex - * @param UserEdit $userEdit - * @param UserRoleIndex $userRoleIndex - * @param UserRoleEditRole $userRoleEditRole - * @param Dashboard $dashboard - * @return void - */ - public function __inject( - UserIndex $userIndex, - UserEdit $userEdit, - UserRoleIndex $userRoleIndex, - UserRoleEditRole $userRoleEditRole, - Dashboard $dashboard - ) { - $this->userIndexPage = $userIndex; - $this->userEditPage = $userEdit; - $this->userRoleIndex = $userRoleIndex; - $this->userRoleEditRole = $userRoleEditRole; - $this->dashboard = $dashboard; - } - - /** - * @param Role $role - * @param Role $updatedRole - * @param User $user - * @return void - */ - public function testLoginAfterChangingPermissions( - Role $role, - Role $updatedRole, - User $user - ) { - /** Create role and a new user with this role */ - $role->persist(); - /** @var User $user */ - $user = $this->fixtureFactory->create( - \Magento\User\Test\Fixture\User::class, - ['data' => array_merge($user->getData(), ['role_id' => ['role' => $role]])] - ); - $user->persist(); - - /** Change the scope of resources available for the role created earlier */ - $filter = ['rolename' => $role->getRoleName()]; - $this->userRoleIndex->open(); - $this->userRoleIndex->getRoleGrid()->searchAndOpen($filter); - $this->userRoleEditRole->getRoleFormTabs()->fill($updatedRole); - $this->userRoleEditRole->getPageActions()->save(); - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.xml b/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.xml deleted file mode 100644 index 41bf771bc36a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestCase/UserLoginAfterChangingPermissionsTest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - custom_admin_with_default_role - AdminRole%isolation% - Custom - Sales - %current_password% - UpdatedAdminRole%isolation% - All - %current_password% - - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CloseErrorAlertStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CloseErrorAlertStep.php deleted file mode 100644 index 51d48058c8ae5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CloseErrorAlertStep.php +++ /dev/null @@ -1,57 +0,0 @@ -dashboard = $dashboard; - $this->browser = $browser; - } - - /** - * @inheritdoc - */ - public function run() - { - $modalMessage = $this->dashboard->getModalMessage(); - try { - $this->browser->waitUntil( - function () use ($modalMessage) { - return $modalMessage->isVisible() ? true : null; - } - ); - $modalMessage->acceptAlert(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - //There is no modal to accept. - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CreateUserStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CreateUserStep.php deleted file mode 100644 index 81f7c288dc421..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/CreateUserStep.php +++ /dev/null @@ -1,42 +0,0 @@ -user = $user; - } - - /** - * Run step flow. - * - * @return array - */ - public function run() - { - $this->user->persist(); - - return ['user' => $this->user]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendStep.php deleted file mode 100644 index 3e2a3a3d59fc1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendStep.php +++ /dev/null @@ -1,126 +0,0 @@ -logoutUserOnBackendStep = $logoutUserOnBackendStep; - $this->adminAuth = $adminAuth; - $this->user = $user; - $this->dashboard = $dashboard; - $this->browser = $browser; - } - - /** - * Run step flow. - * - * @return void - */ - public function run() - { - $this->adminAuth->open(); - - if (!$this->adminAuth->getLoginBlock()->isVisible()) { - $this->logoutUserOnBackendStep->run(); - } - - try { - $this->login(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - if (strpos($e->getMessage(), 'Timed out after') !== false) { - $messages = $this->adminAuth->getMessagesBlock(); - if (in_array($messages->getErrorMessage(), $this->errorMessages, true)) { - $this->browser->refresh(); - $this->login(); - } - } - } - } - - /** - * Login. - * - * @return void - */ - private function login() - { - $this->adminAuth->getLoginBlock()->fill($this->user); - $this->adminAuth->getLoginBlock()->submit(); - $this->adminAuth->waitForHeaderBlock(); - $this->adminAuth->dismissAdminUsageNotification(); - $this->adminAuth->getLoginBlock()->waitFormNotVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendWithErrorStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendWithErrorStep.php deleted file mode 100644 index 094f90d0a5d70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LoginUserOnBackendWithErrorStep.php +++ /dev/null @@ -1,53 +0,0 @@ -closeErrorAlertStep = $closeErrorAlertStep; - } - - /** - * Run step flow. - * - * @return void - */ - public function run() - { - parent::run(); - $this->closeErrorAlertStep->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendStep.php deleted file mode 100644 index 7f366312bba24..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendStep.php +++ /dev/null @@ -1,53 +0,0 @@ -adminAuth = $adminAuth; - $this->dashboard = $dashboard; - } - - /** - * Run step flow. - * - * @return void - */ - public function run() - { - $this->adminAuth->open(); - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendWithErrorStep.php b/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendWithErrorStep.php deleted file mode 100644 index ce49e86afc065..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/TestStep/LogoutUserOnBackendWithErrorStep.php +++ /dev/null @@ -1,40 +0,0 @@ -closeErrorAlertStep = $closeErrorAlertStep; - } - - /** - * @inheritdoc - */ - public function run() - { - $this->adminAuth->open(); - $this->closeErrorAlertStep->run(); - $this->dashboard->getAdminPanelHeader()->logOut(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/User/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/User/Test/etc/curl/di.xml deleted file mode 100644 index d0af1d0dc3f66..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/etc/curl/di.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - S3 - - - - - S3 - - - - - S3 - - - - - S3 - - - - - S3 - - - diff --git a/dev/tests/functional/tests/app/Magento/User/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/User/Test/etc/di.xml deleted file mode 100644 index 1298bd56a8fb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/User/Test/etc/di.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - \Magento\User\Test\TestStep\LogoutUserOnBackendWithErrorStep - - - diff --git a/dev/tests/functional/tests/app/Magento/Usps/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Usps/Test/Repository/ConfigData.xml deleted file mode 100644 index 4eb66e1fa5361..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Usps/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - carriers - 1 - No - 0 - - - - - - carriers - 1 - Yes - 1 - - - carriers - 1 - - http://production.shippingapis.com/ShippingAPI.dll - - - carriers - 1 - - https://secure.shippingapis.com/ShippingAPI.dll - - - carriers - 1 - - CARRIERS_USPS_USERID - - - carriers - 1 - - CARRIERS_USPS_PASSWORD - - - carriers - 1 - Yes - 1 - - - - - carriers - 1 - No - 0 - - - - - carriers - 1 - Small Flat-Rate Box - SM FLAT RATE BOX - - - - - carriers - 1 - Variable - VARIABLE - - - - diff --git a/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml b/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml deleted file mode 100644 index b6f4ef1fbfb8e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Usps/Test/TestCase/OnePageCheckoutTest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - catalogProductSimple::default - configurableProduct::default - bundleProduct::bundle_fixed_product - login - default - US_address_1 - US_address_1_without_email - United States Postal Service - Priority Mail 1-Day Small Flat Rate Box - Priority Mail 1-Day Small Flat Rate Box - checkmo - checkmo, usps, shipping_origin_US_CA, usps_container_sm_flat_rate_box - test_type:3rd_party_test, severity:S0 - - - - - - - catalogProductSimple::default - guest - default - UK_address - UK_address - United States Postal Service - Priority Mail Express International Flat Rate Envelope - Priority Mail Express International Flat Rate Envelope - checkmo - checkmo, usps, shipping_origin_US_CA - test_type:3rd_party_test, severity:S0 - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Edit/VariableForm.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Edit/VariableForm.php deleted file mode 100644 index cf46227aa759d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Edit/VariableForm.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - variable - - - - - select - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/FormPageActions.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/FormPageActions.php deleted file mode 100644 index bada0eb2f65a1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/FormPageActions.php +++ /dev/null @@ -1,73 +0,0 @@ -_rootElement->find($this->storeViewButton); - if (!$storeSwitcher->isVisible()) { - return false; - } - $storeSwitcher->click(); - $selector = sprintf($this->storeView, $storeName); - $storeView = $this->_rootElement->find($selector, Locator::SELECTOR_XPATH); - if ($storeView->isVisible()) { - $storeView->click(); - } else { - throw new \Exception('Store View with name \'' . $storeName . '\' is not visible!'); - } - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Grid.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Grid.php deleted file mode 100644 index 2b2f7dede7d4f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Block/Adminhtml/System/Variable/Grid.php +++ /dev/null @@ -1,36 +0,0 @@ - [ - 'selector' => 'input[name="code"]', - ], - 'name' => [ - 'selector' => 'input[name="name"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableForm.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableForm.php deleted file mode 100644 index 8f37a8e2175a2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableForm.php +++ /dev/null @@ -1,105 +0,0 @@ -getData() - : array_merge($customVariableOrigin->getData(), $customVariable->getData()); - if ($customVariableOrigin !== null) { - $dataOrigin = $this->arrayCopy($data); - $dataOrigin['html_value'] = $customVariableOrigin->getHtmlValue(); - $dataOrigin['plain_value'] = $customVariableOrigin->getPlainValue(); - } else { - $dataOrigin = $this->arrayCopy($data); - } - if ($data['html_value'] == '') { - $data['html_value'] = $customVariableOrigin->getHtmlValue(); - $data['use_default_value'] = 'Yes'; - } - $data['plain_value'] = ($data['plain_value'] == '') - ? $customVariableOrigin->getPlainValue() - : $data['plain_value']; - // Perform assert - $systemVariableIndex->open(); - $systemVariableIndex->getSystemVariableGrid()->searchAndOpen(['code' => $data['code']]); - - $formData = $systemVariableNew->getSystemVariableForm()->getData(); - $errors = $this->verifyData($dataOrigin, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - - if ($storeOrigin !== null) { - $systemVariableNew->getFormPageActions()->selectStoreView($storeOrigin->getName()); - $formData = $systemVariableNew->getSystemVariableForm()->getData(); - $errors = $this->verifyData($data, $formData); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } - } - - /** - * Text success verify Custom Variable. - * - * @return string - */ - public function toString() - { - return 'Displayed Custom Variable data on edit page(backend) equals to passed from fixture.'; - } - - /** - * Return a copy of the source array. - * To workaround an issue that an array assignment is handled by reference in PHP 7.0.5 in certain situation. - * - * @param array $sourceArray - * @return array - */ - private function arrayCopy($sourceArray) - { - $copyArray = []; - foreach ($sourceArray as $key => $value) { - $copyArray[$key] = $value; - } - return $copyArray; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInGrid.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInGrid.php deleted file mode 100644 index 8ae0233e9e9ce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInGrid.php +++ /dev/null @@ -1,55 +0,0 @@ - $customVariable->getCode(), - 'name' => $customVariable->getName(), - ]; - - $systemVariableIndexNew->open(); - \PHPUnit\Framework\Assert::assertTrue( - $systemVariableIndexNew->getSystemVariableGrid()->isRowVisible($filter), - 'Custom Variable with code \'' . $filter['code'] . '\' is absent in Custom Variable grid.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Custom System Variable is present in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInPage.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInPage.php deleted file mode 100644 index 0bdd9a32ee77f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableInPage.php +++ /dev/null @@ -1,126 +0,0 @@ -createByCode( - 'cmsPage', - [ - 'dataset' => 'default', - 'data' => [ - 'content' => [ - 'content' => '{{customVar code=' . $customVariable->getCode() . '}}', - ], - ], - ] - ); - $cmsPage->persist(); - $browser->open($_ENV['app_frontend_url'] . $cmsPage->getIdentifier()); - - $cmsIndex->getStoreSwitcherBlock()->selectStoreView('Default Store View'); - - $htmlValue = $customVariableOrigin - ? $this->getHtmlValue($customVariable, $customVariableOrigin) - : strip_tags($customVariable->getHtmlValue()); - $pageContent = $cmsIndex->getCmsPageBlock()->getPageContent(); - $this->checkVariable($htmlValue, $pageContent); - - if ($storeOrigin !== null) { - $cmsIndex->getStoreSwitcherBlock()->selectStoreView($storeOrigin->getName()); - $htmlValue = strip_tags($customVariable->getHtmlValue()); - if ($htmlValue === '') { - $htmlValue = strip_tags($variable->getHtmlValue()); - } - $pageContent = $cmsIndex->getCmsPageBlock()->getPageContent(); - $this->checkVariable($htmlValue, $pageContent); - } - } - - /** - * Get html value. - * - * @param SystemVariable $customVariable - * @param SystemVariable $customVariableOrigin - * @return string - */ - protected function getHtmlValue(SystemVariable $customVariable, SystemVariable $customVariableOrigin) - { - $data = array_merge($customVariableOrigin->getData(), $customVariable->getData()); - if ($customVariable->getHtmlValue() == "" && $customVariableOrigin->getHtmlValue() == "") { - $htmlValue = ($data['plain_value'] == "") - ? $customVariableOrigin->getPlainValue() - : $data['plain_value']; - } else { - $htmlValue = ($customVariableOrigin == null) - ? $customVariable->getHtmlValue() - : $customVariableOrigin->getHtmlValue(); - $htmlValue = strip_tags($htmlValue); - } - return $htmlValue; - } - - /** - * Check Variable on frontend page. - * - * @param string $htmlValue - * @param string $pageContent - * @return void - */ - protected function checkVariable($htmlValue, $pageContent) - { - \PHPUnit\Framework\Assert::assertEquals( - $htmlValue, - $pageContent, - 'Wrong content is displayed on frontend page' - . "\nExpected: " . $htmlValue - . "\nActual: " . $pageContent - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Custom Variable is displayed on frontend page'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInCmsPageForm.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInCmsPageForm.php deleted file mode 100644 index 63d57516ffa2c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInCmsPageForm.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - $cmsPageNew->open(); - $cmsPageForm = $cmsPageNew->getPageForm(); - $variables = $cmsPageForm->getSystemVariables(); - - \PHPUnit\Framework\Assert::assertFalse( - in_array($customVariableName, $variables), - 'Custom System Variable "' . $customVariableName . '" is present in Cms Page Form.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return "Custom System Variable is absent in Cms Page Form."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInGrid.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInGrid.php deleted file mode 100644 index 3f345d584f772..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableNotInGrid.php +++ /dev/null @@ -1,50 +0,0 @@ - $systemVariable->getCode(), - 'name' => $systemVariable->getName(), - ]; - - $systemVariableIndexNew->open(); - \PHPUnit\Framework\Assert::assertFalse( - $systemVariableIndexNew->getSystemVariableGrid()->isRowVisible($filter), - 'Custom System Variable with code \'' . $filter['code'] . '\' is present in System Variable grid.' - ); - } - - /** - * Returns a string representation of successful assertion - * - * @return string - */ - public function toString() - { - return 'Custom System Variable is absent in grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableRestrictedAccess.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableRestrictedAccess.php deleted file mode 100644 index 4f08ddaf4429d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableRestrictedAccess.php +++ /dev/null @@ -1,47 +0,0 @@ -persist(); - $cmsPageNew->open(); - - \PHPUnit\Framework\Assert::assertFalse( - $cmsPageNew->getPageForm()->isVariablesBlockVisible(), - 'Access to system variables block is supposed to be restricted.' - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Access to system variables block is restricted and block is not visible.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessDeleteMessage.php deleted file mode 100644 index 75846692e2ca3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessDeleteMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_DELETE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_DELETE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Custom System Variable success delete message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessSaveMessage.php deleted file mode 100644 index feac7197b4ee4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Constraint/AssertCustomVariableSuccessSaveMessage.php +++ /dev/null @@ -1,46 +0,0 @@ -getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_SAVE_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - . "\nExpected: " . self::SUCCESS_SAVE_MESSAGE - . "\nActual: " . $actualMessage - ); - } - - /** - * Returns a string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Custom Variable success save message is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Fixture/SystemVariable.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/Fixture/SystemVariable.xml deleted file mode 100644 index c7c23fdebdef8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Fixture/SystemVariable.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/Curl.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/Curl.php deleted file mode 100644 index b8242ca795b38..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/Curl.php +++ /dev/null @@ -1,45 +0,0 @@ -getData(); - - $url = $_ENV['app_backend_url'] . 'admin/system_variable/save/back/edit/'; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->addOption(CURLOPT_HEADER, 1); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("System Variable creation by curl handler was not successful! Response: $response"); - } - - preg_match("~Location: [^\\s]*system_variable\\/edit\\/variable_id\\/(\\d+)~", $response, $matches); - $id = isset($matches[1]) ? $matches[1] : null; - return ['variable_id' => $id]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/SystemVariableInterface.php b/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/SystemVariableInterface.php deleted file mode 100644 index 5edd26c5d3ad5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Handler/SystemVariable/SystemVariableInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Page/Adminhtml/SystemVariableNew.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/Page/Adminhtml/SystemVariableNew.xml deleted file mode 100644 index 5e2898cb1cf2f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Page/Adminhtml/SystemVariableNew.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/Repository/SystemVariable.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/Repository/SystemVariable.xml deleted file mode 100644 index c6bb3f37b3e0e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/Repository/SystemVariable.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - variableCode%isolation% - variableName%isolation% - <p>html_value</p> - plain_value - - - - - variableCode%isolation% - variableName%isolation% - <p class="custom-variable-test-class-%isolation%">variableName%isolation%</p> - variableName%isolation% - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.php b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.php deleted file mode 100644 index 1d687bc76eb83..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.php +++ /dev/null @@ -1,76 +0,0 @@ -Other Settings->Custom Variables. - * 3. Click on 'Add new variable' button. - * 4. Fill in all data according to data set. - * 5. Click 'Save' button. - * 6. Perform all asserts. - * - * @group Variables - * @ZephyrId MAGETWO-23293 - */ -class CreateCustomVariableEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Custom System Variable grid page. - * - * @var SystemVariableIndex - */ - protected $systemVariableIndexPage; - - /** - * Custom System Variable new and edit page. - * - * @var SystemVariableNew - */ - protected $systemVariableNewPage; - - /** - * Injection data. - * - * @param SystemVariableIndex $systemVariableIndex - * @param SystemVariableNew $systemVariableNew - * @return void - */ - public function __inject( - SystemVariableIndex $systemVariableIndex, - SystemVariableNew $systemVariableNew - ) { - $this->systemVariableIndexPage = $systemVariableIndex; - $this->systemVariableNewPage = $systemVariableNew; - } - - /** - * Delete Custom System Variable Entity test. - * - * @param SystemVariable $customVariable - * @return void - */ - public function test(SystemVariable $customVariable) - { - // Steps - $this->systemVariableIndexPage->open(); - $this->systemVariableIndexPage->getGridPageActions()->addNew(); - $this->systemVariableNewPage->getSystemVariableForm()->fill($customVariable); - $this->systemVariableNewPage->getFormPageActions()->save(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.xml deleted file mode 100644 index 644055052658e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CreateCustomVariableEntityTest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - test_type:extended_acceptance_test, mftf_migrated:yes - variableCode%isolation% - variableName%isolation% - <h1>variableName%isolation%</h1> - <p>variablePlainText%isolation%</p> - - - - - - - stable:no - variableCode%isolation% - variableName%isolation% - <p>variableName%isolation%</p> - variablePlainText%isolation% - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CustomAclPermissionTest.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CustomAclPermissionTest.xml deleted file mode 100644 index d558dd84af1d6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/CustomAclPermissionTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - custom_admin_with_role_without_variable - default - MAGETWO-68854: CustomAclPermissionTest Fails on Jenkins, marked as unstable - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.php b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.php deleted file mode 100644 index d77a1f141614c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.php +++ /dev/null @@ -1,84 +0,0 @@ -Other Settings->Custom Variables. - * 3. Open Variable. - * 4. Click 'Delete' button. - * 5. Perform asserts. - * - * @group Variables - * @ZephyrId MAGETWO-25535 - */ -class DeleteCustomVariableEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Custom System Variable grid page. - * - * @var SystemVariableIndex - */ - protected $systemVariableIndexPage; - - /** - * Custom System Variable new and edit page. - * - * @var SystemVariableNew - */ - protected $systemVariableNewPage; - - /** - * Injection data. - * - * @param SystemVariableIndex $systemVariableIndex - * @param SystemVariableNew $systemVariableNew - * @return void - */ - public function __inject( - SystemVariableIndex $systemVariableIndex, - SystemVariableNew $systemVariableNew - ) { - $this->systemVariableIndexPage = $systemVariableIndex; - $this->systemVariableNewPage = $systemVariableNew; - } - - /** - * Delete Custom System Variable Entity test. - * - * @param SystemVariable $systemVariable - * @return void - */ - public function test(SystemVariable $systemVariable) - { - // Precondition - $systemVariable->persist(); - - // Steps - $filter = [ - 'code' => $systemVariable->getCode(), - 'name' => $systemVariable->getName(), - ]; - $this->systemVariableIndexPage->open(); - $this->systemVariableIndexPage->getSystemVariableGrid()->searchAndOpen($filter); - $this->systemVariableNewPage->getFormPageActions()->delete(); - $this->systemVariableNewPage->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.xml deleted file mode 100644 index b5db0232f40cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/DeleteCustomVariableEntityTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - to_maintain:yes - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 0a9c74cd92bc6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/NavigateMenuTest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - mftf_migrated:yes - System > Custom Variables - Custom Variables - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.php b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.php deleted file mode 100644 index 814d3831f0b75..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.php +++ /dev/null @@ -1,154 +0,0 @@ -Other Settings->Custom Variables. - * 3. Open from grid created custom system variable. - * 4. Navigate to the Store Switcher. - * 5. Choose Appropriate Storeview (non default). - * 6. Set Use Default Variable Values. - * 7. Edit necessary fields. - * 8. Save Custom variable using correspond saveActions. - * 9. Perform all assertions. - * - * @group Variables - * @ZephyrId MAGETWO-26104 - */ -class UpdateCustomVariableEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - /* end tags */ - - /** - * Custom System Variable grid page. - * - * @var SystemVariableIndex - */ - protected $systemVariableIndexPage; - - /** - * Custom System Variable new and edit page. - * - * @var SystemVariableNew - */ - protected $systemVariableNewPage; - - /** - * Store entity. - * - * @var Store - */ - protected $store = null; - - /** - * Configuration setting. - * - * @var string - */ - private $configData; - - /** - * Factory for Test Steps. - * - * @var TestStepFactory - */ - private $testStepFactory; - - /** - * Injection data. - * - * @param SystemVariableIndex $systemVariableIndex - * @param SystemVariableNew $systemVariableNew - * @param TestStepFactory $testStepFactory - * @return void - */ - public function __inject( - SystemVariableIndex $systemVariableIndex, - SystemVariableNew $systemVariableNew, - TestStepFactory $testStepFactory - ) { - $this->systemVariableIndexPage = $systemVariableIndex; - $this->systemVariableNewPage = $systemVariableNew; - $this->testStepFactory = $testStepFactory; - } - - /** - * Update Custom System Variable Entity test. - * - * @param FixtureFactory $fixtureFactory - * @param SystemVariable $customVariable - * @param SystemVariable $customVariableOrigin - * @param string $saveAction - * @param string|null $configData [optional] - * @return array - */ - public function test( - FixtureFactory $fixtureFactory, - SystemVariable $customVariable, - SystemVariable $customVariableOrigin, - $saveAction, - $configData = null - ) { - // Preconditions - $this->configData = $configData; - $this->testStepFactory->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $this->configData] - )->run(); - $this->store = $fixtureFactory->createByCode('store', ['dataset' => 'custom']); - $this->store->persist(); - $customVariableOrigin->persist(); - $filter = ['code' => $customVariableOrigin->getCode()]; - - // Steps - $this->systemVariableIndexPage->open(); - $this->systemVariableIndexPage->getSystemVariableGrid()->searchAndOpen($filter); - $this->systemVariableNewPage->getFormPageActions()->selectStoreView($this->store->getData('name')); - $this->systemVariableNewPage->getSystemVariableForm()->fill($customVariable); - $this->systemVariableNewPage->getFormPageActions()->$saveAction(); - return [ - 'storeOrigin' => $this->store, - 'customVariableOrigin' => $customVariableOrigin - ]; - } - - /** - * Delete Store after test. - * - * @return void - */ - public function tearDown(): void - { - if ($this->store !== null) { - $storeIndex = $this->objectManager->create(\Magento\Backend\Test\Page\Adminhtml\StoreIndex::class); - $storeIndex->open(); - $storeIndex->getStoreGrid()->searchAndOpen(['store_title' => $this->store->getName()]); - $storeNew = $this->objectManager->create(\Magento\Backend\Test\Page\Adminhtml\StoreNew::class); - $storeNew->getFormPageActions()->delete(); - $storeDelete = $this->objectManager->create(\Magento\Backend\Test\Page\Adminhtml\StoreDelete::class); - $storeDelete->getStoreForm()->fillForm(['create_backup' => 'No']); - $storeDelete->getFormPageActions()->delete(); - } - $this->store = null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.xml deleted file mode 100644 index fd71aa4de7bb5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/TestCase/UpdateCustomVariableEntityTest.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - variableCode%isolation% - variableName%isolation% - No - <h1>variableName%isolation%</h1> - save - - - - - - - add_store_code_to_urls - variableCode%isolation% - variableName%isolation% - No - <p>variablePlainText%isolation%</p> - saveAndContinue - - - - - - - add_store_code_to_urls - variableCode%isolation% - variableName%isolation% - No - <h1>variableName%isolation%</h1> - <p>variablePlainText%isolation%</p> - saveAndContinue - - - - - - - add_store_code_to_urls - variableCode%isolation% - variableName%isolation% - No - <h1>variableName%isolation%</h1> - <p>variablePlainText%isolation%</p> - save - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Variable/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Variable/Test/etc/curl/di.xml deleted file mode 100644 index 1ca05afa1e5b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Variable/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Block/Onepage/Payment/Method/Vault.php b/dev/tests/functional/tests/app/Magento/Vault/Test/Block/Onepage/Payment/Method/Vault.php deleted file mode 100644 index 9e83d8cf3f736..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Block/Onepage/Payment/Method/Vault.php +++ /dev/null @@ -1,67 +0,0 @@ -vaultCheckbox, $paymentMethod); - $this->_rootElement->find($saveCard, Locator::SELECTOR_CSS, 'checkbox')->setValue($creditCardSave); - } - - /** - * Check if Save credit card check box is visible. - * - * @param string $paymentMethod - * @return bool - */ - public function isVaultVisible($paymentMethod) - { - $saveCard = sprintf($this->vaultCheckbox, $paymentMethod); - return $this->_rootElement->find($saveCard, Locator::SELECTOR_CSS, 'checkbox')->isVisible(); - } - - /** - * Verify if saved credit card is present as a payment option. - * - * @param string $creditCard - * @return bool - */ - public function isSavedCreditCardPresent($creditCard) - { - $paymentLabelSelector = sprintf($this->creditCardSelector, $creditCard); - return $this->_rootElement->find($paymentLabelSelector, Locator::SELECTOR_XPATH)->isVisible(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Block/StoredPayments.php b/dev/tests/functional/tests/app/Magento/Vault/Test/Block/StoredPayments.php deleted file mode 100644 index d839ff2cd927e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Block/StoredPayments.php +++ /dev/null @@ -1,71 +0,0 @@ -click(); - $this->browser->selectWindow(); - $this->browser->find($this->deleteButton, Locator::SELECTOR_XPATH)->click(); - $this->browser->selectWindow(); - } - - /** - * Delete Stored Payment Method. - */ - public function deleteStoredPayment() - { - $this->browser->find($this->deleteStoredPayment)->click(); - $this->browser->selectWindow(); - $this->browser->find($this->deleteButton, Locator::SELECTOR_XPATH)->click(); - $this->browser->selectWindow(); - } - - /** - * Get saved credit cards on My Credit Cards page. - * - * @return array - */ - public function getCreditCards() - { - $result = []; - $elements = $this->_rootElement->getElements('./tbody/tr', Locator::SELECTOR_XPATH); - foreach ($elements as $row) { - $card = substr($row->find('./td[@data-th="Card Number"]', Locator::SELECTOR_XPATH)->getText(), -4, 4); - $deleteButton = $row->find( - "./td[text()[contains(.,'{$card}')]]/following-sibling::td[@data-th='Actions']//span[text()='Delete']", - Locator::SELECTOR_XPATH - ); - $result[$card] = $deleteButton; - } - return $result; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertCreditCardNotPresentOnCheckout.php b/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertCreditCardNotPresentOnCheckout.php deleted file mode 100644 index 7aa4c89d53025..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertCreditCardNotPresentOnCheckout.php +++ /dev/null @@ -1,42 +0,0 @@ -getVaultPaymentBlock()->isSavedCreditCardPresent($deletedCreditCard), - 'Credit card is present on checkout.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Credit card is not present on checkout.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertSaveCreditCardOptionNotPresent.php b/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertSaveCreditCardOptionNotPresent.php deleted file mode 100644 index 9d5725dd69c00..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertSaveCreditCardOptionNotPresent.php +++ /dev/null @@ -1,40 +0,0 @@ -getVaultPaymentBlock()->isVaultVisible($payment), - 'Save for later use checkbox is present.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Save for later use checkbox is not present in credit card form.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertStoredPaymentDeletedMessage.php b/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertStoredPaymentDeletedMessage.php deleted file mode 100644 index 042541cfb2983..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Constraint/AssertStoredPaymentDeletedMessage.php +++ /dev/null @@ -1,44 +0,0 @@ -getMessagesBlock()->getSuccessMessage(), - 'Message of success deletion of stored payment method is not present or wrong.' - ); - } - - /** - * Returns string representation of successful assertion. - * - * @return string - */ - public function toString() - { - return 'Success message on Store Payment Methods page is correct.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/Page/CheckoutOnepage.xml deleted file mode 100644 index fe0caebf8c097..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Page/CheckoutOnepage.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/Page/StoredPaymentMethods.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/Page/StoredPaymentMethods.xml deleted file mode 100644 index 7b29f27b1ccbb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/Page/StoredPaymentMethods.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/CreateVaultOrderBackendTest.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/CreateVaultOrderBackendTest.php deleted file mode 100644 index 57ec8a51b9633..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/CreateVaultOrderBackendTest.php +++ /dev/null @@ -1,53 +0,0 @@ - Orders. - * 3. Click Create New Order. - * 4. Select Customer created in preconditions. - * 5. Add Product. - * 6. Fill data according dataset. - * 7. Click Update Product qty. - * 8. Fill data according dataset. - * 9. Click Get Shipping Method and rates. - * 10. Fill data according dataset. - * 11. Select payment method with enabled Vault. - * 12. Place Order. - * 13. Reorder placed order. - * 14. Select stored cards as payment method. - * 15. Select any available payment token. - * 16. Place order. - * - * @group Order_Management - * @ZephyrId MAGETWO-48127, MAGETWO-48091 - */ -class CreateVaultOrderBackendTest extends Scenario -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'acceptance_test, extended_acceptance_test, 3rd_party_test'; - const SEVERITY = 'S0'; - /* end tags */ - - /** - * Runs sales order on backend. - * - * @return void - */ - public function test() - { - $this->executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.php deleted file mode 100644 index 5a40242833a10..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.php +++ /dev/null @@ -1,350 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - } - - /** - * Runs delete saved credit card test. - * - * @param AssertCreditCardNotPresentOnCheckout $assertCreditCardNotPresentOnCheckout - * @param $products - * @param $configData - * @param $customer - * @param $checkoutMethod - * @param $shippingAddress - * @param $shipping - * @param array $payments - * @param $creditCardSave - * @return void - */ - public function test( - AssertCreditCardNotPresentOnCheckout $assertCreditCardNotPresentOnCheckout, - $products, - $configData, - $customer, - $checkoutMethod, - $shippingAddress, - $shipping, - array $payments, - $creditCardSave - ) { - // Preconditions - $products = $this->prepareProducts($products); - $this->setupConfiguration($configData); - $customer = $this->createCustomer($customer); - - // Steps - foreach ($payments as $key => $payment) { - $this->addToCart($products); - $this->proceedToCheckout(); - if ($key < 1) { // if this is the first order to be placed - $this->selectCheckoutMethod($checkoutMethod, $customer); - $this->fillShippingAddress($shippingAddress); - } - $this->fillShippingMethod($shipping); - if ($key >= 2) { // if this order will be placed via stored credit card - $this->useSavedCreditCard($payment['vault']); - } else { - $arguments = isset($payment['arguments']) ? $payment['arguments'] : []; - $this->selectPaymentMethod($payment, $payment['creditCard'], $arguments); - $this->saveCreditCard($payment, $creditCardSave); - } - $this->placeOrder(); - } - // Delete credit cards from Stored Payment Methods and verify they are not available on checkout - $paymentsCount = count($payments); - for ($i = 2; $i < $paymentsCount; $i++) { - $deletedCard = $this->deleteCreditCardFromMyAccount( - $customer, - $payments[$i]['creditCard'] - ); - $this->addToCart($products); - $this->proceedToCheckout(); - $this->fillShippingMethod($shipping); - $assertCreditCardNotPresentOnCheckout->processAssert( - $this->checkoutOnepage, - $deletedCard['deletedCreditCard'] - ); - } - } - - /** - * Setup configuration step. - * - * @param $configData - * @return void - */ - private function setupConfiguration($configData) - { - $setupConfigurationStep = ObjectManager::getInstance()->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - ); - - $setupConfigurationStep->run(); - } - - /** - * Create products step. - * - * @param string $productList - * @return array - */ - protected function prepareProducts($productList) - { - $addToCartStep = ObjectManager::getInstance()->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $productList] - ); - - $result = $addToCartStep->run(); - return $result['products']; - } - - /** - * Add to cart step. - * - * @param array $products - * @return void - */ - protected function addToCart(array $products) - { - $addToCartStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => $products] - ); - $addToCartStep->run(); - } - - /** - * Proceed to checkout step. - * - * @return void - */ - protected function proceedToCheckout() - { - $clickProceedToCheckoutStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class - ); - $clickProceedToCheckoutStep->run(); - } - - /** - * Create customer step. - * - * @param array $customer - * @return Customer - */ - protected function createCustomer(array $customer) - { - $createCustomerStep = ObjectManager::getInstance()->create( - \Magento\Customer\Test\TestStep\CreateCustomerStep::class, - ['customer' => $customer] - ); - $result = $createCustomerStep->run(); - return $result['customer']; - } - - /** - * Select Checkout method step. - * - * @param $checkoutMethod - * @param $customer - * @return void - */ - protected function selectCheckoutMethod($checkoutMethod, $customer) - { - $selectCheckoutMethodStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\SelectCheckoutMethodStep::class, - [ - 'checkoutMethod' => $checkoutMethod, - 'customer' => $customer, - ] - ); - $selectCheckoutMethodStep->run(); - } - - /** - * Fill shipping address step. - * - * @param array $shippingAddress - * @return void - */ - protected function fillShippingAddress(array $shippingAddress) - { - $fillShippingAddressStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\FillShippingAddressStep::class, - ['shippingAddress' => $shippingAddress] - ); - $fillShippingAddressStep->run(); - } - - /** - * Add products to cart. - * - * @param array $shipping - * @return void - */ - protected function fillShippingMethod(array $shipping) - { - $fillShippingMethodStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class, - ['shipping' => $shipping] - ); - $fillShippingMethodStep->run(); - } - - /** - * Select payment method step. - * - * @param array $payment - * @param array $creditCard - * @param array $arguments - * @return void - */ - protected function selectPaymentMethod(array $payment, array $creditCard, array $arguments) - { - $selectPaymentMethodStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, - array_merge( - [ - 'payment' => $payment, - 'creditCard' => $creditCard, - ], - $arguments - ) - ); - $selectPaymentMethodStep->run(); - } - - /** - * Add products to cart - * - * @param $payment - * @param $creditCardSave - * @return void - */ - protected function saveCreditCard($payment, $creditCardSave) - { - $saveCreditCardStep = ObjectManager::getInstance()->create( - \Magento\Vault\Test\TestStep\SaveCreditCardStep::class, - [ - 'creditCardSave' => $creditCardSave, - 'payment' => $payment - ] - ); - $saveCreditCardStep->run(); - } - - /** - * Fill billing information step. - * - * @return void - */ - protected function fillBillingInformation() - { - $fillBillingInformationStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\FillBillingInformationStep::class - ); - $fillBillingInformationStep->run(); - } - - /** - * Place order step. - * - * @return void - */ - protected function placeOrder() - { - $placeOrderStep = ObjectManager::getInstance()->create( - \Magento\Checkout\Test\TestStep\PlaceOrderStep::class - ); - $placeOrderStep->run(); - } - - /** - * Use saved credit card step. - * - * @param $payment - * @return void - */ - protected function useSavedCreditCard($payment) - { - $useSavedCreditCardStep = ObjectManager::getInstance()->create( - \Magento\Vault\Test\TestStep\UseSavedPaymentMethodStep::class, - ['vault' => $payment] - ); - $useSavedCreditCardStep->run(); - } - - /** - * Delete credit card from My Account step. - * - * @param $customer - * @param $creditCard - * @return array - */ - protected function deleteCreditCardFromMyAccount($customer, $creditCard) - { - $deleteCreditCardFromMyAccountStep = ObjectManager::getInstance()->create( - \Magento\Vault\Test\TestStep\DeleteCreditCardFromMyAccountStep::class, - [ - 'customer' => $customer, - 'creditCard' => $creditCard - ] - ); - $deletedCard = $deleteCreditCardFromMyAccountStep->run(); - return $deletedCard; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.xml deleted file mode 100644 index 8eb17cfdcc87e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/DeleteSavedCreditCardTest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - catalogProductSimple::product_10_dollar - default - US_address_1_without_email - login - Flat Rate - Fixed - - - payflowpro - - visa_alt - - payment - - - - - payflowpro - - visa_alt - - payment - - - - payflowpro_cc_vault - - - - Yes - payflowpro, payflowpro_use_vault - test_type:3rd_party_test, severity:S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/ReorderUsingVaultTest.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/ReorderUsingVaultTest.php deleted file mode 100644 index dfff01583f9f6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/ReorderUsingVaultTest.php +++ /dev/null @@ -1,52 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/UseVaultOnCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/UseVaultOnCheckoutTest.php deleted file mode 100644 index 5f30bae84c46e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestCase/UseVaultOnCheckoutTest.php +++ /dev/null @@ -1,54 +0,0 @@ -executeScenario(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/CheckSaveCreditCardOptionStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/CheckSaveCreditCardOptionStep.php deleted file mode 100644 index 664f0c5c3bc1e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/CheckSaveCreditCardOptionStep.php +++ /dev/null @@ -1,77 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->assertSaveCreditCardOptionNotPresent = $assertSaveCreditCardOptionNotPresent; - $this->payment = $payment; - $this->isVaultPresent = $isVaultPresent; - } - - /** - * Run step that verifies if 'Save for later use' checkbox is not present in credit card form. - * - * @return void - */ - public function run() - { - if ($this->isVaultPresent === false) { - $this->assertSaveCreditCardOptionNotPresent->processAssert( - $this->checkoutOnepage, - $this->payment['method'] - ); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteCreditCardFromMyAccountStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteCreditCardFromMyAccountStep.php deleted file mode 100644 index 33cfbd5f8caec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteCreditCardFromMyAccountStep.php +++ /dev/null @@ -1,115 +0,0 @@ -storedPaymentMethodsPage = $storedPaymentMethodsPage; - $this->customer = $customer; - $this->objectManager = $objectManager; - $this->customerAccountIndex = $customerAccountIndex; - $this->assertStoredPaymentDeletedMessage = $assertStoredPaymentDeletedMessage; - $this->creditCard = $creditCard; - } - - /** - * Run Delete credit card from My Account step. - * - * @return array - */ - public function run() - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $this->customer] - )->run(); - $this->customerAccountIndex->getAccountMenuBlock()->openMenuItem('Stored Payment Methods'); - $storedPaymentsBlock = $this->storedPaymentMethodsPage->getStoredPaymentsBlock(); - - $creditCardData = $this->creditCard->getData(); - $creditCardNumber = preg_grep('/([a-z]+)_number/', array_flip($creditCardData)); - $lastFourDigits = substr(key($creditCardNumber), -4, 4); - - $availableCreditCards = $storedPaymentsBlock->getCreditCards(); - if (key_exists($lastFourDigits, $availableCreditCards)) { - $storedPaymentsBlock->deleteCreditCard($availableCreditCards[$lastFourDigits]); - } - $this->assertStoredPaymentDeletedMessage->processAssert($this->storedPaymentMethodsPage); - - return ['deletedCreditCard' => $lastFourDigits]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteStoredPaymentStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteStoredPaymentStep.php deleted file mode 100644 index 2b8c157c4543c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/DeleteStoredPaymentStep.php +++ /dev/null @@ -1,50 +0,0 @@ -storedPaymentMethodsPage = $storedPaymentMethodsPage; - $this->customerAccountIndex = $customerAccountIndex; - } - - /** - * @inheritdoc - * - * @return array - */ - public function run() - { - $this->customerAccountIndex->open(); - $this->customerAccountIndex->getAccountMenuBlock()->openMenuItem('Stored Payment Methods'); - $storedPaymentsBlock = $this->storedPaymentMethodsPage->getStoredPaymentsBlock(); - $storedPaymentsBlock->deleteStoredPayment(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardOnBackendStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardOnBackendStep.php deleted file mode 100644 index 6e326c401a270..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardOnBackendStep.php +++ /dev/null @@ -1,70 +0,0 @@ -orderCreatePage = $orderCreateIndex; - $this->payment = $payment; - $this->creditCard = $creditCard; - $this->creditCardSave = $creditCardSave; - } - - /** - * @inheritdoc - */ - public function run() - { - $block = $this->orderCreatePage->getCreateBlock(); - $block->selectPaymentMethod($this->payment, $this->creditCard); - $block->saveCreditCard($this->payment['method'], $this->creditCardSave); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardStep.php deleted file mode 100644 index c1bebd3e6b724..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardStep.php +++ /dev/null @@ -1,65 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->payment = $payment; - $this->creditCardSave = $creditCardSave; - } - - /** - * Run step that saves credit card. - * - * @return void - */ - public function run() - { - $this->checkoutOnepage->getVaultPaymentBlock()->saveCreditCard( - $this->payment['method'], - $this->creditCardSave - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SubmitOrderWithVaultStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SubmitOrderWithVaultStep.php deleted file mode 100644 index 768990886469c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SubmitOrderWithVaultStep.php +++ /dev/null @@ -1,111 +0,0 @@ -orderCreateIndex = $orderCreateIndex; - $this->salesOrderView = $salesOrderView; - $this->fixtureFactory = $fixtureFactory; - $this->customer = $customer; - $this->billingAddress = $billingAddress; - $this->products = $products; - } - - /** - * Fill Sales Data. - * - * @return array - */ - public function run() - { - $this->orderCreateIndex->getCreateBlock()->submitOrder(); - $this->salesOrderView->getMessagesBlock()->waitSuccessMessage(); - $orderId = trim($this->salesOrderView->getTitleBlock()->getTitle(), '#'); - $data = [ - 'id' => $orderId, - 'customer_id' => ['customer' => $this->customer], - 'entity_id' => ['products' => $this->products], - 'billing_address_id' => ['billingAddress' => $this->billingAddress], - ]; - $order = $this->fixtureFactory->createByCode( - 'orderInjectable', - ['data' => $data] - ); - - return ['orderId' => $orderId, 'order' => $order]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseSavedPaymentMethodStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseSavedPaymentMethodStep.php deleted file mode 100644 index 85adf5ca32c07..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseSavedPaymentMethodStep.php +++ /dev/null @@ -1,51 +0,0 @@ -checkoutOnepage = $checkoutOnepage; - $this->vault = $vault; - } - - /** - * Run step that selects saved credit card. - * - * @return void - */ - public function run() - { - $this->checkoutOnepage->getPaymentBlock()->selectPaymentMethod($this->vault); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php deleted file mode 100644 index 006f21b0bef12..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php +++ /dev/null @@ -1,45 +0,0 @@ -orderCreatePage = $orderCreateIndex; - $this->vault = $vault; - } - - /** - * @inheritdoc - */ - public function run() - { - $block = $this->orderCreatePage->getCreateBlock(); - $block->selectPaymentMethod($this->vault); - $block->selectVaultToken('token_switcher_' . $this->vault['method']); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/etc/di.xml deleted file mode 100644 index 24c5800579777..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/di.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - S2 - - - - - S1 - - - diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml deleted file mode 100644 index 0e9539e09c5ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/Fpt.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/Fpt.php deleted file mode 100644 index a98f26ac692e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Adminhtml/Product/Edit/Section/ProductDetails/Fpt.php +++ /dev/null @@ -1,70 +0,0 @@ - [ - 'type' => 'select', - 'selector' => '[name$="[country]"]', - ], - 'website' => [ - 'type' => 'select', - 'selector' => '[name$="[website_id]"]', - ], - 'tax' => [ - 'type' => 'input', - 'selector' => '[name$="[value]"]', - ], - 'state' => [ - 'type' => 'select', - 'selector' => '[name$="[state]"]', - ], - ]; - - /** - * Fill Fixed Product Tax form. - * - * @param string|array $value - * @return void - */ - public function setValue($value) - { - if ($this->find($this->buttonFormLocator)->isVisible()) { - $this->find($this->buttonFormLocator)->click(); - } - foreach ((array)$value as $name => $data) { - $element = $this->find( - $this->fields[$name]['selector'], - Locator::SELECTOR_CSS, - $this->fields[$name]['type'] - ); - - if ($element->isVisible()) { - $element->setValue($data); - } - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart.php deleted file mode 100644 index 0079be0e39f79..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart.php +++ /dev/null @@ -1,45 +0,0 @@ -getDataConfig(); - $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null; - $cartItem = null; - - if ($this->hasRender($typeId)) { - $cartItem = $this->callRender($typeId, 'getCartItem', ['product' => $product]); - } else { - $cartItemBlock = $this->_rootElement->find( - sprintf($this->cartItemByProductName, $product->getName()), - Locator::SELECTOR_XPATH - ); - $cartItem = $this->blockFactory->create( - \Magento\Weee\Test\Block\Cart\CartItem::class, - ['element' => $cartItemBlock] - ); - } - - return $cartItem; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem.php deleted file mode 100644 index 92684bf57a152..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem.php +++ /dev/null @@ -1,56 +0,0 @@ -blockFactory->create( - \Magento\Weee\Test\Block\Cart\CartItem\Fpt::class, - ['element' => $this->_rootElement->find($this->priceFptBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Get block subtotal fpt - * - * @return \Magento\Weee\Test\Block\Cart\CartItem\Fpt - */ - public function getSubtotalFptBlock() - { - return $this->blockFactory->create( - \Magento\Weee\Test\Block\Cart\CartItem\Fpt::class, - ['element' => $this->_rootElement->find($this->subtotalFptBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem/Fpt.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem/Fpt.php deleted file mode 100644 index 2712f13f95729..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/CartItem/Fpt.php +++ /dev/null @@ -1,75 +0,0 @@ -_rootElement->find($this->fpt, Locator::SELECTOR_XPATH); - if (!$cartProductFpt->isVisible()) { - $this->_rootElement->find($this->price, Locator::SELECTOR_XPATH)->click(); - } - return str_replace(',', '', $this->escapeCurrency($cartProductFpt->getText())); - } - - /** - * Get product fpt total - * - * @return string - */ - public function getFptTotal() - { - $cartProductFptTotal = $this->_rootElement->find($this->fptTotal, Locator::SELECTOR_XPATH); - $cartProductFptTotalText = $cartProductFptTotal->isVisible() ? $cartProductFptTotal->getText() : ''; - return str_replace(',', '', $this->escapeCurrency($cartProductFptTotalText)); - } - - /** - * Escape currency in price - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals.php deleted file mode 100644 index 017d89d1ffa5d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals.php +++ /dev/null @@ -1,35 +0,0 @@ -blockFactory->create( - \Magento\Weee\Test\Block\Cart\Totals\Fpt::class, - ['element' => $this->_rootElement->find($this->fptBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals/Fpt.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals/Fpt.php deleted file mode 100644 index a593fab86b919..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Cart/Totals/Fpt.php +++ /dev/null @@ -1,46 +0,0 @@ -_rootElement->find($this->totalFpt, Locator::SELECTOR_CSS)->getText(); - return $this->escapeCurrency($grandTotal); - } - - /** - * Escape currency in price - * - * @param string $price - * @return string|null - */ - protected function escapeCurrency($price) - { - preg_match("/^\\D*\\s*([\\d,\\.]+)\\s*\\D*$/", $price, $matches); - return (isset($matches[1])) ? $matches[1] : null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ListProduct.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ListProduct.php deleted file mode 100644 index a863f84924c60..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ListProduct.php +++ /dev/null @@ -1,32 +0,0 @@ -productItem, $product->getName()); - return $this->blockFactory->create( - \Magento\Weee\Test\Block\Product\ProductList\ProductItem::class, - ['element' => $this->_rootElement->find($locator, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/Price.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/Price.php deleted file mode 100644 index c82817d44895b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/Price.php +++ /dev/null @@ -1,63 +0,0 @@ - [ - 'selector' => '.price-wrapper', - ], - 'fpt_price' => [ - 'selector' => '[data-price-type="weee"] .price', - ], - 'final_price' => [ - 'selector' => '[data-label="Final Price"] .price', - ], - ]; - - /** - * Get regular price. - * - * @param string $currency - * @return string|null - */ - public function getPrice($currency = '$') - { - return $this->getTypePrice('regular_price', $currency); - } - - /** - * Get fpt. - * - * @param string $currency - * @return string|null - */ - public function getFptPrice($currency = '$') - { - return $this->getTypePrice('fpt_price', $currency); - } - - /** - * Get final price. - * - * @param string $currency - * @return string|null - */ - public function getFinalPrice($currency = '$') - { - return $this->getTypePrice('final_price', $currency); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ProductList/ProductItem.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ProductList/ProductItem.php deleted file mode 100644 index fb5ff1faa8764..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/ProductList/ProductItem.php +++ /dev/null @@ -1,28 +0,0 @@ -blockFactory->create( - \Magento\Weee\Test\Block\Product\Price::class, - ['element' => $this->_rootElement->find($this->priceBox)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/View.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/View.php deleted file mode 100644 index 3bb2a8a66399f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Block/Product/View.php +++ /dev/null @@ -1,33 +0,0 @@ -blockFactory->create( - \Magento\Weee\Test\Block\Product\Price::class, - ['element' => $this->_rootElement->find($this->priceBox)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Constraint/AssertFptApplied.php b/dev/tests/functional/tests/app/Magento/Weee/Test/Constraint/AssertFptApplied.php deleted file mode 100644 index 324f1921088a0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Constraint/AssertFptApplied.php +++ /dev/null @@ -1,200 +0,0 @@ -cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - $this->catalogProductView = $catalogProductView; - $this->checkoutCart = $checkoutCart; - $this->fptLabel = $product->getDataFieldConfig('attribute_set_id')['source'] - ->getAttributeSet()->getDataFieldConfig('assigned_attributes')['source'] - ->getAttributes()[0]->getFrontendLabel(); - $this->clearShoppingCart(); - $actualPrices = $this->getPrices($product); - //Prices verification - \PHPUnit\Framework\Assert::assertEquals( - $prices, - $actualPrices, - 'Prices on front should be equal to defined in dataset' - ); - } - - /** - * Clear shopping cart - * - * @return void - */ - protected function clearShoppingCart() - { - $this->checkoutCart->open(); - $this->checkoutCart->getCartBlock()->clearShoppingCart(); - } - - /** - * Get prices with fpt on category, product and cart pages - * - * @param CatalogProductSimple $product - * @return array - */ - protected function getPrices(CatalogProductSimple $product) - { - $actualPrices = []; - // Get prices with fpt on category page - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]); - $actualPrices = $this->getCategoryPrice($product, $actualPrices); - // Get prices with fpt on product page - $this->catalogCategoryView->getListProductBlock()->getProductItem($product)->open(); - $actualPrices = $this->addToCart($product, $actualPrices); - // Get prices with fpt on cart page - $actualPrices = $this->getCartPrice($product, $actualPrices); - - return array_filter($actualPrices); - } - - /** - * Get prices on category page - * - * @param FixtureInterface $product - * @param array $actualPrices - * @return array - */ - protected function getCategoryPrice(FixtureInterface $product, $actualPrices) - { - $priceBlock = $this->catalogCategoryView->getWeeeListProductBlock()->getProductItem($product)->getPriceBlock(); - $actualPrices['category_price'] = $priceBlock->getPrice(); - $actualPrices['fpt_category'] = $priceBlock->getFptPrice(); - $actualPrices['fpt_total_category'] = $priceBlock->getFinalPrice(); - - return $actualPrices; - } - - /** - * Fill options get price and add to cart - * - * @param CatalogProductSimple $product - * @param array $actualPrices - * @return array - */ - protected function addToCart(CatalogProductSimple $product, array $actualPrices) - { - $viewBlock = $this->catalogProductView->getViewBlock(); - $priceBlock = $this->catalogProductView->getWeeeViewBlock()->getPriceBlock(); - - $viewBlock->fillOptions($product); - $actualPrices['product_page_price'] = $priceBlock->getPrice(); - $actualPrices['product_page_fpt'] = $priceBlock->getFptPrice(); - $actualPrices['product_page_fpt_total'] = $priceBlock->getFinalPrice(); - - $viewBlock->clickAddToCart(); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - return $actualPrices; - } - - /** - * Get cart prices - * - * @param CatalogProductSimple $product - * @param array $actualPrices - * @return array - */ - protected function getCartPrice(CatalogProductSimple $product, array $actualPrices) - { - $this->checkoutCart->open(); - $productItem = $this->checkoutCart->getCartBlock()->getCartItem($product); - $productWeeeItem = $this->checkoutCart->getWeeeCartBlock()->getCartItem($product); - $actualPrices['cart_item_price'] = $productItem->getPrice(); - $actualPrices['cart_item_fpt'] = $productWeeeItem->getPriceFptBlock()->getFpt(); - $actualPrices['cart_item_fpt_total'] = $productWeeeItem->getPriceFptBlock()->getFptTotal(); - $actualPrices['cart_item_subtotal'] = $productItem->getSubtotalPrice(); - $actualPrices['cart_item_subtotal_fpt'] = $productWeeeItem->getSubtotalFptBlock()->getFpt(); - $actualPrices['cart_item_subtotal_fpt_total'] = $productWeeeItem->getSubtotalFptBlock()->getFptTotal(); - $actualPrices['grand_total'] = $this->checkoutCart->getTotalsBlock()->getGrandTotal(); - $actualPrices['grand_total_excl_tax'] = $this->checkoutCart->getTotalsBlock()->getGrandTotalExcludingTax(); - $actualPrices['grand_total_incl_tax'] = $this->checkoutCart->getTotalsBlock()->getGrandTotalIncludingTax(); - $actualPrices['total_fpt'] = $this->checkoutCart->getWeeeTotalsBlock()->getFptBlock()->getTotalFpt(); - - return $actualPrices; - } - - /** - * Text of FPT is applied - * - * @return string - */ - public function toString() - { - return 'FPT is applied to product.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Category/CatalogCategoryView.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Category/CatalogCategoryView.xml deleted file mode 100644 index 747d217ec69fb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Category/CatalogCategoryView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/CheckoutCart.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/CheckoutCart.xml deleted file mode 100644 index 526d03a0affd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/CheckoutCart.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Product/CatalogProductView.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Product/CatalogProductView.xml deleted file mode 100644 index d19c9ee20ccb4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Page/Product/CatalogProductView.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/Repository/ConfigData.xml deleted file mode 100644 index 027499b5b4fd6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/Repository/ConfigData.xml +++ /dev/null @@ -1,649 +0,0 @@ - - - - - - - tax - 1 - No - 0 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - No - 0 - - - tax - 1 - No - 0 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Yes - 1 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Yes - 1 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Yes - 1 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Yes - 1 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - After Discount - 1 - - - tax - 1 - Excluding Tax - 0 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - Excluding FPT. Including FPT description and final price - 2 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - - - - tax - 1 - Total - TOTAL_BASE_CALCULATION - - - tax - 1 - Including Tax - 1 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - - 0 - - - tax - 1 - Including Tax - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - Including FPT and FPT description - 1 - - - tax - 1 - No - 0 - - - tax - 1 - Yes - 1 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.php b/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.php deleted file mode 100644 index 5355eddd425e8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.php +++ /dev/null @@ -1,137 +0,0 @@ - Taxes > Tax Rules. - * 4. Click 'Add New Tax Rule' button. - * 5. Assign default rates to rule. - * 6. Save Tax Rule. - * 7. Go to Stores > Attributes > Product and add new attribute. - * 8. Select Fixed Product Tax type and fill attribute label. - * 9. Save attribute. - * 10. Go to Stores > Attributes > Attribute Set. - * 11. Add new attribute set based on default. - * 12. Add created FPT attribute to Product Details group and fill set name. - * 13. Save attribute set. - * - * Steps: - * 1. Go to Products > Catalog. - * 2. Add new product. - * 3. Select created attribute set. - * 4. Fill data according to dataset. - * 5. Save product. - * 6. Go to Stores > Configuration. - * 7. Fill FPT and Tax configuration according to data set. - * 8. Save tax configuration. - * 9. Go to frontend and login with customer - * 10. Perform all assertions. - * - * @group Tax - * @ZephyrId MAGETWO-29551 - */ -class CreateTaxWithFptTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Fixture factory. - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Prepare data. - * - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function __prepare(FixtureFactory $fixtureFactory) - { - $this->fixtureFactory = $fixtureFactory; - $customer = $fixtureFactory->createByCode('customer', ['dataset' => 'johndoe_with_addresses']); - $customer->persist(); - $attributeSet = $this->fixtureFactory - ->createByCode('catalogAttributeSet', ['dataset' => 'custom_attribute_set_with_fpt']); - $attributeSet->persist(); - return [ - 'customer' => $customer, - 'attributeSet' => $attributeSet - ]; - } - - /** - * Login customer. - * - * @param Customer $customer - * @return void - */ - protected function loginCustomer(Customer $customer) - { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - } - - /** - * Test product prices with tax. - * - * @param string $configData - * @param Customer $customer - * @param CatalogAttributeSet $attributeSet - * @param array $productData - * @return array - */ - public function test( - $productData, - $configData, - Customer $customer, - CatalogAttributeSet $attributeSet - ) { - $this->fixtureFactory->createByCode('taxRule', ['dataset' => 'tax_rule_default'])->persist(); - $product = $this->fixtureFactory->createByCode( - 'catalogProductSimple', - ['dataset' => $productData, 'data' => ['attribute_set_id' => ['attribute_set' => $attributeSet]]] - ); - $product->persist(); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => $configData] - )->run(); - $this->loginCustomer($customer); - - return ['product' => $product]; - } - - /** - * Tear down after tests. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Tax\Test\TestStep\DeleteAllTaxRulesStep::class)->run(); - $this->objectManager->create( - \Magento\Config\Test\TestStep\SetupConfigurationStep::class, - ['configData' => 'default_tax_configuration,shipping_tax_class_taxable_goods_rollback'] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.xml deleted file mode 100644 index 25acb75ee134f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/TestCase/CreateTaxWithFptTest.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - to_maintain:yes - Check not taxed FPT display set to Excluding, Description and Including FPT on product with custom option catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_cat_excl_disc_on_excl - with_custom_option_and_fpt - 70.00 - 10.00 - 80.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 123.66 - 10.00 - - - - to_maintain:yes - Check not taxed FPT display set to Including FPT and Description on product with custom option catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_cat_excl_disc_on_incl, display_including_tax - with_custom_option_and_fpt - 75.78 - 10.00 - 85.78 - 108.25 - 10.00 - 118.25 - 108.25 - 10.00 - 118.25 - 108.25 - 10.00 - 118.25 - 123.66 - 115.00 - 123.66 - 10.00 - - - - stable:no - Check not taxed FPT display set to Excluding, Description and Including FPT on product with special price catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_cat_excl_disc_on_incl, display_including_tax - with_special_price_and_fpt - 108.25 - 10.00 - 118.25 - 108.25 - 10.00 - 118.25 - 108.25 - 10.00 - 118.25 - 108.25 - 10.00 - 118.25 - 123.66 - 115.00 - 123.66 - 10.00 - - - - stable:no - Check not taxed FPT display set to Including FPT and Description on product with special price catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_cat_excl_disc_on_excl - with_special_price_and_fpt - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 123.66 - 10.00 - - - - to_maintain:yes - Check taxed FPT display set to Excluding, Description and Including FPT on product with custom option catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_excl_disc_on_excl - with_custom_option_and_fpt - 70.00 - 10.00 - 80.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 124.49 - 10.00 - - - - Check taxed FPT display set to Including FPT and Description on product with custom option catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_excl_disc_on_incl, display_including_tax - with_custom_option_and_fpt - 86.60 - 10.83 - 119.08 - 10.83 - 119.08 - 10.83 - 119.08 - 10.83 - 124.49 - 115.00 - 124.49 - 10.00 - - - - Check taxed FPT display set to Excluding, Description and Including FPT on product with special price catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_excl_disc_on_incl, display_including_tax - with_special_price_and_fpt - 119.08 - 10.83 - 119.08 - 10.83 - 119.08 - 10.83 - 119.08 - 10.83 - 124.49 - 115.00 - 124.49 - 10.00 - - - - Check taxed FPT display set to Including FPT and Description on product with special price catalog price Excluding Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_excl_disc_on_excl - with_special_price_and_fpt - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 100.00 - 10.00 - 110.00 - 124.49 - 10.00 - - - - Check taxed FPT display set to Excluding, Description and Including FPT on product with special price and catalog price Including Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_incl_disc_on_excl - with_special_price_and_fpt - 92.38 - 9.24 - 101.62 - 92.38 - 9.24 - 101.62 - 92.38 - 9.24 - 101.62 - 92.38 - 9.24 - 101.62 - 115.00 - 10.00 - - - - Check taxed FPT display set to Including FPT and Description on product with special price and catalog price Including Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_incl_disc_on_incl - with_special_price_and_fpt - 101.62 - 9.24 - 101.62 - 9.24 - 101.62 - 9.24 - 101.62 - 9.24 - 115.00 - 10.00 - - - - MAGETWO-44968: FPT Final price includes tax on custom option, when display is set to excluding tax - Check taxed FPT display set to Excluding, Description and Including FPT on product with custom option and catalog price Including Tax - shipping_tax_class_taxable_goods,tax_with_fpt_taxed_cat_incl_disc_on_excl - with_custom_option_and_fpt - 64.67 - 9.24 - 73.90 - 92.38 - 9.24 - 101.62 - 92.38 - 9.24 - 101.62 - 92.38 - 9.24 - 101.62 - 115.00 - 10.00 - - - - diff --git a/dev/tests/functional/tests/app/Magento/Weee/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Weee/Test/etc/di.xml deleted file mode 100644 index 66fd231261d1f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Weee/Test/etc/di.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - high - - - - - - - [data-role="grid"] - \Magento\Weee\Test\Block\Adminhtml\Product\Edit\Section\ProductDetails\Fpt - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/ChosenOption.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/ChosenOption.php deleted file mode 100644 index 511dec7bfe584..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/ChosenOption.php +++ /dev/null @@ -1,143 +0,0 @@ - \Magento\Cms\Test\Block\Adminhtml\Page\Widget\Chooser::class, - 'category' => \Magento\Catalog\Test\Block\Adminhtml\Category\Widget\Chooser::class, - 'product' => \Magento\Catalog\Test\Block\Adminhtml\Product\Widget\Chooser::class, - ]; - - /** - * Select widget options. - * - * @param string $value - * @return void - */ - public function setValue($value) - { - $this->clickSelectButton(); - if (isset($value['filter_url_key'])) { - $this->getClassBlock($this->chooserClasses['page']) - ->searchAndOpen(['chooser_identifier' => $value['filter_url_key']]); - } - if (isset($value['filter_identifier'])) { - $this->getClassBlock($this->chooserClasses['page']) - ->searchAndOpen(['chooser_identifier' => $value['filter_identifier']]); - } - if (isset($value['category_path'])) { - if (isset($value['filter_sku'])) { - $this->getClassBlock($this->chooserClasses['category']) - ->selectCategoryByName($value['category_path']); - $this->getClassBlock($this->chooserClasses['product']) - ->searchAndOpen(['chooser_sku' => $value['filter_sku']]); - } else { - $this->getClassBlock($this->chooserClasses['category']) - ->selectCategoryByName($value['category_path']); - } - } - } - - /** - * Clicking to select button. - * - * @return void - */ - protected function clickSelectButton() - { - $this->find($this->selectButton, Locator::SELECTOR_XPATH)->click(); - $this->waitLoader(); - } - - /** - * Waiting loader. - * - * @return void - */ - protected function waitLoader() - { - $browser = $this; - $loaderSelector = $this->loaderOld; - $this->waitUntil( - function () use ($browser, $loaderSelector) { - $loader = $browser->find($loaderSelector); - return $loader->isVisible() == false ? true : null; - } - ); - } - - /** - * Get block by class. - * - * @param string $class - * @return mixed - */ - protected function getClassBlock($class) - { - return \Magento\Mtf\ObjectManager::getInstance()->create( - $class, - ['element' => $this->find($this->selectBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Parameters.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Parameters.php deleted file mode 100644 index a5ef966ceac5f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Parameters.php +++ /dev/null @@ -1,68 +0,0 @@ -blockFactory->create( - $this->getElementClass($fields), - ['element' => $this->_rootElement->find($this->formSelector)] - ); - $parametersForm->fillForm($data, $element); - - return $this; - } - - /** - * Get element class. - * - * @param array $fields - * @return string - */ - private function getElementClass(array $fields) - { - $path = $this->path . str_replace(' ', '', $fields['code']) . '.php'; - $path = str_replace('\\', DIRECTORY_SEPARATOR, MTF_TESTS_PATH . $path); - $paths = glob($path); - $path = str_replace([MTF_TESTS_PATH, '.php'], '', $paths[0]); - - return str_replace('/', '\\', $path); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.php deleted file mode 100644 index ee58758550012..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.php +++ /dev/null @@ -1,48 +0,0 @@ -_rootElement->find($this->selectEntity)->click(); - $this->getTemplateBlock()->waitLoader(); - /** @var Form $catalogCategoryLinkForm */ - $catalogCategoryLinkForm = $this->blockFactory->create( - Form::class, - ['element' => $this->_rootElement->find($this->cmsCategoryLink, Locator::SELECTOR_XPATH)] - ); - $elementNew = $this->_rootElement->find($this->cmsCategoryLink, Locator::SELECTOR_XPATH); - $entities['value'] = $entity->getPath() . '/' . $entity->getName(); - $categoryFields['entities'] = $entities; - $catalogCategoryLinkForm->_fill($categoryFields, $elementNew); - $this->getTemplateBlock()->waitLoader(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.xml deleted file mode 100644 index 1085e39b9f28e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - .control [name="parameters[anchor_text]"] - - - <selector>.control [name="parameters[title]"]</selector> - - - .tree.x-tree - tree - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink/Form.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink/Form.php deleted file mode 100644 index b20dba2800fc6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogCategoryLink/Form.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - .tree.x-tree - tree - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogNewProductsList.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogNewProductsList.php deleted file mode 100644 index ab8246ecc090d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogNewProductsList.php +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .control [name="parameters[display_type]"] - select - - - .control [name="parameters[show_pager]"] - select - - - .control [name="parameters[products_count]"] - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.php deleted file mode 100644 index f1d2772f46c48..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.php +++ /dev/null @@ -1,42 +0,0 @@ - $entity->getName()]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.xml deleted file mode 100644 index 1085e39b9f28e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - .control [name="parameters[anchor_text]"] - - - <selector>.control [name="parameters[title]"]</selector> - - - .tree.x-tree - tree - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink/Grid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink/Grid.php deleted file mode 100644 index 3de7ec2ad14f4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CatalogProductLink/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="chooser_name"]', - ], - 'sku' => [ - 'selector' => 'input[name="chooser_sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink.php deleted file mode 100644 index 792e898fa8a28..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink.php +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - .control [name="parameters[anchor_text]"] - - - <selector>.control [name="parameters[title]"]</selector> - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink/Grid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink/Grid.php deleted file mode 100644 index 9921cedeb82b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsPageLink/Grid.php +++ /dev/null @@ -1,31 +0,0 @@ - [ - 'selector' => 'input[name="chooser_title"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock.php deleted file mode 100644 index 851ec16c7e3ad..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock.php +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock/Grid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock/Grid.php deleted file mode 100644 index 352469680c7eb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/CmsStaticBlock/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="chooser_title"]', - ], - 'identifier' => [ - 'selector' => 'input[name="chooser_identifier"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/ParametersForm.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/ParametersForm.php deleted file mode 100644 index 70ae33243caeb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/ParametersForm.php +++ /dev/null @@ -1,123 +0,0 @@ -_rootElement : $element; - $mapping = $this->dataMapping($parametersFields); - $this->_fill(array_diff_key($mapping, ['entities' => '']), $element); - if (isset($parametersFields['entities'])) { - $this->selectEntity($mapping['entities']); - } - } - - /** - * Getting options data form on the widget options form. - * - * @param array $fields - * @param SimpleElement $element - * @return $this - */ - public function getDataOptions(array $fields = null, SimpleElement $element = null) - { - $element = $element === null ? $this->_rootElement : $element; - $mapping = $this->dataMapping($fields); - return $this->_getData($mapping, $element); - } - - /** - * Select entity on widget options tab. - * - * @param array $entities - * @return void - */ - protected function selectEntity(array $entities) - { - foreach ($entities['value'] as $entity) { - $this->_rootElement->find($this->selectEntity)->click(); - $this->getTemplateBlock()->waitLoader(); - $grid = $this->blockFactory->create( - $this->pathToGrid, - [ - 'element' => $this->_rootElement->find($this->gridBlock, Locator::SELECTOR_XPATH) - ] - ); - $grid->searchAndSelect($this->prepareFilter($entity)); - } - } - - /** - * Prepare filter for grid. - * - * @param InjectableFixture $entity - * @return array - */ - protected function prepareFilter(InjectableFixture $entity) - { - return ['title' => $entity->getTitle()]; - } - - /** - * Get template block. - * - * @return Template - */ - public function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->template, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyComparedProducts.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyComparedProducts.php deleted file mode 100644 index 3f1ac9656dbc4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyComparedProducts.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - .control [name="parameters[page_size]"] - - - - .control [name^="parameters[show_attributes]["] - - multiselect - - - - .control [name^="parameters[show_buttons]["] - - multiselect - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyViewedProducts.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyViewedProducts.php deleted file mode 100644 index 0e5150f9f86bd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/ParametersType/RecentlyViewedProducts.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - .control [name="parameters[page_size]"] - - - - .control [name^="parameters[show_attributes]["] - - multiselect - - - - .control [name^="parameters[show_buttons]["] - - multiselect - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php deleted file mode 100644 index 1f1b1c63b1773..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php +++ /dev/null @@ -1,50 +0,0 @@ -_rootElement->find($this->continueButton, Locator::SELECTOR_XPATH)->click(); - } - - /** - * Fill data to fields on tab. - * - * @param array $fields - * @param SimpleElement|null $element - * @return $this - */ - public function setFieldsData(array $fields, SimpleElement $element = null) - { - parent::setFieldsData($fields, $element); - $this->clickContinue(); - - return $this; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstance.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstance.php deleted file mode 100644 index 27e31121dcf8c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstance.php +++ /dev/null @@ -1,88 +0,0 @@ - $field) { - $this->addLayoutUpdates(); - $path = 'Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\Tab\WidgetInstanceType\\'; - $pageGroup = explode('/', $field['page_group']); - /** @var WidgetInstanceForm $layoutForm */ - $layoutForm = $this->blockFactory->create( - $path . str_replace(" ", "", $pageGroup[0]), - [ - 'element' => $this->_rootElement->find(sprintf($this->formSelector, $key), Locator::SELECTOR_XPATH) - ] - ); - $layoutForm->fillForm($field); - } - return $this; - } - - /** - * Click Add Layout Updates button. - * - * @return void - */ - protected function addLayoutUpdates() - { - $this->_rootElement->find($this->addLayoutUpdates)->click(); - } - - /** - * Get backend abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - protected function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.php deleted file mode 100644 index 764e6bbaced8d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.php +++ /dev/null @@ -1,76 +0,0 @@ -_rootElement : $element; - $fields = $this->dataMapping(array_diff_key($parametersFields, ['entities' => ''])); - foreach ($fields as $key => $values) { - $this->_fill([$key => $values], $element); - $this->getTemplateBlock()->waitLoader(); - } - if (isset($parametersFields['entities'])) { - $this->selectCategory($parametersFields['entities'], $element); - } - } - - /** - * Select category on layout tab. - * - * @param Category $category - * @param SimpleElement $element - * @return void - */ - protected function selectCategory(Category $category, SimpleElement $element) - { - $this->_rootElement->find($this->chooser, Locator::SELECTOR_XPATH)->click(); - $this->getTemplateBlock()->waitLoader(); - $mapping = $this->dataMapping(['entities' => '']); - $mapping['entities']['value'] = implode('/', $this->prepareFullCategoryPath($category)); - $this->_fill($mapping, $element); - $this->getTemplateBlock()->waitLoader(); - if (!$this->clickOnElement($this->header, $this->apply, Locator::SELECTOR_CSS, Locator::SELECTOR_XPATH)) { - $this->clickOnElement($this->footer, $this->apply, Locator::SELECTOR_CSS, Locator::SELECTOR_XPATH); - } - } - - /** - * Prepare category path. - * - * @param Category $category - * @return array - */ - protected function prepareFullCategoryPath(Category $category) - { - $path = []; - $parentCategory = $category->hasData('parent_id') - ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() - : null; - - if ($parentCategory !== null) { - $path = $this->prepareFullCategoryPath($parentCategory); - } - return array_filter(array_merge($path, [$category->getName()])); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.xml deleted file mode 100644 index 4977d8d63893e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Categories.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - .fieldset-wrapper-title select - optgroupselect - - - //div[contains(@class,"group_container") and not(contains(@class,"no-display"))]/table//*[@class="radio for_specific"] - xpath - checkbox - - - .tree.x-tree - tree - - - .block_reference select - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/GenericPages.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/GenericPages.php deleted file mode 100644 index 37604c585f16b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/GenericPages.php +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - .page_group_select - optgroupselect - - - .block_reference select - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Product/Grid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Product/Grid.php deleted file mode 100644 index 31fe8982bef3c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Product/Grid.php +++ /dev/null @@ -1,34 +0,0 @@ - [ - 'selector' => 'input[name="chooser_name"]', - ], - 'sku' => [ - 'selector' => 'input[name="chooser_sku"]', - ], - ]; -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.php deleted file mode 100644 index fd495d2af012a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.php +++ /dev/null @@ -1,71 +0,0 @@ -_rootElement : $element; - $fields = $this->dataMapping(array_diff_key($parametersFields, ['entities' => ''])); - foreach ($fields as $key => $values) { - $this->_fill([$key => $values], $element); - $this->getTemplateBlock()->waitLoader(); - } - if (isset($parametersFields['entities'])) { - $this->selectEntityInGrid($parametersFields['entities']); - } - } - - /** - * Select entity in grid on layout tab. - * - * @param FixtureInterface $product - * @return void - */ - protected function selectEntityInGrid(FixtureInterface $product) - { - $this->_rootElement->find($this->chooser, Locator::SELECTOR_XPATH)->click(); - $this->getTemplateBlock()->waitLoader(); - - /** @var Grid $productGrid */ - $productGrid = $this->blockFactory->create( - \Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\Tab\WidgetInstanceType\Product\Grid::class, - [ - 'element' => $this->_rootElement - ->find($this->productGrid, Locator::SELECTOR_XPATH) - ] - ); - $productGrid->searchAndSelect(['name' => $product->getName()]); - $this->getTemplateBlock()->waitLoader(); - if (!$this->clickOnElement($this->header, $this->apply, Locator::SELECTOR_CSS, Locator::SELECTOR_XPATH)) { - $this->clickOnElement($this->footer, $this->apply, Locator::SELECTOR_CSS, Locator::SELECTOR_XPATH); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.xml deleted file mode 100644 index 2b0d8bf8d86f7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/Products.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - .fieldset-wrapper-title select - optgroupselect - - - //div[contains(@class,"group_container") and not(contains(@class,"no-display"))]/table//*[@class="radio for_specific"] - xpath - checkbox - - - .block_reference select - select - - - - diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/WidgetInstanceForm.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/WidgetInstanceForm.php deleted file mode 100644 index 8e410ca122203..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/Tab/WidgetInstanceType/WidgetInstanceForm.php +++ /dev/null @@ -1,120 +0,0 @@ -_rootElement : $element; - $mapping = $this->dataMapping($layoutFields); - foreach ($mapping as $key => $values) { - $this->_fill([$key => $values], $element); - $this->getTemplateBlock()->waitLoader(); - } - } - - /** - * Getting options data form on the product form. - * - * @param array $fields - * @param SimpleElement $element - * @return array - */ - public function getDataOptions(array $fields = null, SimpleElement $element = null) - { - $element = $element === null ? $this->_rootElement : $element; - $mapping = $this->dataMapping($fields); - return $this->_getData($mapping, $element); - } - - /** - * Get backend abstract block. - * - * @return \Magento\Backend\Test\Block\Template - */ - protected function getTemplateBlock() - { - return $this->blockFactory->create( - \Magento\Backend\Test\Block\Template::class, - ['element' => $this->_rootElement->find($this->templateBlock, Locator::SELECTOR_XPATH)] - ); - } - - /** - * Click element on the page - * - * @param string $anchor - * @param string $element - * @param string $anchorStrategy [optional] - * @param string $elementStrategy [optional] - * @return bool - */ - protected function clickOnElement( - $anchor, - $element, - $anchorStrategy = Locator::SELECTOR_CSS, - $elementStrategy = Locator::SELECTOR_CSS - ) { - try { - $this->browser->find($anchor, $anchorStrategy)->hover(); - $this->_rootElement->find($element, $elementStrategy)->click(); - } catch (\PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) { - return false; - } - return true; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.php deleted file mode 100644 index d178c41caaf2b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.php +++ /dev/null @@ -1,47 +0,0 @@ -getFixtureFieldsByContainers($fixture); - $this->fillTabs(['settings' => $tabs['settings']], $element); - $key = 0; - foreach ($tabs as $key => $value) { - if (isset($value['parameters'])) { - break; - } - } - if (isset($tabs[$key])) { - $codeName = explode(' ', $tabs['settings']['code']['value']); - $prepareName = []; - foreach ($codeName as $value) { - $prepareName[] = ucfirst(strtolower($value)); - } - $tabs[$key]['code'] = implode(' ', $prepareName); - } - unset($tabs['settings']); - - return $this->fillTabs($tabs, $element); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.xml deleted file mode 100644 index 9319a641f5819..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/Instance/Edit/WidgetForm.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - \Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\Tab\Settings - #widget_instace_tabs_settings_section - css selector - - - select - - - select - - - - - \Magento\Backend\Test\Block\Widget\Tab - #widget_instace_tabs_main_section - css selector - - - <store_ids> - <input>multiselectgrouplist</input> - <selector>[id="store_ids"]</selector> - </store_ids> - </fields> - </frontend_properties> - <widget_options> - <class>\Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\Tab\Parameters</class> - <selector>#widget_instace_tabs_properties_section</selector> - <strategy>css selector</strategy> - </widget_options> - <widget_instance> - <class>\Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\Tab\WidgetInstance</class> - <selector>#widget_instace_tabs_main_section</selector> - <strategy>css selector</strategy> - </widget_instance> -</tabs> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/WidgetGrid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/WidgetGrid.php deleted file mode 100644 index e1b3f2e7182f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/Widget/WidgetGrid.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Block\Adminhtml\Widget; - -use Magento\Backend\Test\Block\Widget\Grid as AbstractGrid; -use Magento\Mtf\Client\Locator; - -/** - * Widget grid on the Widget Instance Index page. - */ -class WidgetGrid extends AbstractGrid -{ - /** - * Selector for not empty options at select element. - * - * @var string - */ - private $notEmptyOptionsSelector = 'option:not([value=""])'; - - /** - * Locator value for link in action column. - * - * @var string - */ - protected $editLink = 'tbody tr td.col-title'; - - /** - * First row selector. - * - * @var string - */ - protected $firstRowSelector = '//tbody//tr[@data-role="row"]/td[contains(@class, "col-title")][1]'; - - /** - * Filters array mapping. - * - * @var array - */ - protected $filters = [ - 'title' => [ - 'selector' => 'input[name="title"]', - ], - 'theme_id' => [ - 'selector' => 'select[name="theme_id"]', - 'input' => 'select', - ], - ]; - - /** - * Returns values of theme_id filter. - * - * @return array - */ - public function getThemeIdValues() - { - $values = []; - $themeFilter = $this->filters['theme_id']; - $strategy = empty($themeFilter['strategy']) ? Locator::SELECTOR_CSS : $themeFilter['strategy']; - $element = $this->_rootElement->find($themeFilter['selector'], $strategy, $themeFilter['input']); - $options = $element->getElements($this->notEmptyOptionsSelector); - foreach ($options as $option) { - $values[] = $option->getText(); - } - - return $values; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.php deleted file mode 100644 index 942b5206206b3..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Block\Adminhtml; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - * Backend add widget block form. - */ -class WidgetForm extends Form -{ - /** - * Widget type selector. - * - * @var string - */ - protected $widgetType = '[name="widget_type"]'; - - /** - * Insert widget button selector. - * - * @var string - */ - protected $insertButton = '#insert_button'; - - /** - * Magento varienLoader.js loader. - * - * @var string - */ - protected $loaderOld = '//ancestor::body/div[@id="loading-mask"]'; - - /** - * Add widgets. - * - * @param array $widget - * @return void - */ - public function addWidget($widget) - { - $this->selectWidgetType($widget['widget_type']); - $mapping = $this->dataMapping($widget); - $this->_fill($mapping); - $this->insertWidget(); - } - - /** - * Select widget type. - * - * @param string $type - * @return void - */ - protected function selectWidgetType($type) - { - $this->_rootElement->find($this->widgetType, Locator::SELECTOR_CSS, 'select')->setValue($type); - $this->waitForElementNotVisible($this->loaderOld, Locator::SELECTOR_XPATH); - } - - /** - * Click Insert Widget button. - * - * @return void - */ - protected function insertWidget() - { - $this->_rootElement->find($this->insertButton)->click(); - $this->waitForElementNotVisible($this->loaderOld, Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.xml deleted file mode 100644 index f660de92a0256..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/Adminhtml/WidgetForm.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <wrapper>parameters</wrapper> - <fields> - <widget_type> - <selector>#select_widget_type</selector> - <input>select</input> - </widget_type> - <anchor_text /> - <title /> - <template> - <input>select</input> - </template> - <chosen_option> - <selector>.control button</selector> - <class>\Magento\Widget\Test\Block\Adminhtml\Widget\ChosenOption</class> - </chosen_option> - <display_type> - <input>select</input> - </display_type> - <show_pager> - <input>select</input> - </show_pager> - <products_count /> - <cache_lifetime /> - <page_size /> - <show_attributes> - <selector> - .control [name^="parameters[show_attributes]["] - </selector> - <input>multiselect</input> - </show_attributes> - <show_buttons> - <selector> - .control [name^="parameters[show_buttons]["] - </selector> - <input>multiselect</input> - </show_buttons> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/WidgetView.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Block/WidgetView.php deleted file mode 100644 index 166ed6b34f1c0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Block/WidgetView.php +++ /dev/null @@ -1,96 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Block; - -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Widget block on the frontend. - */ -class WidgetView extends Block -{ - /** - * Widgets link selector. - * - * @var string - */ - protected $widgetLinkSelector = '//a[contains(.,"%s")]'; - - /** - * Widgets selector. - * - * @var string - */ - protected $widgetSelector = '//div[contains(.,"%s")]'; - - /** - * Check is visible widget selector. - * - * @param Widget $widget - * @param string $widgetText - * @return bool - * @throws \Exception - */ - public function isWidgetVisible(Widget $widget, $widgetText) - { - $widgetType = $this->getWidgetType($widget); - if ($this->hasRender($widgetType)) { - return $this->callRender( - $widgetType, - 'isWidgetVisible', - ['widget' => $widget, 'widgetText' => $widgetText] - ); - } else { - if (isset($this->widgetSelector)) { - return $this->_rootElement->find( - sprintf($this->widgetSelector, $widgetText), - Locator::SELECTOR_XPATH - )->isVisible(); - } else { - throw new \Exception('Determine how to find the widget on the page.'); - } - } - } - - /** - * Click to widget selector. - * - * @param Widget $widget - * @param string $widgetText - * @return void - * @throws \Exception - */ - public function clickToWidget(Widget $widget, $widgetText) - { - $widgetType = $this->getWidgetType($widget); - if ($this->hasRender($widgetType)) { - $this->callRender($widgetType, 'clickToWidget', ['widget' => $widget, 'widgetText' => $widgetText]); - } else { - if (isset($this->widgetLinkSelector)) { - $this->_rootElement->find( - sprintf($this->widgetLinkSelector, $widgetText), - Locator::SELECTOR_XPATH - )->click(); - } else { - throw new \Exception('Determine how to find the widget on the page.'); - } - } - } - - /** - * Get widget type based on widget code. - * - * @param Widget $widget - * @return string - */ - protected function getWidgetType(Widget $widget) - { - return lcfirst(str_replace(' ', '', ucwords(strtolower($widget->getCode())))); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertProductInCatalogNewProductsList.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertProductInCatalogNewProductsList.php deleted file mode 100644 index 693c9072f894a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertProductInCatalogNewProductsList.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\PageCache\Test\Page\Adminhtml\AdminCache; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Mtf\Fixture\FixtureFactory; - -/** - * Check that created product appears in Catalog New Products List widget on frontend on Category Page. - */ -class AssertProductInCatalogNewProductsList extends AbstractConstraint -{ - /** - * Category Page on Frontend. - * - * @var CatalogCategoryView - */ - protected $catalogCategoryView; - - /** - * Assert that created product appears in Catalog New Products List widget on frontend on Category Page. - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param CatalogProductSimple $product - * @param AdminCache $adminCache - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - CatalogProductSimple $product, - AdminCache $adminCache, - FixtureFactory $fixtureFactory - ) { - $this->catalogCategoryView = $catalogCategoryView; - $widget = $fixtureFactory->createByCode('widget', ['dataset' => 'new_products_list_on_luma_theme']); - $widget->persist(); - - // Flush cache - $adminCache->open(); - $adminCache->getActionsBlock()->flushMagentoCache(); - $adminCache->getMessagesBlock()->waitSuccessMessage(); - - $cmsIndex->open(); - - \PHPUnit\Framework\Assert::assertContains( - $product->getName(), - $this->catalogCategoryView->getViewBlock()->getProductsFromCatalogNewProductsListBlock(), - 'Product is absent on Catalog New Products List block on Category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Product is present in Catalog New Products List widget on storefront Category page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertThemeFilterValuesOnWidgetGrid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertThemeFilterValuesOnWidgetGrid.php deleted file mode 100644 index 3e56f12298e4c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertThemeFilterValuesOnWidgetGrid.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; - -/** - * Assert theme filter contains all possible values from created widgets. - */ -class AssertThemeFilterValuesOnWidgetGrid extends AbstractConstraint -{ - /** - * Assert theme filter contains all possible values from created widgets. - * - * @param Widget[] $widgets - * @param WidgetInstanceIndex $widgetInstanceIndex - * @return void - */ - public function processAssert(array $widgets, WidgetInstanceIndex $widgetInstanceIndex) - { - $expectedValues = []; - foreach ($widgets as $widget) { - $expectedValues[] = $widget->getThemeId(); - } - $widgetInstanceIndex->open(); - $actualValues = $widgetInstanceIndex->getWidgetGrid()->getThemeIdValues(); - \PHPUnit\Framework\Assert::assertEmpty( - array_diff($expectedValues, $actualValues), - 'Widget grid theme filter doesn\'t contain all possible values from created widgets.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Widget grid theme filter contains all possible values from created widgets.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetAbsentOnFrontendHome.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetAbsentOnFrontendHome.php deleted file mode 100644 index ff3007d009b84..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetAbsentOnFrontendHome.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Util\Command\Cli\Cache; - -/** - * Check that created widget does NOT displayed on frontend on Home page. - */ -class AssertWidgetAbsentOnFrontendHome extends AbstractConstraint -{ - /** - * Assert that created widget is absent on frontend on Home page. - * - * @param CmsIndex $cmsIndex - * @param Widget $widget - * @param Cache $cache - * @param array $caches [optional] - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - Widget $widget, - Cache $cache, - array $caches = [] - ) { - // Flush cache - if (!in_array('Invalidated', $caches)) { - $cache->flush(); - } - $cmsIndex->open(); - $widgetText = $widget->getParameters()['anchor_text']; - \PHPUnit\Framework\Assert::assertFalse( - $cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget is present on Home page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - * @return string - */ - public function toString() - { - return "Widget is absent on Home page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogCategoryLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogCategoryLink.php deleted file mode 100644 index 52efd2f850e32..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogCategoryLink.php +++ /dev/null @@ -1,76 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that created widget displayed on frontend on Home page and on Advanced Search and - * after click on widget link on frontend system redirects you to catalog page. - */ -class AssertWidgetCatalogCategoryLink extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Assert that created widget displayed on frontend on Home page and on Advanced Search and - * after click on widget link on frontend system redirects you to catalog page. - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $categoryView - * @param Widget $widget - * @param Cache $cache - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $categoryView, - Widget $widget, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $cmsIndex->open(); - $widgetText = $widget->getParameters()['anchor_text']; - - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget with type catalog category link is absent on Home page.' - ); - - $cmsIndex->getWidgetView()->clickToWidget($widget, $widgetText); - $title = $categoryView->getTitleBlock()->getTitle(); - \PHPUnit\Framework\Assert::assertEquals( - $widget->getParameters()['entities'][0]->getName(), - $title, - 'Wrong category title.' - ); - - $cmsIndex->getFooterBlock()->openAdvancedSearch(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget with type catalog category link is absent on Advanced Search page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Created widget displayed on frontend on Home and Advanced Search pages."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogNewProductsList.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogNewProductsList.php deleted file mode 100644 index 3f67b7f98a340..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogNewProductsList.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\PageCache\Test\Page\Adminhtml\AdminCache; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; - -/** - * Check that created Catalog New Products List widget displayed on frontend on Category Page. - */ -class AssertWidgetCatalogNewProductsList extends AbstractConstraint -{ - /** - * Category Page on Frontend. - * - * @var CatalogCategoryView - */ - protected $catalogCategoryView; - - /** - * Assert that created Catalog New Products List widget displayed on frontend on Category Page. - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param CatalogProductSimple $productSimple1 - * @param CatalogProductSimple $productSimple2 - * @param Widget $widget - * @param AdminCache $adminCache - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - CatalogProductSimple $productSimple1, - CatalogProductSimple $productSimple2, - Widget $widget, - AdminCache $adminCache - ) { - $this->catalogCategoryView = $catalogCategoryView; - - // Flush cache - $adminCache->open(); - $adminCache->getActionsBlock()->flushMagentoCache(); - $adminCache->getMessagesBlock()->waitSuccessMessage(); - - $productSimple1->persist(); - $productSimple2->persist(); - $products[] = $productSimple2->getName(); - $products[] = $productSimple1->getName(); - - $cmsIndex->open(); - $categoryName = $widget->getWidgetInstance()[0]['entities']->getName(); - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getWidgetView()->isWidgetVisible($widget, 'New Products'), - 'Widget is absent on Category page.' - ); - \PHPUnit\Framework\Assert::assertEquals( - $products, - $this->catalogCategoryView->getViewBlock()->getProductsFromCatalogNewProductsListBlock(), - 'There are wrong products or products are absent on Catalog New Products List block on Category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Catalog New Products List widget is present on Category page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCmsPageLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCmsPageLink.php deleted file mode 100644 index 0aa6d39497a43..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCmsPageLink.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that created widget displayed on frontend on Home page and on Advanced Search and - * after click on widget link on frontend system redirects you to cms page. - */ -class AssertWidgetCmsPageLink extends AbstractConstraint -{ - /** - * Assert that created widget displayed on frontend on Home page and on Advanced Search and - * after click on widget link on frontend system redirects you to cms page. - * - * @param CmsIndex $cmsIndex - * @param Widget $widget - * @param Cache $cache - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - Widget $widget, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $cmsIndex->open(); - $widgetText = $widget->getParameters()['anchor_text']; - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget with type CmsPageLink is absent on Home page.' - ); - - $title = isset($widget->getParameters()['node']) ? - $widget->getParameters()['entities'][0]->getLabel() : - $widget->getParameters()['entities'][0]->getContentHeading(); - $cmsIndex->getWidgetView()->clickToWidget($widget, $widgetText); - $pageTitle = $cmsIndex->getCmsPageBlock()->getPageTitle(); - \PHPUnit\Framework\Assert::assertEquals( - $title, - $pageTitle, - 'Wrong page title on Cms page.' - ); - - $cmsIndex->getFooterBlock()->openAdvancedSearch(); - \PHPUnit\Framework\Assert::assertTrue( - $cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget with type CmsPageLink is absent on Advanced Search page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Widget with type CmsPageLink is present on Home page and on Advanced Search."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetInGrid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetInGrid.php deleted file mode 100644 index edde87f6b3ada..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetInGrid.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Widget\Test\Fixture\Widget; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert widget is present in widget grid. - */ -class AssertWidgetInGrid extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'high'; - /* end tags */ - - /** - * Assert widget availability in widget grid. - * Verifying such fields as: - * - title - * - theme_id - * - * @param Widget $widget - * @param WidgetInstanceIndex $widgetInstanceIndex - * @return void - */ - public function processAssert(Widget $widget, WidgetInstanceIndex $widgetInstanceIndex) - { - $filter = ['title' => $widget->getTitle(), 'theme_id' => $widget->getThemeId()]; - $widgetInstanceIndex->open(); - \PHPUnit\Framework\Assert::assertTrue( - $widgetInstanceIndex->getWidgetGrid()->isRowVisible($filter), - 'Widget with title \'' . $widget->getTitle() . '\' is absent in Widget grid.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Widget is present in widget grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnFrontendInCatalog.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnFrontendInCatalog.php deleted file mode 100644 index 8aac883984409..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnFrontendInCatalog.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Util\Command\Cli\Cache; - -/** - * Check that created widget displayed on frontend in Catalog. - */ -class AssertWidgetOnFrontendInCatalog extends AbstractConstraint -{ - /** - * Assert that created widget displayed on frontend in Catalog. - * - * @param CmsIndex $cmsIndex - * @param CatalogCategoryView $catalogCategoryView - * @param Widget $widget - * @param Cache $cache - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogCategoryView $catalogCategoryView, - Widget $widget, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $cmsIndex->open(); - if (isset($widget->getWidgetInstance()[0]['entities'])) { - $categoryName = $widget->getWidgetInstance()[0]['entities']->getName(); - } else { - $categoryName = $widget->getParameters()['entities']->getCategoyId()[0]; - } - if ($widget->getCode() == 'CMS Static Block') { - $widgetText = $widget->getParameters()['entities'][0]->getContent(); - } else { - $widgetText = $widget->getParameters()['anchor_text']; - } - $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); - \PHPUnit\Framework\Assert::assertTrue( - $catalogCategoryView->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget is absent on Category page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Widget is present on Category page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnProductPage.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnProductPage.php deleted file mode 100644 index d60043e4c9efd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnProductPage.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that created widget displayed on frontend on Product page. - */ -class AssertWidgetOnProductPage extends AbstractConstraint -{ - /** - * Assert that created widget displayed on frontend on Product page. - * - * @param CatalogProductView $productView - * @param BrowserInterface $browser - * @param Widget $widget - * @param Cache $cache - * @return void - */ - public function processAssert( - CatalogProductView $productView, - BrowserInterface $browser, - Widget $widget, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $urlKey = $widget->getWidgetInstance()[0]['entities']['url_key']; - $browser->open($_ENV['app_frontend_url'] . $urlKey . '.html'); - $widgetText = $widget->getParameters()['link_text']; - - \PHPUnit\Framework\Assert::assertTrue( - $productView->getWidgetView()->isWidgetVisible($widget, $widgetText), - 'Widget is absent on Product page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Widget is present on Product page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetProductLink.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetProductLink.php deleted file mode 100644 index a31bc6b4a9b47..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetProductLink.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that after click on widget link on frontend system redirects you to Product page defined in widget. - */ -class AssertWidgetProductLink extends AbstractConstraint -{ - /** - * Assert that after click on widget link on frontend system redirects you to Product page defined in widget. - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $productView - * @param Widget $widget - * @param Cache $cache - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CatalogProductView $productView, - Widget $widget, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $cmsIndex->open(); - $cmsIndex->getTopmenu()->selectCategoryByName($widget->getWidgetInstance()[0]['entities']->getName()); - $cmsIndex->getWidgetView()->clickToWidget($widget, $widget->getParameters()['anchor_text']); - $title = $productView->getTitleBlock()->getTitle(); - \PHPUnit\Framework\Assert::assertEquals( - $widget->getParameters()['entities'][0]->getName(), - $title, - 'Wrong product title.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Widget link on frontend system redirects to Product page defined in widget."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyComparedProducts.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyComparedProducts.php deleted file mode 100644 index bf70f0f901352..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyComparedProducts.php +++ /dev/null @@ -1,154 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Product\CatalogProductCompare; -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that widget with type Recently Compared Products is present on Product Compare page - */ -class AssertWidgetRecentlyComparedProducts extends AbstractConstraint -{ - /** - * Browser - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Catalog product compare page - * - * @var CatalogProductCompare - */ - protected $catalogProductCompare; - - /** - * Catalog product page - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Cms index page - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Assert that widget with type Recently Compared Products is present on Product Compare page - * - * @param CatalogProductCompare $catalogProductCompare - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param BrowserInterface $browser - * @param Widget $widget - * @param CatalogProductSimple $productSimple1 - * @param CatalogProductSimple $productSimple2 - * @param Cache $cache - * @var string - * @return void - */ - public function processAssert( - CatalogProductCompare $catalogProductCompare, - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - BrowserInterface $browser, - Widget $widget, - CatalogProductSimple $productSimple1, - CatalogProductSimple $productSimple2, - Cache $cache - ) { - // Flush cache - $cache->flush(); - - $this->catalogProductCompare = $catalogProductCompare; - $this->catalogProductView = $catalogProductView; - $this->browser = $browser; - $this->cmsIndex = $cmsIndex; - - $productSimple1->persist(); - $products[] = $productSimple1; - $productSimple2->persist(); - $products[] = $productSimple2; - - $cmsIndex->open(); - $this->addProducts($products); - $this->removeCompareProducts(); - - $cmsIndex->open(); - //Widgets data is cache via LocalStorage so it might take couple of refreshes before cache is invalidated. - $refreshCount = 3; - $refreshNo = 1; - $isVisible = false; - while (!$isVisible && $refreshNo <= $refreshCount) { - $browser->refresh(); - try { - $isVisible = $browser->waitUntil( - function () use ($widget) { - return $this->catalogProductCompare->getWidgetView() - ->isWidgetVisible($widget, 'Recently Compared') ? true : null; - } - ); - } catch (\Throwable $exception) { - $isVisible = false; - } - $refreshNo++; - } - \PHPUnit\Framework\Assert::assertTrue( - $isVisible, - 'Widget is absent on Product Compare page.' - ); - } - - /** - * Add products to compare list - * - * @param array $products - * @return void - */ - protected function addProducts(array $products) - { - foreach ($products as $itemProduct) { - $this->browser->open($_ENV['app_frontend_url'] . $itemProduct->getUrlKey() . '.html'); - $this->catalogProductView->getViewBlock()->clickAddToCompare(); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - } - - /** - * Remove compare product - * - * @return void - */ - protected function removeCompareProducts() - { - $this->cmsIndex->open(); - $this->cmsIndex->getCompareLinkBlock()->waitForCompareProductsLinks(); - $this->cmsIndex->getLinksBlock()->openLink("Compare Products"); - $this->catalogProductCompare->getCompareProductsBlock()->removeAllProducts(); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Widget with type Recently Compared Products is present on Product Compare page"; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyViewedProducts.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyViewedProducts.php deleted file mode 100644 index e6c25fdc52ed5..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyViewedProducts.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Catalog\Test\Fixture\Category; -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Catalog\Test\Page\Category\CatalogCategoryView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that widget with type Recently Viewed Products is present on category page - */ -class AssertWidgetRecentlyViewedProducts extends AbstractConstraint -{ - /** - * Browser - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Cms index page - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Category Page on Frontend - * - * @var CatalogCategoryView - */ - protected $catalogCategoryView; - - /** - * Assert that widget with type Recently Viewed Products is present on category page - * - * @param CmsIndex $cmsIndex - * @param Cache $cache - * @param CatalogCategoryView $catalogCategoryView - * @param BrowserInterface $browser - * @param CatalogProductSimple $productSimple - * @param Category $category - * @param Customer $customer - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - Cache $cache, - CatalogCategoryView $catalogCategoryView, - BrowserInterface $browser, - CatalogProductSimple $productSimple, - Category $category, - Customer $customer - ) { - $this->browser = $browser; - $this->cmsIndex = $cmsIndex; - $this->catalogCategoryView = $catalogCategoryView; - - // Flush cache - $cache->flush(); - - // Log in customer - $customer->persist(); - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - - // Open products - $productSimple->persist(); - $category->persist(); - $this->browser->open($_ENV['app_frontend_url'] . $productSimple->getUrlKey() . '.html'); - $this->waitForJsCoreInitialize(); - $this->checkRecentlyViewedBlockOnCategory($productSimple, $category); - } - - /** - * as JS is loaded after page is initialized we should have time it to load - * @return void - */ - private function waitForJsCoreInitialize() - { - sleep(1); - } - - /** - * Check that block Recently Viewed contains product on category page - * - * @param CatalogProductSimple $productSimple - * @param Category $category - * @return void - */ - protected function checkRecentlyViewedBlockOnCategory( - CatalogProductSimple $productSimple, - Category $category - ) { - $this->cmsIndex->open(); - $this->cmsIndex->getTopmenu()->selectCategoryByName($category->getName()); - - $products = $this->catalogCategoryView->getViewBlock()->getProductsFromRecentlyViewedBlock(); - \PHPUnit\Framework\Assert::assertTrue( - in_array($productSimple->getName(), $products), - 'Product' . $productSimple->getName() . ' is absent on Recently Viewed block on Category page.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Widget with type Recently Viewed Products is present on Category page."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessDeleteMessage.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessDeleteMessage.php deleted file mode 100644 index d8858e8c78cc2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessDeleteMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that Widget success delete message presents - */ -class AssertWidgetSuccessDeleteMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Message displayed after delete widget - */ - const DELETE_MESSAGE = 'The widget instance has been deleted.'; - - /** - * Assert that Widget success delete message is present - * - * @param WidgetInstanceIndex $widgetInstanceIndex - * @return void - */ - public function processAssert(WidgetInstanceIndex $widgetInstanceIndex) - { - $actualMessage = $widgetInstanceIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::DELETE_MESSAGE, - $actualMessage, - 'Wrong widget success delete message is displayed.' - ); - } - - /** - * Text of Delete Widget Success Message assert - * - * @return string - */ - public function toString() - { - return 'Widget success delete message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessSaveMessage.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessSaveMessage.php deleted file mode 100644 index 8b9a245ad79f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetSuccessSaveMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Check that success message is displayed after widget saved - */ -class AssertWidgetSuccessSaveMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Text value to be checked - */ - const SUCCESS_MESSAGE = 'The widget instance has been saved.'; - - /** - * Assert that success message is displayed after widget saved - * - * @param WidgetInstanceIndex $widgetInstanceIndex - * @return void - */ - public function processAssert(WidgetInstanceIndex $widgetInstanceIndex) - { - $actualMessage = $widgetInstanceIndex->getMessagesBlock()->getSuccessMessage(); - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $actualMessage, - 'Wrong success message is displayed.' - ); - } - - /** - * Text of Created Widget Success Message assert - * - * @return string - */ - public function toString() - { - return 'Widget success create message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetsInGrid.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetsInGrid.php deleted file mode 100644 index f44d5cf9f14cd..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetsInGrid.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Widget\Test\Fixture\Widget; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; - -/** - * Assert widgets are present in widget grid. - */ -class AssertWidgetsInGrid extends AbstractConstraint -{ - /** - * Assert widgets are present in widget grid. - * Verifying such fields as: - * - title - * - theme_id - * - * @param Widget[] $widgets - * @param WidgetInstanceIndex $widgetInstanceIndex - * @param AssertWidgetInGrid $assertWidgetInGrid - * @return void - */ - public function processAssert( - array $widgets, - WidgetInstanceIndex $widgetInstanceIndex, - AssertWidgetInGrid $assertWidgetInGrid - ) { - foreach ($widgets as $widget) { - $assertWidgetInGrid->processAssert($widget, $widgetInstanceIndex); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Widgets are present in widget grid.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget.xml deleted file mode 100644 index 6125462f2a21e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd"> - <fixture name="widget" - module="Magento_Widget" - type="flat" - entity_type="widget_instance" - collection="Magento\Widget\Model\ResourceModel\Widget\Instance\Collection" - identifier="parameters" - repository_class="Magento\Widget\Test\Repository\Widget" - handler_interface="Magento\Widget\Test\Handler\Widget\WidgetInterface" - class="Magento\Widget\Test\Fixture\Widget"> - <field name="code" group="settings" /> - <field name="theme_id" group="settings" /> - <field name="title" group="frontend_properties" /> - <field name="template" /> - <field name="chosen_option" source="Magento\Widget\Test\Fixture\Widget\ChosenOption" /> - <field name="display_type" /> - <field name="show_pager" /> - <field name="products_count" /> - <field name="cache_lifetime" /> - <field name="page_size" /> - <field name="store_ids" source="Magento\Widget\Test\Fixture\Widget\StoreIds" group="frontend_properties" /> - <field name="id" /> - <field name="widget_instance" source="Magento\Widget\Test\Fixture\Widget\WidgetInstance" repository="Magento\Widget\Test\Repository\Widget\WidgetInstance" group="widget_instance" /> - <field name="parameters" source="Magento\Widget\Test\Fixture\Widget\Parameters" repository="Magento\Widget\Test\Repository\Widget\Parameters" group="widget_options" /> - </fixture> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/Parameters.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/Parameters.php deleted file mode 100644 index e7301bf570706..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/Parameters.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Fixture\Widget; - -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Repository\RepositoryFactory; - -/** - * Prepare Widget options for widget. - */ -class Parameters extends DataSource -{ - /** - * Widget option entities. - * - * @var array - */ - protected $entities; - - /** - * @constructor - * @param RepositoryFactory $repositoryFactory - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct( - RepositoryFactory $repositoryFactory, - FixtureFactory $fixtureFactory, - array $params, - array $data = [] - ) { - $this->params = $params; - if (isset($data['dataset']) && isset($this->params['repository'])) { - $this->data = $repositoryFactory->get($this->params['repository'])->get($data['dataset']); - if (isset($this->data['entities'])) { - foreach ($this->data['entities'] as $index => $entity) { - $explodeValue = explode('::', $entity); - $fixture = $fixtureFactory->createByCode($explodeValue[0], ['dataset' => $explodeValue[1]]); - $fixture->persist(); - $this->data['entities'][$index] = $fixture; - $this->entities[] = $fixture; - } - } - } elseif (isset($data['entity']) && $data['entity'] instanceof FixtureInterface) { - $this->data['entities'][] = $data['entity']; - } else { - $this->data = $data; - } - } - - /** - * Return entities. - * - * @return array - */ - public function getEntities() - { - return $this->entities; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/StoreIds.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/StoreIds.php deleted file mode 100644 index 80959604991ba..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/StoreIds.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Fixture\Widget; - -use Magento\Store\Test\Fixture\Store; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\DataSource; - -/** - * Prepare Store. - */ -class StoreIds extends DataSource -{ - /** - * Return stores. - * - * @var Store - */ - protected $stores = []; - - /** - * @constructor - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = []) - { - $this->params = $params; - if (isset($data['dataset'])) { - $dataset = explode(',', $data['dataset']); - foreach ($dataset as $store) { - /** @var Store $store */ - $store = $fixtureFactory->createByCode('store', ['dataset' => $store]); - if (!$store->hasData('store_id')) { - $store->persist(); - } - $this->stores[] = $store; - $this->data[] = $store->getName(); - } - } else { - $this->data[] = null; - } - } - - /** - * Return stores. - * - * @return Store - */ - public function getStores() - { - return $this->stores; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/WidgetInstance.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/WidgetInstance.php deleted file mode 100644 index c4628d6340e5f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Fixture/Widget/WidgetInstance.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Fixture\Widget; - -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\DataSource; -use Magento\Mtf\Repository\RepositoryFactory; - -/** - * Prepare Widget instances (layouts) for widget. - */ -class WidgetInstance extends DataSource -{ - /** - * @constructor - * @param RepositoryFactory $repositoryFactory - * @param FixtureFactory $fixtureFactory - * @param array $params - * @param array $data - */ - public function __construct( - RepositoryFactory $repositoryFactory, - FixtureFactory $fixtureFactory, - array $params, - array $data = [] - ) { - $this->params = $params; - - if (isset($data['dataset']) && isset($this->params['repository'])) { - $this->data = $repositoryFactory->get($this->params['repository'])->get($data['dataset']); - foreach ($this->data as $index => $layouts) { - if (isset($layouts['entities'])) { - $explodeValue = explode('::', $layouts['entities']); - $fixture = $fixtureFactory->createByCode($explodeValue[0], ['dataset' => $explodeValue[1]]); - $fixture->persist(); - $this->data[$index]['entities'] = $fixture; - } - } - } else { - $this->data = $data; - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/Curl.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/Curl.php deleted file mode 100644 index 13c16c888fbb0..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/Curl.php +++ /dev/null @@ -1,265 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Handler\Widget; - -use Magento\Mtf\Fixture\FixtureInterface; -use Magento\Mtf\Handler\Curl as AbstractCurl; -use Magento\Mtf\Config\DataInterface; -use Magento\Mtf\System\Event\EventManagerInterface; -use Magento\Mtf\Util\Protocol\CurlInterface; -use Magento\Mtf\Util\Protocol\CurlTransport; -use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator; - -/** - * Curl handler for creating widgetInstance/frontendApp. - */ -class Curl extends AbstractCurl -{ - /** - * Mapping values for data. - * - * @var array - */ - protected $mappingData = [ - 'code' => [ - 'CMS Page Link' => 'cms_page_link', - 'Recently Viewed Products' => 'recently_viewed', - 'Catalog New Products List' => 'new_products', - ], - 'block' => [ - 'Main Content Area' => 'content', - 'Sidebar Additional' => 'sidebar.additional', - 'Sidebar Main' => 'sidebar.main', - ], - 'page_group' => [ - 'Generic Pages/All Pages' => 'all_pages', - 'Generic Pages/Specified Page' => 'pages', - 'Generic Pages/Page Layouts' => 'page_layouts', - 'Categories/Non-Anchor Categories' => 'notanchor_categories', - ], - 'template' => [ - 'CMS Page Link Block Template' => 'widget/link/link_block.phtml', - 'New Products List Template' => 'product/widget/new/content/new_grid.phtml', - ], - 'layout_handle' => [ - 'Shopping Cart' => 'checkout_cart_index', - ], - 'display_type' => [ - 'All products' => 'all_products', - 'New products' => 'new_products', - ], - 'show_pager' => [ - 'No' => '0', - 'Yes' => '1', - ], - ]; - - /** - * Mapping values for data. - * - * @var array - */ - protected $additionalMappingData = []; - - /** - * Widget Instance Template. - * - * @var string - */ - protected $widgetInstanceTemplate = ''; - - /** - * @constructor - * @param DataInterface $configuration - * @param EventManagerInterface $eventManager - */ - public function __construct(DataInterface $configuration, EventManagerInterface $eventManager) - { - $this->mappingData = array_merge($this->mappingData, $this->additionalMappingData); - parent::__construct($configuration, $eventManager); - } - - /** - * Post request for creating widget instance. - * - * @param FixtureInterface $fixture [optional] - * @throws \Exception - * @return array - */ - public function persist(FixtureInterface $fixture = null) - { - $code = $this->mappingData['code'][$fixture->getCode()]; - $themeId = $this->getThemeId($fixture->getThemeId()); - $data = $this->prepareData($fixture); - - $url = $_ENV['app_backend_url'] . 'admin/widget_instance/save/code/' . $code . '/theme_id/' . $themeId; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - $curl->write($url, $data); - $response = $curl->read(); - $curl->close(); - - if (strpos($response, 'data-ui-id="messages-message-success"') === false) { - throw new \Exception("Widget instance creation by curl handler was not successful! Response: $response"); - } - $id = null; - if (preg_match_all('/\/widget_instance\/edit\/instance_id\/(\d+)/', $response, $matches)) { - $id = $matches[1][count($matches[1]) - 1]; - } - return ['id' => $id]; - } - - /** - * Prepare data for create widget. - * - * @param FixtureInterface $widget - * @return array - */ - protected function prepareData(FixtureInterface $widget) - { - $data = $this->replaceMappingData($widget->getData()); - if ($widget->hasData('store_ids')) { - $data['store_ids'][0] = $widget->getDataFieldConfig('store_ids')['source']->getStores()[0]->getStoreId(); - } - unset($data['code']); - unset($data['theme_id']); - - $data = $this->prepareWidgetInstance($data); - $data = $this->prepareParameters($data); - - return $data; - } - - /** - * Prepare widget Frontend options. - * - * @param array $data - * @return array - */ - protected function prepareParameters(array $data) - { - return $this->prepareEntity($data); - } - - /** - * Prepare entity parameters data. - * - * @param array $data - * @return array - */ - protected function prepareEntity(array $data) - { - if (isset($data['parameters']['entities'])) { - $data['parameters']['page_id'] = $data['parameters']['entities'][0]->getPageId(); - unset($data['parameters']['entities']); - } - - return $data; - } - - /** - * Prepare Widget Instance (layout) data. - * - * @param array $data - * @return array - * @throws \Exception - */ - protected function prepareWidgetInstance(array $data) - { - $widgetInstances = []; - foreach ($data['widget_instance'] as $key => $widgetInstance) { - $pageGroup = $widgetInstance['page_group']; - $method = 'prepare' . str_replace('_', '', ucwords($pageGroup, '_')) . 'Group'; - if (!method_exists(__CLASS__, $method)) { - throw new \Exception('Method for prepare page group "' . $method . '" is not exist.'); - } - $widgetInstances[$key]['page_group'] = $pageGroup; - $widgetInstances[$key][$pageGroup] = $this->$method($widgetInstance); - if (!isset($widgetInstance[$pageGroup]['page_id'])) { - $widgetInstances[$key][$pageGroup]['page_id'] = 0; - } - } - $data['widget_instance'] = $widgetInstances; - - return $data; - } - - /** - * Prepare All Page Group. - * - * @param array $widgetInstancePageGroup - * @return array - */ - protected function prepareAllPagesGroup(array $widgetInstancePageGroup) - { - $widgetInstance['layout_handle'] = isset($widgetInstancePageGroup['layout_handle']) - ? $widgetInstancePageGroup['layout_handle'] - : 'default'; - $widgetInstance['for'] = 'all'; - $widgetInstance['block'] = $widgetInstancePageGroup['block']; - $widgetInstance['template'] = isset($widgetInstancePageGroup['template']) - ? $widgetInstancePageGroup['template'] - : $this->widgetInstanceTemplate; - - return $widgetInstance; - } - - /** - * Prepare Non-Anchor Categories Page Group. - * - * @param array $widgetInstancePageGroup - * @return array - */ - protected function prepareNotanchorCategoriesGroup(array $widgetInstancePageGroup) - { - $widgetInstancePageGroup['is_anchor_only'] = 0; - $widgetInstancePageGroup['for'] = 'all'; - $widgetInstancePageGroup['layout_handle'] = 'catalog_category_view_type_default'; - - return $widgetInstancePageGroup; - } - - /** - * Prepare Specified Page Group. - * - * @param array $widgetInstancePageGroup - * @return array - */ - protected function preparePagesGroup(array $widgetInstancePageGroup) - { - $widgetInstancePageGroup['for'] = 'all'; - - return $widgetInstancePageGroup; - } - - /** - * Return theme id by title. - * - * @param string $title - * @return int - * @throws \Exception - */ - protected function getThemeId($title) - { - $url = $_ENV['app_backend_url'] . 'mui/index/render/'; - $data = [ - 'namespace' => 'design_theme_listing', - 'filters' => [ - 'placeholder' => true, - 'theme_title' => $title - ], - 'isAjax' => true - ]; - $curl = new BackendDecorator(new CurlTransport(), $this->_configuration); - - $curl->write($url, $data, CurlInterface::POST); - $response = $curl->read(); - $curl->close(); - - preg_match('/design_theme_listing_data_source.+items.+"theme_id":"(\d+)"/', $response, $match); - return empty($match[1]) ? null : $match[1]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/WidgetInterface.php b/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/WidgetInterface.php deleted file mode 100644 index de02bb7735a4f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Handler/Widget/WidgetInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\Handler\Widget; - -use Magento\Mtf\Handler\HandlerInterface; - -/** - * Interface WidgetInterface - */ -interface WidgetInterface extends HandlerInterface -{ - // -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceEdit.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceEdit.xml deleted file mode 100644 index 7e6f0da36a065..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceEdit.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="WidgetInstanceEdit" area="Adminhtml" mca="admin/widget_instance/edit/" module="Magento_Widget"> - <block name="widgetForm" class="Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\WidgetForm" locator="[id='page:main-container']" strategy="css selector" /> - <block name="pageActionsBlock" class="Magento\Backend\Test\Block\FormPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="templateBlock" class="Magento\Backend\Test\Block\Template" locator="body" strategy="css selector" /> - <block name="modalBlock" class="Magento\Ui\Test\Block\Adminhtml\Modal" locator="._show[data-role=modal]" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceIndex.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceIndex.xml deleted file mode 100644 index a7f54eeeb2a5c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceIndex.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="WidgetInstanceIndex" area="Adminhtml" mca="admin/widget_instance/index" module="Magento_Widget"> - <block name="pageActionsBlock" class="Magento\Backend\Test\Block\GridPageActions" locator=".page-main-actions" strategy="css selector" /> - <block name="widgetGrid" class="Magento\Widget\Test\Block\Adminhtml\Widget\WidgetGrid" locator="#widgetInstanceGrid" strategy="css selector" /> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator="#messages" strategy="css selector" /> - <block name="systemMessageDialog" class="Magento\AdminNotification\Test\Block\System\Messages" locator='.ui-popup-message .modal-inner-wrap' strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceNew.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceNew.xml deleted file mode 100644 index a33ed9e95cc11..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Page/Adminhtml/WidgetInstanceNew.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="WidgetInstanceNew" area="Adminhtml" mca="admin/widget_instance/new/" module="Magento_Widget"> - <block name="widgetForm" class="Magento\Widget\Test\Block\Adminhtml\Widget\Instance\Edit\WidgetForm" locator="[id='page:main-container']" strategy="css selector" /> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget.xml deleted file mode 100644 index 9f4477d601581..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Widget\Test\Repository\Widget"> - <dataset name="default"> - <field name="code" xsi:type="string">CMS Page Link</field> - <field name="title" xsi:type="string">Cms Page Link %isolation%</field> - <field name="theme_id" xsi:type="string">Magento Luma</field> - <field name="store_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">all_store_views</item> - </field> - <field name="widget_instance" xsi:type="array"> - <item name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">CMS Page Link Block Template</item> - </item> - </field> - <field name="parameters" xsi:type="array"> - <item name="dataset" xsi:type="string">cmsPageLink</item> - </field> - </dataset> - - <dataset name="recently_viewed_products_on_blank_theme"> - <field name="code" xsi:type="string">Recently Viewed Products</field> - <field name="title" xsi:type="string">Title_%isolation%</field> - <field name="theme_id" xsi:type="string">Magento Blank</field> - <field name="store_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">all_store_views</item> - </field> - <field name="widget_instance" xsi:type="array"> - <item name="dataset" xsi:type="string">for_viewed_products</item> - </field> - <field name="parameters" xsi:type="array"> - <item name="dataset" xsi:type="string">recentlyViewedProducts</item> - </field> - </dataset> - - <dataset name="new_products_list_on_luma_theme"> - <field name="code" xsi:type="string">Catalog New Products List</field> - <field name="title" xsi:type="string">Title_%isolation%</field> - <field name="theme_id" xsi:type="string">Magento Luma</field> - <field name="store_ids" xsi:type="array"> - <item name="dataset" xsi:type="string">all_store_views</item> - </field> - <field name="widget_instance" xsi:type="array"> - <item name="dataset" xsi:type="string">for_new_products_all_pages</item> - </field> - <field name="parameters" xsi:type="array"> - <item name="dataset" xsi:type="string">catalogNewProductsListNewOnly</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/Parameters.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/Parameters.xml deleted file mode 100644 index b9452fc6e5c5f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/Parameters.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Widget\Test\Repository\Widget\Parameters"> - <dataset name="cmsPageLink"> - <field name="anchor_text" xsi:type="string">CustomText_%isolation%</field> - <field name="title" xsi:type="string">CustomTitle_%isolation%</field> - <field name="entities" xsi:type="array"> - <item name="0" xsi:type="string">cmsPage::default</item> - </field> - </dataset> - - <dataset name="cmsStaticBlock"> - <field name="chooser_title" xsi:type="string">%title%</field> - <field name="chooser_identifier" xsi:type="string">%identifier%</field> - <field name="entities" xsi:type="array"> - <item name="0" xsi:type="string">cmsBlock::default</item> - </field> - </dataset> - - <dataset name="catalogCategoryLink"> - <field name="anchor_text" xsi:type="string">CustomText_%isolation%</field> - <field name="title" xsi:type="string">CustomTitle_%isolation%</field> - <field name="entities" xsi:type="array"> - <item name="0" xsi:type="string">category::default</item> - </field> - </dataset> - - <dataset name="catalogNewProductsList"> - <field name="display_type" xsi:type="string">All products</field> - <field name="show_pager" xsi:type="string">No</field> - <field name="products_count" xsi:type="string">2</field> - </dataset> - - <dataset name="catalogProductLink"> - <field name="anchor_text" xsi:type="string">CustomText_%isolation%</field> - <field name="title" xsi:type="string">CustomTitle_%isolation%</field> - <field name="entities" xsi:type="array"> - <item name="0" xsi:type="string">catalogProductSimple::default</item> - </field> - </dataset> - - <dataset name="recentlyComparedProducts"> - <field name="page_size" xsi:type="string">4</field> - <field name="show_attributes" xsi:type="array"> - <item name="name" xsi:type="string">Name</item> - <item name="image" xsi:type="string">Image</item> - <item name="price" xsi:type="string">Price</item> - </field> - <field name="show_buttons" xsi:type="array"> - <item name="add_to_cart" xsi:type="string">Add to Cart</item> - <item name="add_to_compare" xsi:type="string">Add to Compare</item> - <item name="add_to_wishlist" xsi:type="string">Add to Wishlist</item> - </field> - </dataset> - - <dataset name="recentlyViewedProducts"> - <field name="page_size" xsi:type="string">4</field> - <field name="show_attributes" xsi:type="array"> - <item name="name" xsi:type="string">Name</item> - <item name="image" xsi:type="string">Image</item> - <item name="price" xsi:type="string">Price</item> - <item name="learn_more" xsi:type="string">Learn More Link</item> - </field> - <field name="show_buttons" xsi:type="array"> - <item name="add_to_cart" xsi:type="string">Add to Cart</item> - <item name="add_to_compare" xsi:type="string">Add to Compare</item> - <item name="add_to_wishlist" xsi:type="string">Add to Wishlist</item> - </field> - </dataset> - - <dataset name="catalogNewProductsListNewOnly"> - <field name="display_type" xsi:type="string">New products</field> - <field name="show_pager" xsi:type="string">No</field> - <field name="products_count" xsi:type="string">1</field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/WidgetInstance.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/WidgetInstance.xml deleted file mode 100644 index d77045f866894..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/Repository/Widget/WidgetInstance.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> - <repository class="Magento\Widget\Test\Repository\Widget\WidgetInstance"> - <dataset name="all_pages"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - </field> - </dataset> - - <dataset name="on_category"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Categories/Non-Anchor Categories</item> - <item name="for" xsi:type="string">Yes</item> - <item name="entities" xsi:type="string">category::default_subcategory</item> - <item name="block" xsi:type="string">Main Content Area</item> - </field> - </dataset> - - <dataset name="for_category_link"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">Category Link Block Template</item> - </field> - </dataset> - - <dataset name="on_product_link"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Categories/Non-Anchor Categories</item> - <item name="for" xsi:type="string">Yes</item> - <item name="entities" xsi:type="string">category::default_subcategory</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">Product Link Block Template</item> - </field> - </dataset> - - <dataset name="for_new_products_list"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Categories/Non-Anchor Categories</item> - <item name="for" xsi:type="string">Yes</item> - <item name="entities" xsi:type="string">category::default_subcategory</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">New Products List Template</item> - </field> - </dataset> - - <dataset name="for_compared_products"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - </field> - </dataset> - - <dataset name="for_viewed_products"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - </field> - </dataset> - - <dataset name="for_cms_page_link"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">CMS Page Link Block Template</item> - </field> - </dataset> - - <dataset name="for_new_products_all_pages"> - <field name="0" xsi:type="array"> - <item name="page_group" xsi:type="string">Generic Pages/All Pages</item> - <item name="block" xsi:type="string">Main Content Area</item> - <item name="template" xsi:type="string">New Products List Template</item> - </field> - </dataset> - </repository> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/AbstractCreateWidgetEntityTest.php b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/AbstractCreateWidgetEntityTest.php deleted file mode 100644 index 42a12555b1ab7..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/AbstractCreateWidgetEntityTest.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\TestCase; - -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceEdit; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceNew; -use Magento\Mtf\TestCase\Injectable; -use Magento\Mtf\Util\Command\Cli\Cache; -use Magento\Cms\Test\Page\CmsIndex; - -/** - * Test Creation for New Instance of WidgetEntity. - */ -abstract class AbstractCreateWidgetEntityTest extends Injectable -{ - /** - * WidgetInstanceIndex page. - * - * @var WidgetInstanceIndex - */ - protected $widgetInstanceIndex; - - /** - * WidgetInstanceNew page. - * - * @var WidgetInstanceNew - */ - protected $widgetInstanceNew; - - /** - * WidgetInstanceEdit page. - * - * @var WidgetInstanceEdit - */ - protected $widgetInstanceEdit; - - /** - * CmsIndex page. - * - * @var WidgetInstanceIndex - */ - protected $cmsIndex; - - /** - * Handle cache for tests executions. - * - * @var Cache - */ - protected $cache; - - /** - * Injection data. - * - * @param WidgetInstanceIndex $widgetInstanceIndex - * @param WidgetInstanceNew $widgetInstanceNew - * @param WidgetInstanceEdit $widgetInstanceEdit - * @param CmsIndex $cmsIndex - * @param Cache $cache - * @return void - */ - public function __inject( - WidgetInstanceIndex $widgetInstanceIndex, - WidgetInstanceNew $widgetInstanceNew, - WidgetInstanceEdit $widgetInstanceEdit, - CmsIndex $cmsIndex, - Cache $cache - ) { - $this->widgetInstanceIndex = $widgetInstanceIndex; - $this->widgetInstanceNew = $widgetInstanceNew; - $this->widgetInstanceEdit = $widgetInstanceEdit; - $this->cmsIndex = $cmsIndex; - $this->cache = $cache; - } - - /** - * Delete all widgets. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Widget\Test\TestStep\DeleteAllWidgetsStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.php b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.php deleted file mode 100644 index feb42e31c9785..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\TestCase; - -use Magento\Widget\Test\Fixture\Widget; - -/** - * Steps: - * 1. Login to the backend. - * 2. Open Content > Widgets. - * 3. Click Add Widget. - * 4. Fill settings data according dataset. - * 5. Click button Continue. - * 6. Fill widget data according dataset. - * 7. Perform all assertions. - * - * @group Widget - * @ZephyrId MAGETWO-27916 - */ -class CreateWidgetEntityTest extends AbstractCreateWidgetEntityTest -{ - /* tags */ - const MVP = 'yes'; - const TEST_TYPE = 'extended_acceptance_test'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * Cache data. - * - * @var array - */ - private $caches = []; - - /** - * Create for New Widget. - * - * @param Widget $widget - * @param array $caches [optional] - * @return void - */ - public function test(Widget $widget, array $caches = []) - { - // Preconditions - $this->caches = $caches; - // Steps - $this->widgetInstanceIndex->open(); - $this->widgetInstanceIndex->getPageActionsBlock()->addNew(); - $this->widgetInstanceNew->getWidgetForm()->fill($widget); - $this->widgetInstanceEdit->getPageActionsBlock()->save(); - $this->adjustCacheSettings(); - } - - /** - * Adjust cache settings. - * - * @return void - */ - private function adjustCacheSettings() - { - $this->cache->flush(); - foreach ($this->caches as $cacheType => $cacheStatus) { - if ($cacheStatus === 'Disabled') { - $this->cache->disableCache($cacheType); - } - } - if (in_array('Invalidated', $this->caches)) { - $this->cmsIndex->open(); - } - } - - /** - * Enable and flush all cache. - * - * return void - */ - public function tearDown(): void - { - parent::tearDown(); - if (!empty($this->caches)) { - $this->cache->enableCache(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.xml deleted file mode 100644 index 7e1ef3e1b292a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetEntityTest.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Widget\Test\TestCase\CreateWidgetEntityTest" summary="Create Widget" ticketId="MAGETWO-27916"> - <variation name="CreateWidgetEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="widget/data/code" xsi:type="string">CMS Static Block</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">on_category</data> - <data name="widget/data/parameters/dataset" xsi:type="string">cmsStaticBlock</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetOnFrontendInCatalog" /> - </variation> - <variation name="CreateWidgetEntityTestVariation2"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, severity:S1, stable:no</data> - <data name="widget/data/code" xsi:type="string">CMS Page Link</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_cms_page_link</data> - <data name="widget/data/parameters/dataset" xsi:type="string">cmsPageLink</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetInGrid" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetCmsPageLink" /> - </variation> - <variation name="CreateWidgetEntityTestVariation3"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="widget/data/code" xsi:type="string">Recently Viewed Products</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_viewed_products</data> - <data name="widget/data/parameters/dataset" xsi:type="string">recentlyViewedProducts</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetRecentlyViewedProducts" /> - </variation> - <variation name="CreateWidgetEntityTestVariation4"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="widget/data/code" xsi:type="string">Recently Compared Products</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_compared_products</data> - <data name="widget/data/parameters/dataset" xsi:type="string">recentlyComparedProducts</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetRecentlyComparedProducts" /> - </variation> - <variation name="CreateWidgetEntityTestVariation5"> - <data name="tag" xsi:type="string">severity:S1, stable:no</data> - <data name="widget/data/code" xsi:type="string">Catalog Category Link</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_category_link</data> - <data name="widget/data/parameters/dataset" xsi:type="string">catalogCategoryLink</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetCatalogCategoryLink" /> - </variation> - <variation name="CreateWidgetEntityTestVariation6"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, severity:S1</data> - <data name="widget/data/code" xsi:type="string">Catalog Product Link</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">on_product_link</data> - <data name="widget/data/parameters/dataset" xsi:type="string">catalogProductLink</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetOnFrontendInCatalog" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetProductLink" /> - </variation> - <variation name="CreateWidgetEntityTestVariation7" summary="Assert widget with disabled block_html cache type"> - <data name="issue" xsi:type="string">MAGETWO-58146: There is no cache invalidate popup after creating widget with disabled block_html cache type</data> - <data name="tag" xsi:type="string">severity:S2</data> - <data name="caches/block_html" xsi:type="string">Disabled</data> - <data name="widget/data/code" xsi:type="string">CMS Static Block</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">on_category</data> - <data name="widget/data/parameters/dataset" xsi:type="string">cmsStaticBlock</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheInvalidatePopUp" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheInvalidateNotice" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheStatus" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetOnFrontendInCatalog" /> - </variation> - <variation name="CreateWidgetEntityTestVariation8" summary="Assert widget with invalidated block_html cache type"> - <data name="issue" xsi:type="string">MAGETWO-58146: There is no cache invalidate popup after creating widget with disabled block_html cache type</data> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="caches/block_html" xsi:type="string">Invalidated</data> - <data name="widget/data/code" xsi:type="string">Catalog Category Link</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_category_link</data> - <data name="widget/data/parameters/dataset" xsi:type="string">catalogCategoryLink</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheInvalidatePopUp" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheInvalidateNotice" /> - <constraint name="Magento\PageCache\Test\Constraint\AssertCacheStatus" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetAbsentOnFrontendHome" /> - </variation> - <variation name="CreateWidgetEntityTestVariation9" summary="Create Catalog New Products List type widget"> - <data name="tag" xsi:type="string">severity:S1, stable:no</data> - <data name="widget/data/code" xsi:type="string">Catalog New Products List</data> - <data name="widget/data/theme_id" xsi:type="string">Magento Luma</data> - <data name="widget/data/title" xsi:type="string">Title_%isolation%</data> - <data name="widget/data/store_ids/dataset" xsi:type="string">all_store_views</data> - <data name="widget/data/widget_instance/dataset" xsi:type="string">for_new_products_list</data> - <data name="widget/data/parameters/dataset" xsi:type="string">catalogNewProductsList</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetCatalogNewProductsList" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.php b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.php deleted file mode 100644 index 101f922440739..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\TestCase; - -use Magento\Mtf\Fixture\FixtureFactory; -use \Magento\Mtf\TestCase\Injectable; -use Magento\Widget\Test\Fixture\Widget; - -/** - * Steps: - * 1. Create widgets. - * 2. Perform all assertions. - * - * @group Widget - * @ZephyrId MAGETWO-60672 - */ -class CreateWidgetsEntityTest extends Injectable -{ - /* tags */ - const SEVERITY = 'S3'; - /* end tags */ - - /** - * Create multiple widgets. - * - * @param array $widgets - * @param FixtureFactory $fixtureFactory - * @return array - */ - public function test(array $widgets, FixtureFactory $fixtureFactory) - { - /** @var Widget[] $widgetInstances */ - $widgetInstances = []; - // Preconditions - foreach ($widgets as $widget) { - $widget = $fixtureFactory->createByCode('widget', ['dataset' => $widget]); - $widget->persist(); - $widgetInstances[] = $widget; - } - - return ['widgets' => $widgetInstances]; - } - - /** - * Delete all widgets. - * - * @return void - */ - public function tearDown(): void - { - $this->objectManager->create(\Magento\Widget\Test\TestStep\DeleteAllWidgetsStep::class)->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.xml deleted file mode 100644 index 6a6690c3005f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/CreateWidgetsEntityTest.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Widget\Test\TestCase\CreateWidgetsEntityTest" summary="Create Widget" ticketId="MAGETWO-60672"> - <variation name="CreateWidgetEntityTestWithDifferentThemes" summary="Widgets with different themes is presented in grid/filter"> - <data name="tag" xsi:type="string">severity:S3</data> - <data name="widgets/0" xsi:type="string">default</data> - <data name="widgets/1" xsi:type="string">recently_viewed_products_on_blank_theme</data> - <constraint name="Magento\Widget\Test\Constraint\AssertThemeFilterValuesOnWidgetGrid" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetsInGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.php b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.php deleted file mode 100644 index 02ebd6619523f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\TestCase; - -use Magento\Widget\Test\Fixture\Widget; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceEdit; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create Widget. - * - * Steps: - * 1. Login to backend. - * 2. Open Content > Widgets. - * 3. Open Widget from preconditions. - * 4. Delete. - * 5. Perform all asserts. - * - * @group Widget - * @ZephyrId MAGETWO-28459 - */ -class DeleteWidgetEntityTest extends Injectable -{ - /* tags */ - const MVP = 'yes'; - const SEVERITY = 'S1'; - /* end tags */ - - /** - * WidgetInstanceIndex page. - * - * @var WidgetInstanceIndex - */ - protected $widgetInstanceIndex; - - /** - * WidgetInstanceEdit page. - * - * @var WidgetInstanceEdit - */ - protected $widgetInstanceEdit; - - /** - * Injection data. - * - * @param WidgetInstanceIndex $widgetInstanceIndex - * @param WidgetInstanceEdit $widgetInstanceEdit - * @return array - */ - public function __inject( - WidgetInstanceIndex $widgetInstanceIndex, - WidgetInstanceEdit $widgetInstanceEdit - ) { - $this->widgetInstanceIndex = $widgetInstanceIndex; - $this->widgetInstanceEdit = $widgetInstanceEdit; - } - - /** - * Delete Widget Entity test. - * - * @param Widget $widget - * @return void - */ - public function test(Widget $widget) - { - // Precondition - $widget->persist(); - - // Steps - $filter = ['title' => $widget->getTitle()]; - $this->widgetInstanceIndex->open(); - $this->widgetInstanceIndex->getWidgetGrid()->searchAndOpen($filter); - $this->widgetInstanceEdit->getPageActionsBlock()->delete(); - $this->widgetInstanceEdit->getModalBlock()->acceptAlert(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.xml deleted file mode 100644 index 268fdc668ee7f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/DeleteWidgetEntityTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Widget\Test\TestCase\DeleteWidgetEntityTest" summary="Delete Widget" ticketId="MAGETWO-28459"> - <variation name="DeleteWidgetEntityTestVariation1"> - <data name="tag" xsi:type="string">severity:S1</data> - <data name="widget/dataset" xsi:type="string">default</data> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetSuccessDeleteMessage" /> - <constraint name="Magento\Widget\Test\Constraint\AssertWidgetAbsentOnFrontendHome" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/NavigateMenuTest.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/NavigateMenuTest.xml deleted file mode 100644 index 6a2a533c59df2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestCase/NavigateMenuTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Backend\Test\TestCase\NavigateMenuTest"> - <variation name="NavigateMenuTest96"> - <data name="tag" xsi:type="string">severity:S2, mftf_migrated:yes</data> - <data name="menuItem" xsi:type="string">Content > Widgets</data> - <data name="pageTitle" xsi:type="string">Widgets</data> - <constraint name="Magento\Backend\Test\Constraint\AssertBackendPageIsAvailable" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/TestStep/DeleteAllWidgetsStep.php b/dev/tests/functional/tests/app/Magento/Widget/Test/TestStep/DeleteAllWidgetsStep.php deleted file mode 100644 index 57e206352a15f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/TestStep/DeleteAllWidgetsStep.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Widget\Test\TestStep; - -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceEdit; -use Magento\Widget\Test\Page\Adminhtml\WidgetInstanceIndex; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Delete all widgets on backend - */ -class DeleteAllWidgetsStep implements TestStepInterface -{ - /** - * WidgetInstanceIndex page - * - * @var WidgetInstanceIndex - */ - protected $widgetInstanceIndex; - - /** - * WidgetInstanceEdit page - * - * @var WidgetInstanceEdit - */ - protected $widgetInstanceEdit; - - /** - * @construct - * @param WidgetInstanceIndex $widgetInstanceIndex - * @param WidgetInstanceEdit $widgetInstanceEdit - */ - public function __construct( - WidgetInstanceIndex $widgetInstanceIndex, - WidgetInstanceEdit $widgetInstanceEdit - ) { - $this->widgetInstanceIndex = $widgetInstanceIndex; - $this->widgetInstanceEdit = $widgetInstanceEdit; - } - - /** - * Delete Widget on backend - * - * @return array - */ - public function run() - { - $this->widgetInstanceIndex->open(); - $this->widgetInstanceIndex->getWidgetGrid()->resetFilter(); - while ($this->widgetInstanceIndex->getWidgetGrid()->isFirstRowVisible()) { - $this->widgetInstanceIndex->getWidgetGrid()->openFirstRow(); - $this->widgetInstanceEdit->getTemplateBlock()->waitLoader(); - $this->widgetInstanceEdit->getPageActionsBlock()->delete(); - $this->widgetInstanceEdit->getModalBlock()->acceptAlert(); - $this->widgetInstanceIndex->getSystemMessageDialog()->closePopup(); - } - } -} diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/etc/curl/di.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/etc/curl/di.xml deleted file mode 100644 index a3be8b914d2b1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/etc/curl/di.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <preference for="Magento\Widget\Test\Handler\Widget\WidgetInterface" type="Magento\Widget\Test\Handler\Widget\Curl" /> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Widget/Test/etc/di.xml b/dev/tests/functional/tests/app/Magento/Widget/Test/etc/di.xml deleted file mode 100644 index 62636fe8af155..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Widget/Test/etc/di.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Widget\Test\Constraint\AssertWidgetAbsentOnFrontendHome"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetCatalogCategoryLink"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetCatalogNewProductsList"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetCmsPageLink"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetOnFrontendInCatalog"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetOnProductPage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetProductLink"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetRecentlyComparedProducts"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetRecentlyViewedProducts"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetSuccessDeleteMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetSuccessSaveMessage"> - <arguments> - <argument name="severity" xsi:type="string">S1</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertWidgetsInGrid"> - <arguments> - <argument name="severity" xsi:type="string">S3</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertThemeFilterValuesOnWidgetGrid"> - <arguments> - <argument name="severity" xsi:type="string">S3</argument> - </arguments> - </type> - <type name="Magento\Widget\Test\Constraint\AssertProductInCatalogNewProductsList"> - <arguments> - <argument name="severity" xsi:type="string">S2</argument> - </arguments> - </type> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist.php deleted file mode 100644 index b1de4e68afc3f..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab; - -use Magento\Mtf\Client\Element; -use Magento\Backend\Test\Block\Widget\Tab; -use Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist\Grid; - -/** - * Class Wishlist - * Customer Wishlist edit tab - */ -class Wishlist extends Tab -{ - /** - * Wishlist grid selector - * - * @var string - */ - protected $wishlistGrid = '#wishlistGrid'; - - /** - * Get wishlist grid - * - * @return Grid - */ - public function getSearchGridBlock() - { - return $this->blockFactory->create( - \Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist\Grid::class, - ['element' => $this->_rootElement->find($this->wishlistGrid)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist/Grid.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist/Grid.php deleted file mode 100644 index f3c462de91893..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Customer/Edit/Tab/Wishlist/Grid.php +++ /dev/null @@ -1,153 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist; - -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Client\Element\SimpleElement; - -/** - * Class Grid - * Grid on Wishlist tab in customer details on backend - */ -class Grid extends \Magento\Backend\Test\Block\Widget\Grid -{ - /** - * Grid fields map - * - * @var array - */ - protected $filters = [ - 'product_name' => [ - 'selector' => 'input[name="product_name"]', - ], - 'qty_from' => [ - 'selector' => 'input[name="qty[from]"]', - ], - 'qty_to' => [ - 'selector' => 'input[name="qty[to]"]', - ], - 'options' => [ - 'selector' => 'td//*[dt[contains(.,"%option_name%")]/following-sibling::dd[contains(.,"%value%")]]', - 'strategy' => 'xpath', - ], - ]; - - /** - * Delete link selector - * - * @var string - */ - protected $deleteLink = 'a[onclick*="removeItem"]'; - - /** - * Configure link selector - * - * @var string - */ - protected $configureLink = 'a[onclick*="configureItem"]'; - - /** - * Secondary part of row locator template for getRow() method with strict option. - * - * @var string - */ - protected $rowTemplateStrict = 'td[contains(.,normalize-space("%s"))]'; - - /** - * Selector for confirm. - * - * @var string - */ - protected $confirmModal = '.confirm._show[data-role=modal]'; - - /** - * Delete product - * - * @return void - */ - protected function delete() - { - $this->_rootElement->find($this->rowItem . ' ' . $this->deleteLink)->click(); - $element = $this->browser->find($this->confirmModal); - /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */ - $modal = $this->blockFactory->create(\Magento\Ui\Test\Block\Adminhtml\Modal::class, ['element' => $element]); - $modal->acceptAlert(); - } - - /** - * Configure product - * - * @return void - */ - protected function configure() - { - $this->_rootElement->find($this->rowItem . ' ' . $this->configureLink)->click(); - } - - /** - * Search item product and action it - * - * @param array $filter - * @param string $action - * @return void - */ - public function searchAndAction(array $filter, $action) - { - $this->search($filter); - $this->{ucfirst($action)}(); - $this->waitLoader(); - } - - /** - * Check if specific row exists in grid. - * - * @param array $filter - * @param bool $isSearchable - * @param bool $isStrict - * @return bool - */ - public function isRowVisible(array $filter, $isSearchable = true, $isStrict = true) - { - if (isset($filter['options'])) { - unset($filter['options']); - } - return parent::isRowVisible($filter, $isSearchable, $isStrict); - } - - /** - * Obtain specific row in grid - * - * @param array $filter - * @param bool $isStrict [optional] - * @return SimpleElement - */ - protected function getRow(array $filter, $isStrict = true) - { - $options = []; - if (isset($filter['options'])) { - $options = $filter['options']; - unset($filter['options']); - } - $location = '//tr['; - $rowTemplate = ($isStrict) ? $this->rowTemplateStrict : $this->rowTemplate; - $rows = []; - foreach ($filter as $value) { - $rows[] = sprintf($rowTemplate, $value); - } - if (!empty($options) && is_array($options)) { - foreach ($options as $value) { - $rows[] = str_replace( - '%value%', - $value['value'], - str_replace('%option_name%', $value['option_name'], $this->filters['options']['selector']) - ); - } - } - - return $this->_rootElement->find($location . implode(' and ', $rows) . ']', Locator::SELECTOR_XPATH); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Edit/CustomerForm.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Edit/CustomerForm.xml deleted file mode 100644 index f9672619acb72..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Adminhtml/Edit/CustomerForm.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<tabs> - <wishlist> - <class>\Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist</class> - <selector>#tab_wishlist_content</selector> - <strategy>css selector</strategy> - </wishlist> -</tabs> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.php deleted file mode 100644 index 683d43d755692..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Customer; - -use Magento\Mtf\Block\Form; - -/** - * Class Sharing - * Sharing wishlist form - */ -class Sharing extends Form -{ - /** - * Share Wishlist button selector - * - * @var string - */ - protected $shareWishlist = '[type="submit"]'; - - /** - * Click Share Wishlist - * - * @return void - */ - public function shareWishlist() - { - $this->_rootElement->find($this->shareWishlist)->click(); - } - - /** - * Fill Sharing Information form - * - * @param array $sharingInfo - * @return void - */ - public function fillForm(array $sharingInfo) - { - $mapping = $this->dataMapping($sharingInfo); - $this->_fill($mapping); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.xml deleted file mode 100644 index 43c0c2c04f2f1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Sharing.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <emails> - <input>textarea</input> - </emails> - <message> - <input>textarea</input> - </message> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist.php deleted file mode 100644 index 6eb2200409295..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Customer; - -use Magento\Mtf\Block\Block; - -/** - * Wish list details block in "My Wish List" page. - */ -class Wishlist extends Block -{ - /** - * "Share Wish List" button selector. - * - * @var string - */ - protected $shareWishList = '[name="save_and_share"]'; - - /** - * Product items selector. - * - * @var string - */ - protected $productItems = '.product-items'; - - /** - * Selector for 'Add to Cart' button. - * - * @var string - */ - protected $addToCart = '.action.tocart'; - - /** - * Button 'Update Wish List' css selector - * - * @var string - */ - protected $updateButton = '.action.update'; - - /** - * Empty block css selector. - * - * @var string - */ - protected $empty = '.message.info.empty'; - - /** - * Wishlist form selector. - * - * @var string - */ - protected $formSelector = '#wishlist-view-form'; - - /** - * Click button "Share Wish List". - * - * @return void - */ - public function clickShareWishList() - { - $this->waitFormToLoad(); - $this->_rootElement->find($this->shareWishList)->click(); - } - - /** - * Get items product block. - * - * @return \Magento\Wishlist\Test\Block\Customer\Wishlist\Items - */ - public function getProductItemsBlock() - { - $this->waitFormToLoad(); - return $this->blockFactory->create( - \Magento\Wishlist\Test\Block\Customer\Wishlist\Items::class, - ['element' => $this->_rootElement->find($this->productItems)] - ); - } - - /** - * Click button 'Add To Cart'. - * - * @return void - */ - public function clickAddToCart() - { - $this->waitFormToLoad(); - $this->_rootElement->find($this->addToCart)->click(); - } - - /** - * Click button 'Update Wish List'. - * - * @return void - */ - public function clickUpdateWishlist() - { - $this->waitFormToLoad(); - $this->_rootElement->hover(); - $this->_rootElement->find($this->updateButton)->click(); - } - - /** - * Check empty block visible. - * - * @return bool - */ - public function isEmptyBlockVisible() - { - $this->waitFormToLoad(); - return $this->_rootElement->find($this->empty)->isVisible(); - } - - /** - * Wait wishlist form to load via ajax. - * - * @return void - */ - protected function waitFormToLoad() - { - $browser = $this->browser; - $selector = $this->formSelector; - $browser->waitUntil( - function () use ($browser, $selector) { - $element = $browser->find($selector); - return $element->isVisible() ? true : null; - } - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items.php deleted file mode 100644 index f746ae7337c65..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Customer\Wishlist; - -use Magento\Wishlist\Test\Block\Customer\Wishlist\Items\Product; -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Customer wishlist items block on frontend. - */ -class Items extends Block -{ - /** - * Item product block. - * - * @var string - */ - protected $itemBlock = './/li[.//a[contains(.,"%s")]]'; - - /** - * Selector for 'Remove item' button. - * - * @var string - */ - protected $remove = '[data-role="remove"]'; - - /** - * Get item product block. - * - * @param FixtureInterface $product - * @return Product - */ - public function getItemProduct(FixtureInterface $product) - { - $productBlock = sprintf($this->itemBlock, $product->getName()); - return $this->blockFactory->create( - \Magento\Wishlist\Test\Block\Customer\Wishlist\Items\Product::class, - ['element' => $this->_rootElement->find($productBlock, Locator::SELECTOR_XPATH)] - ); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php deleted file mode 100644 index 5548443b50c40..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.php +++ /dev/null @@ -1,247 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Block\Customer\Wishlist\Items; - -use Magento\Mtf\Block\Form; -use Magento\Mtf\Client\Locator; - -/** - * Class Product - * Wish List item Product form - */ -class Product extends Form -{ - /** - * Locator value for "Add to Cart" button. - * - * @var string - */ - protected $addToCart = '.action.tocart'; - - /** - * Locator value for "Remove item" button. - * - * @var string - */ - protected $remove = '[data-role="remove"]'; - - /** - * Locator value for "See Details" tooltip. - * - * @var string - */ - protected $viewDetails = '.details.tooltip'; - - /** - * Locator value for "Details" block. - * - * @var string - */ - protected $detailsBlock = '.product-item-tooltip'; - - /** - * Locator value for "Edit" button. - * - * @var string - */ - protected $edit = '.action.edit'; - - /** - * Locator value for option's label. - * - * @var string - */ - protected $optionLabel = '.tooltip.content .label'; - - /** - * Locator value for option's value. - * - * @var string - */ - protected $optionValue = '.tooltip.content .values'; - - /** - * Locator value for Footer block. - * - * @var string - */ - protected $footer = './ancestor::body//footer'; - - /** - * Locator value for item Price. - * - * @var string - */ - protected $price = '.price'; - - /** - * Locator value for item Price in Product Grid. - * - * @var string - */ - protected $priceInGrid = '.products-grid .price'; - - /** - * Locator value for item Regular Price. - * - * @var string - */ - private $regularPrice = '.old-price [data-price-type="oldPrice"] .price'; - - /** - * Locator value for item Regular Price Label. - * - * @var string - */ - private $regularPriceLabel = '.old-price .price-label'; - - /** - * Fill item with details. - * - * @param array $fields - * @return void - */ - public function fillProduct(array $fields) - { - $this->hoverProductBlock(); - $mapping = $this->dataMapping($fields); - $this->_fill($mapping); - } - - /** - * Click "Add to Cart" button. - * - * @return void - */ - public function clickAddToCart() - { - $this->hoverProductBlock(); - $this->_rootElement->find($this->addToCart)->click(); - } - - /** - * Remove item from Wish List. - * - * @return void - */ - public function remove() - { - $this->hoverProductBlock(); - $this->_rootElement->find($this->remove)->click(); - } - - /** - * Get Product options. - * - * @return array|null - */ - public function getOptions() - { - $viewDetails = $this->_rootElement->find($this->viewDetails); - if ($viewDetails->isVisible()) { - $this->_rootElement->find($this->footer, Locator::SELECTOR_XPATH)->click(); - $viewDetails->hover(); - $labels = $this->_rootElement->getElements($this->optionLabel); - $values = $this->_rootElement->getElements($this->optionValue); - $data = []; - foreach ($labels as $key => $label) { - $viewDetails->hover(); - $data[] = [ - 'title' => $label->getText(), - 'value' => str_replace('$', '', $values[$key]->getText()), - ]; - } - - return $data; - } else { - return null; - } - } - - /** - * Click "Edit" button. - * - * @return void - */ - public function clickEdit() - { - $this->hoverProductBlock(); - $this->_rootElement->find($this->edit)->click(); - } - - /** - * Hover Product block so that possible actions appear. - * - * @return void - */ - public function hoverProductBlock() - { - $this->_rootElement->find($this->priceInGrid)->hover(); - } - - /** - * Returns product price. - * - * @param string $currency - * @return string - */ - public function getPrice(string $currency = '$'): string - { - return $this->getPriceBySelector($this->price, $currency); - } - - /** - * Returns product regular price. - * - * @param string $currency - * @return string - */ - public function getRegularPrice(string $currency = '$'): string - { - return $this->getPriceBySelector($this->regularPrice, $currency); - } - - /** - * Returns product price by selector. - * - * @param string $selector - * @param string $currency - * @return string - */ - private function getPriceBySelector(string $selector, string $currency = '$'): string - { - $price = $this->_rootElement->find($selector)->getText(); - - return str_replace($currency, '', $price); - } - - /** - * Returns product regular price label. - * - * @return string - */ - public function getPriceLabel(): string - { - return (string)$this->_rootElement->find($this->regularPriceLabel)->getText(); - } - - /** - * Get Wish List data for the Product. - * - * @param mixed $qty - * @return array - */ - public function getWishlistData($qty = null) - { - $this->hoverProductBlock(); - $mapping = $this->dataMapping(); - if (!is_numeric($qty)) { - unset($mapping['qty']); - } - return $this->_getData($mapping); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.xml deleted file mode 100644 index 9a7d863a698c1..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/Product.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" ?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<mapping strict="0"> - <fields> - <qty> - <selector>[data-role="qty"]</selector> - </qty> - <description> - <selector>textarea</selector> - </description> - </fields> -</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/TopToolbar.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/TopToolbar.php deleted file mode 100644 index 9d2d0fee46b53..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Block/Customer/Wishlist/Items/TopToolbar.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\Wishlist\Test\Block\Customer\Wishlist\Items; - -use Magento\Mtf\Block\Block; -use Magento\Mtf\Client\Locator; - -/** - * Pager block for wishlist items page. - */ -class TopToolbar extends Block -{ - /** - * Selector next active element - * - * @var string - */ - private $nextPageSelector = '.item.current + .item a'; - - /** - * Selector first element - * - * @var string - */ - private $firstPageSelector = '.item>.page'; - - /** - * Selector option element - * - * @var string - */ - private $optionSelector = './/option'; - - /** - * Go to the next page - * - * @return bool - */ - public function nextPage() - { - $nextPageItem = $this->_rootElement->find($this->nextPageSelector); - if ($nextPageItem->isVisible()) { - $nextPageItem->click(); - return true; - } - return false; - } - - /** - * Go to the first page - * - * @return bool - */ - public function firstPage() - { - $firstPageItem = $this->_rootElement->find($this->firstPageSelector); - if ($firstPageItem->isVisible()) { - $firstPageItem->click(); - return true; - } - return false; - } - - /** - * Set value for limiter element by index - * - * @param int $index - * @return $this - */ - public function setLimiterValueByIndex($index) - { - $options = $this->_rootElement->getElements($this->optionSelector, Locator::SELECTOR_XPATH); - if (isset($options[$index])) { - $options[$index]->click(); - } - return $this; - } - - /** - * Get value for limiter element by index - * - * @param int $index - * @return int|null - */ - public function getLimitedValueByIndex($index) - { - $options = $this->_rootElement->getElements($this->optionSelector, Locator::SELECTOR_XPATH); - if (isset($options[$index])) { - return $options[$index]->getValue(); - } - return null; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php deleted file mode 100644 index 803bee65fcdf4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AbstractAssertWishlistProductDetails.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractAssertForm; - -/** - * Assert that the correct option details are displayed on the "See Details" tooltip. - */ -abstract class AbstractAssertWishlistProductDetails extends AbstractAssertForm -{ - /** - * @inheritdoc - */ - protected $skippedFields = ['sku']; - - /** - * Assert product details. - * - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @param FixtureFactory $fixtureFactory - * @return void - */ - protected function assertProductDetails( - WishlistIndex $wishlistIndex, - InjectableFixture $product, - FixtureFactory $fixtureFactory - ) { - $productBlock = $wishlistIndex->getWishlistBlock()->getProductItemsBlock(); - $actualOptions = $productBlock->getItemProduct($product)->getOptions(); - $cartFixture = $fixtureFactory->createByCode('cart', ['data' => ['items' => ['products' => [$product]]]]); - $expectedOptions = $cartFixture->getItems()[0]->getData()['options']; - - $errors = $this->verifyData( - $this->sortDataByPath($expectedOptions, '::title'), - $this->sortDataByPath($actualOptions, '::title') - ); - \PHPUnit\Framework\Assert::assertEmpty($errors, $errors); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertAddProductToWishlistSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertAddProductToWishlistSuccessMessage.php deleted file mode 100644 index 37859c0663517..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertAddProductToWishlistSuccessMessage.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Class AssertAddProductToWishlistSuccessMessage - * Assert that success message appears on My Wish List page after adding product to wishlist. - */ -class AssertAddProductToWishlistSuccessMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Success add message - */ - const SUCCESS_MESSAGE = "%s has been added to your Wish List. Click here to continue shopping."; - - /** - * Assert that success message appears on My Wish List page after adding product to wishlist. - * - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @return void - */ - public function processAssert(WishlistIndex $wishlistIndex, InjectableFixture $product) - { - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, $product->getName()), - $wishlistIndex->getMessagesBlock()->getSuccessMessage(), - "Expected success message doesn't match actual." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Success message appears on My Wish List page after adding product to Wish List.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertCustomerWishlistOnBackendIsEmpty.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertCustomerWishlistOnBackendIsEmpty.php deleted file mode 100644 index f83719b0be6b4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertCustomerWishlistOnBackendIsEmpty.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Sales\Test\Page\Adminhtml\OrderCreateIndex; - -/** - * Assert that customer's Wish List section on Order Create backend page is empty. - */ -class AssertCustomerWishlistOnBackendIsEmpty extends AbstractConstraint -{ - /** - * Assert that customer's Wish List section on Order Create backend page is empty. - * - * @param OrderCreateIndex $orderCreateIndex - * @return void - */ - public function processAssert(OrderCreateIndex $orderCreateIndex) - { - $orderCreateIndex->open(); - $orderCreateIndex->getSidebarWishlistBlock()->isSectionEmpty(); - \PHPUnit\Framework\Assert::assertTrue( - $orderCreateIndex->getSidebarWishlistBlock()->isSectionEmpty(), - "Assert that customer's Wish List section on Order Create backend page is not empty." - ); - } - - /** - * Assert success message that customer's Wish List section on Order Create backend page is empty. - * - * @return string - */ - public function toString() - { - return "Customer's Wish List section on Order Create backend page is empty."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertMoveProductToWishlistSuccessMessage.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertMoveProductToWishlistSuccessMessage.php deleted file mode 100644 index bb2a65710502a..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertMoveProductToWishlistSuccessMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Class AssertAddProductToWishlistSuccessMessage - * Assert that success message appears on Checkout Cart page after moving product to wishlist. - */ -class AssertMoveProductToWishlistSuccessMessage extends AbstractConstraint -{ - /** - * Success add message - */ - const SUCCESS_MESSAGE = "%s has been moved to your wish list."; - - /** - * Assert that success message appears on My Wish List page after moving product to wishlist. - * - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @return void - */ - public function processAssert(WishlistIndex $wishlistIndex, InjectableFixture $product) - { - \PHPUnit\Framework\Assert::assertEquals( - sprintf(self::SUCCESS_MESSAGE, $product->getName()), - $wishlistIndex->getMessagesBlock()->getSuccessMessage(), - "Expected success move to wish list message doesn't match actual." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Success message appears on Checkout Cart page after moving product to Wish List.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php deleted file mode 100644 index 7708e198fb582..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductDetailsInWishlist.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Assert that the correct option details are displayed on the "See Details" tooltip. - */ -class AssertProductDetailsInWishlist extends AbstractAssertWishlistProductDetails -{ - /** - * Assert that the correct option details are displayed on the "See Details" tooltip. - * - * @param CmsIndex $cmsIndex - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @param FixtureFactory $fixtureFactory - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - WishlistIndex $wishlistIndex, - InjectableFixture $product, - FixtureFactory $fixtureFactory - ) { - $cmsIndex->getLinksBlock()->openLink('My Wish List'); - $this->assertProductDetails($wishlistIndex, $product, $fixtureFactory); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return "Expected product options are equal to actual."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductInCustomerWishlistOnBackendGrid.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductInCustomerWishlistOnBackendGrid.php deleted file mode 100644 index 3dc486222bce6..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductInCustomerWishlistOnBackendGrid.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist\Grid; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Class AssertProductInCustomerWishlistOnBackendGrid - * Assert that product is present in grid on customer's wish list tab with configure option and qty - */ -class AssertProductInCustomerWishlistOnBackendGrid extends AbstractConstraint -{ - /** - * Assert that product is present in grid on customer's wish list tab with configure option and qty - * - * @param CustomerIndexEdit $customerIndexEdit - * @param FixtureInterface $product - * @return void - */ - public function processAssert(CustomerIndexEdit $customerIndexEdit, FixtureInterface $product) - { - $filter = $this->prepareFilter($product); - - /** @var Grid $wishlistGrid */ - $wishlistGrid = $customerIndexEdit->getCustomerForm()->getTab('wishlist')->getSearchGridBlock(); - \PHPUnit\Framework\Assert::assertTrue( - $wishlistGrid->isRowVisible($filter), - 'Product ' . $product->getName() . ' is absent in grid with configure option.' - ); - } - - /** - * Prepare filter - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareFilter(FixtureInterface $product) - { - $checkoutData = $product->getCheckoutData(); - $qty = isset($checkoutData['qty']) ? $checkoutData['qty'] : 1; - $options = $this->prepareOptions($product); - - return ['product_name' => $product->getName(), 'qty_from' => $qty, 'qty_to' => $qty, 'options' => $options]; - } - - /** - * Prepare options - * - * @param FixtureInterface $product - * @return array - */ - protected function prepareOptions(FixtureInterface $product) - { - $productOptions = []; - $checkoutData = $product->getCheckoutData()['options']; - $customOptions = $product->getCustomOptions(); - if (isset($checkoutData['custom_options'])) { - foreach ($checkoutData['custom_options'] as $option) { - $optionKey = str_replace('attribute_key_', '', $option['title']); - $valueKey = str_replace('option_key_', '', $option['value']); - $productOptions[] = [ - 'option_name' => $customOptions[$optionKey]['title'], - 'value' => isset($customOptions[$optionKey]['options'][$valueKey]['title']) - ? $customOptions[$optionKey]['options'][$valueKey]['title'] - : $valueKey, - ]; - } - } - - return $productOptions; - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Product is visible in Customer Wish List on Backend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInCustomerBackendWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInCustomerBackendWishlist.php deleted file mode 100644 index 4a573e73188a9..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInCustomerBackendWishlist.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Class AssertProductIsPresentInCustomerBackendWishlist - * Assert that product added to wishlist is present on Customers account on backend - * - in section Customer Activities - Wishlist - */ -class AssertProductIsPresentInCustomerBackendWishlist extends AbstractConstraint -{ - /** - * Assert that products added to wishlist are present on Customers account on backend. - * - * @param CustomerIndex $customerIndex - * @param Customer $customer - * @param CustomerIndexEdit $customerIndexEdit - * @param InjectableFixture $product - * @return void - */ - public function processAssert( - CustomerIndex $customerIndex, - Customer $customer, - CustomerIndexEdit $customerIndexEdit, - InjectableFixture $product - ) { - $customerIndex->open(); - $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $customerIndexEdit->getCustomerForm()->openTab('wishlist'); - /** @var \Magento\Wishlist\Test\Block\Adminhtml\Customer\Edit\Tab\Wishlist\Grid $wishlistGrid */ - $wishlistGrid = $customerIndexEdit->getCustomerForm()->getTab('wishlist')->getSearchGridBlock(); - - \PHPUnit\Framework\Assert::assertTrue( - $wishlistGrid->isRowVisible(['product_name' => $product->getName()]), - $product->getName() . " is not visible in customer wishlist on backend." - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return "Product is visible in customer wishlist on backend."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInWishlist.php deleted file mode 100644 index 058c764be16a4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductIsPresentInWishlist.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Assert that product is present in default wishlist. - */ -class AssertProductIsPresentInWishlist extends AbstractConstraint -{ - /** - * Assert that product is present in default wishlist. - * - * @param CmsIndex $cmsIndex - * @param CustomerAccountIndex $customerAccountIndex - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CustomerAccountIndex $customerAccountIndex, - WishlistIndex $wishlistIndex, - InjectableFixture $product - ) { - $cmsIndex->open(); - $cmsIndex->getLinksBlock()->openLink('My Account'); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Wish List'); - - $isProductVisible = $wishlistIndex->getWishlistBlock()->getProductItemsBlock()->getItemProduct($product) - ->isVisible(); - while (!$isProductVisible && $wishlistIndex->getTopToolbar()->nextPage()) { - $isProductVisible = $wishlistIndex->getWishlistBlock()->getProductItemsBlock()->getItemProduct($product) - ->isVisible(); - } - - \PHPUnit\Framework\Assert::assertTrue( - $wishlistIndex->getWishlistBlock()->getProductItemsBlock()->getItemProduct($product)->isVisible(), - $product->getName() . ' is not visible on Wish List page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is present in default Wish List.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductPriceIsNotZero.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductPriceIsNotZero.php deleted file mode 100644 index 21f0e865a4340..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductPriceIsNotZero.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -class AssertProductPriceIsNotZero extends \Magento\Mtf\Constraint\AbstractConstraint -{ - /** - * Assert that product price is not zero in default wishlist. - * - * @param \Magento\Cms\Test\Page\CmsIndex $cmsIndex - * @param \Magento\Customer\Test\Page\CustomerAccountIndex $customerAccountIndex - * @param \Magento\Wishlist\Test\Page\WishlistIndex $wishlistIndex - * @param \Magento\Mtf\Fixture\InjectableFixture $product - * - * @return void - */ - public function processAssert( - \Magento\Cms\Test\Page\CmsIndex $cmsIndex, - \Magento\Customer\Test\Page\CustomerAccountIndex $customerAccountIndex, - \Magento\Wishlist\Test\Page\WishlistIndex $wishlistIndex, - \Magento\Mtf\Fixture\InjectableFixture $product - ) { - $cmsIndex->getLinksBlock()->openLink('My Account'); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Wish List'); - $wishlistItem = $wishlistIndex->getWishlistBlock()->getProductItemsBlock()->getItemProduct($product); - - \PHPUnit\Framework\Assert::assertNotEquals( - '0.00', - $wishlistItem->getPrice(), - $product->getName() . ' has zero price on Wish List page.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product price is not zero in default Wish List.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductRegularPriceOnStorefront.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductRegularPriceOnStorefront.php deleted file mode 100644 index dc71939d4790d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductRegularPriceOnStorefront.php +++ /dev/null @@ -1,149 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; -use Magento\GroupedProduct\Test\Fixture\GroupedProduct; -use Magento\Bundle\Test\Fixture\BundleProduct; - -/** - * Asserts that correct product regular price is displayed in default wishlist. - */ -class AssertProductRegularPriceOnStorefront extends AbstractConstraint -{ - /** - * @var string - */ - private $regularPriceLabel = 'Regular Price'; - - /** - * Asserts that correct product regular price is displayed in default wishlist. - * - * @param CmsIndex $cmsIndex - * @param CustomerAccountIndex $customerAccountIndex - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture $product - * @return void - */ - public function processAssert( - CmsIndex $cmsIndex, - CustomerAccountIndex $customerAccountIndex, - WishlistIndex $wishlistIndex, - InjectableFixture $product - ) { - $cmsIndex->open(); - $cmsIndex->getLinksBlock()->openLink('My Account'); - $customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Wish List'); - - $isProductVisible = $wishlistIndex->getWishlistBlock() - ->getProductItemsBlock() - ->getItemProduct($product) - ->isVisible(); - while (!$isProductVisible && $wishlistIndex->getTopToolbar()->nextPage()) { - $isProductVisible = $wishlistIndex->getWishlistBlock() - ->getProductItemsBlock() - ->getItemProduct($product) - ->isVisible(); - } - - if ($product instanceof GroupedProduct) { - $productRegularPrice = $this->getGroupedProductRegularPrice($product); - } elseif ($product instanceof BundleProduct) { - $productRegularPrice = $this->getBundleProductRegularPrice($product); - } else { - $productRegularPrice = (float) $product->getPrice(); - } - - $productItem = $wishlistIndex->getWishlistBlock() - ->getProductItemsBlock() - ->getItemProduct($product); - - $wishListProductRegularPrice = $product instanceof BundleProduct - ? (float)$productItem->getPrice() - : (float)$productItem->getRegularPrice(); - - if (!$product instanceof BundleProduct) { - \PHPUnit\Framework\Assert::assertEquals( - $this->regularPriceLabel, - $productItem->getPriceLabel(), - 'Wrong product regular price is displayed.' - ); - } - - \PHPUnit\Framework\Assert::assertNotEmpty( - $wishListProductRegularPrice, - 'Regular Price for "' . $product->getName() . '" is not correct.' - ); - - \PHPUnit\Framework\Assert::assertEquals( - $productRegularPrice, - $wishListProductRegularPrice, - 'Wrong product regular price is displayed.' - ); - } - - /** - * Retrieve grouped product regular price - * - * @param GroupedProduct $product - * @return float - */ - private function getGroupedProductRegularPrice(GroupedProduct $product) - { - $productRegularPrice = 0; - $associatedProducts = $product->getAssociated(); - /** @var \Magento\Catalog\Test\Fixture\CatalogProductSimple $associatedProduct */ - foreach ($associatedProducts['products'] as $key => $associatedProduct) { - $qty = $associatedProducts['assigned_products'][$key]['qty']; - $price = $associatedProduct->getPrice(); - $productRegularPrice += $qty * $price; - } - return $productRegularPrice; - } - - /** - * Retrieve bundle product regular price - * - * @param BundleProduct $product - * @return float - */ - private function getBundleProductRegularPrice(BundleProduct $product) - { - $productRegularPrice = 0; - $bundleSelection = (array) $product->getBundleSelections(); - foreach ($bundleSelection['products'] as $bundleOption) { - $regularBundleProductPrice = 0; - /** @var \Magento\Catalog\Test\Fixture\CatalogProductSimple $bundleProduct */ - foreach ($bundleOption as $bundleProduct) { - $checkoutData = $bundleProduct->getCheckoutData(); - $bundleProductPrice = $checkoutData['qty'] * $checkoutData['cartItem']['price']; - if (0 === $regularBundleProductPrice) { - $regularBundleProductPrice = $bundleProductPrice; - } else { - $regularBundleProductPrice = max([$bundleProductPrice, $regularBundleProductPrice]); - } - } - $productRegularPrice += $regularBundleProductPrice; - } - return $productRegularPrice; - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString(): string - { - return 'Product is displayed with correct regular price.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsAbsentInWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsAbsentInWishlist.php deleted file mode 100644 index 861648b491bce..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsAbsentInWishlist.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\CustomerAccountIndex; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; -use Magento\Mtf\Fixture\InjectableFixture; - -/** - * Assert products is absent in Wishlist on Frontend. - */ -class AssertProductsIsAbsentInWishlist extends AbstractConstraint -{ - /** - * Assert that product is not present in Wishlist on Frontend. - * - * @param CustomerAccountIndex $customerAccountIndex - * @param WishlistIndex $wishlistIndex - * @param InjectableFixture[] $products - * @param Customer $customer - * @return void - */ - public function processAssert( - CustomerAccountIndex $customerAccountIndex, - WishlistIndex $wishlistIndex, - $products, - Customer $customer - ) { - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $customerAccountIndex->open()->getAccountMenuBlock()->openMenuItem("My Wish List"); - $itemBlock = $wishlistIndex->getWishlistBlock()->getProductItemsBlock(); - - foreach ($products as $itemProduct) { - \PHPUnit\Framework\Assert::assertFalse( - $itemBlock->getItemProduct($itemProduct)->isVisible(), - 'Product \'' . $itemProduct->getName() . '\' is present in Wish List on Frontend.' - ); - } - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Product is absent in Wish List on Frontend.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsPresentInCustomerBackendWishlist.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsPresentInCustomerBackendWishlist.php deleted file mode 100644 index 28515240270e2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertProductsIsPresentInCustomerBackendWishlist.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Assert that products added to wishlist is present on Customers account on backend in Customer Activities - Wishlist. - */ -class AssertProductsIsPresentInCustomerBackendWishlist extends AbstractConstraint -{ - /** - * Assert that products added to wishlist is present - * on Customers account on backend in Customer Activities - Wishlist. - * - * @param Customer $customer - * @param CustomerIndexEdit $customerIndexEdit - * @param array $products - * @return void - */ - public function processAssert( - Customer $customer, - CustomerIndexEdit $customerIndexEdit, - array $products - ) { - $customerIndexEdit->open(['id' => $customer->getId()]); - $customerIndexEdit->getCustomerForm()->openTab('wishlist'); - $wishlistGrid = $customerIndexEdit->getCustomerForm()->getTab('wishlist')->getSearchGridBlock(); - foreach ($products as $product) { - \PHPUnit\Framework\Assert::assertTrue( - $wishlistGrid->isRowVisible(['product_name' => $product->getName()]), - $product->getName() . " is not visible in customer wishlist on backend." - ); - } - } - - /** - * Assert success message that products added to wishlist is present - * on Customers account on backend in Customer Activities - Wishlist. - * - * @return string - */ - public function toString() - { - return "Products is visible in customer wishlist on backend in Customer Activities - Wishlist."; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistIsEmpty.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistIsEmpty.php deleted file mode 100644 index 3901048e7d190..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistIsEmpty.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertWishlistIsEmpty - * Assert wish list is empty on 'My Account' page - */ -class AssertWishlistIsEmpty extends AbstractConstraint -{ - /** - * Assert wish list is empty - * - * @param CmsIndex $cmsIndex - * @param WishlistIndex $wishlistIndex - * @return void - */ - public function processAssert(CmsIndex $cmsIndex, WishlistIndex $wishlistIndex) - { - $cmsIndex->getCmsPageBlock()->waitPageInit(); - $cmsIndex->getLinksBlock()->openLink("My Wish List"); - \PHPUnit\Framework\Assert::assertTrue( - $wishlistIndex->getWishlistBlock()->isEmptyBlockVisible(), - 'Wish List is not empty.' - ); - } - - /** - * Returns a string representation of the object - * - * @return string - */ - public function toString() - { - return 'Wish List is empty.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistShareMessage.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistShareMessage.php deleted file mode 100644 index d73a479494cae..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Constraint/AssertWishlistShareMessage.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\Constraint; - -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Constraint\AbstractConstraint; - -/** - * Class AssertWishlistShareMessage - * Assert that after share wishlist successful message appears - */ -class AssertWishlistShareMessage extends AbstractConstraint -{ - /* tags */ - const SEVERITY = 'low'; - /* end tags */ - - /** - * Success wishlist share message - */ - const SUCCESS_MESSAGE = 'Your wish list has been shared.'; - - /** - * Assert that success message is displayed after wishlist has been shared - * - * @param WishlistIndex $wishlistIndex - * @return void - */ - public function processAssert(WishlistIndex $wishlistIndex) - { - \PHPUnit\Framework\Assert::assertEquals( - self::SUCCESS_MESSAGE, - $wishlistIndex->getMessagesBlock()->getSuccessMessage(), - 'Wrong success message is displayed.' - ); - } - - /** - * Returns a string representation of the object. - * - * @return string - */ - public function toString() - { - return 'Wish List success share message is present.'; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistIndex.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistIndex.xml deleted file mode 100644 index 4e67c8d4e1dd4..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistIndex.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="WishlistIndex" mca="wishlist/index/index" module="Magento_Wishlist"> - <block name="messagesBlock" class="Magento\Backend\Test\Block\Messages" locator=".messages" strategy="css selector"/> - <block name="wishlistBlock" class="Magento\Wishlist\Test\Block\Customer\Wishlist" locator="#wishlist-view-form" strategy="css selector"/> - <block name="topToolbar" class="Magento\Wishlist\Test\Block\Customer\Wishlist\Items\TopToolbar" locator=".//*[contains(@class,'wishlist-toolbar')][2]" strategy="xpath"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistShare.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistShare.xml deleted file mode 100644 index e26c205377756..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/Page/WishlistShare.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd"> - <page name="WishlistShare" mca="wishlist/index/share" module="Magento_Wishlist"> - <block name="sharingInfoForm" class="Magento\Wishlist\Test\Block\Customer\Sharing" locator=".wishlist.share" strategy="css selector"/> - </page> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AbstractWishlistTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AbstractWishlistTest.php deleted file mode 100644 index 2e86a0b294187..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AbstractWishlistTest.php +++ /dev/null @@ -1,127 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Mtf\Fixture\FixtureFactory; -use Magento\Mtf\ObjectManager; -use Magento\Mtf\TestCase\Injectable; - -/** - * Class AbstractWishlistTest - * Abstract class for wish list tests - */ -abstract class AbstractWishlistTest extends Injectable -{ - /** - * Object Manager - * - * @var ObjectManager - */ - protected $objectManager; - - /** - * Cms index page - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Product view page - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Fixture factory - * - * @var FixtureFactory - */ - protected $fixtureFactory; - - /** - * Wishlist index page - * - * @var WishlistIndex - */ - protected $wishlistIndex; - - /** - * Injection data. - * - * @param CmsIndex $cmsIndex - * @param CatalogProductView $catalogProductView - * @param FixtureFactory $fixtureFactory - * @param WishlistIndex $wishlistIndex - * @param ObjectManager $objectManager - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - CatalogProductView $catalogProductView, - FixtureFactory $fixtureFactory, - WishlistIndex $wishlistIndex, - ObjectManager $objectManager - ) { - $this->cmsIndex = $cmsIndex; - $this->catalogProductView = $catalogProductView; - $this->fixtureFactory = $fixtureFactory; - $this->wishlistIndex = $wishlistIndex; - $this->objectManager = $objectManager; - } - - /** - * Login customer. - * - * @param Customer $customer - * @return void - */ - protected function loginCustomer(Customer $customer) - { - $loginCustomerOnFrontendStep = $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - ); - $loginCustomerOnFrontendStep->run(); - } - - /** - * Create products. - * - * @param string $products - * @return array - */ - protected function createProducts($products) - { - $createProductsStep = $this->objectManager->create( - \Magento\Catalog\Test\TestStep\CreateProductsStep::class, - ['products' => $products] - ); - - return $createProductsStep->run()['products']; - } - - /** - * Add products to wish list. - * - * @param array $products - * @param bool $configure [optional] - * @return void - */ - protected function addToWishlist(array $products, $configure = false) - { - $this->objectManager->create( - \Magento\Wishlist\Test\TestStep\AddProductsToWishlistStep::class, - ['products' => $products, 'configure' => $configure] - )->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.php deleted file mode 100644 index 4bc44bcd9d6f2..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Util\Command\Cli\EnvWhitelist; - -/** - * Test Flow: - * - * Preconditions: - * 1. Customer is registered - * 2. Product is created - * - * Steps: - * 1. Login as a customer - * 2. Navigate to catalog page - * 3. Add created product to Wishlist according to dataset - * 4. Perform all assertions - * - * @group Wishlist - * @ZephyrId MAGETWO-29045 - */ -class AddProductToWishlistEntityTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * DomainWhitelist CLI - * - * @var EnvWhitelist - */ - private $envWhitelist; - - /** - * Prepare data for test - * - * @param Customer $customer - * @param EnvWhitelist $envWhitelist - * @return array - */ - public function __prepare( - Customer $customer, - EnvWhitelist $envWhitelist - ) { - $customer->persist(); - $this->envWhitelist = $envWhitelist; - - return ['customer' => $customer]; - } - - /** - * Run Add Product To Wishlist test - * - * @param Customer $customer - * @param string $product - * @param bool $configure - * @return array - */ - public function test(Customer $customer, $product, $configure = true) - { - $this->envWhitelist->addHost('example.com'); - $product = $this->createProducts($product)[0]; - - // Steps: - $this->loginCustomer($customer); - $this->addToWishlist([$product], $configure); - - return ['product' => $product]; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.xml deleted file mode 100644 index e5fa4b6fc11ee..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductToWishlistEntityTest.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\AddProductToWishlistEntityTest" summary="Add Product to Wishlist" ticketId="MAGETWO-29045"> - <variation name="AddProductToWishlistEntityTestVariation1"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/0" xsi:type="string">catalogProductSimple::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation2"> - <data name="product/0" xsi:type="string">catalogProductVirtual::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation3"> - <data name="product/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation4"> - <data name="product/0" xsi:type="string">groupedProduct::three_simple_products</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation5"> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation6"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation7"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">bundleProduct::bundle_fixed_product</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation8"> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <data name="configure" xsi:type="boolean">false</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductPriceIsNotZero" /> - </variation> - <variation name="AddProductToWishlistEntityTestVariation9" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string">catalogProductSimple::withSpecialPrice</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - <variation name="AddProductToWishlistEntityTestVariation10" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string">catalogProductVirtual::product_with_special_price</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - <variation name="AddProductToWishlistEntityTestVariation11" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string"> - downloadableProduct::with_two_separately_links_special_price_and_category - </item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - <variation name="AddProductToWishlistEntityTestVariation12" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string">groupedProduct::grouped_product_with_special_price</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - <variation name="AddProductToWishlistEntityTestVariation13" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string">configurableProduct::product_with_special_price</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - <variation name="AddProductToWishlistEntityTestVariation14" ticketId="MAGETWO-90131"> - <data name="product" xsi:type="array"> - <item name="0" xsi:type="string">bundleProduct::default_with_one_simple_product</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertAddProductToWishlistSuccessMessage"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInCustomerBackendWishlist"/> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductRegularPriceOnStorefront"/> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.php deleted file mode 100644 index 1ea1853cf899e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.php +++ /dev/null @@ -1,99 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Checkout\Test\Fixture\Cart; -use Magento\Customer\Test\Fixture\Customer; - -/** - * Preconditions: - * 1. Create customer and login to frontend - * 2. Create products - * 3. Add products to customer's wishlist - * - * Steps: - * 1. Navigate to My Account -> My Wishlist - * 2. Fill qty and update wish list - * 3. Click "Add to Cart" - * 4. Perform asserts - * - * @group Wishlist - * @ZephyrId MAGETWO-25268 - */ -class AddProductsToCartFromCustomerWishlistOnFrontendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Run suggest searching result test. - * - * @param Customer $customer - * @param string $products - * @param int $qty - * @param bool $toUpdate - * @return array - */ - public function test(Customer $customer, $products, $qty, $toUpdate = true, $toConfigure = false) - { - // Preconditions - $customer->persist(); - $this->loginCustomer($customer); - $products = $this->createProducts($products); - $this->addToWishlist($products, $toConfigure); - - // Steps - $this->addToCart($products, $qty, $toUpdate); - - // Prepare data for asserts - $cart = $this->createCart($products); - - return ['products' => $products, 'customer' => $customer, 'cart' => $cart]; - } - - /** - * Add products from wish list to cart. - * - * @param array $products - * @param int $qty - * @param bool $toUpdate - * @return void - */ - protected function addToCart(array $products, $qty, $toUpdate) - { - $productBlock = $this->wishlistIndex->getWishlistBlock()->getProductItemsBlock(); - foreach ($products as $product) { - $this->cmsIndex->getLinksBlock()->openLink("My Wish List"); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - if ($qty != '-') { - $productBlock->getItemProduct($product)->fillProduct(['qty' => $qty]); - if ($toUpdate) { - $this->wishlistIndex->getWishlistBlock()->clickUpdateWishlist(); - } - } - $productBlock->getItemProduct($product)->clickAddToCart(); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - if (!$this->wishlistIndex->getWishlistBlock()->isVisible()) { - $this->catalogProductView->getViewBlock()->addToCart($product); - $this->catalogProductView->getMessagesBlock()->waitSuccessMessage(); - } - } - } - - /** - * Create cart fixture. - * - * @param array $products - * @return Cart - */ - protected function createCart(array $products) - { - return $this->fixtureFactory->createByCode('cart', ['data' => ['items' => ['products' => $products]]]); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.xml deleted file mode 100644 index 7e924e00a1730..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/AddProductsToCartFromCustomerWishlistOnFrontendTest.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\AddProductsToCartFromCustomerWishlistOnFrontendTest" summary="Add Products from Wishlist to Cart" ticketId="MAGETWO-25268"> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation1"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">catalogProductSimple::product_100_dollar</data> - <data name="qty" xsi:type="string">2</data> - <data name="toUpdate" xsi:type="boolean">false</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation2"> - <data name="products/0" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="qty" xsi:type="string">1</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation3"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">catalogProductSimple::default</data> - <data name="products/1" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="products/2" xsi:type="string">catalogProductSimple::default</data> - <data name="products/3" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="qty" xsi:type="string">-</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation4"> - <data name="products/0" xsi:type="string">groupedProduct::three_simple_products</data> - <data name="qty" xsi:type="string">-</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation5"> - <data name="products/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <data name="qty" xsi:type="string">-</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation6"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">configurableProduct::default</data> - <data name="qty" xsi:type="string">3</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation7"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="products/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <data name="qty" xsi:type="string">2</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation8"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="products/0" xsi:type="string">bundleProduct::bundle_fixed_product</data> - <data name="qty" xsi:type="string">2</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - - <variation name="AddProductsToCartFromCustomerWishlistOnFrontendTestVariation9"> - <data name="products/0" xsi:type="string">bundleProduct::default_with_one_simple_product_and_custom_option</data> - <data name="qty" xsi:type="string">1</data> - <data name="toConfigure" xsi:type="boolean">true</data> - <constraint name="Magento\Checkout\Test\Constraint\AssertProductQtyInShoppingCart" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertProceedToCheckoutButton" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.php deleted file mode 100644 index 227cb79273e7b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.php +++ /dev/null @@ -1,106 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Util\Command\Cli\EnvWhitelist; - -/** - * Preconditions: - * 1. Create customer - * 2. Create products - * 3. Add products to the customer's wishlist (unconfigured) - * - * Steps: - * 1. Go to Backend - * 2. Go to Customers > All Customers - * 3. Open the customer - * 4. Open wishlist tab - * 5. Click 'Configure' for the product - * 6. Fill in data - * 7. Click Ok - * 8. Perform assertions - * - * @group Wishlist - * @ZephyrId MAGETWO-29257 - */ -class ConfigureProductInCustomerWishlistOnBackendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * DomainWhitelist CLI - * - * @var EnvWhitelist - */ - private $envWhitelist; - - /** - * Create customer. - * - * @param Customer $customer - * @param EnvWhitelist $envWhitelist - * @return array - */ - public function __prepare( - Customer $customer, - EnvWhitelist $envWhitelist - ) { - $customer->persist(); - $this->envWhitelist = $envWhitelist; - - return ['customer' => $customer]; - } - - /** - * Configure customer wish list on backend. - * - * @param Customer $customer - * @param string $product - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @return array - */ - public function test( - Customer $customer, - $product, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit - ) { - // Preconditions - $this->envWhitelist->addHost('example.com'); - $product = $this->createProducts($product)[0]; - $this->loginCustomer($customer); - $this->addToWishlist([$product]); - // Steps - $customerIndex->open(); - $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $customerForm = $customerIndexEdit->getCustomerForm(); - $customerForm->openTab('wishlist'); - $customerForm->getTab('wishlist')->getSearchGridBlock()->searchAndAction( - ['product_name' => $product->getName()], - 'Configure' - ); - $customerIndexEdit->getConfigureProductBlock()->configProduct($product); - - return['product' => $product]; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.xml deleted file mode 100644 index 98611efc60054..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnBackendTest.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\ConfigureProductInCustomerWishlistOnBackendTest" summary="Configure Products in Customer Wishlist on Backend" ticketId="MAGETWO-29257"> - <variation name="ConfigureProductInCustomerWishlistOnBackendTestVariation1"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">catalogProductSimple::with_two_custom_option</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnBackendTestVariation2"> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnBackendTestVariation3"> - <data name="product/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <constraint name="Magento\Bundle\Test\Constraint\AssertBundleProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnBackendTestVariation4"> - <data name="product/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <constraint name="Magento\Downloadable\Test\Constraint\AssertDownloadableProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnBackendTestVariation5"> - <data name="product/0" xsi:type="string">groupedProduct::three_simple_products</data> - <constraint name="Magento\GroupedProduct\Test\Constraint\AssertGroupedProductInCustomerWishlistOnBackendGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.php deleted file mode 100644 index 0cd64c1d19d70..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; - -/** - * Preconditions: - * 1. Create customer - * 2. Create composite products - * 3. Log in to frontend - * 4. Add products to the customer's wish list (unconfigured) - * - * Steps: - * 1. Open Wish list - * 2. Click 'Configure' for the product - * 3. Fill data - * 4. Click 'Ok' - * 5. Perform assertions - * - * @group Wishlist - * @ZephyrId MAGETWO-29507 - */ -class ConfigureProductInCustomerWishlistOnFrontendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - const STABLE = 'no'; - /* end tags */ - - /** - * Prepare data - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Configure customer wish list on frontend - * - * @param Customer $customer - * @param string $product - * @return array - */ - public function test(Customer $customer, $product) - { - // Preconditions - $product = $this->createProducts($product)[0]; - $this->loginCustomer($customer); - $this->addToWishlist([$product]); - - // Steps - $this->cmsIndex->getLinksBlock()->openLink('My Wish List'); - $this->wishlistIndex->getWishlistBlock()->getProductItemsBlock()->getItemProduct($product)->clickEdit(); - $this->catalogProductView->getViewBlock()->addToWishlist($product); - - return ['product' => $product]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.xml deleted file mode 100644 index 286070dccd86c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ConfigureProductInCustomerWishlistOnFrontendTest.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\ConfigureProductInCustomerWishlistOnFrontendTest" summary="Configure Products in Customer Wishlist on Frontend" ticketId="MAGETWO-29507"> - <variation name="ConfigureProductInCustomerWishlistOnFrontendTestVariation1"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">catalogProductSimple::with_two_custom_option</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnFrontendTestVariation2"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnFrontendTestVariation3"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnFrontendTestVariation4"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="ConfigureProductInCustomerWishlistOnFrontendTestVariation5"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/0" xsi:type="string">groupedProduct::three_simple_products</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.php deleted file mode 100644 index a7006356f2f0d..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; - -/** - * Test Flow: - * - * Preconditions: - * 1. Create customer - * 2. Create product - * 3. Login to frontend as a customer - * 4. Add product to Wish List - * - * Steps: - * 1. Go to Backend - * 2. Go to Customers > All Customers - * 3. Open the customer - * 4. Open wishlist tab - * 5. Click 'Delete' - * 6. Perform assertions - * - * @group Wishlist - * @ZephyrId MAGETWO-27813 - */ -class DeleteProductFromCustomerWishlistOnBackendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Prepare data - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Delete product from customer wishlist on backend - * - * @param Customer $customer - * @param string $product - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @return array - */ - public function test( - Customer $customer, - $product, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit - ) { - //Preconditions - $product = $this->createProducts($product)[0]; - $this->loginCustomer($customer); - $this->addToWishlist([$product]); - - //Steps - $customerIndex->open(); - $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $customerForm = $customerIndexEdit->getCustomerForm(); - $customerForm->openTab('wishlist'); - $filter = ['product_name' => $product->getName()]; - $customerForm->getTab('wishlist')->getSearchGridBlock()->searchAndAction($filter, 'Delete'); - - return ['products' => [$product]]; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.xml deleted file mode 100644 index f0f1e88d4d1ec..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductFromCustomerWishlistOnBackendTest.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\DeleteProductFromCustomerWishlistOnBackendTest" summary="Delete Product From Customer Wishlist on Backend" ticketId="MAGETWO-27813"> - <variation name="DeleteProductFromCustomerWishlistOnBackendTestVariation1"> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="DeleteProductFromCustomerWishlistOnBackendTestVariation2"> - <data name="product/0" xsi:type="string">catalogProductSimple::simple_for_composite_products</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.php deleted file mode 100644 index f49dfbc52262c..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; - -/** - * Preconditions: - * 1. Customer registered. - * 2. Products are created. - * - * Steps: - * 1. Login as customer. - * 2. Add products to Wishlist. - * 3. Navigate to My Account > My Wishlist. - * 4. Click "Remove item". - * 5. Perform all assertions. - * - * @group Wishlist - * @ZephyrId MAGETWO-28874 - */ -class DeleteProductsFromWishlistOnFrontendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Delete products form default wish list. - * - * @param Customer $customer - * @param string $products - * @param array $removedProductsIndex - * @return array - */ - public function test(Customer $customer, $products, array $removedProductsIndex) - { - // Preconditions - $customer->persist(); - $this->loginCustomer($customer); - $products = $this->createProducts($products); - $this->addToWishlist($products); - - // Steps - $this->cmsIndex->getLinksBlock()->openLink("My Wish List"); - $removeProducts = $this->removeProducts($products, $removedProductsIndex); - - return ['products' => $removeProducts, 'customer' => $customer]; - } - - /** - * Remove products from wish list. - * - * @param array $products - * @param array $removedProductsIndex - * @return array - */ - protected function removeProducts(array $products, array $removedProductsIndex) - { - $productBlock = $this->wishlistIndex->getWishlistBlock()->getProductItemsBlock(); - $removeProducts = []; - foreach ($removedProductsIndex as $index) { - $productBlock->getItemProduct($products[--$index])->remove(); - $removeProducts[] = $products[$index]; - } - return $removeProducts; - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.xml deleted file mode 100644 index 26593636d3fcb..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/DeleteProductsFromWishlistOnFrontendTest.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\DeleteProductsFromWishlistOnFrontendTest" summary="Delete Products from Wishlist" ticketId="MAGETWO-28874"> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation1"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">catalogProductSimple::product_100_dollar</data> - <data name="products/1" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductsIsAbsentInWishlist" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation2"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation3"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">catalogProductSimple::default</data> - <data name="products/1" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="products/2" xsi:type="string">catalogProductSimple::default</data> - <data name="products/3" xsi:type="string">catalogProductVirtual::product_50_dollar</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - <item name="1" xsi:type="string">2</item> - <item name="2" xsi:type="string">3</item> - <item name="3" xsi:type="string">4</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation4"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="products/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation5"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="products/0" xsi:type="string">bundleProduct::bundle_fixed_product</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation6"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="products/0" xsi:type="string">configurableProduct::default</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation7"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - <variation name="DeleteProductsFromWishlistOnFrontendTestVariation8"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="products/0" xsi:type="string">groupedProduct::three_simple_products</data> - <data name="removedProductsIndex" xsi:type="array"> - <item name="0" xsi:type="string">1</item> - </data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistIsEmpty" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.php deleted file mode 100644 index e4e86c8d41d45..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Checkout\Test\Constraint\AssertAddedProductToCartSuccessMessage; -use Magento\Checkout\Test\Page\CheckoutCart; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Mtf\Fixture\FixtureInterface; - -/** - * Preconditions: - * 1. Test products are created. - * - * Steps: - * 1. Add product to Shopping Cart. - * 2. Call AssertAddProductToCartSuccessMessage. - * 2. Click 'Move to Wishlist' button from Shopping Cart for added product. - * 3. Perform asserts. - * - * @group Shopping_Cart - * @ZephyrId MAGETWO-29545 - */ -class MoveProductFromShoppingCartToWishlistTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - const TEST_TYPE = 'extended_acceptance_test'; - /* end tags */ - - /** - * Prepare data for test - * - * @param Customer $customer - * @return array - */ - public function __prepare(Customer $customer) - { - $customer->persist(); - - return ['customer' => $customer]; - } - - /** - * Run Move from ShoppingCard to Wishlist test - * - * @param Customer $customer - * @param string $product - * @param AssertAddedProductToCartSuccessMessage $assertAddedProductToCartSuccessMessage - * @param CheckoutCart $checkoutCart - * @return array - */ - public function test( - Customer $customer, - $product, - AssertAddedProductToCartSuccessMessage $assertAddedProductToCartSuccessMessage, - CheckoutCart $checkoutCart - ) { - // Preconditions: - $product = $this->createProducts($product)[0]; - $this->loginCustomer($customer); - - // Steps: - $this->addToCart($product); - $assertAddedProductToCartSuccessMessage->processAssert($checkoutCart, $product); - $checkoutCart->open(); - $checkoutCart->getCartBlock()->getCartItem($product)->moveToWishlist(); - - return ['product' => $product]; - } - - /** - * Add product to cart - * - * @param FixtureInterface $product - * @return void - */ - protected function addToCart(FixtureInterface $product) - { - $addProductsToTheCartStep = $this->objectManager->create( - \Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, - ['products' => [$product]] - ); - $addProductsToTheCartStep->run(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.xml deleted file mode 100644 index aa3b646161a17..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/MoveProductFromShoppingCartToWishlistTest.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\MoveProductFromShoppingCartToWishlistTest" summary="Move Products from Shopping Cart to Wishlist" ticketId="MAGETWO-29545"> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation1"> - <data name="tag" xsi:type="string">stable:no</data> - <data name="product/0" xsi:type="string">catalogProductSimple::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - </variation> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation2"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/0" xsi:type="string">catalogProductVirtual::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - </variation> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation3"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation4"> - <data name="tag" xsi:type="string">test_type:extended_acceptance_test, mftf_migrated:yes</data> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation5"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - <variation name="MoveProductFromShoppingCartToWishlistTestVariation6"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="product/0" xsi:type="string">bundleProduct::bundle_fixed_product</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertMoveProductToWishlistSuccessMessage" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductIsPresentInWishlist" /> - <constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" /> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductDetailsInWishlist" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.php deleted file mode 100644 index 0163727cebab8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Catalog\Test\Fixture\CatalogProductSimple; -use Magento\Cms\Test\Page\CmsIndex; -use Magento\Customer\Test\Fixture\Customer; -use Magento\Wishlist\Test\Page\WishlistIndex; -use Magento\Wishlist\Test\Page\WishlistShare; -use Magento\Mtf\TestCase\Injectable; - -/** - * Preconditions: - * 1. Create Customer Account. - * 2. Create product. - * - * Steps: - * 1. Login to frontend as a Customer. - * 2. Add product to Wish List. - * 3. Click "Share Wish List" button. - * 4. Fill in all data according to data set. - * 5. Click "Share Wishlist" button. - * 6. Perform all assertions. - * - * @group Wishlist - * @ZephyrId MAGETWO-23394 - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - */ -class ShareWishlistEntityTest extends Injectable -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * Cms index page. - * - * @var CmsIndex - */ - protected $cmsIndex; - - /** - * Wishlist index page. - * - * @var WishlistIndex - */ - protected $wishlistIndex; - - /** - * Wishlist share page. - * - * @var WishlistShare - */ - protected $wishlistShare; - - /** - * Prepare data. - * - * @param Customer $customer - * @param CatalogProductSimple $product - * @return array - */ - public function __prepare(Customer $customer, CatalogProductSimple $product) - { - $customer->persist(); - $product->persist(); - - return [ - 'customer' => $customer, - 'product' => $product - ]; - } - - /** - * Inject pages. - * - * @param CmsIndex $cmsIndex - * @param WishlistIndex $wishlistIndex - * @param WishlistShare $wishlistShare - * @return void - */ - public function __inject( - CmsIndex $cmsIndex, - WishlistIndex $wishlistIndex, - WishlistShare $wishlistShare - ) { - $this->cmsIndex = $cmsIndex; - $this->wishlistIndex = $wishlistIndex; - $this->wishlistShare = $wishlistShare; - } - - /** - * Share wish list. - * - * @param Customer $customer - * @param CatalogProductSimple $product - * @param array $sharingInfo - * @return void - */ - public function test( - Customer $customer, - CatalogProductSimple $product, - array $sharingInfo - ) { - //Steps - $this->objectManager->create( - \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, - ['customer' => $customer] - )->run(); - $this->objectManager->create( - \Magento\Wishlist\Test\TestStep\AddProductsToWishlistStep::class, - ['products' => [$product]] - )->run(); - $this->wishlistIndex->getMessagesBlock()->waitSuccessMessage(); - $this->wishlistIndex->getWishlistBlock()->clickShareWishList(); - $this->cmsIndex->getCmsPageBlock()->waitPageInit(); - $this->wishlistShare->getSharingInfoForm()->fillForm($sharingInfo); - $this->wishlistShare->getSharingInfoForm()->shareWishlist(); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.xml deleted file mode 100644 index cbf5ba392844e..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ShareWishlistEntityTest.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. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\ShareWishlistEntityTest" summary="Share wishlist" ticketId="MAGETWO-23394"> - <variation name="ShareWishlistEntityTestVariation1"> - <data name="tag" xsi:type="string">mftf_migrated:yes</data> - <data name="sharingInfo/emails" xsi:type="string">JohnDoe123456789@example.com,JohnDoe987654321@example.com,JohnDoe123456abc@example.com</data> - <data name="sharingInfo/message" xsi:type="string">Sharing message.</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertWishlistShareMessage" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.php deleted file mode 100644 index b39969cb385d8..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestCase; - -use Magento\Customer\Test\Fixture\Customer; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndex; -use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit; -use Magento\Mtf\Util\Command\Cli\EnvWhitelist; - -/** - * Test Flow: - * - * Preconditions: - * 1. Create customer. - * 2. Create products from dataset. - * 3. Add products to the customer's wish list (composite products should be configured). - * - * Steps: - * 1. Log in to backend. - * 2. Go to Customers > All Customers. - * 3. Search and open customer. - * 4. Open wish list tab. - * 5. Perform assertions. - * - * @group Wishlist - * @ZephyrId MAGETWO-29616 - */ -class ViewProductInCustomerWishlistOnBackendTest extends AbstractWishlistTest -{ - /* tags */ - const MVP = 'no'; - /* end tags */ - - /** - * DomainWhitelist CLI - * - * @var EnvWhitelist - */ - private $envWhitelist; - - /** - * Prepare customer for test. - * - * @param Customer $customer - * @param EnvWhitelist $envWhitelist - * @return array - */ - public function __prepare( - Customer $customer, - EnvWhitelist $envWhitelist - ) { - $customer->persist(); - $this->envWhitelist = $envWhitelist; - - return ['customer' => $customer]; - } - - /** - * Configure customer wish list on backend. - * - * @param Customer $customer - * @param string $product - * @param CustomerIndex $customerIndex - * @param CustomerIndexEdit $customerIndexEdit - * @return array - */ - public function test( - Customer $customer, - $product, - CustomerIndex $customerIndex, - CustomerIndexEdit $customerIndexEdit - ) { - // Preconditions - $this->envWhitelist->addHost('example.com'); - $product = $this->createProducts($product)[0]; - $this->loginCustomer($customer); - $this->addToWishlist([$product], true); - - // Steps - $customerIndex->open(); - $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]); - $customerIndexEdit->getCustomerForm()->openTab('wishlist'); - - return['product' => $product]; - } - - /** - * Clean data after running test. - * - * @return void - */ - public function tearDown(): void - { - $this->envWhitelist->removeHost('example.com'); - } -} diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.xml b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.xml deleted file mode 100644 index 70a4975ee4a2b..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestCase/ViewProductInCustomerWishlistOnBackendTest.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - --> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd"> - <testCase name="Magento\Wishlist\Test\TestCase\ViewProductInCustomerWishlistOnBackendTest" summary="View Product in Customer Wishlist on Backend" ticketId="MAGETWO-29616"> - <variation name="ViewProductInCustomerWishlistOnBackendTestVariation1"> - <data name="tag" xsi:type="string">to_maintain:yes</data> - <data name="product/0" xsi:type="string">catalogProductSimple::with_two_custom_option</data> - <constraint name="Magento\Wishlist\Test\Constraint\AssertProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ViewProductInCustomerWishlistOnBackendTestVariation2"> - <data name="product/0" xsi:type="string">configurableProduct::default</data> - <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ViewProductInCustomerWishlistOnBackendTestVariation3"> - <data name="product/0" xsi:type="string">bundleProduct::bundle_dynamic_product</data> - <constraint name="Magento\Bundle\Test\Constraint\AssertBundleProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ViewProductInCustomerWishlistOnBackendTestVariation4"> - <data name="product/0" xsi:type="string">downloadableProduct::with_two_separately_links</data> - <constraint name="Magento\Downloadable\Test\Constraint\AssertDownloadableProductInCustomerWishlistOnBackendGrid" /> - </variation> - <variation name="ViewProductInCustomerWishlistOnBackendTestVariation5"> - <data name="product/0" xsi:type="string">groupedProduct::three_simple_products</data> - <constraint name="Magento\GroupedProduct\Test\Constraint\AssertGroupedProductInCustomerWishlistOnBackendGrid" /> - </variation> - </testCase> -</config> diff --git a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestStep/AddProductsToWishlistStep.php b/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestStep/AddProductsToWishlistStep.php deleted file mode 100644 index fab69a3313460..0000000000000 --- a/dev/tests/functional/tests/app/Magento/Wishlist/Test/TestStep/AddProductsToWishlistStep.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Wishlist\Test\TestStep; - -use Magento\Catalog\Test\Page\Product\CatalogProductView; -use Magento\Mtf\Client\BrowserInterface; -use Magento\Mtf\TestStep\TestStepInterface; - -/** - * Class AddProductsToWishlistStep - * Adding created products to the wish list - */ -class AddProductsToWishlistStep implements TestStepInterface -{ - /** - * Array with products - * - * @var array - */ - protected $products; - - /** - * Frontend product view page - * - * @var CatalogProductView - */ - protected $catalogProductView; - - /** - * Interface Browser - * - * @var BrowserInterface - */ - protected $browser; - - /** - * Configure flag - * - * @var bool - */ - protected $configure; - - /** - * @constructor - * @param CatalogProductView $catalogProductView - * @param BrowserInterface $browser - * @param array $products - * @param bool $configure [optional] - */ - public function __construct( - CatalogProductView $catalogProductView, - BrowserInterface $browser, - array $products, - $configure = false - ) { - $this->products = $products; - $this->catalogProductView = $catalogProductView; - $this->browser = $browser; - $this->configure = $configure; - } - - /** - * Add products to the wish list - * - * @return void - */ - public function run() - { - foreach ($this->products as $product) { - $this->browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); - if ($this->configure) { - $this->catalogProductView->getViewBlock()->addToWishlist($product); - } else { - $this->catalogProductView->getViewBlock()->clickAddToWishlist(); - } - } - } -} diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests.php b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests.php deleted file mode 100644 index 5a68ac1a63e8c..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests.php +++ /dev/null @@ -1,107 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Mtf\TestSuite; - -use Magento\Mtf\ObjectManager; -use Magento\Mtf\ObjectManagerFactory; - -/** - * Class InjectableTests - * - */ -class InjectableTests extends \PHPUnit\Framework\TestSuite -{ - /** - * @var ObjectManager - */ - protected $objectManager; - - /** - * @var \PHPUnit\Framework\TestSuite - */ - protected $suite; - - /** - * @var \PHPUnit\Framework\TestResult - */ - protected $result; - - /** - * Run collected tests - * - * @param \PHPUnit\Framework\TestResult $result - * @return \PHPUnit\Framework\TestResult|void - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function run(\PHPUnit\Framework\TestResult $result = null) - { - if ($result === null) { - $this->result = $this->createResult(); - } - } - - /** - * Prepare test suite - * - * @return mixed - */ - public static function suite() - { - $suite = new self(); - return $suite->prepareSuite(); - } - - /** - * Prepare test suite and apply application state - * - * @return \Magento\Mtf\TestSuite\AppState - */ - public function prepareSuite() - { - $this->init(); - return $this->objectManager->create(\Magento\Mtf\TestSuite\AppState::class); - } - - /** - * Call the initialization of ObjectManager - */ - public function init() - { - $this->initObjectManager(); - } - - /** - * Initialize ObjectManager - */ - private function initObjectManager() - { - if (!isset($this->objectManager)) { - $objectManagerFactory = new ObjectManagerFactory(); - - $configFileName = isset($_ENV['testsuite_rule']) ? $_ENV['testsuite_rule'] : 'basic'; - $configFilePath = realpath(MTF_BP . '/testsuites/' . $_ENV['testsuite_rule_path']); - - /** @var \Magento\Mtf\Config\DataInterface $configData */ - $configData = $objectManagerFactory->getObjectManager()->create(\Magento\Mtf\Config\TestRunner::class); - $filter = getopt('', ['filter:']); - if (!isset($filter['filter'])) { - $configData->setFileName($configFileName . '.xml')->load($configFilePath); - } else { - $isValid = preg_match('`variation::(.*?)$`', $filter['filter'], $variation); - if ($isValid === 1) { - $configData->setFileName($configFileName . '.xml')->load($configFilePath); - $data['rule']['variation']['allow'][0]['name'][0]['value'] = $variation[1]; - $configData->merge($data); - } - } - $this->objectManager = $objectManagerFactory->create( - [\Magento\Mtf\Config\TestRunner::class => $configData] - ); - } - } -} diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party.xml deleted file mode 100644 index 661826907c8c5..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="3rd_party_test" /> - </allow> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="3rd_party_test" /> - </allow> - <deny> - <tag group="test_type" value="3rd_party_test_single_flow" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party_single_flow.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party_single_flow.xml deleted file mode 100644 index fe7c8caa2df86..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/3rd_party_single_flow.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="3rd_party_test_single_flow" /> - </allow> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="3rd_party_test_single_flow" /> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance.xml deleted file mode 100644 index 2eae769416c29..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="acceptance_test" /> - </allow> - <deny> - <tag group="stable" value="no" /> - <tag group="mftf_migrated" value="yes" /> - </deny> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="acceptance_test" /> - </allow> - <deny> - <tag group="stable" value="no" /> - <tag group="mftf_migrated" value="yes" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance_unstable.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance_unstable.xml deleted file mode 100644 index 7f1fb37542fe7..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/acceptance_unstable.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="acceptance_test" /> - </allow> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="acceptance_test" /> - <tag group="stable" value="no" /> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic.xml deleted file mode 100644 index 31d496e9a6004..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="variation"> - <deny> - <tag group="test_type" value="3rd_party_test, 3rd_party_test_single_flow" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic_green.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic_green.xml deleted file mode 100644 index 6141151518332..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/basic_green.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <deny> - <tag group="stable" value="no" /> - <tag group="to_maintain" value="yes" /> - <tag group="mftf_migrated" value="yes" /> - </deny> - </rule> - <rule scope="testsuite"> - <deny> - <module value="Magento_Setup" strict="1" /> - <module value="Magento_SampleData" strict="1" /> - </deny> - </rule> - <rule scope="variation"> - <deny> - <tag group="test_type" value="3rd_party_test, 3rd_party_test_single_flow, mysql_search" /> - <tag group="stable" value="no" /> - <tag group="mftf_migrated" value="yes" /> - <tag group="to_maintain" value="yes" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/category.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/category.xml deleted file mode 100644 index 3b723062a6c6f..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/category.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testsuite"> - <allow> - <namespace value="Magento\Catalog\Test\TestCase\Category" /> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/extended_acceptance.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/extended_acceptance.xml deleted file mode 100644 index 151619bb6da80..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/extended_acceptance.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="extended_acceptance_test" /> - </allow> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="extended_acceptance_test" /> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/installation.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/installation.xml deleted file mode 100644 index 53ad512bf083c..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/installation.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testsuite"> - <allow> - <module value="Magento_Install"/> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mvp.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mvp.xml deleted file mode 100644 index 62381d869dab7..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mvp.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="mvp" value="yes" /> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mysql_search.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mysql_search.xml deleted file mode 100644 index 17578fcfe85b1..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/mysql_search.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <deny> - <tag group="stable" value="no" /> - <tag group="to_maintain" value="yes" /> - <tag group="mftf_migrated" value="yes" /> - </deny> - </rule> - <rule scope="testsuite"> - <deny> - <module value="Magento_Setup" strict="1" /> - <module value="Magento_SampleData" strict="1" /> - </deny> - </rule> - <rule scope="variation"> - <deny> - <tag group="test_type" value="3rd_party_test, 3rd_party_test_single_flow" /> - <tag group="stable" value="no" /> - <tag group="mftf_migrated" value="yes" /> - <tag group="to_maintain" value="yes" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/setup.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/setup.xml deleted file mode 100644 index af865fa24a433..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/setup.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testsuite"> - <allow> - <module value="Magento_Setup"/> - </allow> - <deny> - <class value="Magento\Setup\Test\TestCase\UpgradeSystemTest"/> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/travis_acceptance.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/travis_acceptance.xml deleted file mode 100644 index 3eec40244c7ec..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/travis_acceptance.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testcase"> - <allow> - <tag group="test_type" value="acceptance_test" /> - </allow> - <deny> - <tag group="stable" value="no" /> - </deny> - </rule> - <rule scope="variation"> - <allow> - <tag group="test_type" value="acceptance_test" /> - <tag group="severity" value="S0, S1" /> - </allow> - <deny> - <tag group="stable" value="no" /> - </deny> - </rule> -</config> diff --git a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/upgrade.xml b/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/upgrade.xml deleted file mode 100644 index e58981bfa7b83..0000000000000 --- a/dev/tests/functional/testsuites/Magento/Mtf/TestSuite/InjectableTests/upgrade.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="../../../../../vendor/magento/mtf/Magento/Mtf/TestRunner/etc/testRunner.xsd"> - <rule scope="testsuite"> - <allow> - <class value="Magento\Setup\Test\TestCase\UpgradeSystemTest"/> - </allow> - </rule> -</config> diff --git a/dev/tests/functional/utils/bootstrap.php b/dev/tests/functional/utils/bootstrap.php deleted file mode 100644 index 0b74dc6727a13..0000000000000 --- a/dev/tests/functional/utils/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -umask(0); - -$mtfRoot = dirname(dirname(__FILE__)); -$mtfRoot = str_replace('\\', '/', $mtfRoot); -define('MTF_BP', $mtfRoot); -define('MTF_TESTS_PATH', MTF_BP . '/tests/app/'); - -$appRoot = dirname(dirname(dirname(dirname(__DIR__)))); -require $appRoot . '/app/bootstrap.php'; -require __DIR__ . '/../vendor/autoload.php'; - -$objectManager = \Magento\Mtf\ObjectManagerFactory::getObjectManager(); -\Magento\Mtf\ObjectManagerFactory::configure($objectManager); diff --git a/dev/tests/functional/utils/generate.php b/dev/tests/functional/utils/generate.php deleted file mode 100644 index 61bcc3523f551..0000000000000 --- a/dev/tests/functional/utils/generate.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -require_once dirname(__FILE__) . '/' . 'bootstrap.php'; - -deleteDirectory(MTF_BP . '/generated'); - -// Generate moduleSequence.json file -generateModuleSequence(); -// Generate factories for old end-to-end tests -$objectManager->create(\Magento\Mtf\Util\Generate\Factory::class)->launch(); - -$generatorPool = $objectManager->get('Magento\Mtf\Util\Generate\Pool'); -foreach ($generatorPool->getGenerators() as $generator) { - if (!$generator instanceof \Magento\Mtf\Util\Generate\LauncherInterface) { - throw new \InvalidArgumentException( - 'Generator ' . get_class($generator) . ' should implement LauncherInterface' - ); - } - $generator->launch(); -} - -\Magento\Mtf\Util\Generate\GenerateResult::displayResults(); - - -function deleteDirectory($dir) -{ - if (!file_exists($dir)) { - return true; - } - if (!is_dir($dir)) { - return unlink($dir); - } - foreach (scandir($dir) as $item) { - if ($item == '.' || $item == '..') { - continue; - } - if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) { - return false; - } - } - return rmdir($dir); -} - -function generateModuleSequence() -{ - require_once "generate/moduleSequence.php"; -} diff --git a/dev/tests/functional/utils/generate/factory.php b/dev/tests/functional/utils/generate/factory.php deleted file mode 100644 index bbf296b65e234..0000000000000 --- a/dev/tests/functional/utils/generate/factory.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -require_once dirname(__DIR__) . '/' . 'bootstrap.php'; - -$magentoObjectManager->create(\Magento\Mtf\Util\Generate\Factory::class)->launch(); -\Magento\Mtf\Util\Generate\GenerateResult::displayResults(); diff --git a/dev/tests/functional/utils/generate/fixture.php b/dev/tests/functional/utils/generate/fixture.php deleted file mode 100644 index 68cdae4552261..0000000000000 --- a/dev/tests/functional/utils/generate/fixture.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -require_once dirname(__DIR__) . '/' . 'bootstrap.php'; - -$objectManager->create(\Magento\Mtf\Util\Generate\Fixture::class)->launch(); diff --git a/dev/tests/functional/utils/generate/handler.php b/dev/tests/functional/utils/generate/handler.php deleted file mode 100644 index 049c57aad2e09..0000000000000 --- a/dev/tests/functional/utils/generate/handler.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -require_once dirname(__DIR__) . '/' . 'bootstrap.php'; - -$objectManager->create(\Magento\Mtf\Util\Generate\Handler::class)->launch(); -\Magento\Mtf\Util\Generate\GenerateResult::displayResults(); diff --git a/dev/tests/functional/utils/generate/moduleSequence.php b/dev/tests/functional/utils/generate/moduleSequence.php deleted file mode 100644 index 22688d1b75820..0000000000000 --- a/dev/tests/functional/utils/generate/moduleSequence.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -declare(strict_types=1); - -require_once __DIR__ . '/../../../../../app/bootstrap.php'; - -$magentoObjectManagerFactory = \Magento\Framework\App\Bootstrap::createObjectManagerFactory(BP, $_SERVER); -$magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER); -$magentoComponentSequence = $magentoObjectManager->create(\Magento\Framework\Module\ModuleList\Loader::class)->load(); -if (!file_exists(dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'generated')) { - mkdir(dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'generated'); -} -file_put_contents( - dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'generated' . DIRECTORY_SEPARATOR . 'moduleSequence.json', - json_encode($magentoComponentSequence, JSON_PRETTY_PRINT) -); diff --git a/dev/tests/functional/utils/generate/page.php b/dev/tests/functional/utils/generate/page.php deleted file mode 100644 index 873b3fad3f34a..0000000000000 --- a/dev/tests/functional/utils/generate/page.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -require_once dirname(__DIR__) . '/' . 'bootstrap.php'; - -$objectManager->create(\Magento\Mtf\Util\Generate\Page::class)->launch(); -\Magento\Mtf\Util\Generate\GenerateResult::displayResults(); diff --git a/dev/tests/functional/utils/generate/repository.php b/dev/tests/functional/utils/generate/repository.php deleted file mode 100644 index 6633e776c9410..0000000000000 --- a/dev/tests/functional/utils/generate/repository.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -require_once dirname(__DIR__) . '/' . 'bootstrap.php'; - -$objectManager->create(\Magento\Mtf\Util\Generate\Repository::class)->launch(); diff --git a/dev/tests/functional/utils/generateAllureReport.php b/dev/tests/functional/utils/generateAllureReport.php deleted file mode 100644 index 0f417d68b67d8..0000000000000 --- a/dev/tests/functional/utils/generateAllureReport.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -/** - * Generate Allure report using Allure Commandline (CLI). - * - * Allure CLI is a Java application so it's available for all platforms. - * You have to manually install Java 1.7+ before using Allure CLI. - * Information on how to install Allure CLI can be found at: - * http://wiki.qatools.ru/display/AL/Allure+Commandline - */ - -// Explicitly define Allure CLI executable if it's not available in your PATH. -define('ALLURE_CLI', 'allure'); - -$mtfRoot = dirname(dirname(__FILE__)); -$mtfRoot = str_replace('\\', '/', $mtfRoot); -define('MTF_BP', $mtfRoot); - -// Allure test results directory which needs to match what's defined in phpunit.xml. -$allureResultsDir = MTF_BP . '/var/allure-results/'; -// Allure report directory. -$allureReportDir = MTF_BP . '/var/allure-report/'; - -// Generate report using Allure CLI. -exec(ALLURE_CLI . ' generate ' . $allureResultsDir . ' -o '. $allureReportDir); - -// Open report using Allure CLI. -exec(ALLURE_CLI . ' report open --report-dir ' . $allureReportDir); diff --git a/dev/tests/functional/utils/mtf b/dev/tests/functional/utils/mtf deleted file mode 100644 index 02e5c9f1a88eb..0000000000000 --- a/dev/tests/functional/utils/mtf +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env php -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -$mtfRoot = dirname(__DIR__); -$mtfRoot = str_replace('\\', '/', $mtfRoot); -define('MTF_PHPUNIT_FILE', $mtfRoot . DIRECTORY_SEPARATOR . 'phpunit.xml'); -include $mtfRoot . '/vendor/magento/mtf/utils/mtf'; diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock index 1f6bc5acf739b..064b5d5f992ab 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock @@ -2468,54 +2468,6 @@ "dev/tests/error_handler.php", "dev/tests/error_handler.php" ], - [ - "dev/tests/functional/.gitignore", - "dev/tests/functional/.gitignore" - ], - [ - "dev/tests/functional/.htaccess.sample", - "dev/tests/functional/.htaccess.sample" - ], - [ - "dev/tests/functional/bootstrap.php", - "dev/tests/functional/bootstrap.php" - ], - [ - "dev/tests/functional/composer.json", - "dev/tests/functional/composer.json" - ], - [ - "dev/tests/functional/credentials.xml.dist", - "dev/tests/functional/credentials.xml.dist" - ], - [ - "dev/tests/functional/etc", - "dev/tests/functional/etc" - ], - [ - "dev/tests/functional/isolation.php", - "dev/tests/functional/isolation.php" - ], - [ - "dev/tests/functional/lib", - "dev/tests/functional/lib" - ], - [ - "dev/tests/functional/phpunit.xml.dist", - "dev/tests/functional/phpunit.xml.dist" - ], - [ - "dev/tests/functional/tests", - "dev/tests/functional/tests" - ], - [ - "dev/tests/functional/testsuites/Magento", - "dev/tests/functional/testsuites/Magento" - ], - [ - "dev/tests/functional/utils", - "dev/tests/functional/utils" - ], [ "dev/tests/integration/.gitignore", "dev/tests/integration/.gitignore" diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock index 6705104d300b2..a6f208c9c0d8d 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock @@ -2468,54 +2468,6 @@ "dev/tests/error_handler.php", "dev/tests/error_handler.php" ], - [ - "dev/tests/functional/.gitignore", - "dev/tests/functional/.gitignore" - ], - [ - "dev/tests/functional/.htaccess.sample", - "dev/tests/functional/.htaccess.sample" - ], - [ - "dev/tests/functional/bootstrap.php", - "dev/tests/functional/bootstrap.php" - ], - [ - "dev/tests/functional/composer.json", - "dev/tests/functional/composer.json" - ], - [ - "dev/tests/functional/credentials.xml.dist", - "dev/tests/functional/credentials.xml.dist" - ], - [ - "dev/tests/functional/etc", - "dev/tests/functional/etc" - ], - [ - "dev/tests/functional/isolation.php", - "dev/tests/functional/isolation.php" - ], - [ - "dev/tests/functional/lib", - "dev/tests/functional/lib" - ], - [ - "dev/tests/functional/phpunit.xml.dist", - "dev/tests/functional/phpunit.xml.dist" - ], - [ - "dev/tests/functional/tests", - "dev/tests/functional/tests" - ], - [ - "dev/tests/functional/testsuites/Magento", - "dev/tests/functional/testsuites/Magento" - ], - [ - "dev/tests/functional/utils", - "dev/tests/functional/utils" - ], [ "dev/tests/integration/.gitignore", "dev/tests/integration/.gitignore" diff --git a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock b/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock index 4027a0f2c41c3..9d047d2e675eb 100644 --- a/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.lock @@ -723,58 +723,6 @@ "dev/tests/integration/.gitignore", "dev/tests/integration/.gitignore" ], - [ - "dev/tests/functional/composer.json", - "dev/tests/functional/composer.json" - ], - [ - "dev/tests/functional/lib", - "dev/tests/functional/lib" - ], - [ - "dev/tests/functional/phpunit.xml.dist", - "dev/tests/functional/phpunit.xml.dist" - ], - [ - "dev/tests/functional/composer.json.dist", - "dev/tests/functional/composer.json.dist" - ], - [ - "dev/tests/functional/bootstrap.php", - "dev/tests/functional/bootstrap.php" - ], - [ - "dev/tests/functional/credentials.xml.dist", - "dev/tests/functional/credentials.xml.dist" - ], - [ - "dev/tests/functional/tests", - "dev/tests/functional/tests" - ], - [ - "dev/tests/functional/utils", - "dev/tests/functional/utils" - ], - [ - "dev/tests/functional/isolation.php", - "dev/tests/functional/isolation.php" - ], - [ - "dev/tests/functional/etc", - "dev/tests/functional/etc" - ], - [ - "dev/tests/functional/.htaccess", - "dev/tests/functional/.htaccess" - ], - [ - "dev/tests/functional/testsuites/Magento", - "dev/tests/functional/testsuites/Magento" - ], - [ - "dev/tests/functional/.gitignore", - "dev/tests/functional/.gitignore" - ], [ "dev/tests/js/spec", "dev/tests/js/spec" diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php index 296f652ebbe6a..7f7d9be162dec 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php @@ -612,7 +612,6 @@ private function removeSpecialCasesForAllOthers(string $namespacePath, string $b $directories = [ BP . '/dev/tools/', BP . '/dev/tests/api-functional/framework/', - BP . '/dev/tests/functional/', BP . '/dev/tests/integration/framework/', BP . '/dev/tests/integration/framework/tests/unit/testsuite/', BP . '/dev/tests/integration/testsuite/', diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpstan/phpstan.neon b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpstan/phpstan.neon index 408da608225b9..fb6eb4dd5c958 100644 --- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpstan/phpstan.neon +++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpstan/phpstan.neon @@ -5,7 +5,6 @@ parameters: excludes_analyse: - %rootDir%/../../../lib/internal/Magento/Framework/ObjectManager/Test/Unit/* - %rootDir%/../../../*/_files/* - - %rootDir%/../../../dev/tests/functional/* - %rootDir%/../../../dev/tests/*/Fixtures/* - %rootDir%/../../../dev/tests/*/tmp/* - %rootDir%/../../../dev/tests/*/_generated/* diff --git a/dev/travis/before_install.sh b/dev/travis/before_install.sh deleted file mode 100755 index 845d70e4e79fd..0000000000000 --- a/dev/travis/before_install.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash - -# Copyright © Magento, Inc. All rights reserved. -# See COPYING.txt for license details. - -set -e -trap '>&2 echo Error: Command \`$BASH_COMMAND\` on line $LINENO failed with exit code $?' ERR - -# mock mail -sudo service postfix stop -echo # print a newline -smtp-sink -d "%d.%H.%M.%S" localhost:2500 1000 & -echo 'sendmail_path = "/usr/sbin/sendmail -t -i "' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/sendmail.ini - -# disable xdebug and adjust memory limit -echo > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini -echo 'memory_limit = -1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini -phpenv rehash; - -# If env var is present, configure support for 3rd party builds which include private dependencies -test -n "$GITHUB_TOKEN" && composer config github-oauth.github.com "$GITHUB_TOKEN" || true - -# Node.js setup via NVM -if [ $TEST_SUITE == "js" ]; then - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash - export NVM_DIR="$HOME/.nvm" - [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm - - nvm install $NODE_JS_VERSION - nvm use $NODE_JS_VERSION - node --version - - npm install -g yarn - yarn global add grunt-cli -fi - -if [ $TEST_SUITE = "functional" ] || [ $TEST_SUITE = "graphql-api-functional" ]; then - # Install apache - sudo apt-get update - sudo apt-get install apache2 libapache2-mod-fastcgi - if [ ${TRAVIS_PHP_VERSION:0:1} == "7" ]; then - sudo cp ${TRAVIS_BUILD_DIR}/dev/travis/config/www.conf ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.d/ - fi - - # Enable php-fpm - sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf - sudo a2enmod rewrite actions fastcgi alias - echo "cgi.fix_pathinfo = 1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm - - # Configure apache virtual hosts - sudo cp -f ${TRAVIS_BUILD_DIR}/dev/travis/config/apache_virtual_host /etc/apache2/sites-available/000-default.conf - sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf - sudo sed -e "s?%MAGENTO_HOST_NAME%?${MAGENTO_HOST_NAME}?g" --in-place /etc/apache2/sites-available/000-default.conf - - sudo usermod -a -G www-data travis - sudo usermod -a -G travis www-data - - phpenv config-rm xdebug.ini - sudo service apache2 restart - - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -screen 0 1280x1024x24 -fi diff --git a/dev/travis/before_script.sh b/dev/travis/before_script.sh deleted file mode 100755 index 5d091efbb30a3..0000000000000 --- a/dev/travis/before_script.sh +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/env bash - -# Copyright © Magento, Inc. All rights reserved. -# See COPYING.txt for license details. - -set -e -trap '>&2 echo Error: Command \`$BASH_COMMAND\` on line $LINENO failed with exit code $?' ERR - -# prepare for test suite -case $TEST_SUITE in - integration) - cd dev/tests/integration - - test_set_list=$(find testsuite/* -maxdepth 1 -mindepth 1 -type d | sort) - test_set_count=$(printf "$test_set_list" | wc -l) - test_set_size[1]=$(printf "%.0f" $(echo "$test_set_count*0.13" | bc)) #13% - test_set_size[2]=$(printf "%.0f" $(echo "$test_set_count*0.30" | bc)) #30% - test_set_size[3]=$((test_set_count-test_set_size[1]-test_set_size[2])) #55% - echo "Total = ${test_set_count}; Batch #1 = ${test_set_size[1]}; Batch #2 = ${test_set_size[2]}; Batch #3 = ${test_set_size[3]};"; - - echo "==> preparing integration testsuite on index $INTEGRATION_INDEX with set size of ${test_set_size[$INTEGRATION_INDEX]}" - cp phpunit.xml.dist phpunit.xml - - # remove memory usage tests if from any set other than the first - if [[ $INTEGRATION_INDEX > 1 ]]; then - echo " - removing testsuite/Magento/MemoryUsageTest.php" - perl -pi -0e 's#^\s+<!-- Memory(.*?)</testsuite>\n##ims' phpunit.xml - fi - - # divide test sets up by indexed testsuites - i=0; j=1; dirIndex=1; testIndex=1; - for test_set in $test_set_list; do - test_xml[j]+=" <directory suffix=\"Test.php\">$test_set</directory>\n" - - if [[ $j -eq $INTEGRATION_INDEX ]]; then - echo "$dirIndex: Batch #$j($testIndex of ${test_set_size[$j]}): + including $test_set" - else - echo "$dirIndex: Batch #$j($testIndex of ${test_set_size[$j]}): + excluding $test_set" - fi - - testIndex=$((testIndex+1)) - dirIndex=$((dirIndex+1)) - i=$((i+1)) - if [ $i -eq ${test_set_size[$j]} ] && [ $j -lt $INTEGRATION_SETS ]; then - j=$((j+1)) - i=0 - testIndex=1 - fi - done - - # replace test sets for current index into testsuite - perl -pi -e "s#\s+<directory.*>testsuite</directory>#${test_xml[INTEGRATION_INDEX]}#g" phpunit.xml - - echo "==> testsuite preparation complete" - - # create database and move db config into place - mysql -uroot -e ' - SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION; - CREATE DATABASE magento_integration_tests; - ' - mv etc/install-config-mysql.travis.php.dist etc/install-config-mysql.php - - cd ../../.. - ;; - static) - cd dev/tests/static - - echo "==> preparing changed files list" - changed_files_ce="$TRAVIS_BUILD_DIR/dev/tests/static/testsuite/Magento/Test/_files/changed_files_ce.txt" - php get_github_changes.php \ - --output-file="$changed_files_ce" \ - --base-path="$TRAVIS_BUILD_DIR" \ - --repo='https://github.com/magento/magento2.git' \ - --branch="$TRAVIS_BRANCH" - sed 's/^/ + including /' "$changed_files_ce" - - cd ../../.. - ;; - js) - cp package.json.sample package.json - cp Gruntfile.js.sample Gruntfile.js - yarn - - if [[ $GRUNT_COMMAND != "static" ]]; then - echo "Installing Magento" - mysql -uroot -e 'CREATE DATABASE magento2;' - php bin/magento setup:install -q \ - --admin-user="admin" \ - --admin-password="123123q" \ - --admin-email="admin@example.com" \ - --admin-firstname="John" \ - --admin-lastname="Doe" - - echo "Deploying Static Content" - php bin/magento setup:static-content:deploy -f -q -j=2 \ - --no-css --no-less --no-images --no-fonts --no-misc --no-html-minify - fi - ;; - functional) - echo "Installing Magento" - mysql -uroot -e 'CREATE DATABASE magento2;' - php bin/magento setup:install -q \ - --language="en_US" \ - --timezone="UTC" \ - --currency="USD" \ - --base-url="http://${MAGENTO_HOST_NAME}/" \ - --admin-firstname="John" \ - --admin-lastname="Doe" \ - --backend-frontname="backend" \ - --admin-email="admin@example.com" \ - --admin-user="admin" \ - --use-rewrites=1 \ - --admin-use-security-key=0 \ - --admin-password="123123q" - - echo "Enabling production mode" - php bin/magento deploy:mode:set production - - echo "Prepare functional tests for running" - cd dev/tests/functional - - composer install && composer require se/selenium-server-standalone:2.53.1 - export DISPLAY=:1.0 - sh ./vendor/se/selenium-server-standalone/bin/selenium-server-standalone -port 4444 -host 127.0.0.1 \ - -Dwebdriver.firefox.bin=$(which firefox) -trustAllSSLCertificate &> ~/selenium.log & - - cp ./phpunit.xml.dist ./phpunit.xml - sed -e "s?127.0.0.1?${MAGENTO_HOST_NAME}?g" --in-place ./phpunit.xml - sed -e "s?basic?travis_acceptance?g" --in-place ./phpunit.xml - cp ./.htaccess.sample ./.htaccess - cd ./utils - php -f generate/moduleSequence.php - php -f mtf troubleshooting:check-all - - cd ../../.. - ;; - - graphql-api-functional) - echo "Installing Magento" - mysql -uroot -e 'CREATE DATABASE magento2;' - php bin/magento setup:install -q \ - --language="en_US" \ - --timezone="UTC" \ - --currency="USD" \ - --base-url="http://${MAGENTO_HOST_NAME}/" \ - --admin-firstname="John" \ - --admin-lastname="Doe" \ - --backend-frontname="backend" \ - --admin-email="admin@example.com" \ - --admin-user="admin" \ - --use-rewrites=1 \ - --admin-use-security-key=0 \ - --admin-password="123123q" - - echo "Prepare api-functional tests for running" - cd dev/tests/api-functional - cp -r _files/Magento/TestModuleGraphQl* ../../../app/code/Magento # Deploy and enable test modules before running tests - - cp ./phpunit_graphql.xml.dist ./phpunit.xml - sed -e "s?magento.url?${MAGENTO_HOST_NAME}?g" --in-place ./phpunit.xml - - cd ../../.. - php bin/magento setup:upgrade - - echo "Enabling production mode" - php bin/magento deploy:mode:set production - ;; -esac diff --git a/dev/travis/config/apache_virtual_host b/dev/travis/config/apache_virtual_host deleted file mode 100644 index 63f238bce2520..0000000000000 --- a/dev/travis/config/apache_virtual_host +++ /dev/null @@ -1,20 +0,0 @@ -<VirtualHost *:80> - DocumentRoot %TRAVIS_BUILD_DIR% - ServerName %MAGENTO_HOST_NAME% - - <Directory "%TRAVIS_BUILD_DIR%"> - Options FollowSymLinks MultiViews ExecCGI - AllowOverride All - Require all granted - </Directory> - - <IfModule mod_fastcgi.c> - AddHandler php7-fcgi .php - Action php7-fcgi /php7-fcgi - Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi - FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -host 127.0.0.1:9000 -pass-header Authorization - <Directory /usr/lib/cgi-bin> - Require all granted - </Directory> - </IfModule> -</VirtualHost> diff --git a/dev/travis/config/www.conf b/dev/travis/config/www.conf deleted file mode 100644 index c6d15b6799d91..0000000000000 --- a/dev/travis/config/www.conf +++ /dev/null @@ -1,14 +0,0 @@ -[www] - -user = www-data -group = www-data - -listen = 127.0.0.1:9000 - -pm = dynamic -pm.max_children = 10 -pm.start_servers = 4 -pm.min_spare_servers = 2 -pm.max_spare_servers = 6 - -chdir = / diff --git a/lib/internal/Magento/Framework/App/Utility/Files.php b/lib/internal/Magento/Framework/App/Utility/Files.php index d329a7db029e4..901bbbde3dc9f 100644 --- a/lib/internal/Magento/Framework/App/Utility/Files.php +++ b/lib/internal/Magento/Framework/App/Utility/Files.php @@ -1410,9 +1410,6 @@ public function classFileExists($class, &$path = '') '/dev/tests/integration/testsuite/Magento/Test/Integrity', '/dev/tests/static/framework', '/dev/tests/static/testsuite', - '/dev/tests/functional/tests/app', - '/dev/tests/functional/lib', - '/dev/tests/functional/vendor/magento/mtf', '/setup/src' ]; foreach ($directories as $key => $dir) {